aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/boto3
diff options
context:
space:
mode:
authorshadchin <shadchin@yandex-team.ru>2022-02-10 16:44:30 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:30 +0300
commit2598ef1d0aee359b4b6d5fdd1758916d5907d04f (patch)
tree012bb94d777798f1f56ac1cec429509766d05181 /contrib/python/boto3
parent6751af0b0c1b952fede40b19b71da8025b5d8bcf (diff)
downloadydb-2598ef1d0aee359b4b6d5fdd1758916d5907d04f.tar.gz
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/python/boto3')
-rw-r--r--contrib/python/boto3/.dist-info/METADATA332
-rw-r--r--contrib/python/boto3/.dist-info/top_level.txt2
-rw-r--r--contrib/python/boto3/LICENSE354
-rw-r--r--contrib/python/boto3/README.rst280
-rw-r--r--contrib/python/boto3/boto3/__init__.py22
-rw-r--r--contrib/python/boto3/boto3/compat.py94
-rw-r--r--contrib/python/boto3/boto3/data/cloudformation/2010-05-15/resources-1.json390
-rw-r--r--contrib/python/boto3/boto3/data/cloudwatch/2010-08-01/resources-1.json668
-rw-r--r--contrib/python/boto3/boto3/data/dynamodb/2012-08-10/resources-1.json300
-rw-r--r--contrib/python/boto3/boto3/data/ec2/2014-10-01/resources-1.json4578
-rw-r--r--contrib/python/boto3/boto3/data/ec2/2015-03-01/resources-1.json4578
-rw-r--r--contrib/python/boto3/boto3/data/ec2/2015-04-15/resources-1.json4578
-rw-r--r--contrib/python/boto3/boto3/data/ec2/2015-10-01/resources-1.json5134
-rw-r--r--contrib/python/boto3/boto3/data/ec2/2016-04-01/resources-1.json5134
-rw-r--r--contrib/python/boto3/boto3/data/ec2/2016-09-15/resources-1.json5134
-rw-r--r--contrib/python/boto3/boto3/data/ec2/2016-11-15/resources-1.json5164
-rw-r--r--contrib/python/boto3/boto3/data/glacier/2012-06-01/resources-1.json1162
-rw-r--r--contrib/python/boto3/boto3/data/iam/2010-05-08/resources-1.json3442
-rw-r--r--contrib/python/boto3/boto3/data/opsworks/2013-02-18/resources-1.json346
-rw-r--r--contrib/python/boto3/boto3/data/s3/2006-03-01/resources-1.json2498
-rw-r--r--contrib/python/boto3/boto3/data/sns/2010-03-31/resources-1.json654
-rw-r--r--contrib/python/boto3/boto3/data/sqs/2012-11-05/resources-1.json464
-rw-r--r--contrib/python/boto3/boto3/docs/collection.py20
-rw-r--r--contrib/python/boto3/boto3/docs/service.py12
-rw-r--r--contrib/python/boto3/boto3/dynamodb/conditions.py30
-rw-r--r--contrib/python/boto3/boto3/dynamodb/table.py4
-rw-r--r--contrib/python/boto3/boto3/dynamodb/transform.py18
-rw-r--r--contrib/python/boto3/boto3/dynamodb/types.py20
-rw-r--r--contrib/python/boto3/boto3/examples/cloudfront.rst70
-rw-r--r--contrib/python/boto3/boto3/examples/s3.rst292
-rw-r--r--contrib/python/boto3/boto3/exceptions.py18
-rw-r--r--contrib/python/boto3/boto3/resources/action.py4
-rw-r--r--contrib/python/boto3/boto3/resources/collection.py2
-rw-r--r--contrib/python/boto3/boto3/resources/model.py2
-rw-r--r--contrib/python/boto3/boto3/resources/params.py2
-rw-r--r--contrib/python/boto3/boto3/s3/inject.py242
-rw-r--r--contrib/python/boto3/boto3/s3/transfer.py18
-rw-r--r--contrib/python/boto3/boto3/session.py14
-rw-r--r--contrib/python/boto3/patches/01-fix-vendored-six.patch22
-rw-r--r--contrib/python/boto3/ya.make98
40 files changed, 23098 insertions, 23098 deletions
diff --git a/contrib/python/boto3/.dist-info/METADATA b/contrib/python/boto3/.dist-info/METADATA
index 75f9a0a951..e9f6cba130 100644
--- a/contrib/python/boto3/.dist-info/METADATA
+++ b/contrib/python/boto3/.dist-info/METADATA
@@ -1,166 +1,166 @@
-Metadata-Version: 2.1
-Name: boto3
-Version: 1.17.112
-Summary: The AWS SDK for Python
-Home-page: https://github.com/boto/boto3
-Author: Amazon Web Services
-License: Apache License 2.0
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-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.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Requires-Python: >= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*
-Requires-Dist: botocore (<1.21.0,>=1.20.112)
-Requires-Dist: jmespath (<1.0.0,>=0.7.1)
-Requires-Dist: s3transfer (<0.5.0,>=0.4.0)
-
-===============================
-Boto3 - The AWS SDK for Python
-===============================
-
-|Version| |Gitter|
-
-Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for
-Python, which allows Python developers to write software that makes use
-of services like Amazon S3 and Amazon EC2. You can find the latest, most
-up to date, documentation at our `doc site`_, including a list of
-services that are supported.
-
-On 01/15/2021 deprecation for Python 2.7 was announced and support will be dropped
-on 07/15/2021. To avoid disruption, customers using Boto3 on Python 2.7 may
-need to upgrade their version of Python or pin the version of Boto3. For
-more information, see this `blog post <https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-python-2-7-in-aws-sdk-for-python-and-aws-cli-v1/>`__.
-
-
-.. _boto: https://docs.pythonboto.org/
-.. _`doc site`: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
-.. |Gitter| image:: https://badges.gitter.im/boto/boto3.svg
- :target: https://gitter.im/boto/boto3
- :alt: Gitter
-.. |Downloads| image:: http://img.shields.io/pypi/dm/boto3.svg?style=flat
- :target: https://pypi.python.org/pypi/boto3/
- :alt: Downloads
-.. |Version| image:: http://img.shields.io/pypi/v/boto3.svg?style=flat
- :target: https://pypi.python.org/pypi/boto3/
- :alt: Version
-.. |License| image:: http://img.shields.io/pypi/l/boto3.svg?style=flat
- :target: https://github.com/boto/boto3/blob/develop/LICENSE
- :alt: License
-
-Getting Started
----------------
-Assuming that you have Python and ``virtualenv`` installed, set up your environment and install the required dependencies like this or you can install the library using ``pip``:
-
-.. code-block:: sh
-
- $ git clone https://github.com/boto/boto3.git
- $ cd boto3
- $ virtualenv venv
- ...
- $ . venv/bin/activate
- $ python -m pip install -r requirements.txt
- $ python -m pip install -e .
-
-.. code-block:: sh
-
- $ python -m pip install boto3
-
-
-Using Boto3
-~~~~~~~~~~~~~~
-After installing boto3
-
-Next, set up credentials (in e.g. ``~/.aws/credentials``):
-
-.. code-block:: ini
-
- [default]
- aws_access_key_id = YOUR_KEY
- aws_secret_access_key = YOUR_SECRET
-
-Then, set up a default region (in e.g. ``~/.aws/config``):
-
-.. code-block:: ini
-
- [default]
- region=us-east-1
-
-Other credentials configuration method can be found `here <https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html>`__
-
-Then, from a Python interpreter:
-
-.. code-block:: python
-
- >>> import boto3
- >>> s3 = boto3.resource('s3')
- >>> for bucket in s3.buckets.all():
- print(bucket.name)
-
-Running Tests
-~~~~~~~~~~~~~
-You can run tests in all supported Python versions using ``tox``. By default,
-it will run all of the unit and functional tests, but you can also specify your own
-``nosetests`` options. Note that this requires that you have all supported
-versions of Python installed, otherwise you must pass ``-e`` or run the
-``nosetests`` command directly:
-
-.. code-block:: sh
-
- $ tox
- $ tox -- unit/test_session.py
- $ tox -e py26,py33 -- integration/
-
-You can also run individual tests with your default Python version:
-
-.. code-block:: sh
-
- $ nosetests tests/unit
-
-
-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 <https://stackoverflow.com/>`__ and tag it with `boto3 <https://stackoverflow.com/questions/tagged/boto3>`__
-* Come join the AWS Python community chat on `gitter <https://gitter.im/boto/boto3>`__
-* Open a support ticket with `AWS Support <https://console.aws.amazon.com/support/home#/>`__
-* If it turns out that you may have found a bug, please `open an issue <https://github.com/boto/boto3/issues/new>`__
-
-
-Contributing
-------------
-
-We value feedback and contributions from our community. Whether it's a bug report, new feature, correction, or additional documentation, we welcome your issues and pull requests. Please read through this `CONTRIBUTING <https://github.com/boto/boto3/blob/develop/CONTRIBUTING.rst>`__ document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your contribution.
-
-
-Maintenance and Support for SDK Major Versions
-----------------------------------------------
-
-Boto3 was made generally available on 06/22/2015 and is currently in the full support phase of the availability life cycle.
-
-For information about maintenance and support for SDK major versions and their underlying dependencies, see the following in the AWS SDKs and Tools Shared Configuration and Credentials Reference Guide:
-
-* `AWS SDKs and Tools Maintenance Policy <https://docs.aws.amazon.com/credref/latest/refdocs/maint-policy.html>`__
-* `AWS SDKs and Tools Version Support Matrix <https://docs.aws.amazon.com/credref/latest/refdocs/version-support-matrix.html>`__
-
-
-More Resources
---------------
-
-* `NOTICE <https://github.com/boto/boto3/blob/develop/NOTICE>`__
-* `Changelog <https://github.com/boto/boto3/blob/develop/CHANGELOG.rst>`__
-* `License <https://github.com/boto/boto3/blob/develop/LICENSE>`__
-
-
-
+Metadata-Version: 2.1
+Name: boto3
+Version: 1.17.112
+Summary: The AWS SDK for Python
+Home-page: https://github.com/boto/boto3
+Author: Amazon Web Services
+License: Apache License 2.0
+Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+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.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Requires-Python: >= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*
+Requires-Dist: botocore (<1.21.0,>=1.20.112)
+Requires-Dist: jmespath (<1.0.0,>=0.7.1)
+Requires-Dist: s3transfer (<0.5.0,>=0.4.0)
+
+===============================
+Boto3 - The AWS SDK for Python
+===============================
+
+|Version| |Gitter|
+
+Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for
+Python, which allows Python developers to write software that makes use
+of services like Amazon S3 and Amazon EC2. You can find the latest, most
+up to date, documentation at our `doc site`_, including a list of
+services that are supported.
+
+On 01/15/2021 deprecation for Python 2.7 was announced and support will be dropped
+on 07/15/2021. To avoid disruption, customers using Boto3 on Python 2.7 may
+need to upgrade their version of Python or pin the version of Boto3. For
+more information, see this `blog post <https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-python-2-7-in-aws-sdk-for-python-and-aws-cli-v1/>`__.
+
+
+.. _boto: https://docs.pythonboto.org/
+.. _`doc site`: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
+.. |Gitter| image:: https://badges.gitter.im/boto/boto3.svg
+ :target: https://gitter.im/boto/boto3
+ :alt: Gitter
+.. |Downloads| image:: http://img.shields.io/pypi/dm/boto3.svg?style=flat
+ :target: https://pypi.python.org/pypi/boto3/
+ :alt: Downloads
+.. |Version| image:: http://img.shields.io/pypi/v/boto3.svg?style=flat
+ :target: https://pypi.python.org/pypi/boto3/
+ :alt: Version
+.. |License| image:: http://img.shields.io/pypi/l/boto3.svg?style=flat
+ :target: https://github.com/boto/boto3/blob/develop/LICENSE
+ :alt: License
+
+Getting Started
+---------------
+Assuming that you have Python and ``virtualenv`` installed, set up your environment and install the required dependencies like this or you can install the library using ``pip``:
+
+.. code-block:: sh
+
+ $ git clone https://github.com/boto/boto3.git
+ $ cd boto3
+ $ virtualenv venv
+ ...
+ $ . venv/bin/activate
+ $ python -m pip install -r requirements.txt
+ $ python -m pip install -e .
+
+.. code-block:: sh
+
+ $ python -m pip install boto3
+
+
+Using Boto3
+~~~~~~~~~~~~~~
+After installing boto3
+
+Next, set up credentials (in e.g. ``~/.aws/credentials``):
+
+.. code-block:: ini
+
+ [default]
+ aws_access_key_id = YOUR_KEY
+ aws_secret_access_key = YOUR_SECRET
+
+Then, set up a default region (in e.g. ``~/.aws/config``):
+
+.. code-block:: ini
+
+ [default]
+ region=us-east-1
+
+Other credentials configuration method can be found `here <https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html>`__
+
+Then, from a Python interpreter:
+
+.. code-block:: python
+
+ >>> import boto3
+ >>> s3 = boto3.resource('s3')
+ >>> for bucket in s3.buckets.all():
+ print(bucket.name)
+
+Running Tests
+~~~~~~~~~~~~~
+You can run tests in all supported Python versions using ``tox``. By default,
+it will run all of the unit and functional tests, but you can also specify your own
+``nosetests`` options. Note that this requires that you have all supported
+versions of Python installed, otherwise you must pass ``-e`` or run the
+``nosetests`` command directly:
+
+.. code-block:: sh
+
+ $ tox
+ $ tox -- unit/test_session.py
+ $ tox -e py26,py33 -- integration/
+
+You can also run individual tests with your default Python version:
+
+.. code-block:: sh
+
+ $ nosetests tests/unit
+
+
+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 <https://stackoverflow.com/>`__ and tag it with `boto3 <https://stackoverflow.com/questions/tagged/boto3>`__
+* Come join the AWS Python community chat on `gitter <https://gitter.im/boto/boto3>`__
+* Open a support ticket with `AWS Support <https://console.aws.amazon.com/support/home#/>`__
+* If it turns out that you may have found a bug, please `open an issue <https://github.com/boto/boto3/issues/new>`__
+
+
+Contributing
+------------
+
+We value feedback and contributions from our community. Whether it's a bug report, new feature, correction, or additional documentation, we welcome your issues and pull requests. Please read through this `CONTRIBUTING <https://github.com/boto/boto3/blob/develop/CONTRIBUTING.rst>`__ document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your contribution.
+
+
+Maintenance and Support for SDK Major Versions
+----------------------------------------------
+
+Boto3 was made generally available on 06/22/2015 and is currently in the full support phase of the availability life cycle.
+
+For information about maintenance and support for SDK major versions and their underlying dependencies, see the following in the AWS SDKs and Tools Shared Configuration and Credentials Reference Guide:
+
+* `AWS SDKs and Tools Maintenance Policy <https://docs.aws.amazon.com/credref/latest/refdocs/maint-policy.html>`__
+* `AWS SDKs and Tools Version Support Matrix <https://docs.aws.amazon.com/credref/latest/refdocs/version-support-matrix.html>`__
+
+
+More Resources
+--------------
+
+* `NOTICE <https://github.com/boto/boto3/blob/develop/NOTICE>`__
+* `Changelog <https://github.com/boto/boto3/blob/develop/CHANGELOG.rst>`__
+* `License <https://github.com/boto/boto3/blob/develop/LICENSE>`__
+
+
+
diff --git a/contrib/python/boto3/.dist-info/top_level.txt b/contrib/python/boto3/.dist-info/top_level.txt
index 30ddf823b8..c53111da11 100644
--- a/contrib/python/boto3/.dist-info/top_level.txt
+++ b/contrib/python/boto3/.dist-info/top_level.txt
@@ -1 +1 @@
-boto3
+boto3
diff --git a/contrib/python/boto3/LICENSE b/contrib/python/boto3/LICENSE
index f433b1a53f..d149785319 100644
--- a/contrib/python/boto3/LICENSE
+++ b/contrib/python/boto3/LICENSE
@@ -1,177 +1,177 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
diff --git a/contrib/python/boto3/README.rst b/contrib/python/boto3/README.rst
index 19de7e033b..1154655603 100644
--- a/contrib/python/boto3/README.rst
+++ b/contrib/python/boto3/README.rst
@@ -1,140 +1,140 @@
-===============================
-Boto3 - The AWS SDK for Python
-===============================
-
-|Version| |Gitter|
-
-Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for
-Python, which allows Python developers to write software that makes use
-of services like Amazon S3 and Amazon EC2. You can find the latest, most
-up to date, documentation at our `doc site`_, including a list of
-services that are supported.
-
-On 01/15/2021 deprecation for Python 2.7 was announced and support will be dropped
-on 07/15/2021. To avoid disruption, customers using Boto3 on Python 2.7 may
-need to upgrade their version of Python or pin the version of Boto3. For
-more information, see this `blog post <https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-python-2-7-in-aws-sdk-for-python-and-aws-cli-v1/>`__.
-
-
-.. _boto: https://docs.pythonboto.org/
-.. _`doc site`: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
-.. |Gitter| image:: https://badges.gitter.im/boto/boto3.svg
- :target: https://gitter.im/boto/boto3
- :alt: Gitter
-.. |Downloads| image:: http://img.shields.io/pypi/dm/boto3.svg?style=flat
- :target: https://pypi.python.org/pypi/boto3/
- :alt: Downloads
-.. |Version| image:: http://img.shields.io/pypi/v/boto3.svg?style=flat
- :target: https://pypi.python.org/pypi/boto3/
- :alt: Version
-.. |License| image:: http://img.shields.io/pypi/l/boto3.svg?style=flat
- :target: https://github.com/boto/boto3/blob/develop/LICENSE
- :alt: License
-
-Getting Started
----------------
-Assuming that you have Python and ``virtualenv`` installed, set up your environment and install the required dependencies like this or you can install the library using ``pip``:
-
-.. code-block:: sh
-
- $ git clone https://github.com/boto/boto3.git
- $ cd boto3
- $ virtualenv venv
- ...
- $ . venv/bin/activate
- $ python -m pip install -r requirements.txt
- $ python -m pip install -e .
-
-.. code-block:: sh
-
- $ python -m pip install boto3
-
-
-Using Boto3
-~~~~~~~~~~~~~~
-After installing boto3
-
-Next, set up credentials (in e.g. ``~/.aws/credentials``):
-
-.. code-block:: ini
-
- [default]
- aws_access_key_id = YOUR_KEY
- aws_secret_access_key = YOUR_SECRET
-
-Then, set up a default region (in e.g. ``~/.aws/config``):
-
-.. code-block:: ini
-
- [default]
- region=us-east-1
-
-Other credentials configuration method can be found `here <https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html>`__
-
-Then, from a Python interpreter:
-
-.. code-block:: python
-
- >>> import boto3
- >>> s3 = boto3.resource('s3')
- >>> for bucket in s3.buckets.all():
- print(bucket.name)
-
-Running Tests
-~~~~~~~~~~~~~
-You can run tests in all supported Python versions using ``tox``. By default,
-it will run all of the unit and functional tests, but you can also specify your own
-``nosetests`` options. Note that this requires that you have all supported
-versions of Python installed, otherwise you must pass ``-e`` or run the
-``nosetests`` command directly:
-
-.. code-block:: sh
-
- $ tox
- $ tox -- unit/test_session.py
- $ tox -e py26,py33 -- integration/
-
-You can also run individual tests with your default Python version:
-
-.. code-block:: sh
-
- $ nosetests tests/unit
-
-
-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 <https://stackoverflow.com/>`__ and tag it with `boto3 <https://stackoverflow.com/questions/tagged/boto3>`__
-* Come join the AWS Python community chat on `gitter <https://gitter.im/boto/boto3>`__
-* Open a support ticket with `AWS Support <https://console.aws.amazon.com/support/home#/>`__
-* If it turns out that you may have found a bug, please `open an issue <https://github.com/boto/boto3/issues/new>`__
-
-
-Contributing
-------------
-
-We value feedback and contributions from our community. Whether it's a bug report, new feature, correction, or additional documentation, we welcome your issues and pull requests. Please read through this `CONTRIBUTING <https://github.com/boto/boto3/blob/develop/CONTRIBUTING.rst>`__ document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your contribution.
-
-
-Maintenance and Support for SDK Major Versions
-----------------------------------------------
-
-Boto3 was made generally available on 06/22/2015 and is currently in the full support phase of the availability life cycle.
-
-For information about maintenance and support for SDK major versions and their underlying dependencies, see the following in the AWS SDKs and Tools Shared Configuration and Credentials Reference Guide:
-
-* `AWS SDKs and Tools Maintenance Policy <https://docs.aws.amazon.com/credref/latest/refdocs/maint-policy.html>`__
-* `AWS SDKs and Tools Version Support Matrix <https://docs.aws.amazon.com/credref/latest/refdocs/version-support-matrix.html>`__
-
-
-More Resources
---------------
-
-* `NOTICE <https://github.com/boto/boto3/blob/develop/NOTICE>`__
-* `Changelog <https://github.com/boto/boto3/blob/develop/CHANGELOG.rst>`__
-* `License <https://github.com/boto/boto3/blob/develop/LICENSE>`__
-
+===============================
+Boto3 - The AWS SDK for Python
+===============================
+
+|Version| |Gitter|
+
+Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for
+Python, which allows Python developers to write software that makes use
+of services like Amazon S3 and Amazon EC2. You can find the latest, most
+up to date, documentation at our `doc site`_, including a list of
+services that are supported.
+
+On 01/15/2021 deprecation for Python 2.7 was announced and support will be dropped
+on 07/15/2021. To avoid disruption, customers using Boto3 on Python 2.7 may
+need to upgrade their version of Python or pin the version of Boto3. For
+more information, see this `blog post <https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-python-2-7-in-aws-sdk-for-python-and-aws-cli-v1/>`__.
+
+
+.. _boto: https://docs.pythonboto.org/
+.. _`doc site`: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
+.. |Gitter| image:: https://badges.gitter.im/boto/boto3.svg
+ :target: https://gitter.im/boto/boto3
+ :alt: Gitter
+.. |Downloads| image:: http://img.shields.io/pypi/dm/boto3.svg?style=flat
+ :target: https://pypi.python.org/pypi/boto3/
+ :alt: Downloads
+.. |Version| image:: http://img.shields.io/pypi/v/boto3.svg?style=flat
+ :target: https://pypi.python.org/pypi/boto3/
+ :alt: Version
+.. |License| image:: http://img.shields.io/pypi/l/boto3.svg?style=flat
+ :target: https://github.com/boto/boto3/blob/develop/LICENSE
+ :alt: License
+
+Getting Started
+---------------
+Assuming that you have Python and ``virtualenv`` installed, set up your environment and install the required dependencies like this or you can install the library using ``pip``:
+
+.. code-block:: sh
+
+ $ git clone https://github.com/boto/boto3.git
+ $ cd boto3
+ $ virtualenv venv
+ ...
+ $ . venv/bin/activate
+ $ python -m pip install -r requirements.txt
+ $ python -m pip install -e .
+
+.. code-block:: sh
+
+ $ python -m pip install boto3
+
+
+Using Boto3
+~~~~~~~~~~~~~~
+After installing boto3
+
+Next, set up credentials (in e.g. ``~/.aws/credentials``):
+
+.. code-block:: ini
+
+ [default]
+ aws_access_key_id = YOUR_KEY
+ aws_secret_access_key = YOUR_SECRET
+
+Then, set up a default region (in e.g. ``~/.aws/config``):
+
+.. code-block:: ini
+
+ [default]
+ region=us-east-1
+
+Other credentials configuration method can be found `here <https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html>`__
+
+Then, from a Python interpreter:
+
+.. code-block:: python
+
+ >>> import boto3
+ >>> s3 = boto3.resource('s3')
+ >>> for bucket in s3.buckets.all():
+ print(bucket.name)
+
+Running Tests
+~~~~~~~~~~~~~
+You can run tests in all supported Python versions using ``tox``. By default,
+it will run all of the unit and functional tests, but you can also specify your own
+``nosetests`` options. Note that this requires that you have all supported
+versions of Python installed, otherwise you must pass ``-e`` or run the
+``nosetests`` command directly:
+
+.. code-block:: sh
+
+ $ tox
+ $ tox -- unit/test_session.py
+ $ tox -e py26,py33 -- integration/
+
+You can also run individual tests with your default Python version:
+
+.. code-block:: sh
+
+ $ nosetests tests/unit
+
+
+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 <https://stackoverflow.com/>`__ and tag it with `boto3 <https://stackoverflow.com/questions/tagged/boto3>`__
+* Come join the AWS Python community chat on `gitter <https://gitter.im/boto/boto3>`__
+* Open a support ticket with `AWS Support <https://console.aws.amazon.com/support/home#/>`__
+* If it turns out that you may have found a bug, please `open an issue <https://github.com/boto/boto3/issues/new>`__
+
+
+Contributing
+------------
+
+We value feedback and contributions from our community. Whether it's a bug report, new feature, correction, or additional documentation, we welcome your issues and pull requests. Please read through this `CONTRIBUTING <https://github.com/boto/boto3/blob/develop/CONTRIBUTING.rst>`__ document before submitting any issues or pull requests to ensure we have all the necessary information to effectively respond to your contribution.
+
+
+Maintenance and Support for SDK Major Versions
+----------------------------------------------
+
+Boto3 was made generally available on 06/22/2015 and is currently in the full support phase of the availability life cycle.
+
+For information about maintenance and support for SDK major versions and their underlying dependencies, see the following in the AWS SDKs and Tools Shared Configuration and Credentials Reference Guide:
+
+* `AWS SDKs and Tools Maintenance Policy <https://docs.aws.amazon.com/credref/latest/refdocs/maint-policy.html>`__
+* `AWS SDKs and Tools Version Support Matrix <https://docs.aws.amazon.com/credref/latest/refdocs/version-support-matrix.html>`__
+
+
+More Resources
+--------------
+
+* `NOTICE <https://github.com/boto/boto3/blob/develop/NOTICE>`__
+* `Changelog <https://github.com/boto/boto3/blob/develop/CHANGELOG.rst>`__
+* `License <https://github.com/boto/boto3/blob/develop/LICENSE>`__
+
diff --git a/contrib/python/boto3/boto3/__init__.py b/contrib/python/boto3/boto3/__init__.py
index df9e65e296..c133160fec 100644
--- a/contrib/python/boto3/boto3/__init__.py
+++ b/contrib/python/boto3/boto3/__init__.py
@@ -14,11 +14,11 @@
import logging
from boto3.session import Session
-from boto3.compat import _warn_deprecated_python
+from boto3.compat import _warn_deprecated_python
__author__ = 'Amazon Web Services'
-__version__ = '1.17.112'
+__version__ = '1.17.112'
# The default Boto3 session; autoloaded when needed.
@@ -43,14 +43,14 @@ def set_stream_logger(name='boto3', level=logging.DEBUG, format_string=None):
>>> import boto3
>>> boto3.set_stream_logger('boto3.resources', logging.INFO)
- For debugging purposes a good choice is to set the stream logger to ``''``
- which is equivalent to saying "log everything".
-
- .. WARNING::
- Be aware that when logging anything from ``'botocore'`` the full wire
- trace will appear in your logs. If your payloads contain sensitive data
- this should not be used in production.
-
+ For debugging purposes a good choice is to set the stream logger to ``''``
+ which is equivalent to saying "log everything".
+
+ .. WARNING::
+ Be aware that when logging anything from ``'botocore'`` the full wire
+ trace will appear in your logs. If your payloads contain sensitive data
+ this should not be used in production.
+
:type name: string
:param name: Log name
:type level: int
@@ -79,7 +79,7 @@ def _get_default_session():
"""
if DEFAULT_SESSION is None:
setup_default_session()
- _warn_deprecated_python()
+ _warn_deprecated_python()
return DEFAULT_SESSION
diff --git a/contrib/python/boto3/boto3/compat.py b/contrib/python/boto3/boto3/compat.py
index 5610a0ac93..0b375b3ea6 100644
--- a/contrib/python/boto3/boto3/compat.py
+++ b/contrib/python/boto3/boto3/compat.py
@@ -10,15 +10,15 @@
# 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 sys
-import os
+import sys
+import os
import errno
import socket
-import warnings
-
-from botocore.compat import six
-from boto3.exceptions import PythonDeprecationWarning
+import warnings
+from botocore.compat import six
+from boto3.exceptions import PythonDeprecationWarning
+
if six.PY3:
# In python3, socket.error is OSError, which is too general
# for what we want (i.e FileNotFoundError is a subclass of OSError).
@@ -28,12 +28,12 @@ if six.PY3:
else:
SOCKET_ERROR = socket.error
-if six.PY3:
- import collections.abc as collections_abc
-else:
- import collections as collections_abc
-
+if six.PY3:
+ import collections.abc as collections_abc
+else:
+ import collections as collections_abc
+
if sys.platform.startswith('win'):
def rename_file(current_filename, new_filename):
try:
@@ -48,39 +48,39 @@ if sys.platform.startswith('win'):
os.rename(current_filename, new_filename)
else:
rename_file = os.rename
-
-
-def filter_python_deprecation_warnings():
- """
- Invoking this filter acknowledges your runtime will soon be deprecated
- at which time you will stop receiving all updates to your client.
- """
- warnings.filterwarnings(
- 'ignore',
- message=".*Boto3 will no longer support Python.*",
- category=PythonDeprecationWarning,
- module=r".*boto3\.compat"
- )
-
-
-def _warn_deprecated_python():
- py_27_params = {
- 'date': 'July 15, 2021',
- 'blog_link': 'https://aws.amazon.com/blogs/developer/announcing-end-'
- 'of-support-for-python-2-7-in-aws-sdk-for-python-and-'
- 'aws-cli-v1/'
- }
- deprecated_versions = {
- (2,7): py_27_params,
- }
- py_version = sys.version_info[:2]
-
- if py_version in deprecated_versions:
- params = deprecated_versions[py_version]
- warning = (
- "Boto3 will no longer support Python {}.{} "
- "starting {}. To continue receiving service updates, "
- "bug fixes, and security updates please upgrade to Python 3.6 or "
- "later. More information can be found here: {}"
- ).format(py_version[0], py_version[1], params['date'], params['blog_link'])
- warnings.warn(warning, PythonDeprecationWarning)
+
+
+def filter_python_deprecation_warnings():
+ """
+ Invoking this filter acknowledges your runtime will soon be deprecated
+ at which time you will stop receiving all updates to your client.
+ """
+ warnings.filterwarnings(
+ 'ignore',
+ message=".*Boto3 will no longer support Python.*",
+ category=PythonDeprecationWarning,
+ module=r".*boto3\.compat"
+ )
+
+
+def _warn_deprecated_python():
+ py_27_params = {
+ 'date': 'July 15, 2021',
+ 'blog_link': 'https://aws.amazon.com/blogs/developer/announcing-end-'
+ 'of-support-for-python-2-7-in-aws-sdk-for-python-and-'
+ 'aws-cli-v1/'
+ }
+ deprecated_versions = {
+ (2,7): py_27_params,
+ }
+ py_version = sys.version_info[:2]
+
+ if py_version in deprecated_versions:
+ params = deprecated_versions[py_version]
+ warning = (
+ "Boto3 will no longer support Python {}.{} "
+ "starting {}. To continue receiving service updates, "
+ "bug fixes, and security updates please upgrade to Python 3.6 or "
+ "later. More information can be found here: {}"
+ ).format(py_version[0], py_version[1], params['date'], params['blog_link'])
+ warnings.warn(warning, PythonDeprecationWarning)
diff --git a/contrib/python/boto3/boto3/data/cloudformation/2010-05-15/resources-1.json b/contrib/python/boto3/boto3/data/cloudformation/2010-05-15/resources-1.json
index fd439375ff..d0a5f320f8 100644
--- a/contrib/python/boto3/boto3/data/cloudformation/2010-05-15/resources-1.json
+++ b/contrib/python/boto3/boto3/data/cloudformation/2010-05-15/resources-1.json
@@ -1,195 +1,195 @@
-{
- "service": {
- "actions": {
- "CreateStack": {
- "request": { "operation": "CreateStack" },
- "resource": {
- "type": "Stack",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "StackName" }
- ]
- }
- }
- },
- "has": {
- "Event": {
- "resource": {
- "type": "Event",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Stack": {
- "resource": {
- "type": "Stack",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "Stacks": {
- "request": { "operation": "DescribeStacks" },
- "resource": {
- "type": "Stack",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "Stacks[].StackName" }
- ],
- "path": "Stacks[]"
- }
- }
- }
- },
- "resources": {
- "Event": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "EventId"
- }
- ],
- "shape": "StackEvent"
- },
- "Stack": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "StackName"
- }
- ],
- "shape": "Stack",
- "load": {
- "request": {
- "operation": "DescribeStacks",
- "params": [
- { "target": "StackName", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "Stacks[0]"
- },
- "actions": {
- "CancelUpdate": {
- "request": {
- "operation": "CancelUpdateStack",
- "params": [
- { "target": "StackName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteStack",
- "params": [
- { "target": "StackName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Update": {
- "request": {
- "operation": "UpdateStack",
- "params": [
- { "target": "StackName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "has": {
- "Resource": {
- "resource": {
- "type": "StackResource",
- "identifiers": [
- { "target": "StackName", "source": "identifier", "name": "Name" },
- { "target": "LogicalId", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "Events": {
- "request": {
- "operation": "DescribeStackEvents",
- "params": [
- { "target": "StackName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Event",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "StackEvents[].EventId" }
- ],
- "path": "StackEvents[]"
- }
- },
- "ResourceSummaries": {
- "request": {
- "operation": "ListStackResources",
- "params": [
- { "target": "StackName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "StackResourceSummary",
- "identifiers": [
- { "target": "LogicalId", "source": "response", "path": "StackResourceSummaries[].LogicalResourceId" },
- { "target": "StackName", "source": "requestParameter", "path": "StackName" }
- ],
- "path": "StackResourceSummaries[]"
- }
- }
- }
- },
- "StackResource": {
- "identifiers": [
- { "name": "StackName" },
- {
- "name": "LogicalId",
- "memberName": "LogicalResourceId"
- }
- ],
- "shape": "StackResourceDetail",
- "load": {
- "request": {
- "operation": "DescribeStackResource",
- "params": [
- { "target": "LogicalResourceId", "source": "identifier", "name": "LogicalId" },
- { "target": "StackName", "source": "identifier", "name": "StackName" }
- ]
- },
- "path": "StackResourceDetail"
- },
- "has": {
- "Stack": {
- "resource": {
- "type": "Stack",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "StackName" }
- ]
- }
- }
- }
- },
- "StackResourceSummary": {
- "identifiers": [
- { "name": "StackName" },
- {
- "name": "LogicalId",
- "memberName": "LogicalResourceId"
- }
- ],
- "shape": "StackResourceSummary",
- "has": {
- "Resource": {
- "resource": {
- "type": "StackResource",
- "identifiers": [
- { "target": "LogicalId", "source": "identifier", "name": "LogicalId" },
- { "target": "StackName", "source": "identifier", "name": "StackName" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateStack": {
+ "request": { "operation": "CreateStack" },
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "StackName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Event": {
+ "resource": {
+ "type": "Event",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Stack": {
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Stacks": {
+ "request": { "operation": "DescribeStacks" },
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Stacks[].StackName" }
+ ],
+ "path": "Stacks[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "Event": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "EventId"
+ }
+ ],
+ "shape": "StackEvent"
+ },
+ "Stack": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "StackName"
+ }
+ ],
+ "shape": "Stack",
+ "load": {
+ "request": {
+ "operation": "DescribeStacks",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "Stacks[0]"
+ },
+ "actions": {
+ "CancelUpdate": {
+ "request": {
+ "operation": "CancelUpdateStack",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteStack",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateStack",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Resource": {
+ "resource": {
+ "type": "StackResource",
+ "identifiers": [
+ { "target": "StackName", "source": "identifier", "name": "Name" },
+ { "target": "LogicalId", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Events": {
+ "request": {
+ "operation": "DescribeStackEvents",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Event",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "StackEvents[].EventId" }
+ ],
+ "path": "StackEvents[]"
+ }
+ },
+ "ResourceSummaries": {
+ "request": {
+ "operation": "ListStackResources",
+ "params": [
+ { "target": "StackName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "StackResourceSummary",
+ "identifiers": [
+ { "target": "LogicalId", "source": "response", "path": "StackResourceSummaries[].LogicalResourceId" },
+ { "target": "StackName", "source": "requestParameter", "path": "StackName" }
+ ],
+ "path": "StackResourceSummaries[]"
+ }
+ }
+ }
+ },
+ "StackResource": {
+ "identifiers": [
+ { "name": "StackName" },
+ {
+ "name": "LogicalId",
+ "memberName": "LogicalResourceId"
+ }
+ ],
+ "shape": "StackResourceDetail",
+ "load": {
+ "request": {
+ "operation": "DescribeStackResource",
+ "params": [
+ { "target": "LogicalResourceId", "source": "identifier", "name": "LogicalId" },
+ { "target": "StackName", "source": "identifier", "name": "StackName" }
+ ]
+ },
+ "path": "StackResourceDetail"
+ },
+ "has": {
+ "Stack": {
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "StackName" }
+ ]
+ }
+ }
+ }
+ },
+ "StackResourceSummary": {
+ "identifiers": [
+ { "name": "StackName" },
+ {
+ "name": "LogicalId",
+ "memberName": "LogicalResourceId"
+ }
+ ],
+ "shape": "StackResourceSummary",
+ "has": {
+ "Resource": {
+ "resource": {
+ "type": "StackResource",
+ "identifiers": [
+ { "target": "LogicalId", "source": "identifier", "name": "LogicalId" },
+ { "target": "StackName", "source": "identifier", "name": "StackName" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/cloudwatch/2010-08-01/resources-1.json b/contrib/python/boto3/boto3/data/cloudwatch/2010-08-01/resources-1.json
index e0746d0467..c9128b4d4a 100644
--- a/contrib/python/boto3/boto3/data/cloudwatch/2010-08-01/resources-1.json
+++ b/contrib/python/boto3/boto3/data/cloudwatch/2010-08-01/resources-1.json
@@ -1,334 +1,334 @@
-{
- "service": {
- "has": {
- "Alarm": {
- "resource": {
- "type": "Alarm",
- "identifiers": [
- {
- "target": "Name",
- "source": "input"
- }
- ]
- }
- },
- "Metric": {
- "resource": {
- "type": "Metric",
- "identifiers": [
- {
- "target": "Namespace",
- "source": "input"
- },
- {
- "target": "Name",
- "source": "input"
- }
- ]
- }
- }
- },
- "hasMany": {
- "Alarms": {
- "request": { "operation": "DescribeAlarms" },
- "resource": {
- "type": "Alarm",
- "identifiers": [
- {
- "target": "Name",
- "source": "response",
- "path": "MetricAlarms[].AlarmName"
- }
- ],
- "path": "MetricAlarms[]"
- }
- },
- "Metrics": {
- "request": { "operation": "ListMetrics" },
- "resource": {
- "type": "Metric",
- "identifiers": [
- {
- "target": "Namespace",
- "source": "response",
- "path": "Metrics[].Namespace"
- },
- {
- "target": "Name",
- "source": "response",
- "path": "Metrics[].MetricName"
- }
- ],
- "path": "Metrics[]"
- }
- }
- }
- },
- "resources": {
- "Alarm": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "AlarmName"
- }
- ],
- "shape": "MetricAlarm",
- "load": {
- "request": {
- "operation": "DescribeAlarms",
- "params": [
- {
- "target": "AlarmNames[0]",
- "source": "identifier",
- "name": "Name"
- }
- ]
- },
- "path": "MetricAlarms[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteAlarms",
- "params": [
- {
- "target": "AlarmNames[0]",
- "source": "identifier",
- "name": "Name"
- }
- ]
- }
- },
- "DescribeHistory": {
- "request": {
- "operation": "DescribeAlarmHistory",
- "params": [
- {
- "target": "AlarmName",
- "source": "identifier",
- "name": "Name"
- }
- ]
- }
- },
- "DisableActions": {
- "request": {
- "operation": "DisableAlarmActions",
- "params": [
- {
- "target": "AlarmNames[0]",
- "source": "identifier",
- "name": "Name"
- }
- ]
- }
- },
- "EnableActions": {
- "request": {
- "operation": "EnableAlarmActions",
- "params": [
- {
- "target": "AlarmNames[0]",
- "source": "identifier",
- "name": "Name"
- }
- ]
- }
- },
- "SetState": {
- "request": {
- "operation": "SetAlarmState",
- "params": [
- {
- "target": "AlarmName",
- "source": "identifier",
- "name": "Name"
- }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteAlarms",
- "params": [
- {
- "target": "AlarmNames[]",
- "source": "identifier",
- "name": "Name"
- }
- ]
- }
- },
- "DisableActions": {
- "request": {
- "operation": "DisableAlarmActions",
- "params": [
- {
- "target": "AlarmNames[]",
- "source": "identifier",
- "name": "Name"
- }
- ]
- }
- },
- "EnableActions": {
- "request": {
- "operation": "EnableAlarmActions",
- "params": [
- {
- "target": "AlarmNames[]",
- "source": "identifier",
- "name": "Name"
- }
- ]
- }
- }
- },
- "has": {
- "Metric": {
- "resource": {
- "type": "Metric",
- "identifiers": [
- {
- "target": "Namespace",
- "source": "data",
- "path": "Namespace"
- },
- {
- "target": "Name",
- "source": "data",
- "path": "MetricName"
- }
- ]
- }
- }
- }
- },
- "Metric": {
- "identifiers": [
- {
- "name": "Namespace",
- "memberName": "Namespace"
- },
- {
- "name": "Name",
- "memberName": "MetricName"
- }
- ],
- "shape": "Metric",
- "load": {
- "request": {
- "operation": "ListMetrics",
- "params": [
- {
- "target": "MetricName",
- "source": "identifier",
- "name": "Name"
- },
- {
- "target": "Namespace",
- "source": "identifier",
- "name": "Namespace"
- }
- ]
- },
- "path": "Metrics[0]"
- },
- "actions": {
- "GetStatistics": {
- "request": {
- "operation": "GetMetricStatistics",
- "params": [
- {
- "target": "Namespace",
- "source": "identifier",
- "name": "Namespace"
- },
- {
- "target": "MetricName",
- "source": "identifier",
- "name": "Name"
- }
- ]
- }
- },
- "PutAlarm": {
- "request": {
- "operation": "PutMetricAlarm",
- "params": [
- {
- "target": "Namespace",
- "source": "identifier",
- "name": "Namespace"
- },
- {
- "target": "MetricName",
- "source": "identifier",
- "name": "Name"
- }
- ]
- },
- "resource": {
- "type": "Alarm",
- "identifiers": [
- {
- "target": "Name",
- "source": "requestParameter",
- "path": "AlarmName"
- }
- ]
- }
- },
- "PutData": {
- "request": {
- "operation": "PutMetricData",
- "params": [
- {
- "target": "Namespace",
- "source": "identifier",
- "name": "Namespace"
- },
- {
- "target": "MetricData[].MetricName",
- "source": "identifier",
- "name": "Name"
- }
- ]
- }
- }
- },
- "hasMany": {
- "Alarms": {
- "request": {
- "operation": "DescribeAlarmsForMetric",
- "params": [
- {
- "target": "Namespace",
- "source": "identifier",
- "name": "Namespace"
- },
- {
- "target": "MetricName",
- "source": "identifier",
- "name": "Name"
- }
- ]
- },
- "resource": {
- "type": "Alarm",
- "identifiers": [
- {
- "target": "Name",
- "source": "response",
- "path": "MetricAlarms[].AlarmName"
- }
- ],
- "path": "MetricAlarms[]"
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "has": {
+ "Alarm": {
+ "resource": {
+ "type": "Alarm",
+ "identifiers": [
+ {
+ "target": "Name",
+ "source": "input"
+ }
+ ]
+ }
+ },
+ "Metric": {
+ "resource": {
+ "type": "Metric",
+ "identifiers": [
+ {
+ "target": "Namespace",
+ "source": "input"
+ },
+ {
+ "target": "Name",
+ "source": "input"
+ }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Alarms": {
+ "request": { "operation": "DescribeAlarms" },
+ "resource": {
+ "type": "Alarm",
+ "identifiers": [
+ {
+ "target": "Name",
+ "source": "response",
+ "path": "MetricAlarms[].AlarmName"
+ }
+ ],
+ "path": "MetricAlarms[]"
+ }
+ },
+ "Metrics": {
+ "request": { "operation": "ListMetrics" },
+ "resource": {
+ "type": "Metric",
+ "identifiers": [
+ {
+ "target": "Namespace",
+ "source": "response",
+ "path": "Metrics[].Namespace"
+ },
+ {
+ "target": "Name",
+ "source": "response",
+ "path": "Metrics[].MetricName"
+ }
+ ],
+ "path": "Metrics[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "Alarm": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "AlarmName"
+ }
+ ],
+ "shape": "MetricAlarm",
+ "load": {
+ "request": {
+ "operation": "DescribeAlarms",
+ "params": [
+ {
+ "target": "AlarmNames[0]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ },
+ "path": "MetricAlarms[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteAlarms",
+ "params": [
+ {
+ "target": "AlarmNames[0]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "DescribeHistory": {
+ "request": {
+ "operation": "DescribeAlarmHistory",
+ "params": [
+ {
+ "target": "AlarmName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "DisableActions": {
+ "request": {
+ "operation": "DisableAlarmActions",
+ "params": [
+ {
+ "target": "AlarmNames[0]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "EnableActions": {
+ "request": {
+ "operation": "EnableAlarmActions",
+ "params": [
+ {
+ "target": "AlarmNames[0]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "SetState": {
+ "request": {
+ "operation": "SetAlarmState",
+ "params": [
+ {
+ "target": "AlarmName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteAlarms",
+ "params": [
+ {
+ "target": "AlarmNames[]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "DisableActions": {
+ "request": {
+ "operation": "DisableAlarmActions",
+ "params": [
+ {
+ "target": "AlarmNames[]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "EnableActions": {
+ "request": {
+ "operation": "EnableAlarmActions",
+ "params": [
+ {
+ "target": "AlarmNames[]",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Metric": {
+ "resource": {
+ "type": "Metric",
+ "identifiers": [
+ {
+ "target": "Namespace",
+ "source": "data",
+ "path": "Namespace"
+ },
+ {
+ "target": "Name",
+ "source": "data",
+ "path": "MetricName"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "Metric": {
+ "identifiers": [
+ {
+ "name": "Namespace",
+ "memberName": "Namespace"
+ },
+ {
+ "name": "Name",
+ "memberName": "MetricName"
+ }
+ ],
+ "shape": "Metric",
+ "load": {
+ "request": {
+ "operation": "ListMetrics",
+ "params": [
+ {
+ "target": "MetricName",
+ "source": "identifier",
+ "name": "Name"
+ },
+ {
+ "target": "Namespace",
+ "source": "identifier",
+ "name": "Namespace"
+ }
+ ]
+ },
+ "path": "Metrics[0]"
+ },
+ "actions": {
+ "GetStatistics": {
+ "request": {
+ "operation": "GetMetricStatistics",
+ "params": [
+ {
+ "target": "Namespace",
+ "source": "identifier",
+ "name": "Namespace"
+ },
+ {
+ "target": "MetricName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "PutAlarm": {
+ "request": {
+ "operation": "PutMetricAlarm",
+ "params": [
+ {
+ "target": "Namespace",
+ "source": "identifier",
+ "name": "Namespace"
+ },
+ {
+ "target": "MetricName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ },
+ "resource": {
+ "type": "Alarm",
+ "identifiers": [
+ {
+ "target": "Name",
+ "source": "requestParameter",
+ "path": "AlarmName"
+ }
+ ]
+ }
+ },
+ "PutData": {
+ "request": {
+ "operation": "PutMetricData",
+ "params": [
+ {
+ "target": "Namespace",
+ "source": "identifier",
+ "name": "Namespace"
+ },
+ {
+ "target": "MetricData[].MetricName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Alarms": {
+ "request": {
+ "operation": "DescribeAlarmsForMetric",
+ "params": [
+ {
+ "target": "Namespace",
+ "source": "identifier",
+ "name": "Namespace"
+ },
+ {
+ "target": "MetricName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ },
+ "resource": {
+ "type": "Alarm",
+ "identifiers": [
+ {
+ "target": "Name",
+ "source": "response",
+ "path": "MetricAlarms[].AlarmName"
+ }
+ ],
+ "path": "MetricAlarms[]"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/dynamodb/2012-08-10/resources-1.json b/contrib/python/boto3/boto3/data/dynamodb/2012-08-10/resources-1.json
index b79994e224..be84c16d8d 100644
--- a/contrib/python/boto3/boto3/data/dynamodb/2012-08-10/resources-1.json
+++ b/contrib/python/boto3/boto3/data/dynamodb/2012-08-10/resources-1.json
@@ -1,150 +1,150 @@
-{
- "service": {
- "actions": {
- "BatchGetItem": {
- "request": { "operation": "BatchGetItem" }
- },
- "BatchWriteItem": {
- "request": { "operation": "BatchWriteItem" }
- },
- "CreateTable": {
- "request": { "operation": "CreateTable" },
- "resource": {
- "type": "Table",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "TableDescription.TableName" }
- ],
- "path": "TableDescription"
- }
- }
- },
- "has": {
- "Table": {
- "resource": {
- "type": "Table",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "Tables": {
- "request": { "operation": "ListTables" },
- "resource": {
- "type": "Table",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "TableNames[]" }
- ]
- }
- }
- }
- },
- "resources": {
- "Table": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "TableName"
- }
- ],
- "shape": "TableDescription",
- "load": {
- "request": {
- "operation": "DescribeTable",
- "params": [
- { "target": "TableName", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "Table"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteTable",
- "params": [
- { "target": "TableName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "DeleteItem": {
- "request": {
- "operation": "DeleteItem",
- "params": [
- { "target": "TableName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "GetItem": {
- "request": {
- "operation": "GetItem",
- "params": [
- { "target": "TableName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "PutItem": {
- "request": {
- "operation": "PutItem",
- "params": [
- { "target": "TableName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Query": {
- "request": {
- "operation": "Query",
- "params": [
- { "target": "TableName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Scan": {
- "request": {
- "operation": "Scan",
- "params": [
- { "target": "TableName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Update": {
- "request": {
- "operation": "UpdateTable",
- "params": [
- { "target": "TableName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Table",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "Name" }
- ],
- "path": "TableDescription"
- }
- },
- "UpdateItem": {
- "request": {
- "operation": "UpdateItem",
- "params": [
- { "target": "TableName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "waiters":{
- "Exists": {
- "waiterName": "TableExists",
- "params": [
- { "target": "TableName", "source": "identifier", "name": "Name" }
- ]
- },
- "NotExists": {
- "waiterName": "TableNotExists",
- "params": [
- { "target": "TableName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "BatchGetItem": {
+ "request": { "operation": "BatchGetItem" }
+ },
+ "BatchWriteItem": {
+ "request": { "operation": "BatchWriteItem" }
+ },
+ "CreateTable": {
+ "request": { "operation": "CreateTable" },
+ "resource": {
+ "type": "Table",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "TableDescription.TableName" }
+ ],
+ "path": "TableDescription"
+ }
+ }
+ },
+ "has": {
+ "Table": {
+ "resource": {
+ "type": "Table",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Tables": {
+ "request": { "operation": "ListTables" },
+ "resource": {
+ "type": "Table",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "TableNames[]" }
+ ]
+ }
+ }
+ }
+ },
+ "resources": {
+ "Table": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "TableName"
+ }
+ ],
+ "shape": "TableDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTable",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "Table"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTable",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "DeleteItem": {
+ "request": {
+ "operation": "DeleteItem",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "GetItem": {
+ "request": {
+ "operation": "GetItem",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "PutItem": {
+ "request": {
+ "operation": "PutItem",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Query": {
+ "request": {
+ "operation": "Query",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Scan": {
+ "request": {
+ "operation": "Scan",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateTable",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Table",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "Name" }
+ ],
+ "path": "TableDescription"
+ }
+ },
+ "UpdateItem": {
+ "request": {
+ "operation": "UpdateItem",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "waiters":{
+ "Exists": {
+ "waiterName": "TableExists",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "NotExists": {
+ "waiterName": "TableNotExists",
+ "params": [
+ { "target": "TableName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/ec2/2014-10-01/resources-1.json b/contrib/python/boto3/boto3/data/ec2/2014-10-01/resources-1.json
index 8ccf160a7f..78d6e2abe1 100644
--- a/contrib/python/boto3/boto3/data/ec2/2014-10-01/resources-1.json
+++ b/contrib/python/boto3/boto3/data/ec2/2014-10-01/resources-1.json
@@ -1,2289 +1,2289 @@
-{
- "service": {
- "actions": {
- "CreateDhcpOptions": {
- "request": { "operation": "CreateDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
- ],
- "path": "DhcpOptions"
- }
- },
- "CreateInstances": {
- "request": { "operation": "RunInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateInternetGateway": {
- "request": { "operation": "CreateInternetGateway" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
- ],
- "path": "InternetGateway"
- }
- },
- "CreateKeyPair": {
- "request": { "operation": "CreateKeyPair" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ]
- }
- },
- "CreateNetworkAcl": {
- "request": { "operation": "CreateNetworkAcl" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateNetworkInterface": {
- "request": { "operation": "CreateNetworkInterface" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreatePlacementGroup": {
- "request": { "operation": "CreatePlacementGroup" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "GroupName" }
- ]
- }
- },
- "CreateRouteTable": {
- "request": { "operation": "CreateRouteTable" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": { "operation": "CreateSecurityGroup" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": { "operation": "CreateSnapshot" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateSubnet": {
- "request": { "operation": "CreateSubnet" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": { "operation": "CreateTags" },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "CreateVolume": {
- "request": { "operation": "CreateVolume" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VolumeId" }
- ],
- "path": "@"
- }
- },
- "CreateVpc": {
- "request": { "operation": "CreateVpc" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
- ],
- "path": "Vpc"
- }
- },
- "CreateVpcPeeringConnection": {
- "request": { "operation": "CreateVpcPeeringConnection" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- },
- "DisassociateRouteTable": {
- "request": { "operation": "DisassociateRouteTable" }
- },
- "ImportKeyPair": {
- "request": { "operation": "ImportKeyPair" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ]
- }
- },
- "RegisterImage": {
- "request": { "operation": "RegisterImage" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Instance": {
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "InternetGateway": {
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "NetworkAcl": {
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "NetworkInterface": {
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "RouteTableAssociation": {
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "SecurityGroup": {
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Snapshot": {
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "VpcPeeringConnection": {
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "DhcpOptionsSets": {
- "request": { "operation": "DescribeDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
- ],
- "path": "DhcpOptions[]"
- }
- },
- "Images": {
- "request": { "operation": "DescribeImages" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Images[].ImageId" }
- ],
- "path": "Images[]"
- }
- },
- "Instances": {
- "request": { "operation": "DescribeInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": { "operation": "DescribeInternetGateways" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "KeyPairs": {
- "request": { "operation": "DescribeKeyPairs" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
- ],
- "path": "KeyPairs[]"
- }
- },
- "NetworkAcls": {
- "request": { "operation": "DescribeNetworkAcls" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": { "operation": "DescribeNetworkInterfaces" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "PlacementGroups": {
- "request": { "operation": "DescribePlacementGroups" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
- ],
- "path": "PlacementGroups[]"
- }
- },
- "RouteTables": {
- "request": { "operation": "DescribeRouteTables" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": { "operation": "DescribeSecurityGroups" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Snapshots": {
- "request": { "operation": "DescribeSnapshots" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- },
- "Subnets": {
- "request": { "operation": "DescribeSubnets" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- },
- "Volumes": {
- "request": { "operation": "DescribeVolumes" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- },
- "VpcPeeringConnections": {
- "request": { "operation": "DescribeVpcPeeringConnections" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Vpcs": {
- "request": { "operation": "DescribeVpcs" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
- ],
- "path": "Vpcs[]"
- }
- }
- }
- },
- "resources": {
- "DhcpOptions": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "DhcpOptionsId"
- }
- ],
- "shape": "DhcpOptions",
- "load": {
- "request": {
- "operation": "DescribeDhcpOptions",
- "params": [
- { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "DhcpOptions[0]"
- },
- "actions": {
- "AssociateWithVpc": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Image": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "ImageId"
- }
- ],
- "shape": "Image",
- "load": {
- "request": {
- "operation": "DescribeImages",
- "params": [
- { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Images[0]"
- },
- "actions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Deregister": {
- "request": {
- "operation": "DeregisterImage",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Instance": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InstanceId"
- }
- ],
- "shape": "Instance",
- "load": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Reservations[0].Instances[0]"
- },
- "actions": {
- "AttachClassicLinkVpc": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachVolume": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ConsoleOutput": {
- "request": {
- "operation": "GetConsoleOutput",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateImage": {
- "request": {
- "operation": "CreateImage",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkVpc": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachVolume": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "PasswordData": {
- "request": {
- "operation": "GetPasswordData",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReportStatus": {
- "request": {
- "operation": "ReportInstanceStatus",
- "params": [
- { "target": "Instances[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetKernel": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "kernel" }
- ]
- }
- },
- "ResetRamdisk": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "ramdisk" }
- ]
- }
- },
- "ResetSourceDestCheck": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "batchActions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "InstanceExists",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Running": {
- "waiterName": "InstanceRunning",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Stopped": {
- "waiterName": "InstanceStopped",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Terminated": {
- "waiterName": "InstanceTerminated",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- }
- },
- "has": {
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "ImageId" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "KeyName" }
- ]
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "Placement.GroupName" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Volumes": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- }
- }
- },
- "InternetGateway": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InternetGatewayId"
- }
- ],
- "shape": "InternetGateway",
- "load": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "InternetGateways[0]"
- },
- "actions": {
- "AttachToVpc": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromVpc": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "KeyPair": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "KeyName"
- }
- ],
- "shape": "KeyPairInfo",
- "load": {
- "request": {
- "operation": "DescribeKeyPairs",
- "params": [
- { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "KeyPairs[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteKeyPair",
- "params": [
- { "target": "KeyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- },
- "NetworkAcl": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkAclId"
- }
- ],
- "shape": "NetworkAcl",
- "load": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkAcls[0]"
- },
- "actions": {
- "CreateEntry": {
- "request": {
- "operation": "CreateNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkAcl",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DeleteEntry": {
- "request": {
- "operation": "DeleteNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceAssociation": {
- "request": {
- "operation": "ReplaceNetworkAclAssociation",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceEntry": {
- "request": {
- "operation": "ReplaceNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "NetworkInterface": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkInterfaceId"
- }
- ],
- "shape": "NetworkInterface",
- "load": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkInterfaces[0]"
- },
- "actions": {
- "AssignPrivateIpAddresses": {
- "request": {
- "operation": "AssignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Attach": {
- "request": {
- "operation": "AttachNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Detach": {
- "request": {
- "operation": "DetachNetworkInterface",
- "params": [
- { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "UnassignPrivateIpAddresses": {
- "request": {
- "operation": "UnassignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "PlacementGroup": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "GroupName"
- }
- ],
- "shape": "PlacementGroup",
- "load": {
- "request": {
- "operation": "DescribePlacementGroups",
- "params": [
- { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "PlacementGroups[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeletePlacementGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- }
- }
- },
- "RouteTable": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableId"
- }
- ],
- "shape": "RouteTable",
- "load": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "RouteTables[0]"
- },
- "actions": {
- "AssociateWithSubnet": {
- "request": {
- "operation": "AssociateRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "AssociationId" }
- ]
- }
- },
- "CreateRoute": {
- "request": {
- "operation": "CreateRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Associations": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
- ],
- "path": "RouteTables[0].Associations[]"
- }
- }
- }
- },
- "RouteTableAssociation": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableAssociationId"
- }
- ],
- "shape": "RouteTableAssociation",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DisassociateRouteTable",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceSubnet": {
- "request": {
- "operation": "ReplaceRouteTableAssociation",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NewAssociationId" }
- ]
- }
- }
- },
- "has": {
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RouteTableId" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- }
- }
- },
- "SecurityGroup": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "GroupId"
- }
- ],
- "shape": "SecurityGroup",
- "load": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "SecurityGroups[0]"
- },
- "actions": {
- "AuthorizeEgress": {
- "request": {
- "operation": "AuthorizeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AuthorizeIngress": {
- "request": {
- "operation": "AuthorizeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSecurityGroup",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeEgress": {
- "request": {
- "operation": "RevokeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeIngress": {
- "request": {
- "operation": "RevokeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Snapshot": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SnapshotId"
- }
- ],
- "shape": "Snapshot",
- "load": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Snapshots[0]"
- },
- "actions": {
- "Copy": {
- "request": {
- "operation": "CopySnapshot",
- "params": [
- { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSnapshot",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifySnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Completed": {
- "waiterName": "SnapshotCompleted",
- "params": [
- { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Snapshots[]"
- }
- },
- "has": {
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VolumeId" }
- ]
- }
- }
- }
- },
- "Subnet": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SubnetId"
- }
- ],
- "shape": "Subnet",
- "load": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Subnets[0]"
- },
- "actions": {
- "CreateInstances": {
- "request": {
- "operation": "RunInstances",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateNetworkInterface": {
- "request": {
- "operation": "CreateNetworkInterface",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSubnet",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- }
- }
- },
- "Tag": {
- "identifiers": [
- {
- "name": "ResourceId",
- "memberName": "ResourceId"
- },
- {
- "name": "Key",
- "memberName": "Key"
- },
- {
- "name": "Value",
- "memberName": "Value"
- }
- ],
- "shape": "TagDescription",
- "load": {
- "request": {
- "operation": "DescribeTags",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "key" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
- { "target": "Filters[1].Name", "source": "string", "value": "value" },
- { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
- ]
- },
- "path": "Tags[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- }
- },
- "Volume": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VolumeId"
- }
- ],
- "shape": "Volume",
- "load": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Volumes[0]"
- },
- "actions": {
- "AttachToInstance": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": {
- "operation": "CreateSnapshot",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeStatus": {
- "request": {
- "operation": "DescribeVolumeStatus",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromInstance": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableIo": {
- "request": {
- "operation": "EnableVolumeIO",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "hasMany": {
- "Snapshots": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- }
- }
- },
- "Vpc": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcId"
- }
- ],
- "shape": "Vpc",
- "load": {
- "request": {
- "operation": "DescribeVpcs",
- "params": [
- { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Vpcs[0]"
- },
- "actions": {
- "AssociateDhcpOptions": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachClassicLinkInstance": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachInternetGateway": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateNetworkAcl": {
- "request": {
- "operation": "CreateNetworkAcl",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateRouteTable": {
- "request": {
- "operation": "CreateRouteTable",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": {
- "operation": "CreateSecurityGroup",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSubnet": {
- "request": {
- "operation": "CreateSubnet",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkInstance": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachInternetGateway": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DisableClassicLink": {
- "request": {
- "operation": "DisableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableClassicLink": {
- "request": {
- "operation": "EnableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RequestVpcPeeringConnection": {
- "request": {
- "operation": "CreateVpcPeeringConnection",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
- ]
- }
- }
- },
- "hasMany": {
- "AcceptedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "NetworkAcls": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "RequestedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "RouteTables": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Subnets": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- }
- }
- },
- "VpcPeeringConnection": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcPeeringConnectionId"
- }
- ],
- "shape": "VpcPeeringConnection",
- "load": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "VpcPeeringConnections[0]"
- },
- "actions": {
- "Accept": {
- "request": {
- "operation": "AcceptVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reject": {
- "request": {
- "operation": "RejectVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "AccepterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
- ]
- }
- },
- "RequesterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/ec2/2015-03-01/resources-1.json b/contrib/python/boto3/boto3/data/ec2/2015-03-01/resources-1.json
index 8ccf160a7f..78d6e2abe1 100644
--- a/contrib/python/boto3/boto3/data/ec2/2015-03-01/resources-1.json
+++ b/contrib/python/boto3/boto3/data/ec2/2015-03-01/resources-1.json
@@ -1,2289 +1,2289 @@
-{
- "service": {
- "actions": {
- "CreateDhcpOptions": {
- "request": { "operation": "CreateDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
- ],
- "path": "DhcpOptions"
- }
- },
- "CreateInstances": {
- "request": { "operation": "RunInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateInternetGateway": {
- "request": { "operation": "CreateInternetGateway" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
- ],
- "path": "InternetGateway"
- }
- },
- "CreateKeyPair": {
- "request": { "operation": "CreateKeyPair" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ]
- }
- },
- "CreateNetworkAcl": {
- "request": { "operation": "CreateNetworkAcl" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateNetworkInterface": {
- "request": { "operation": "CreateNetworkInterface" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreatePlacementGroup": {
- "request": { "operation": "CreatePlacementGroup" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "GroupName" }
- ]
- }
- },
- "CreateRouteTable": {
- "request": { "operation": "CreateRouteTable" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": { "operation": "CreateSecurityGroup" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": { "operation": "CreateSnapshot" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateSubnet": {
- "request": { "operation": "CreateSubnet" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": { "operation": "CreateTags" },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "CreateVolume": {
- "request": { "operation": "CreateVolume" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VolumeId" }
- ],
- "path": "@"
- }
- },
- "CreateVpc": {
- "request": { "operation": "CreateVpc" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
- ],
- "path": "Vpc"
- }
- },
- "CreateVpcPeeringConnection": {
- "request": { "operation": "CreateVpcPeeringConnection" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- },
- "DisassociateRouteTable": {
- "request": { "operation": "DisassociateRouteTable" }
- },
- "ImportKeyPair": {
- "request": { "operation": "ImportKeyPair" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ]
- }
- },
- "RegisterImage": {
- "request": { "operation": "RegisterImage" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Instance": {
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "InternetGateway": {
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "NetworkAcl": {
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "NetworkInterface": {
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "RouteTableAssociation": {
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "SecurityGroup": {
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Snapshot": {
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "VpcPeeringConnection": {
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "DhcpOptionsSets": {
- "request": { "operation": "DescribeDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
- ],
- "path": "DhcpOptions[]"
- }
- },
- "Images": {
- "request": { "operation": "DescribeImages" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Images[].ImageId" }
- ],
- "path": "Images[]"
- }
- },
- "Instances": {
- "request": { "operation": "DescribeInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": { "operation": "DescribeInternetGateways" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "KeyPairs": {
- "request": { "operation": "DescribeKeyPairs" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
- ],
- "path": "KeyPairs[]"
- }
- },
- "NetworkAcls": {
- "request": { "operation": "DescribeNetworkAcls" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": { "operation": "DescribeNetworkInterfaces" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "PlacementGroups": {
- "request": { "operation": "DescribePlacementGroups" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
- ],
- "path": "PlacementGroups[]"
- }
- },
- "RouteTables": {
- "request": { "operation": "DescribeRouteTables" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": { "operation": "DescribeSecurityGroups" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Snapshots": {
- "request": { "operation": "DescribeSnapshots" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- },
- "Subnets": {
- "request": { "operation": "DescribeSubnets" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- },
- "Volumes": {
- "request": { "operation": "DescribeVolumes" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- },
- "VpcPeeringConnections": {
- "request": { "operation": "DescribeVpcPeeringConnections" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Vpcs": {
- "request": { "operation": "DescribeVpcs" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
- ],
- "path": "Vpcs[]"
- }
- }
- }
- },
- "resources": {
- "DhcpOptions": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "DhcpOptionsId"
- }
- ],
- "shape": "DhcpOptions",
- "load": {
- "request": {
- "operation": "DescribeDhcpOptions",
- "params": [
- { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "DhcpOptions[0]"
- },
- "actions": {
- "AssociateWithVpc": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Image": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "ImageId"
- }
- ],
- "shape": "Image",
- "load": {
- "request": {
- "operation": "DescribeImages",
- "params": [
- { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Images[0]"
- },
- "actions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Deregister": {
- "request": {
- "operation": "DeregisterImage",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Instance": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InstanceId"
- }
- ],
- "shape": "Instance",
- "load": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Reservations[0].Instances[0]"
- },
- "actions": {
- "AttachClassicLinkVpc": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachVolume": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ConsoleOutput": {
- "request": {
- "operation": "GetConsoleOutput",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateImage": {
- "request": {
- "operation": "CreateImage",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkVpc": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachVolume": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "PasswordData": {
- "request": {
- "operation": "GetPasswordData",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReportStatus": {
- "request": {
- "operation": "ReportInstanceStatus",
- "params": [
- { "target": "Instances[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetKernel": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "kernel" }
- ]
- }
- },
- "ResetRamdisk": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "ramdisk" }
- ]
- }
- },
- "ResetSourceDestCheck": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "batchActions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "InstanceExists",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Running": {
- "waiterName": "InstanceRunning",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Stopped": {
- "waiterName": "InstanceStopped",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Terminated": {
- "waiterName": "InstanceTerminated",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- }
- },
- "has": {
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "ImageId" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "KeyName" }
- ]
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "Placement.GroupName" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Volumes": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- }
- }
- },
- "InternetGateway": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InternetGatewayId"
- }
- ],
- "shape": "InternetGateway",
- "load": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "InternetGateways[0]"
- },
- "actions": {
- "AttachToVpc": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromVpc": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "KeyPair": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "KeyName"
- }
- ],
- "shape": "KeyPairInfo",
- "load": {
- "request": {
- "operation": "DescribeKeyPairs",
- "params": [
- { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "KeyPairs[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteKeyPair",
- "params": [
- { "target": "KeyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- },
- "NetworkAcl": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkAclId"
- }
- ],
- "shape": "NetworkAcl",
- "load": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkAcls[0]"
- },
- "actions": {
- "CreateEntry": {
- "request": {
- "operation": "CreateNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkAcl",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DeleteEntry": {
- "request": {
- "operation": "DeleteNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceAssociation": {
- "request": {
- "operation": "ReplaceNetworkAclAssociation",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceEntry": {
- "request": {
- "operation": "ReplaceNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "NetworkInterface": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkInterfaceId"
- }
- ],
- "shape": "NetworkInterface",
- "load": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkInterfaces[0]"
- },
- "actions": {
- "AssignPrivateIpAddresses": {
- "request": {
- "operation": "AssignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Attach": {
- "request": {
- "operation": "AttachNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Detach": {
- "request": {
- "operation": "DetachNetworkInterface",
- "params": [
- { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "UnassignPrivateIpAddresses": {
- "request": {
- "operation": "UnassignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "PlacementGroup": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "GroupName"
- }
- ],
- "shape": "PlacementGroup",
- "load": {
- "request": {
- "operation": "DescribePlacementGroups",
- "params": [
- { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "PlacementGroups[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeletePlacementGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- }
- }
- },
- "RouteTable": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableId"
- }
- ],
- "shape": "RouteTable",
- "load": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "RouteTables[0]"
- },
- "actions": {
- "AssociateWithSubnet": {
- "request": {
- "operation": "AssociateRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "AssociationId" }
- ]
- }
- },
- "CreateRoute": {
- "request": {
- "operation": "CreateRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Associations": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
- ],
- "path": "RouteTables[0].Associations[]"
- }
- }
- }
- },
- "RouteTableAssociation": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableAssociationId"
- }
- ],
- "shape": "RouteTableAssociation",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DisassociateRouteTable",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceSubnet": {
- "request": {
- "operation": "ReplaceRouteTableAssociation",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NewAssociationId" }
- ]
- }
- }
- },
- "has": {
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RouteTableId" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- }
- }
- },
- "SecurityGroup": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "GroupId"
- }
- ],
- "shape": "SecurityGroup",
- "load": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "SecurityGroups[0]"
- },
- "actions": {
- "AuthorizeEgress": {
- "request": {
- "operation": "AuthorizeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AuthorizeIngress": {
- "request": {
- "operation": "AuthorizeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSecurityGroup",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeEgress": {
- "request": {
- "operation": "RevokeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeIngress": {
- "request": {
- "operation": "RevokeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Snapshot": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SnapshotId"
- }
- ],
- "shape": "Snapshot",
- "load": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Snapshots[0]"
- },
- "actions": {
- "Copy": {
- "request": {
- "operation": "CopySnapshot",
- "params": [
- { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSnapshot",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifySnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Completed": {
- "waiterName": "SnapshotCompleted",
- "params": [
- { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Snapshots[]"
- }
- },
- "has": {
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VolumeId" }
- ]
- }
- }
- }
- },
- "Subnet": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SubnetId"
- }
- ],
- "shape": "Subnet",
- "load": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Subnets[0]"
- },
- "actions": {
- "CreateInstances": {
- "request": {
- "operation": "RunInstances",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateNetworkInterface": {
- "request": {
- "operation": "CreateNetworkInterface",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSubnet",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- }
- }
- },
- "Tag": {
- "identifiers": [
- {
- "name": "ResourceId",
- "memberName": "ResourceId"
- },
- {
- "name": "Key",
- "memberName": "Key"
- },
- {
- "name": "Value",
- "memberName": "Value"
- }
- ],
- "shape": "TagDescription",
- "load": {
- "request": {
- "operation": "DescribeTags",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "key" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
- { "target": "Filters[1].Name", "source": "string", "value": "value" },
- { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
- ]
- },
- "path": "Tags[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- }
- },
- "Volume": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VolumeId"
- }
- ],
- "shape": "Volume",
- "load": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Volumes[0]"
- },
- "actions": {
- "AttachToInstance": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": {
- "operation": "CreateSnapshot",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeStatus": {
- "request": {
- "operation": "DescribeVolumeStatus",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromInstance": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableIo": {
- "request": {
- "operation": "EnableVolumeIO",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "hasMany": {
- "Snapshots": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- }
- }
- },
- "Vpc": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcId"
- }
- ],
- "shape": "Vpc",
- "load": {
- "request": {
- "operation": "DescribeVpcs",
- "params": [
- { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Vpcs[0]"
- },
- "actions": {
- "AssociateDhcpOptions": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachClassicLinkInstance": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachInternetGateway": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateNetworkAcl": {
- "request": {
- "operation": "CreateNetworkAcl",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateRouteTable": {
- "request": {
- "operation": "CreateRouteTable",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": {
- "operation": "CreateSecurityGroup",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSubnet": {
- "request": {
- "operation": "CreateSubnet",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkInstance": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachInternetGateway": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DisableClassicLink": {
- "request": {
- "operation": "DisableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableClassicLink": {
- "request": {
- "operation": "EnableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RequestVpcPeeringConnection": {
- "request": {
- "operation": "CreateVpcPeeringConnection",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
- ]
- }
- }
- },
- "hasMany": {
- "AcceptedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "NetworkAcls": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "RequestedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "RouteTables": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Subnets": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- }
- }
- },
- "VpcPeeringConnection": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcPeeringConnectionId"
- }
- ],
- "shape": "VpcPeeringConnection",
- "load": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "VpcPeeringConnections[0]"
- },
- "actions": {
- "Accept": {
- "request": {
- "operation": "AcceptVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reject": {
- "request": {
- "operation": "RejectVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "AccepterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
- ]
- }
- },
- "RequesterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/ec2/2015-04-15/resources-1.json b/contrib/python/boto3/boto3/data/ec2/2015-04-15/resources-1.json
index 8ccf160a7f..78d6e2abe1 100644
--- a/contrib/python/boto3/boto3/data/ec2/2015-04-15/resources-1.json
+++ b/contrib/python/boto3/boto3/data/ec2/2015-04-15/resources-1.json
@@ -1,2289 +1,2289 @@
-{
- "service": {
- "actions": {
- "CreateDhcpOptions": {
- "request": { "operation": "CreateDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
- ],
- "path": "DhcpOptions"
- }
- },
- "CreateInstances": {
- "request": { "operation": "RunInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateInternetGateway": {
- "request": { "operation": "CreateInternetGateway" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
- ],
- "path": "InternetGateway"
- }
- },
- "CreateKeyPair": {
- "request": { "operation": "CreateKeyPair" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ]
- }
- },
- "CreateNetworkAcl": {
- "request": { "operation": "CreateNetworkAcl" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateNetworkInterface": {
- "request": { "operation": "CreateNetworkInterface" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreatePlacementGroup": {
- "request": { "operation": "CreatePlacementGroup" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "GroupName" }
- ]
- }
- },
- "CreateRouteTable": {
- "request": { "operation": "CreateRouteTable" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": { "operation": "CreateSecurityGroup" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": { "operation": "CreateSnapshot" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateSubnet": {
- "request": { "operation": "CreateSubnet" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": { "operation": "CreateTags" },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "CreateVolume": {
- "request": { "operation": "CreateVolume" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VolumeId" }
- ],
- "path": "@"
- }
- },
- "CreateVpc": {
- "request": { "operation": "CreateVpc" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
- ],
- "path": "Vpc"
- }
- },
- "CreateVpcPeeringConnection": {
- "request": { "operation": "CreateVpcPeeringConnection" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- },
- "DisassociateRouteTable": {
- "request": { "operation": "DisassociateRouteTable" }
- },
- "ImportKeyPair": {
- "request": { "operation": "ImportKeyPair" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ]
- }
- },
- "RegisterImage": {
- "request": { "operation": "RegisterImage" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Instance": {
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "InternetGateway": {
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "NetworkAcl": {
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "NetworkInterface": {
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "RouteTableAssociation": {
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "SecurityGroup": {
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Snapshot": {
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "VpcPeeringConnection": {
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "DhcpOptionsSets": {
- "request": { "operation": "DescribeDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
- ],
- "path": "DhcpOptions[]"
- }
- },
- "Images": {
- "request": { "operation": "DescribeImages" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Images[].ImageId" }
- ],
- "path": "Images[]"
- }
- },
- "Instances": {
- "request": { "operation": "DescribeInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": { "operation": "DescribeInternetGateways" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "KeyPairs": {
- "request": { "operation": "DescribeKeyPairs" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
- ],
- "path": "KeyPairs[]"
- }
- },
- "NetworkAcls": {
- "request": { "operation": "DescribeNetworkAcls" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": { "operation": "DescribeNetworkInterfaces" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "PlacementGroups": {
- "request": { "operation": "DescribePlacementGroups" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
- ],
- "path": "PlacementGroups[]"
- }
- },
- "RouteTables": {
- "request": { "operation": "DescribeRouteTables" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": { "operation": "DescribeSecurityGroups" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Snapshots": {
- "request": { "operation": "DescribeSnapshots" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- },
- "Subnets": {
- "request": { "operation": "DescribeSubnets" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- },
- "Volumes": {
- "request": { "operation": "DescribeVolumes" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- },
- "VpcPeeringConnections": {
- "request": { "operation": "DescribeVpcPeeringConnections" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Vpcs": {
- "request": { "operation": "DescribeVpcs" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
- ],
- "path": "Vpcs[]"
- }
- }
- }
- },
- "resources": {
- "DhcpOptions": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "DhcpOptionsId"
- }
- ],
- "shape": "DhcpOptions",
- "load": {
- "request": {
- "operation": "DescribeDhcpOptions",
- "params": [
- { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "DhcpOptions[0]"
- },
- "actions": {
- "AssociateWithVpc": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Image": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "ImageId"
- }
- ],
- "shape": "Image",
- "load": {
- "request": {
- "operation": "DescribeImages",
- "params": [
- { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Images[0]"
- },
- "actions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Deregister": {
- "request": {
- "operation": "DeregisterImage",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Instance": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InstanceId"
- }
- ],
- "shape": "Instance",
- "load": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Reservations[0].Instances[0]"
- },
- "actions": {
- "AttachClassicLinkVpc": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachVolume": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ConsoleOutput": {
- "request": {
- "operation": "GetConsoleOutput",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateImage": {
- "request": {
- "operation": "CreateImage",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkVpc": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachVolume": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "PasswordData": {
- "request": {
- "operation": "GetPasswordData",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReportStatus": {
- "request": {
- "operation": "ReportInstanceStatus",
- "params": [
- { "target": "Instances[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetKernel": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "kernel" }
- ]
- }
- },
- "ResetRamdisk": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "ramdisk" }
- ]
- }
- },
- "ResetSourceDestCheck": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "batchActions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "InstanceExists",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Running": {
- "waiterName": "InstanceRunning",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Stopped": {
- "waiterName": "InstanceStopped",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Terminated": {
- "waiterName": "InstanceTerminated",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- }
- },
- "has": {
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "ImageId" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "KeyName" }
- ]
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "Placement.GroupName" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Volumes": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- }
- }
- },
- "InternetGateway": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InternetGatewayId"
- }
- ],
- "shape": "InternetGateway",
- "load": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "InternetGateways[0]"
- },
- "actions": {
- "AttachToVpc": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromVpc": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "KeyPair": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "KeyName"
- }
- ],
- "shape": "KeyPairInfo",
- "load": {
- "request": {
- "operation": "DescribeKeyPairs",
- "params": [
- { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "KeyPairs[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteKeyPair",
- "params": [
- { "target": "KeyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- },
- "NetworkAcl": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkAclId"
- }
- ],
- "shape": "NetworkAcl",
- "load": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkAcls[0]"
- },
- "actions": {
- "CreateEntry": {
- "request": {
- "operation": "CreateNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkAcl",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DeleteEntry": {
- "request": {
- "operation": "DeleteNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceAssociation": {
- "request": {
- "operation": "ReplaceNetworkAclAssociation",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceEntry": {
- "request": {
- "operation": "ReplaceNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "NetworkInterface": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkInterfaceId"
- }
- ],
- "shape": "NetworkInterface",
- "load": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkInterfaces[0]"
- },
- "actions": {
- "AssignPrivateIpAddresses": {
- "request": {
- "operation": "AssignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Attach": {
- "request": {
- "operation": "AttachNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Detach": {
- "request": {
- "operation": "DetachNetworkInterface",
- "params": [
- { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "UnassignPrivateIpAddresses": {
- "request": {
- "operation": "UnassignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "PlacementGroup": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "GroupName"
- }
- ],
- "shape": "PlacementGroup",
- "load": {
- "request": {
- "operation": "DescribePlacementGroups",
- "params": [
- { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "PlacementGroups[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeletePlacementGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- }
- }
- },
- "RouteTable": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableId"
- }
- ],
- "shape": "RouteTable",
- "load": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "RouteTables[0]"
- },
- "actions": {
- "AssociateWithSubnet": {
- "request": {
- "operation": "AssociateRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "AssociationId" }
- ]
- }
- },
- "CreateRoute": {
- "request": {
- "operation": "CreateRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Associations": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
- ],
- "path": "RouteTables[0].Associations[]"
- }
- }
- }
- },
- "RouteTableAssociation": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableAssociationId"
- }
- ],
- "shape": "RouteTableAssociation",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DisassociateRouteTable",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceSubnet": {
- "request": {
- "operation": "ReplaceRouteTableAssociation",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NewAssociationId" }
- ]
- }
- }
- },
- "has": {
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RouteTableId" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- }
- }
- },
- "SecurityGroup": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "GroupId"
- }
- ],
- "shape": "SecurityGroup",
- "load": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "SecurityGroups[0]"
- },
- "actions": {
- "AuthorizeEgress": {
- "request": {
- "operation": "AuthorizeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AuthorizeIngress": {
- "request": {
- "operation": "AuthorizeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSecurityGroup",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeEgress": {
- "request": {
- "operation": "RevokeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeIngress": {
- "request": {
- "operation": "RevokeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Snapshot": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SnapshotId"
- }
- ],
- "shape": "Snapshot",
- "load": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Snapshots[0]"
- },
- "actions": {
- "Copy": {
- "request": {
- "operation": "CopySnapshot",
- "params": [
- { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSnapshot",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifySnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Completed": {
- "waiterName": "SnapshotCompleted",
- "params": [
- { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Snapshots[]"
- }
- },
- "has": {
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VolumeId" }
- ]
- }
- }
- }
- },
- "Subnet": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SubnetId"
- }
- ],
- "shape": "Subnet",
- "load": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Subnets[0]"
- },
- "actions": {
- "CreateInstances": {
- "request": {
- "operation": "RunInstances",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateNetworkInterface": {
- "request": {
- "operation": "CreateNetworkInterface",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSubnet",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- }
- }
- },
- "Tag": {
- "identifiers": [
- {
- "name": "ResourceId",
- "memberName": "ResourceId"
- },
- {
- "name": "Key",
- "memberName": "Key"
- },
- {
- "name": "Value",
- "memberName": "Value"
- }
- ],
- "shape": "TagDescription",
- "load": {
- "request": {
- "operation": "DescribeTags",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "key" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
- { "target": "Filters[1].Name", "source": "string", "value": "value" },
- { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
- ]
- },
- "path": "Tags[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- }
- },
- "Volume": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VolumeId"
- }
- ],
- "shape": "Volume",
- "load": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Volumes[0]"
- },
- "actions": {
- "AttachToInstance": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": {
- "operation": "CreateSnapshot",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeStatus": {
- "request": {
- "operation": "DescribeVolumeStatus",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromInstance": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableIo": {
- "request": {
- "operation": "EnableVolumeIO",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "hasMany": {
- "Snapshots": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- }
- }
- },
- "Vpc": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcId"
- }
- ],
- "shape": "Vpc",
- "load": {
- "request": {
- "operation": "DescribeVpcs",
- "params": [
- { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Vpcs[0]"
- },
- "actions": {
- "AssociateDhcpOptions": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachClassicLinkInstance": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachInternetGateway": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateNetworkAcl": {
- "request": {
- "operation": "CreateNetworkAcl",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateRouteTable": {
- "request": {
- "operation": "CreateRouteTable",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": {
- "operation": "CreateSecurityGroup",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSubnet": {
- "request": {
- "operation": "CreateSubnet",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkInstance": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachInternetGateway": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DisableClassicLink": {
- "request": {
- "operation": "DisableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableClassicLink": {
- "request": {
- "operation": "EnableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RequestVpcPeeringConnection": {
- "request": {
- "operation": "CreateVpcPeeringConnection",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
- ]
- }
- }
- },
- "hasMany": {
- "AcceptedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "NetworkAcls": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "RequestedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "RouteTables": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Subnets": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- }
- }
- },
- "VpcPeeringConnection": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcPeeringConnectionId"
- }
- ],
- "shape": "VpcPeeringConnection",
- "load": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "VpcPeeringConnections[0]"
- },
- "actions": {
- "Accept": {
- "request": {
- "operation": "AcceptVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reject": {
- "request": {
- "operation": "RejectVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "AccepterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
- ]
- }
- },
- "RequesterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/ec2/2015-10-01/resources-1.json b/contrib/python/boto3/boto3/data/ec2/2015-10-01/resources-1.json
index 4831a36b41..c94ddf0793 100644
--- a/contrib/python/boto3/boto3/data/ec2/2015-10-01/resources-1.json
+++ b/contrib/python/boto3/boto3/data/ec2/2015-10-01/resources-1.json
@@ -1,2567 +1,2567 @@
-{
- "service": {
- "actions": {
- "CreateDhcpOptions": {
- "request": { "operation": "CreateDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
- ],
- "path": "DhcpOptions"
- }
- },
- "CreateInstances": {
- "request": { "operation": "RunInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateInternetGateway": {
- "request": { "operation": "CreateInternetGateway" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
- ],
- "path": "InternetGateway"
- }
- },
- "CreateKeyPair": {
- "request": { "operation": "CreateKeyPair" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ],
- "path": "@"
- }
- },
- "CreateNetworkAcl": {
- "request": { "operation": "CreateNetworkAcl" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateNetworkInterface": {
- "request": { "operation": "CreateNetworkInterface" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreatePlacementGroup": {
- "request": { "operation": "CreatePlacementGroup" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "GroupName" }
- ]
- }
- },
- "CreateRouteTable": {
- "request": { "operation": "CreateRouteTable" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": { "operation": "CreateSecurityGroup" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": { "operation": "CreateSnapshot" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateSubnet": {
- "request": { "operation": "CreateSubnet" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": { "operation": "CreateTags" }
- },
- "CreateVolume": {
- "request": { "operation": "CreateVolume" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VolumeId" }
- ],
- "path": "@"
- }
- },
- "CreateVpc": {
- "request": { "operation": "CreateVpc" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
- ],
- "path": "Vpc"
- }
- },
- "CreateVpcPeeringConnection": {
- "request": { "operation": "CreateVpcPeeringConnection" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- },
- "DisassociateRouteTable": {
- "request": { "operation": "DisassociateRouteTable" }
- },
- "ImportKeyPair": {
- "request": { "operation": "ImportKeyPair" },
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ]
- }
- },
- "RegisterImage": {
- "request": { "operation": "RegisterImage" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Instance": {
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "InternetGateway": {
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "NetworkAcl": {
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "NetworkInterface": {
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "RouteTableAssociation": {
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "SecurityGroup": {
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Snapshot": {
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "VpcPeeringConnection": {
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "ClassicAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "domain" },
- { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
- ]
- },
- "resource": {
- "type": "ClassicAddress",
- "identifiers": [
- { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
- ],
- "path": "Addresses[]"
- }
- },
- "DhcpOptionsSets": {
- "request": { "operation": "DescribeDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
- ],
- "path": "DhcpOptions[]"
- }
- },
- "Images": {
- "request": { "operation": "DescribeImages" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Images[].ImageId" }
- ],
- "path": "Images[]"
- }
- },
- "Instances": {
- "request": { "operation": "DescribeInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": { "operation": "DescribeInternetGateways" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "KeyPairs": {
- "request": { "operation": "DescribeKeyPairs" },
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
- ],
- "path": "KeyPairs[]"
- }
- },
- "NetworkAcls": {
- "request": { "operation": "DescribeNetworkAcls" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": { "operation": "DescribeNetworkInterfaces" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "PlacementGroups": {
- "request": { "operation": "DescribePlacementGroups" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
- ],
- "path": "PlacementGroups[]"
- }
- },
- "RouteTables": {
- "request": { "operation": "DescribeRouteTables" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": { "operation": "DescribeSecurityGroups" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Snapshots": {
- "request": { "operation": "DescribeSnapshots" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- },
- "Subnets": {
- "request": { "operation": "DescribeSubnets" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- },
- "Volumes": {
- "request": { "operation": "DescribeVolumes" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- },
- "VpcAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "domain" },
- { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
- ]
- },
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
- ],
- "path": "Addresses[]"
- }
- },
- "VpcPeeringConnections": {
- "request": { "operation": "DescribeVpcPeeringConnections" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Vpcs": {
- "request": { "operation": "DescribeVpcs" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
- ],
- "path": "Vpcs[]"
- }
- }
- }
- },
- "resources": {
- "ClassicAddress": {
- "identifiers": [
- {
- "name": "PublicIp"
- }
- ],
- "shape": "Address",
- "load": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
- ]
- },
- "path": "Addresses[0]"
- },
- "actions": {
- "Associate": {
- "request": {
- "operation": "AssociateAddress",
- "params": [
- { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
- ]
- }
- },
- "Disassociate": {
- "request": {
- "operation": "DisassociateAddress",
- "params": [
- { "target": "PublicIp", "source": "data", "path": "PublicIp" }
- ]
- }
- },
- "Release": {
- "request": {
- "operation": "ReleaseAddress",
- "params": [
- { "target": "PublicIp", "source": "data", "path": "PublicIp" }
- ]
- }
- }
- }
- },
- "DhcpOptions": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "DhcpOptionsId"
- }
- ],
- "shape": "DhcpOptions",
- "load": {
- "request": {
- "operation": "DescribeDhcpOptions",
- "params": [
- { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "DhcpOptions[0]"
- },
- "actions": {
- "AssociateWithVpc": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Image": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "ImageId"
- }
- ],
- "shape": "Image",
- "load": {
- "request": {
- "operation": "DescribeImages",
- "params": [
- { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Images[0]"
- },
- "actions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Deregister": {
- "request": {
- "operation": "DeregisterImage",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Instance": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InstanceId"
- }
- ],
- "shape": "Instance",
- "load": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Reservations[0].Instances[0]"
- },
- "actions": {
- "AttachClassicLinkVpc": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachVolume": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ConsoleOutput": {
- "request": {
- "operation": "GetConsoleOutput",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateImage": {
- "request": {
- "operation": "CreateImage",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkVpc": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachVolume": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "PasswordData": {
- "request": {
- "operation": "GetPasswordData",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReportStatus": {
- "request": {
- "operation": "ReportInstanceStatus",
- "params": [
- { "target": "Instances[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetKernel": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "kernel" }
- ]
- }
- },
- "ResetRamdisk": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "ramdisk" }
- ]
- }
- },
- "ResetSourceDestCheck": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "batchActions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "InstanceExists",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Running": {
- "waiterName": "InstanceRunning",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Stopped": {
- "waiterName": "InstanceStopped",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Terminated": {
- "waiterName": "InstanceTerminated",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- }
- },
- "has": {
- "ClassicAddress": {
- "resource": {
- "type": "ClassicAddress",
- "identifiers": [
- { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
- ]
- }
- },
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "ImageId" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "KeyName" }
- ]
- }
- },
- "NetworkInterfaces": {
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "Placement.GroupName" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Volumes": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- },
- "VpcAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
- ],
- "path": "Addresses[]"
- }
- }
- }
- },
- "InternetGateway": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InternetGatewayId"
- }
- ],
- "shape": "InternetGateway",
- "load": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "InternetGateways[0]"
- },
- "actions": {
- "AttachToVpc": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromVpc": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "KeyPair": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "KeyName"
- }
- ],
- "shape": "KeyPair",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteKeyPair",
- "params": [
- { "target": "KeyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- },
- "KeyPairInfo": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "KeyName"
- }
- ],
- "shape": "KeyPairInfo",
- "load": {
- "request": {
- "operation": "DescribeKeyPairs",
- "params": [
- { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "KeyPairs[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteKeyPair",
- "params": [
- { "target": "KeyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- },
- "NetworkAcl": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkAclId"
- }
- ],
- "shape": "NetworkAcl",
- "load": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkAcls[0]"
- },
- "actions": {
- "CreateEntry": {
- "request": {
- "operation": "CreateNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkAcl",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DeleteEntry": {
- "request": {
- "operation": "DeleteNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceAssociation": {
- "request": {
- "operation": "ReplaceNetworkAclAssociation",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceEntry": {
- "request": {
- "operation": "ReplaceNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "NetworkInterface": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkInterfaceId"
- }
- ],
- "shape": "NetworkInterface",
- "load": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkInterfaces[0]"
- },
- "actions": {
- "AssignPrivateIpAddresses": {
- "request": {
- "operation": "AssignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Attach": {
- "request": {
- "operation": "AttachNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Detach": {
- "request": {
- "operation": "DetachNetworkInterface",
- "params": [
- { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "UnassignPrivateIpAddresses": {
- "request": {
- "operation": "UnassignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Association": {
- "resource": {
- "type": "NetworkInterfaceAssociation",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "Association.AssociationId" }
- ],
- "path": "Association"
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "NetworkInterfaceAssociation": {
- "identifiers": [
- {
- "name": "Id"
- }
- ],
- "shape": "InstanceNetworkInterfaceAssociation",
- "load": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkInterfaces[0].Association"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DisassociateAddress",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Address": {
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "data", "path": "AllocationId" }
- ]
- }
- }
- }
- },
- "PlacementGroup": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "GroupName"
- }
- ],
- "shape": "PlacementGroup",
- "load": {
- "request": {
- "operation": "DescribePlacementGroups",
- "params": [
- { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "PlacementGroups[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeletePlacementGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- }
- }
- },
- "Route": {
- "identifiers": [
- { "name": "RouteTableId" },
- {
- "name": "DestinationCidrBlock",
- "memberName": "DestinationCidrBlock"
- }
- ],
- "shape": "Route",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
- { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
- ]
- }
- },
- "Replace": {
- "request": {
- "operation": "ReplaceRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
- { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
- ]
- }
- }
- },
- "has": {
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "identifier", "name": "RouteTableId" }
- ]
- }
- }
- }
- },
- "RouteTable": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableId"
- }
- ],
- "shape": "RouteTable",
- "load": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "RouteTables[0]"
- },
- "actions": {
- "AssociateWithSubnet": {
- "request": {
- "operation": "AssociateRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "AssociationId" }
- ]
- }
- },
- "CreateRoute": {
- "request": {
- "operation": "CreateRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Route",
- "identifiers": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" },
- { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Routes": {
- "resource": {
- "type": "Route",
- "identifiers": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" },
- { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
- ],
- "path": "Routes[]"
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Associations": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
- ],
- "path": "RouteTables[0].Associations[]"
- }
- }
- }
- },
- "RouteTableAssociation": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableAssociationId"
- }
- ],
- "shape": "RouteTableAssociation",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DisassociateRouteTable",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceSubnet": {
- "request": {
- "operation": "ReplaceRouteTableAssociation",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NewAssociationId" }
- ]
- }
- }
- },
- "has": {
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RouteTableId" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- }
- }
- },
- "SecurityGroup": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "GroupId"
- }
- ],
- "shape": "SecurityGroup",
- "load": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "SecurityGroups[0]"
- },
- "actions": {
- "AuthorizeEgress": {
- "request": {
- "operation": "AuthorizeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AuthorizeIngress": {
- "request": {
- "operation": "AuthorizeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSecurityGroup",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeEgress": {
- "request": {
- "operation": "RevokeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeIngress": {
- "request": {
- "operation": "RevokeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Snapshot": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SnapshotId"
- }
- ],
- "shape": "Snapshot",
- "load": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Snapshots[0]"
- },
- "actions": {
- "Copy": {
- "request": {
- "operation": "CopySnapshot",
- "params": [
- { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSnapshot",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifySnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Completed": {
- "waiterName": "SnapshotCompleted",
- "params": [
- { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Snapshots[]"
- }
- },
- "has": {
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VolumeId" }
- ]
- }
- }
- }
- },
- "Subnet": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SubnetId"
- }
- ],
- "shape": "Subnet",
- "load": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Subnets[0]"
- },
- "actions": {
- "CreateInstances": {
- "request": {
- "operation": "RunInstances",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateNetworkInterface": {
- "request": {
- "operation": "CreateNetworkInterface",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSubnet",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- }
- }
- },
- "Tag": {
- "identifiers": [
- {
- "name": "ResourceId",
- "memberName": "ResourceId"
- },
- {
- "name": "Key",
- "memberName": "Key"
- },
- {
- "name": "Value",
- "memberName": "Value"
- }
- ],
- "shape": "TagDescription",
- "load": {
- "request": {
- "operation": "DescribeTags",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "key" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
- { "target": "Filters[1].Name", "source": "string", "value": "value" },
- { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
- ]
- },
- "path": "Tags[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- }
- },
- "Volume": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VolumeId"
- }
- ],
- "shape": "Volume",
- "load": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Volumes[0]"
- },
- "actions": {
- "AttachToInstance": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": {
- "operation": "CreateSnapshot",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeStatus": {
- "request": {
- "operation": "DescribeVolumeStatus",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromInstance": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableIo": {
- "request": {
- "operation": "EnableVolumeIO",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "hasMany": {
- "Snapshots": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- }
- }
- },
- "Vpc": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcId"
- }
- ],
- "shape": "Vpc",
- "load": {
- "request": {
- "operation": "DescribeVpcs",
- "params": [
- { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Vpcs[0]"
- },
- "actions": {
- "AssociateDhcpOptions": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachClassicLinkInstance": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachInternetGateway": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateNetworkAcl": {
- "request": {
- "operation": "CreateNetworkAcl",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateRouteTable": {
- "request": {
- "operation": "CreateRouteTable",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": {
- "operation": "CreateSecurityGroup",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSubnet": {
- "request": {
- "operation": "CreateSubnet",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkInstance": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachInternetGateway": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DisableClassicLink": {
- "request": {
- "operation": "DisableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableClassicLink": {
- "request": {
- "operation": "EnableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RequestVpcPeeringConnection": {
- "request": {
- "operation": "CreateVpcPeeringConnection",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
- ]
- }
- }
- },
- "hasMany": {
- "AcceptedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "NetworkAcls": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "RequestedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "RouteTables": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Subnets": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- }
- }
- },
- "VpcPeeringConnection": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcPeeringConnectionId"
- }
- ],
- "shape": "VpcPeeringConnection",
- "load": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "VpcPeeringConnections[0]"
- },
- "actions": {
- "Accept": {
- "request": {
- "operation": "AcceptVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reject": {
- "request": {
- "operation": "RejectVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "VpcPeeringConnectionExists",
- "params": [
- { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "VpcPeeringConnections[0]"
- }
- },
- "has": {
- "AccepterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
- ]
- }
- },
- "RequesterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
- ]
- }
- }
- }
- },
- "VpcAddress": {
- "identifiers": [
- {
- "name": "AllocationId"
- }
- ],
- "shape": "Address",
- "load": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
- ]
- },
- "path": "Addresses[0]"
- },
- "actions": {
- "Associate": {
- "request": {
- "operation": "AssociateAddress",
- "params": [
- { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
- ]
- }
- },
- "Release": {
- "request": {
- "operation": "ReleaseAddress",
- "params": [
- { "target": "AllocationId", "source": "data", "path": "AllocationId" }
- ]
- }
- }
- },
- "has": {
- "Association": {
- "resource": {
- "type": "NetworkInterfaceAssociation",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "AssociationId" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "ClassicAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
+ ]
+ },
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "ClassicAddress": {
+ "identifiers": [
+ {
+ "name": "PublicIp"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
+ ]
+ }
+ },
+ "Disassociate": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ }
+ }
+ },
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "ClassicAddress": {
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "NetworkInterfaces": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPair",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPairInfo": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
+ ],
+ "path": "Association"
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterfaceAssociation": {
+ "identifiers": [
+ {
+ "name": "Id"
+ }
+ ],
+ "shape": "InstanceNetworkInterfaceAssociation",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0].Association"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Address": {
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "Route": {
+ "identifiers": [
+ { "name": "RouteTableId" },
+ {
+ "name": "DestinationCidrBlock",
+ "memberName": "DestinationCidrBlock"
+ }
+ ],
+ "shape": "Route",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "Replace": {
+ "request": {
+ "operation": "ReplaceRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
+ ]
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Routes": {
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
+ ],
+ "path": "Routes[]"
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "VpcPeeringConnectionExists",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "VpcPeeringConnections[0]"
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "VpcAddress": {
+ "identifiers": [
+ {
+ "name": "AllocationId"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AssociationId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/ec2/2016-04-01/resources-1.json b/contrib/python/boto3/boto3/data/ec2/2016-04-01/resources-1.json
index 4831a36b41..c94ddf0793 100644
--- a/contrib/python/boto3/boto3/data/ec2/2016-04-01/resources-1.json
+++ b/contrib/python/boto3/boto3/data/ec2/2016-04-01/resources-1.json
@@ -1,2567 +1,2567 @@
-{
- "service": {
- "actions": {
- "CreateDhcpOptions": {
- "request": { "operation": "CreateDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
- ],
- "path": "DhcpOptions"
- }
- },
- "CreateInstances": {
- "request": { "operation": "RunInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateInternetGateway": {
- "request": { "operation": "CreateInternetGateway" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
- ],
- "path": "InternetGateway"
- }
- },
- "CreateKeyPair": {
- "request": { "operation": "CreateKeyPair" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ],
- "path": "@"
- }
- },
- "CreateNetworkAcl": {
- "request": { "operation": "CreateNetworkAcl" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateNetworkInterface": {
- "request": { "operation": "CreateNetworkInterface" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreatePlacementGroup": {
- "request": { "operation": "CreatePlacementGroup" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "GroupName" }
- ]
- }
- },
- "CreateRouteTable": {
- "request": { "operation": "CreateRouteTable" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": { "operation": "CreateSecurityGroup" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": { "operation": "CreateSnapshot" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateSubnet": {
- "request": { "operation": "CreateSubnet" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": { "operation": "CreateTags" }
- },
- "CreateVolume": {
- "request": { "operation": "CreateVolume" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VolumeId" }
- ],
- "path": "@"
- }
- },
- "CreateVpc": {
- "request": { "operation": "CreateVpc" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
- ],
- "path": "Vpc"
- }
- },
- "CreateVpcPeeringConnection": {
- "request": { "operation": "CreateVpcPeeringConnection" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- },
- "DisassociateRouteTable": {
- "request": { "operation": "DisassociateRouteTable" }
- },
- "ImportKeyPair": {
- "request": { "operation": "ImportKeyPair" },
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ]
- }
- },
- "RegisterImage": {
- "request": { "operation": "RegisterImage" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Instance": {
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "InternetGateway": {
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "NetworkAcl": {
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "NetworkInterface": {
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "RouteTableAssociation": {
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "SecurityGroup": {
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Snapshot": {
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "VpcPeeringConnection": {
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "ClassicAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "domain" },
- { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
- ]
- },
- "resource": {
- "type": "ClassicAddress",
- "identifiers": [
- { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
- ],
- "path": "Addresses[]"
- }
- },
- "DhcpOptionsSets": {
- "request": { "operation": "DescribeDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
- ],
- "path": "DhcpOptions[]"
- }
- },
- "Images": {
- "request": { "operation": "DescribeImages" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Images[].ImageId" }
- ],
- "path": "Images[]"
- }
- },
- "Instances": {
- "request": { "operation": "DescribeInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": { "operation": "DescribeInternetGateways" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "KeyPairs": {
- "request": { "operation": "DescribeKeyPairs" },
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
- ],
- "path": "KeyPairs[]"
- }
- },
- "NetworkAcls": {
- "request": { "operation": "DescribeNetworkAcls" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": { "operation": "DescribeNetworkInterfaces" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "PlacementGroups": {
- "request": { "operation": "DescribePlacementGroups" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
- ],
- "path": "PlacementGroups[]"
- }
- },
- "RouteTables": {
- "request": { "operation": "DescribeRouteTables" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": { "operation": "DescribeSecurityGroups" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Snapshots": {
- "request": { "operation": "DescribeSnapshots" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- },
- "Subnets": {
- "request": { "operation": "DescribeSubnets" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- },
- "Volumes": {
- "request": { "operation": "DescribeVolumes" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- },
- "VpcAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "domain" },
- { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
- ]
- },
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
- ],
- "path": "Addresses[]"
- }
- },
- "VpcPeeringConnections": {
- "request": { "operation": "DescribeVpcPeeringConnections" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Vpcs": {
- "request": { "operation": "DescribeVpcs" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
- ],
- "path": "Vpcs[]"
- }
- }
- }
- },
- "resources": {
- "ClassicAddress": {
- "identifiers": [
- {
- "name": "PublicIp"
- }
- ],
- "shape": "Address",
- "load": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
- ]
- },
- "path": "Addresses[0]"
- },
- "actions": {
- "Associate": {
- "request": {
- "operation": "AssociateAddress",
- "params": [
- { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
- ]
- }
- },
- "Disassociate": {
- "request": {
- "operation": "DisassociateAddress",
- "params": [
- { "target": "PublicIp", "source": "data", "path": "PublicIp" }
- ]
- }
- },
- "Release": {
- "request": {
- "operation": "ReleaseAddress",
- "params": [
- { "target": "PublicIp", "source": "data", "path": "PublicIp" }
- ]
- }
- }
- }
- },
- "DhcpOptions": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "DhcpOptionsId"
- }
- ],
- "shape": "DhcpOptions",
- "load": {
- "request": {
- "operation": "DescribeDhcpOptions",
- "params": [
- { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "DhcpOptions[0]"
- },
- "actions": {
- "AssociateWithVpc": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Image": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "ImageId"
- }
- ],
- "shape": "Image",
- "load": {
- "request": {
- "operation": "DescribeImages",
- "params": [
- { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Images[0]"
- },
- "actions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Deregister": {
- "request": {
- "operation": "DeregisterImage",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Instance": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InstanceId"
- }
- ],
- "shape": "Instance",
- "load": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Reservations[0].Instances[0]"
- },
- "actions": {
- "AttachClassicLinkVpc": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachVolume": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ConsoleOutput": {
- "request": {
- "operation": "GetConsoleOutput",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateImage": {
- "request": {
- "operation": "CreateImage",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkVpc": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachVolume": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "PasswordData": {
- "request": {
- "operation": "GetPasswordData",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReportStatus": {
- "request": {
- "operation": "ReportInstanceStatus",
- "params": [
- { "target": "Instances[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetKernel": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "kernel" }
- ]
- }
- },
- "ResetRamdisk": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "ramdisk" }
- ]
- }
- },
- "ResetSourceDestCheck": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "batchActions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "InstanceExists",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Running": {
- "waiterName": "InstanceRunning",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Stopped": {
- "waiterName": "InstanceStopped",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Terminated": {
- "waiterName": "InstanceTerminated",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- }
- },
- "has": {
- "ClassicAddress": {
- "resource": {
- "type": "ClassicAddress",
- "identifiers": [
- { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
- ]
- }
- },
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "ImageId" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "KeyName" }
- ]
- }
- },
- "NetworkInterfaces": {
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "Placement.GroupName" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Volumes": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- },
- "VpcAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
- ],
- "path": "Addresses[]"
- }
- }
- }
- },
- "InternetGateway": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InternetGatewayId"
- }
- ],
- "shape": "InternetGateway",
- "load": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "InternetGateways[0]"
- },
- "actions": {
- "AttachToVpc": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromVpc": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "KeyPair": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "KeyName"
- }
- ],
- "shape": "KeyPair",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteKeyPair",
- "params": [
- { "target": "KeyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- },
- "KeyPairInfo": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "KeyName"
- }
- ],
- "shape": "KeyPairInfo",
- "load": {
- "request": {
- "operation": "DescribeKeyPairs",
- "params": [
- { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "KeyPairs[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteKeyPair",
- "params": [
- { "target": "KeyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- },
- "NetworkAcl": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkAclId"
- }
- ],
- "shape": "NetworkAcl",
- "load": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkAcls[0]"
- },
- "actions": {
- "CreateEntry": {
- "request": {
- "operation": "CreateNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkAcl",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DeleteEntry": {
- "request": {
- "operation": "DeleteNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceAssociation": {
- "request": {
- "operation": "ReplaceNetworkAclAssociation",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceEntry": {
- "request": {
- "operation": "ReplaceNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "NetworkInterface": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkInterfaceId"
- }
- ],
- "shape": "NetworkInterface",
- "load": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkInterfaces[0]"
- },
- "actions": {
- "AssignPrivateIpAddresses": {
- "request": {
- "operation": "AssignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Attach": {
- "request": {
- "operation": "AttachNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Detach": {
- "request": {
- "operation": "DetachNetworkInterface",
- "params": [
- { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "UnassignPrivateIpAddresses": {
- "request": {
- "operation": "UnassignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Association": {
- "resource": {
- "type": "NetworkInterfaceAssociation",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "Association.AssociationId" }
- ],
- "path": "Association"
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "NetworkInterfaceAssociation": {
- "identifiers": [
- {
- "name": "Id"
- }
- ],
- "shape": "InstanceNetworkInterfaceAssociation",
- "load": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkInterfaces[0].Association"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DisassociateAddress",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Address": {
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "data", "path": "AllocationId" }
- ]
- }
- }
- }
- },
- "PlacementGroup": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "GroupName"
- }
- ],
- "shape": "PlacementGroup",
- "load": {
- "request": {
- "operation": "DescribePlacementGroups",
- "params": [
- { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "PlacementGroups[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeletePlacementGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- }
- }
- },
- "Route": {
- "identifiers": [
- { "name": "RouteTableId" },
- {
- "name": "DestinationCidrBlock",
- "memberName": "DestinationCidrBlock"
- }
- ],
- "shape": "Route",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
- { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
- ]
- }
- },
- "Replace": {
- "request": {
- "operation": "ReplaceRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
- { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
- ]
- }
- }
- },
- "has": {
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "identifier", "name": "RouteTableId" }
- ]
- }
- }
- }
- },
- "RouteTable": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableId"
- }
- ],
- "shape": "RouteTable",
- "load": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "RouteTables[0]"
- },
- "actions": {
- "AssociateWithSubnet": {
- "request": {
- "operation": "AssociateRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "AssociationId" }
- ]
- }
- },
- "CreateRoute": {
- "request": {
- "operation": "CreateRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Route",
- "identifiers": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" },
- { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Routes": {
- "resource": {
- "type": "Route",
- "identifiers": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" },
- { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
- ],
- "path": "Routes[]"
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Associations": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
- ],
- "path": "RouteTables[0].Associations[]"
- }
- }
- }
- },
- "RouteTableAssociation": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableAssociationId"
- }
- ],
- "shape": "RouteTableAssociation",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DisassociateRouteTable",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceSubnet": {
- "request": {
- "operation": "ReplaceRouteTableAssociation",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NewAssociationId" }
- ]
- }
- }
- },
- "has": {
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RouteTableId" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- }
- }
- },
- "SecurityGroup": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "GroupId"
- }
- ],
- "shape": "SecurityGroup",
- "load": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "SecurityGroups[0]"
- },
- "actions": {
- "AuthorizeEgress": {
- "request": {
- "operation": "AuthorizeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AuthorizeIngress": {
- "request": {
- "operation": "AuthorizeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSecurityGroup",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeEgress": {
- "request": {
- "operation": "RevokeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeIngress": {
- "request": {
- "operation": "RevokeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Snapshot": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SnapshotId"
- }
- ],
- "shape": "Snapshot",
- "load": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Snapshots[0]"
- },
- "actions": {
- "Copy": {
- "request": {
- "operation": "CopySnapshot",
- "params": [
- { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSnapshot",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifySnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Completed": {
- "waiterName": "SnapshotCompleted",
- "params": [
- { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Snapshots[]"
- }
- },
- "has": {
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VolumeId" }
- ]
- }
- }
- }
- },
- "Subnet": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SubnetId"
- }
- ],
- "shape": "Subnet",
- "load": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Subnets[0]"
- },
- "actions": {
- "CreateInstances": {
- "request": {
- "operation": "RunInstances",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateNetworkInterface": {
- "request": {
- "operation": "CreateNetworkInterface",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSubnet",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- }
- }
- },
- "Tag": {
- "identifiers": [
- {
- "name": "ResourceId",
- "memberName": "ResourceId"
- },
- {
- "name": "Key",
- "memberName": "Key"
- },
- {
- "name": "Value",
- "memberName": "Value"
- }
- ],
- "shape": "TagDescription",
- "load": {
- "request": {
- "operation": "DescribeTags",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "key" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
- { "target": "Filters[1].Name", "source": "string", "value": "value" },
- { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
- ]
- },
- "path": "Tags[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- }
- },
- "Volume": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VolumeId"
- }
- ],
- "shape": "Volume",
- "load": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Volumes[0]"
- },
- "actions": {
- "AttachToInstance": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": {
- "operation": "CreateSnapshot",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeStatus": {
- "request": {
- "operation": "DescribeVolumeStatus",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromInstance": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableIo": {
- "request": {
- "operation": "EnableVolumeIO",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "hasMany": {
- "Snapshots": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- }
- }
- },
- "Vpc": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcId"
- }
- ],
- "shape": "Vpc",
- "load": {
- "request": {
- "operation": "DescribeVpcs",
- "params": [
- { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Vpcs[0]"
- },
- "actions": {
- "AssociateDhcpOptions": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachClassicLinkInstance": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachInternetGateway": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateNetworkAcl": {
- "request": {
- "operation": "CreateNetworkAcl",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateRouteTable": {
- "request": {
- "operation": "CreateRouteTable",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": {
- "operation": "CreateSecurityGroup",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSubnet": {
- "request": {
- "operation": "CreateSubnet",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkInstance": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachInternetGateway": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DisableClassicLink": {
- "request": {
- "operation": "DisableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableClassicLink": {
- "request": {
- "operation": "EnableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RequestVpcPeeringConnection": {
- "request": {
- "operation": "CreateVpcPeeringConnection",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
- ]
- }
- }
- },
- "hasMany": {
- "AcceptedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "NetworkAcls": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "RequestedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "RouteTables": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Subnets": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- }
- }
- },
- "VpcPeeringConnection": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcPeeringConnectionId"
- }
- ],
- "shape": "VpcPeeringConnection",
- "load": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "VpcPeeringConnections[0]"
- },
- "actions": {
- "Accept": {
- "request": {
- "operation": "AcceptVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reject": {
- "request": {
- "operation": "RejectVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "VpcPeeringConnectionExists",
- "params": [
- { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "VpcPeeringConnections[0]"
- }
- },
- "has": {
- "AccepterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
- ]
- }
- },
- "RequesterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
- ]
- }
- }
- }
- },
- "VpcAddress": {
- "identifiers": [
- {
- "name": "AllocationId"
- }
- ],
- "shape": "Address",
- "load": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
- ]
- },
- "path": "Addresses[0]"
- },
- "actions": {
- "Associate": {
- "request": {
- "operation": "AssociateAddress",
- "params": [
- { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
- ]
- }
- },
- "Release": {
- "request": {
- "operation": "ReleaseAddress",
- "params": [
- { "target": "AllocationId", "source": "data", "path": "AllocationId" }
- ]
- }
- }
- },
- "has": {
- "Association": {
- "resource": {
- "type": "NetworkInterfaceAssociation",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "AssociationId" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "ClassicAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
+ ]
+ },
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "ClassicAddress": {
+ "identifiers": [
+ {
+ "name": "PublicIp"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
+ ]
+ }
+ },
+ "Disassociate": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ }
+ }
+ },
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "ClassicAddress": {
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "NetworkInterfaces": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPair",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPairInfo": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
+ ],
+ "path": "Association"
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterfaceAssociation": {
+ "identifiers": [
+ {
+ "name": "Id"
+ }
+ ],
+ "shape": "InstanceNetworkInterfaceAssociation",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0].Association"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Address": {
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "Route": {
+ "identifiers": [
+ { "name": "RouteTableId" },
+ {
+ "name": "DestinationCidrBlock",
+ "memberName": "DestinationCidrBlock"
+ }
+ ],
+ "shape": "Route",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "Replace": {
+ "request": {
+ "operation": "ReplaceRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
+ ]
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Routes": {
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
+ ],
+ "path": "Routes[]"
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "VpcPeeringConnectionExists",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "VpcPeeringConnections[0]"
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "VpcAddress": {
+ "identifiers": [
+ {
+ "name": "AllocationId"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AssociationId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/ec2/2016-09-15/resources-1.json b/contrib/python/boto3/boto3/data/ec2/2016-09-15/resources-1.json
index 4831a36b41..c94ddf0793 100644
--- a/contrib/python/boto3/boto3/data/ec2/2016-09-15/resources-1.json
+++ b/contrib/python/boto3/boto3/data/ec2/2016-09-15/resources-1.json
@@ -1,2567 +1,2567 @@
-{
- "service": {
- "actions": {
- "CreateDhcpOptions": {
- "request": { "operation": "CreateDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
- ],
- "path": "DhcpOptions"
- }
- },
- "CreateInstances": {
- "request": { "operation": "RunInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateInternetGateway": {
- "request": { "operation": "CreateInternetGateway" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
- ],
- "path": "InternetGateway"
- }
- },
- "CreateKeyPair": {
- "request": { "operation": "CreateKeyPair" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ],
- "path": "@"
- }
- },
- "CreateNetworkAcl": {
- "request": { "operation": "CreateNetworkAcl" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateNetworkInterface": {
- "request": { "operation": "CreateNetworkInterface" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreatePlacementGroup": {
- "request": { "operation": "CreatePlacementGroup" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "GroupName" }
- ]
- }
- },
- "CreateRouteTable": {
- "request": { "operation": "CreateRouteTable" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": { "operation": "CreateSecurityGroup" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": { "operation": "CreateSnapshot" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateSubnet": {
- "request": { "operation": "CreateSubnet" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": { "operation": "CreateTags" }
- },
- "CreateVolume": {
- "request": { "operation": "CreateVolume" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VolumeId" }
- ],
- "path": "@"
- }
- },
- "CreateVpc": {
- "request": { "operation": "CreateVpc" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
- ],
- "path": "Vpc"
- }
- },
- "CreateVpcPeeringConnection": {
- "request": { "operation": "CreateVpcPeeringConnection" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- },
- "DisassociateRouteTable": {
- "request": { "operation": "DisassociateRouteTable" }
- },
- "ImportKeyPair": {
- "request": { "operation": "ImportKeyPair" },
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ]
- }
- },
- "RegisterImage": {
- "request": { "operation": "RegisterImage" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Instance": {
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "InternetGateway": {
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "NetworkAcl": {
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "NetworkInterface": {
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "RouteTableAssociation": {
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "SecurityGroup": {
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Snapshot": {
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "VpcPeeringConnection": {
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "ClassicAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "domain" },
- { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
- ]
- },
- "resource": {
- "type": "ClassicAddress",
- "identifiers": [
- { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
- ],
- "path": "Addresses[]"
- }
- },
- "DhcpOptionsSets": {
- "request": { "operation": "DescribeDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
- ],
- "path": "DhcpOptions[]"
- }
- },
- "Images": {
- "request": { "operation": "DescribeImages" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Images[].ImageId" }
- ],
- "path": "Images[]"
- }
- },
- "Instances": {
- "request": { "operation": "DescribeInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": { "operation": "DescribeInternetGateways" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "KeyPairs": {
- "request": { "operation": "DescribeKeyPairs" },
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
- ],
- "path": "KeyPairs[]"
- }
- },
- "NetworkAcls": {
- "request": { "operation": "DescribeNetworkAcls" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": { "operation": "DescribeNetworkInterfaces" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "PlacementGroups": {
- "request": { "operation": "DescribePlacementGroups" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
- ],
- "path": "PlacementGroups[]"
- }
- },
- "RouteTables": {
- "request": { "operation": "DescribeRouteTables" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": { "operation": "DescribeSecurityGroups" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Snapshots": {
- "request": { "operation": "DescribeSnapshots" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- },
- "Subnets": {
- "request": { "operation": "DescribeSubnets" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- },
- "Volumes": {
- "request": { "operation": "DescribeVolumes" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- },
- "VpcAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "domain" },
- { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
- ]
- },
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
- ],
- "path": "Addresses[]"
- }
- },
- "VpcPeeringConnections": {
- "request": { "operation": "DescribeVpcPeeringConnections" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Vpcs": {
- "request": { "operation": "DescribeVpcs" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
- ],
- "path": "Vpcs[]"
- }
- }
- }
- },
- "resources": {
- "ClassicAddress": {
- "identifiers": [
- {
- "name": "PublicIp"
- }
- ],
- "shape": "Address",
- "load": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
- ]
- },
- "path": "Addresses[0]"
- },
- "actions": {
- "Associate": {
- "request": {
- "operation": "AssociateAddress",
- "params": [
- { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
- ]
- }
- },
- "Disassociate": {
- "request": {
- "operation": "DisassociateAddress",
- "params": [
- { "target": "PublicIp", "source": "data", "path": "PublicIp" }
- ]
- }
- },
- "Release": {
- "request": {
- "operation": "ReleaseAddress",
- "params": [
- { "target": "PublicIp", "source": "data", "path": "PublicIp" }
- ]
- }
- }
- }
- },
- "DhcpOptions": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "DhcpOptionsId"
- }
- ],
- "shape": "DhcpOptions",
- "load": {
- "request": {
- "operation": "DescribeDhcpOptions",
- "params": [
- { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "DhcpOptions[0]"
- },
- "actions": {
- "AssociateWithVpc": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Image": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "ImageId"
- }
- ],
- "shape": "Image",
- "load": {
- "request": {
- "operation": "DescribeImages",
- "params": [
- { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Images[0]"
- },
- "actions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Deregister": {
- "request": {
- "operation": "DeregisterImage",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Instance": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InstanceId"
- }
- ],
- "shape": "Instance",
- "load": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Reservations[0].Instances[0]"
- },
- "actions": {
- "AttachClassicLinkVpc": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachVolume": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ConsoleOutput": {
- "request": {
- "operation": "GetConsoleOutput",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateImage": {
- "request": {
- "operation": "CreateImage",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkVpc": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachVolume": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "PasswordData": {
- "request": {
- "operation": "GetPasswordData",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReportStatus": {
- "request": {
- "operation": "ReportInstanceStatus",
- "params": [
- { "target": "Instances[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetKernel": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "kernel" }
- ]
- }
- },
- "ResetRamdisk": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "ramdisk" }
- ]
- }
- },
- "ResetSourceDestCheck": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "batchActions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "InstanceExists",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Running": {
- "waiterName": "InstanceRunning",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Stopped": {
- "waiterName": "InstanceStopped",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Terminated": {
- "waiterName": "InstanceTerminated",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- }
- },
- "has": {
- "ClassicAddress": {
- "resource": {
- "type": "ClassicAddress",
- "identifiers": [
- { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
- ]
- }
- },
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "ImageId" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "KeyName" }
- ]
- }
- },
- "NetworkInterfaces": {
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "Placement.GroupName" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Volumes": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- },
- "VpcAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
- ],
- "path": "Addresses[]"
- }
- }
- }
- },
- "InternetGateway": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InternetGatewayId"
- }
- ],
- "shape": "InternetGateway",
- "load": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "InternetGateways[0]"
- },
- "actions": {
- "AttachToVpc": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromVpc": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "KeyPair": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "KeyName"
- }
- ],
- "shape": "KeyPair",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteKeyPair",
- "params": [
- { "target": "KeyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- },
- "KeyPairInfo": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "KeyName"
- }
- ],
- "shape": "KeyPairInfo",
- "load": {
- "request": {
- "operation": "DescribeKeyPairs",
- "params": [
- { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "KeyPairs[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteKeyPair",
- "params": [
- { "target": "KeyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- },
- "NetworkAcl": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkAclId"
- }
- ],
- "shape": "NetworkAcl",
- "load": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkAcls[0]"
- },
- "actions": {
- "CreateEntry": {
- "request": {
- "operation": "CreateNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkAcl",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DeleteEntry": {
- "request": {
- "operation": "DeleteNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceAssociation": {
- "request": {
- "operation": "ReplaceNetworkAclAssociation",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceEntry": {
- "request": {
- "operation": "ReplaceNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "NetworkInterface": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkInterfaceId"
- }
- ],
- "shape": "NetworkInterface",
- "load": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkInterfaces[0]"
- },
- "actions": {
- "AssignPrivateIpAddresses": {
- "request": {
- "operation": "AssignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Attach": {
- "request": {
- "operation": "AttachNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Detach": {
- "request": {
- "operation": "DetachNetworkInterface",
- "params": [
- { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "UnassignPrivateIpAddresses": {
- "request": {
- "operation": "UnassignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Association": {
- "resource": {
- "type": "NetworkInterfaceAssociation",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "Association.AssociationId" }
- ],
- "path": "Association"
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "NetworkInterfaceAssociation": {
- "identifiers": [
- {
- "name": "Id"
- }
- ],
- "shape": "InstanceNetworkInterfaceAssociation",
- "load": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkInterfaces[0].Association"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DisassociateAddress",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Address": {
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "data", "path": "AllocationId" }
- ]
- }
- }
- }
- },
- "PlacementGroup": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "GroupName"
- }
- ],
- "shape": "PlacementGroup",
- "load": {
- "request": {
- "operation": "DescribePlacementGroups",
- "params": [
- { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "PlacementGroups[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeletePlacementGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- }
- }
- },
- "Route": {
- "identifiers": [
- { "name": "RouteTableId" },
- {
- "name": "DestinationCidrBlock",
- "memberName": "DestinationCidrBlock"
- }
- ],
- "shape": "Route",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
- { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
- ]
- }
- },
- "Replace": {
- "request": {
- "operation": "ReplaceRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
- { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
- ]
- }
- }
- },
- "has": {
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "identifier", "name": "RouteTableId" }
- ]
- }
- }
- }
- },
- "RouteTable": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableId"
- }
- ],
- "shape": "RouteTable",
- "load": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "RouteTables[0]"
- },
- "actions": {
- "AssociateWithSubnet": {
- "request": {
- "operation": "AssociateRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "AssociationId" }
- ]
- }
- },
- "CreateRoute": {
- "request": {
- "operation": "CreateRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Route",
- "identifiers": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" },
- { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Routes": {
- "resource": {
- "type": "Route",
- "identifiers": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" },
- { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
- ],
- "path": "Routes[]"
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Associations": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
- ],
- "path": "RouteTables[0].Associations[]"
- }
- }
- }
- },
- "RouteTableAssociation": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableAssociationId"
- }
- ],
- "shape": "RouteTableAssociation",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DisassociateRouteTable",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceSubnet": {
- "request": {
- "operation": "ReplaceRouteTableAssociation",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NewAssociationId" }
- ]
- }
- }
- },
- "has": {
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RouteTableId" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- }
- }
- },
- "SecurityGroup": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "GroupId"
- }
- ],
- "shape": "SecurityGroup",
- "load": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "SecurityGroups[0]"
- },
- "actions": {
- "AuthorizeEgress": {
- "request": {
- "operation": "AuthorizeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AuthorizeIngress": {
- "request": {
- "operation": "AuthorizeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSecurityGroup",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeEgress": {
- "request": {
- "operation": "RevokeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeIngress": {
- "request": {
- "operation": "RevokeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Snapshot": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SnapshotId"
- }
- ],
- "shape": "Snapshot",
- "load": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Snapshots[0]"
- },
- "actions": {
- "Copy": {
- "request": {
- "operation": "CopySnapshot",
- "params": [
- { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSnapshot",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifySnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Completed": {
- "waiterName": "SnapshotCompleted",
- "params": [
- { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Snapshots[]"
- }
- },
- "has": {
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VolumeId" }
- ]
- }
- }
- }
- },
- "Subnet": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SubnetId"
- }
- ],
- "shape": "Subnet",
- "load": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Subnets[0]"
- },
- "actions": {
- "CreateInstances": {
- "request": {
- "operation": "RunInstances",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateNetworkInterface": {
- "request": {
- "operation": "CreateNetworkInterface",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSubnet",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- }
- }
- },
- "Tag": {
- "identifiers": [
- {
- "name": "ResourceId",
- "memberName": "ResourceId"
- },
- {
- "name": "Key",
- "memberName": "Key"
- },
- {
- "name": "Value",
- "memberName": "Value"
- }
- ],
- "shape": "TagDescription",
- "load": {
- "request": {
- "operation": "DescribeTags",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "key" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
- { "target": "Filters[1].Name", "source": "string", "value": "value" },
- { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
- ]
- },
- "path": "Tags[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- }
- },
- "Volume": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VolumeId"
- }
- ],
- "shape": "Volume",
- "load": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Volumes[0]"
- },
- "actions": {
- "AttachToInstance": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": {
- "operation": "CreateSnapshot",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeStatus": {
- "request": {
- "operation": "DescribeVolumeStatus",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromInstance": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableIo": {
- "request": {
- "operation": "EnableVolumeIO",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "hasMany": {
- "Snapshots": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- }
- }
- },
- "Vpc": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcId"
- }
- ],
- "shape": "Vpc",
- "load": {
- "request": {
- "operation": "DescribeVpcs",
- "params": [
- { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Vpcs[0]"
- },
- "actions": {
- "AssociateDhcpOptions": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachClassicLinkInstance": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachInternetGateway": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateNetworkAcl": {
- "request": {
- "operation": "CreateNetworkAcl",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateRouteTable": {
- "request": {
- "operation": "CreateRouteTable",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": {
- "operation": "CreateSecurityGroup",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSubnet": {
- "request": {
- "operation": "CreateSubnet",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkInstance": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachInternetGateway": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DisableClassicLink": {
- "request": {
- "operation": "DisableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableClassicLink": {
- "request": {
- "operation": "EnableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RequestVpcPeeringConnection": {
- "request": {
- "operation": "CreateVpcPeeringConnection",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
- ]
- }
- }
- },
- "hasMany": {
- "AcceptedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "NetworkAcls": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "RequestedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "RouteTables": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Subnets": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- }
- }
- },
- "VpcPeeringConnection": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcPeeringConnectionId"
- }
- ],
- "shape": "VpcPeeringConnection",
- "load": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "VpcPeeringConnections[0]"
- },
- "actions": {
- "Accept": {
- "request": {
- "operation": "AcceptVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reject": {
- "request": {
- "operation": "RejectVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "VpcPeeringConnectionExists",
- "params": [
- { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "VpcPeeringConnections[0]"
- }
- },
- "has": {
- "AccepterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
- ]
- }
- },
- "RequesterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
- ]
- }
- }
- }
- },
- "VpcAddress": {
- "identifiers": [
- {
- "name": "AllocationId"
- }
- ],
- "shape": "Address",
- "load": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
- ]
- },
- "path": "Addresses[0]"
- },
- "actions": {
- "Associate": {
- "request": {
- "operation": "AssociateAddress",
- "params": [
- { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
- ]
- }
- },
- "Release": {
- "request": {
- "operation": "ReleaseAddress",
- "params": [
- { "target": "AllocationId", "source": "data", "path": "AllocationId" }
- ]
- }
- }
- },
- "has": {
- "Association": {
- "resource": {
- "type": "NetworkInterfaceAssociation",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "AssociationId" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "ClassicAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
+ ]
+ },
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "ClassicAddress": {
+ "identifiers": [
+ {
+ "name": "PublicIp"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
+ ]
+ }
+ },
+ "Disassociate": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ }
+ }
+ },
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "ClassicAddress": {
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "NetworkInterfaces": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPair",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPairInfo": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
+ ],
+ "path": "Association"
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterfaceAssociation": {
+ "identifiers": [
+ {
+ "name": "Id"
+ }
+ ],
+ "shape": "InstanceNetworkInterfaceAssociation",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0].Association"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Address": {
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "Route": {
+ "identifiers": [
+ { "name": "RouteTableId" },
+ {
+ "name": "DestinationCidrBlock",
+ "memberName": "DestinationCidrBlock"
+ }
+ ],
+ "shape": "Route",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "Replace": {
+ "request": {
+ "operation": "ReplaceRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
+ ]
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Routes": {
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
+ ],
+ "path": "Routes[]"
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Associations": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
+ ],
+ "path": "RouteTables[0].Associations[]"
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "VpcPeeringConnectionExists",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "VpcPeeringConnections[0]"
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "VpcAddress": {
+ "identifiers": [
+ {
+ "name": "AllocationId"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AssociationId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/ec2/2016-11-15/resources-1.json b/contrib/python/boto3/boto3/data/ec2/2016-11-15/resources-1.json
index 9872201dab..1871a5fc29 100644
--- a/contrib/python/boto3/boto3/data/ec2/2016-11-15/resources-1.json
+++ b/contrib/python/boto3/boto3/data/ec2/2016-11-15/resources-1.json
@@ -1,2582 +1,2582 @@
-{
- "service": {
- "actions": {
- "CreateDhcpOptions": {
- "request": { "operation": "CreateDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
- ],
- "path": "DhcpOptions"
- }
- },
- "CreateInstances": {
- "request": { "operation": "RunInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateInternetGateway": {
- "request": { "operation": "CreateInternetGateway" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
- ],
- "path": "InternetGateway"
- }
- },
- "CreateKeyPair": {
- "request": { "operation": "CreateKeyPair" },
- "resource": {
- "type": "KeyPair",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ],
- "path": "@"
- }
- },
- "CreateNetworkAcl": {
- "request": { "operation": "CreateNetworkAcl" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateNetworkInterface": {
- "request": { "operation": "CreateNetworkInterface" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreatePlacementGroup": {
- "request": { "operation": "CreatePlacementGroup" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "GroupName" }
- ]
- }
- },
- "CreateRouteTable": {
- "request": { "operation": "CreateRouteTable" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": { "operation": "CreateSecurityGroup" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": { "operation": "CreateSnapshot" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateSubnet": {
- "request": { "operation": "CreateSubnet" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": { "operation": "CreateTags" }
- },
- "CreateVolume": {
- "request": { "operation": "CreateVolume" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VolumeId" }
- ],
- "path": "@"
- }
- },
- "CreateVpc": {
- "request": { "operation": "CreateVpc" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
- ],
- "path": "Vpc"
- }
- },
- "CreateVpcPeeringConnection": {
- "request": { "operation": "CreateVpcPeeringConnection" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- },
- "DisassociateRouteTable": {
- "request": { "operation": "DisassociateRouteTable" }
- },
- "ImportKeyPair": {
- "request": { "operation": "ImportKeyPair" },
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyName" }
- ]
- }
- },
- "RegisterImage": {
- "request": { "operation": "RegisterImage" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Instance": {
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "InternetGateway": {
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "NetworkAcl": {
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "NetworkInterface": {
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "RouteTableAssociation": {
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "SecurityGroup": {
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Snapshot": {
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "VpcPeeringConnection": {
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "ClassicAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "domain" },
- { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
- ]
- },
- "resource": {
- "type": "ClassicAddress",
- "identifiers": [
- { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
- ],
- "path": "Addresses[]"
- }
- },
- "DhcpOptionsSets": {
- "request": { "operation": "DescribeDhcpOptions" },
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
- ],
- "path": "DhcpOptions[]"
- }
- },
- "Images": {
- "request": { "operation": "DescribeImages" },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Images[].ImageId" }
- ],
- "path": "Images[]"
- }
- },
- "Instances": {
- "request": { "operation": "DescribeInstances" },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": { "operation": "DescribeInternetGateways" },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "KeyPairs": {
- "request": { "operation": "DescribeKeyPairs" },
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
- ],
- "path": "KeyPairs[]"
- }
- },
- "NetworkAcls": {
- "request": { "operation": "DescribeNetworkAcls" },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": { "operation": "DescribeNetworkInterfaces" },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "PlacementGroups": {
- "request": { "operation": "DescribePlacementGroups" },
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
- ],
- "path": "PlacementGroups[]"
- }
- },
- "RouteTables": {
- "request": { "operation": "DescribeRouteTables" },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": { "operation": "DescribeSecurityGroups" },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Snapshots": {
- "request": { "operation": "DescribeSnapshots" },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- },
- "Subnets": {
- "request": { "operation": "DescribeSubnets" },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- },
- "Volumes": {
- "request": { "operation": "DescribeVolumes" },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- },
- "VpcAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "domain" },
- { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
- ]
- },
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
- ],
- "path": "Addresses[]"
- }
- },
- "VpcPeeringConnections": {
- "request": { "operation": "DescribeVpcPeeringConnections" },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Vpcs": {
- "request": { "operation": "DescribeVpcs" },
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
- ],
- "path": "Vpcs[]"
- }
- }
- }
- },
- "resources": {
- "ClassicAddress": {
- "identifiers": [
- {
- "name": "PublicIp"
- }
- ],
- "shape": "Address",
- "load": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
- ]
- },
- "path": "Addresses[0]"
- },
- "actions": {
- "Associate": {
- "request": {
- "operation": "AssociateAddress",
- "params": [
- { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
- ]
- }
- },
- "Disassociate": {
- "request": {
- "operation": "DisassociateAddress",
- "params": [
- { "target": "PublicIp", "source": "data", "path": "PublicIp" }
- ]
- }
- },
- "Release": {
- "request": {
- "operation": "ReleaseAddress",
- "params": [
- { "target": "PublicIp", "source": "data", "path": "PublicIp" }
- ]
- }
- }
- }
- },
- "DhcpOptions": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "DhcpOptionsId"
- }
- ],
- "shape": "DhcpOptions",
- "load": {
- "request": {
- "operation": "DescribeDhcpOptions",
- "params": [
- { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "DhcpOptions[0]"
- },
- "actions": {
- "AssociateWithVpc": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteDhcpOptions",
- "params": [
- { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Image": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "ImageId"
- }
- ],
- "shape": "Image",
- "load": {
- "request": {
- "operation": "DescribeImages",
- "params": [
- { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Images[0]"
- },
- "actions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Deregister": {
- "request": {
- "operation": "DeregisterImage",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetImageAttribute",
- "params": [
- { "target": "ImageId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "ImageExists",
- "params": [
- { "target": "ImageIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Images[0]"
- }
- }
- },
- "Instance": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InstanceId"
- }
- ],
- "shape": "Instance",
- "load": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Reservations[0].Instances[0]"
- },
- "actions": {
- "AttachClassicLinkVpc": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachVolume": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ConsoleOutput": {
- "request": {
- "operation": "GetConsoleOutput",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateImage": {
- "request": {
- "operation": "CreateImage",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "ImageId" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkVpc": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachVolume": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "PasswordData": {
- "request": {
- "operation": "GetPasswordData",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReportStatus": {
- "request": {
- "operation": "ReportInstanceStatus",
- "params": [
- { "target": "Instances[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetKernel": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "kernel" }
- ]
- }
- },
- "ResetRamdisk": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "ramdisk" }
- ]
- }
- },
- "ResetSourceDestCheck": {
- "request": {
- "operation": "ResetInstanceAttribute",
- "params": [
- { "target": "InstanceId", "source": "identifier", "name": "Id" },
- { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "batchActions": {
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Monitor": {
- "request": {
- "operation": "MonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reboot": {
- "request": {
- "operation": "RebootInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Start": {
- "request": {
- "operation": "StartInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Stop": {
- "request": {
- "operation": "StopInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Terminate": {
- "request": {
- "operation": "TerminateInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Unmonitor": {
- "request": {
- "operation": "UnmonitorInstances",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "InstanceExists",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Running": {
- "waiterName": "InstanceRunning",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Stopped": {
- "waiterName": "InstanceStopped",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- },
- "Terminated": {
- "waiterName": "InstanceTerminated",
- "params": [
- { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Reservations[0].Instances[0]"
- }
- },
- "has": {
- "ClassicAddress": {
- "resource": {
- "type": "ClassicAddress",
- "identifiers": [
- { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
- ]
- }
- },
- "Image": {
- "resource": {
- "type": "Image",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "ImageId" }
- ]
- }
- },
- "KeyPair": {
- "resource": {
- "type": "KeyPairInfo",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "KeyName" }
- ]
- }
- },
- "NetworkInterfaces": {
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "PlacementGroup": {
- "resource": {
- "type": "PlacementGroup",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "Placement.GroupName" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Volumes": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
- ],
- "path": "Volumes[]"
- }
- },
- "VpcAddresses": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
- ],
- "path": "Addresses[]"
- }
- }
- }
- },
- "InternetGateway": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "InternetGatewayId"
- }
- ],
- "shape": "InternetGateway",
- "load": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "InternetGateways[0]"
- },
- "actions": {
- "AttachToVpc": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromVpc": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "KeyPair": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "KeyName"
- }
- ],
- "shape": "KeyPair",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteKeyPair",
- "params": [
- { "target": "KeyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- },
- "KeyPairInfo": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "KeyName"
- }
- ],
- "shape": "KeyPairInfo",
- "load": {
- "request": {
- "operation": "DescribeKeyPairs",
- "params": [
- { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "KeyPairs[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteKeyPair",
- "params": [
- { "target": "KeyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- }
- },
- "NetworkAcl": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkAclId"
- }
- ],
- "shape": "NetworkAcl",
- "load": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkAcls[0]"
- },
- "actions": {
- "CreateEntry": {
- "request": {
- "operation": "CreateNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkAcl",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DeleteEntry": {
- "request": {
- "operation": "DeleteNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceAssociation": {
- "request": {
- "operation": "ReplaceNetworkAclAssociation",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceEntry": {
- "request": {
- "operation": "ReplaceNetworkAclEntry",
- "params": [
- { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "NetworkInterface": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "NetworkInterfaceId"
- }
- ],
- "shape": "NetworkInterface",
- "load": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkInterfaces[0]"
- },
- "actions": {
- "AssignPrivateIpAddresses": {
- "request": {
- "operation": "AssignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Attach": {
- "request": {
- "operation": "AttachNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteNetworkInterface",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Detach": {
- "request": {
- "operation": "DetachNetworkInterface",
- "params": [
- { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetNetworkInterfaceAttribute",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "UnassignPrivateIpAddresses": {
- "request": {
- "operation": "UnassignPrivateIpAddresses",
- "params": [
- { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Association": {
- "resource": {
- "type": "NetworkInterfaceAssociation",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "Association.AssociationId" }
- ],
- "path": "Association"
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "NetworkInterfaceAssociation": {
- "identifiers": [
- {
- "name": "Id"
- }
- ],
- "shape": "InstanceNetworkInterfaceAssociation",
- "load": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "NetworkInterfaces[0].Association"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DisassociateAddress",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Address": {
- "resource": {
- "type": "VpcAddress",
- "identifiers": [
- { "target": "AllocationId", "source": "data", "path": "AllocationId" }
- ]
- }
- }
- }
- },
- "PlacementGroup": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "GroupName"
- }
- ],
- "shape": "PlacementGroup",
- "load": {
- "request": {
- "operation": "DescribePlacementGroups",
- "params": [
- { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "PlacementGroups[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeletePlacementGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- }
- }
- },
- "Route": {
- "identifiers": [
- { "name": "RouteTableId" },
- {
- "name": "DestinationCidrBlock",
- "memberName": "DestinationCidrBlock"
- }
- ],
- "shape": "Route",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
- { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
- ]
- }
- },
- "Replace": {
- "request": {
- "operation": "ReplaceRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
- { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
- ]
- }
- }
- },
- "has": {
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "identifier", "name": "RouteTableId" }
- ]
- }
- }
- }
- },
- "RouteTable": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableId"
- }
- ],
- "shape": "RouteTable",
- "load": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "RouteTables[0]"
- },
- "actions": {
- "AssociateWithSubnet": {
- "request": {
- "operation": "AssociateRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "AssociationId" }
- ]
- }
- },
- "CreateRoute": {
- "request": {
- "operation": "CreateRoute",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Route",
- "identifiers": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" },
- { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteRouteTable",
- "params": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Associations": {
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "Associations[].RouteTableAssociationId" }
- ],
- "path": "Associations[]"
- }
- },
- "Routes": {
- "resource": {
- "type": "Route",
- "identifiers": [
- { "target": "RouteTableId", "source": "identifier", "name": "Id" },
- { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
- ],
- "path": "Routes[]"
- }
- },
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- }
- },
- "RouteTableAssociation": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "RouteTableAssociationId"
- }
- ],
- "shape": "RouteTableAssociation",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DisassociateRouteTable",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ReplaceSubnet": {
- "request": {
- "operation": "ReplaceRouteTableAssociation",
- "params": [
- { "target": "AssociationId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTableAssociation",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NewAssociationId" }
- ]
- }
- }
- },
- "has": {
- "RouteTable": {
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RouteTableId" }
- ]
- }
- },
- "Subnet": {
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "SubnetId" }
- ]
- }
- }
- }
- },
- "SecurityGroup": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "GroupId"
- }
- ],
- "shape": "SecurityGroup",
- "load": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "SecurityGroups[0]"
- },
- "actions": {
- "AuthorizeEgress": {
- "request": {
- "operation": "AuthorizeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AuthorizeIngress": {
- "request": {
- "operation": "AuthorizeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSecurityGroup",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeEgress": {
- "request": {
- "operation": "RevokeSecurityGroupEgress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RevokeIngress": {
- "request": {
- "operation": "RevokeSecurityGroupIngress",
- "params": [
- { "target": "GroupId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "Snapshot": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SnapshotId"
- }
- ],
- "shape": "Snapshot",
- "load": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Snapshots[0]"
- },
- "actions": {
- "Copy": {
- "request": {
- "operation": "CopySnapshot",
- "params": [
- { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSnapshot",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifySnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ResetAttribute": {
- "request": {
- "operation": "ResetSnapshotAttribute",
- "params": [
- { "target": "SnapshotId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Completed": {
- "waiterName": "SnapshotCompleted",
- "params": [
- { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "Snapshots[]"
- }
- },
- "has": {
- "Volume": {
- "resource": {
- "type": "Volume",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VolumeId" }
- ]
- }
- }
- }
- },
- "Subnet": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "SubnetId"
- }
- ],
- "shape": "Subnet",
- "load": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Subnets[0]"
- },
- "actions": {
- "CreateInstances": {
- "request": {
- "operation": "RunInstances",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
- ],
- "path": "Instances[]"
- }
- },
- "CreateNetworkInterface": {
- "request": {
- "operation": "CreateNetworkInterface",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
- ],
- "path": "NetworkInterface"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSubnet",
- "params": [
- { "target": "SubnetId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "VpcId" }
- ]
- }
- }
- },
- "hasMany": {
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- }
- }
- },
- "Tag": {
- "identifiers": [
- {
- "name": "ResourceId",
- "memberName": "ResourceId"
- },
- {
- "name": "Key",
- "memberName": "Key"
- },
- {
- "name": "Value",
- "memberName": "Value"
- }
- ],
- "shape": "TagDescription",
- "load": {
- "request": {
- "operation": "DescribeTags",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "key" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
- { "target": "Filters[1].Name", "source": "string", "value": "value" },
- { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
- ]
- },
- "path": "Tags[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteTags",
- "params": [
- { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
- { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
- { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
- ]
- }
- }
- }
- },
- "Volume": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VolumeId"
- }
- ],
- "shape": "Volume",
- "load": {
- "request": {
- "operation": "DescribeVolumes",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Volumes[0]"
- },
- "actions": {
- "AttachToInstance": {
- "request": {
- "operation": "AttachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateSnapshot": {
- "request": {
- "operation": "CreateSnapshot",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SnapshotId" }
- ],
- "path": "@"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeStatus": {
- "request": {
- "operation": "DescribeVolumeStatus",
- "params": [
- { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachFromInstance": {
- "request": {
- "operation": "DetachVolume",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableIo": {
- "request": {
- "operation": "EnableVolumeIO",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVolumeAttribute",
- "params": [
- { "target": "VolumeId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "hasMany": {
- "Snapshots": {
- "request": {
- "operation": "DescribeSnapshots",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Snapshot",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
- ],
- "path": "Snapshots[]"
- }
- }
- }
- },
- "Vpc": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcId"
- }
- ],
- "shape": "Vpc",
- "load": {
- "request": {
- "operation": "DescribeVpcs",
- "params": [
- { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Vpcs[0]"
- },
- "actions": {
- "AssociateDhcpOptions": {
- "request": {
- "operation": "AssociateDhcpOptions",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachClassicLinkInstance": {
- "request": {
- "operation": "AttachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "AttachInternetGateway": {
- "request": {
- "operation": "AttachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "CreateNetworkAcl": {
- "request": {
- "operation": "CreateNetworkAcl",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
- ],
- "path": "NetworkAcl"
- }
- },
- "CreateRouteTable": {
- "request": {
- "operation": "CreateRouteTable",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
- ],
- "path": "RouteTable"
- }
- },
- "CreateSecurityGroup": {
- "request": {
- "operation": "CreateSecurityGroup",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "GroupId" }
- ]
- }
- },
- "CreateSubnet": {
- "request": {
- "operation": "CreateSubnet",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
- ],
- "path": "Subnet"
- }
- },
- "CreateTags": {
- "request": {
- "operation": "CreateTags",
- "params": [
- { "target": "Resources[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Tag",
- "identifiers": [
- { "target": "ResourceId", "source": "identifier", "name": "Id" },
- { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
- { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DescribeAttribute": {
- "request": {
- "operation": "DescribeVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachClassicLinkInstance": {
- "request": {
- "operation": "DetachClassicLinkVpc",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DetachInternetGateway": {
- "request": {
- "operation": "DetachInternetGateway",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "DisableClassicLink": {
- "request": {
- "operation": "DisableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "EnableClassicLink": {
- "request": {
- "operation": "EnableVpcClassicLink",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "ModifyAttribute": {
- "request": {
- "operation": "ModifyVpcAttribute",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "RequestVpcPeeringConnection": {
- "request": {
- "operation": "CreateVpcPeeringConnection",
- "params": [
- { "target": "VpcId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnection"
- }
- }
- },
- "waiters": {
- "Available": {
- "waiterName": "VpcAvailable",
- "params": [
- { "target": "VpcIds[]", "source": "identifier", "name": "Id" }
- ]
- },
- "Exists": {
- "waiterName": "VpcExists",
- "params": [
- { "target": "VpcIds[]", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "has": {
- "DhcpOptions": {
- "resource": {
- "type": "DhcpOptions",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
- ]
- }
- }
- },
- "hasMany": {
- "AcceptedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "Instances": {
- "request": {
- "operation": "DescribeInstances",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Instance",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
- ],
- "path": "Reservations[].Instances[]"
- }
- },
- "InternetGateways": {
- "request": {
- "operation": "DescribeInternetGateways",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "InternetGateway",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
- ],
- "path": "InternetGateways[]"
- }
- },
- "NetworkAcls": {
- "request": {
- "operation": "DescribeNetworkAcls",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkAcl",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
- ],
- "path": "NetworkAcls[]"
- }
- },
- "NetworkInterfaces": {
- "request": {
- "operation": "DescribeNetworkInterfaces",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "NetworkInterface",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
- ],
- "path": "NetworkInterfaces[]"
- }
- },
- "RequestedVpcPeeringConnections": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "VpcPeeringConnection",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
- ],
- "path": "VpcPeeringConnections[]"
- }
- },
- "RouteTables": {
- "request": {
- "operation": "DescribeRouteTables",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "RouteTable",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
- ],
- "path": "RouteTables[]"
- }
- },
- "SecurityGroups": {
- "request": {
- "operation": "DescribeSecurityGroups",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "SecurityGroup",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
- ],
- "path": "SecurityGroups[]"
- }
- },
- "Subnets": {
- "request": {
- "operation": "DescribeSubnets",
- "params": [
- { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
- { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Subnet",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
- ],
- "path": "Subnets[]"
- }
- }
- }
- },
- "VpcPeeringConnection": {
- "identifiers": [
- {
- "name": "Id",
- "memberName": "VpcPeeringConnectionId"
- }
- ],
- "shape": "VpcPeeringConnection",
- "load": {
- "request": {
- "operation": "DescribeVpcPeeringConnections",
- "params": [
- { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "VpcPeeringConnections[0]"
- },
- "actions": {
- "Accept": {
- "request": {
- "operation": "AcceptVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Reject": {
- "request": {
- "operation": "RejectVpcPeeringConnection",
- "params": [
- { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "VpcPeeringConnectionExists",
- "params": [
- { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
- ],
- "path": "VpcPeeringConnections[0]"
- }
- },
- "has": {
- "AccepterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
- ]
- }
- },
- "RequesterVpc": {
- "resource": {
- "type": "Vpc",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
- ]
- }
- }
- }
- },
- "VpcAddress": {
- "identifiers": [
- {
- "name": "AllocationId"
- }
- ],
- "shape": "Address",
- "load": {
- "request": {
- "operation": "DescribeAddresses",
- "params": [
- { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
- ]
- },
- "path": "Addresses[0]"
- },
- "actions": {
- "Associate": {
- "request": {
- "operation": "AssociateAddress",
- "params": [
- { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
- ]
- }
- },
- "Release": {
- "request": {
- "operation": "ReleaseAddress",
- "params": [
- { "target": "AllocationId", "source": "data", "path": "AllocationId" }
- ]
- }
- }
- },
- "has": {
- "Association": {
- "resource": {
- "type": "NetworkInterfaceAssociation",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "AssociationId" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateDhcpOptions": {
+ "request": { "operation": "CreateDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions"
+ }
+ },
+ "CreateInstances": {
+ "request": { "operation": "RunInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateInternetGateway": {
+ "request": { "operation": "CreateInternetGateway" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
+ ],
+ "path": "InternetGateway"
+ }
+ },
+ "CreateKeyPair": {
+ "request": { "operation": "CreateKeyPair" },
+ "resource": {
+ "type": "KeyPair",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": { "operation": "CreateNetworkAcl" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": { "operation": "CreateNetworkInterface" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreatePlacementGroup": {
+ "request": { "operation": "CreatePlacementGroup" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ]
+ }
+ },
+ "CreateRouteTable": {
+ "request": { "operation": "CreateRouteTable" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": { "operation": "CreateSecurityGroup" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": { "operation": "CreateSnapshot" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateSubnet": {
+ "request": { "operation": "CreateSubnet" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": { "operation": "CreateTags" }
+ },
+ "CreateVolume": {
+ "request": { "operation": "CreateVolume" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VolumeId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateVpc": {
+ "request": { "operation": "CreateVpc" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
+ ],
+ "path": "Vpc"
+ }
+ },
+ "CreateVpcPeeringConnection": {
+ "request": { "operation": "CreateVpcPeeringConnection" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ },
+ "DisassociateRouteTable": {
+ "request": { "operation": "DisassociateRouteTable" }
+ },
+ "ImportKeyPair": {
+ "request": { "operation": "ImportKeyPair" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyName" }
+ ]
+ }
+ },
+ "RegisterImage": {
+ "request": { "operation": "RegisterImage" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Instance": {
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "InternetGateway": {
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "NetworkAcl": {
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "NetworkInterface": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "RouteTableAssociation": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "SecurityGroup": {
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Snapshot": {
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "VpcPeeringConnection": {
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "ClassicAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
+ ]
+ },
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "DhcpOptionsSets": {
+ "request": { "operation": "DescribeDhcpOptions" },
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
+ ],
+ "path": "DhcpOptions[]"
+ }
+ },
+ "Images": {
+ "request": { "operation": "DescribeImages" },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
+ ],
+ "path": "Images[]"
+ }
+ },
+ "Instances": {
+ "request": { "operation": "DescribeInstances" },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": { "operation": "DescribeInternetGateways" },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "KeyPairs": {
+ "request": { "operation": "DescribeKeyPairs" },
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
+ ],
+ "path": "KeyPairs[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": { "operation": "DescribeNetworkAcls" },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": { "operation": "DescribeNetworkInterfaces" },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroups": {
+ "request": { "operation": "DescribePlacementGroups" },
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
+ ],
+ "path": "PlacementGroups[]"
+ }
+ },
+ "RouteTables": {
+ "request": { "operation": "DescribeRouteTables" },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": { "operation": "DescribeSecurityGroups" },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Snapshots": {
+ "request": { "operation": "DescribeSnapshots" },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "Subnets": {
+ "request": { "operation": "DescribeSubnets" },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ },
+ "Volumes": {
+ "request": { "operation": "DescribeVolumes" },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ },
+ "VpcPeeringConnections": {
+ "request": { "operation": "DescribeVpcPeeringConnections" },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Vpcs": {
+ "request": { "operation": "DescribeVpcs" },
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
+ ],
+ "path": "Vpcs[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "ClassicAddress": {
+ "identifiers": [
+ {
+ "name": "PublicIp"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
+ ]
+ }
+ },
+ "Disassociate": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
+ ]
+ }
+ }
+ }
+ },
+ "DhcpOptions": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "DhcpOptionsId"
+ }
+ ],
+ "shape": "DhcpOptions",
+ "load": {
+ "request": {
+ "operation": "DescribeDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "DhcpOptions[0]"
+ },
+ "actions": {
+ "AssociateWithVpc": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteDhcpOptions",
+ "params": [
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Image": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "ImageId"
+ }
+ ],
+ "shape": "Image",
+ "load": {
+ "request": {
+ "operation": "DescribeImages",
+ "params": [
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Images[0]"
+ },
+ "actions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Deregister": {
+ "request": {
+ "operation": "DeregisterImage",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetImageAttribute",
+ "params": [
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "ImageExists",
+ "params": [
+ { "target": "ImageIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Images[0]"
+ }
+ }
+ },
+ "Instance": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InstanceId"
+ }
+ ],
+ "shape": "Instance",
+ "load": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Reservations[0].Instances[0]"
+ },
+ "actions": {
+ "AttachClassicLinkVpc": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachVolume": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ConsoleOutput": {
+ "request": {
+ "operation": "GetConsoleOutput",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateImage": {
+ "request": {
+ "operation": "CreateImage",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "ImageId" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkVpc": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachVolume": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "PasswordData": {
+ "request": {
+ "operation": "GetPasswordData",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReportStatus": {
+ "request": {
+ "operation": "ReportInstanceStatus",
+ "params": [
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetKernel": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "kernel" }
+ ]
+ }
+ },
+ "ResetRamdisk": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
+ ]
+ }
+ },
+ "ResetSourceDestCheck": {
+ "request": {
+ "operation": "ResetInstanceAttribute",
+ "params": [
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Monitor": {
+ "request": {
+ "operation": "MonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reboot": {
+ "request": {
+ "operation": "RebootInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Start": {
+ "request": {
+ "operation": "StartInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Stop": {
+ "request": {
+ "operation": "StopInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Terminate": {
+ "request": {
+ "operation": "TerminateInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Unmonitor": {
+ "request": {
+ "operation": "UnmonitorInstances",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "InstanceExists",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Running": {
+ "waiterName": "InstanceRunning",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Stopped": {
+ "waiterName": "InstanceStopped",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ },
+ "Terminated": {
+ "waiterName": "InstanceTerminated",
+ "params": [
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Reservations[0].Instances[0]"
+ }
+ },
+ "has": {
+ "ClassicAddress": {
+ "resource": {
+ "type": "ClassicAddress",
+ "identifiers": [
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
+ ]
+ }
+ },
+ "Image": {
+ "resource": {
+ "type": "Image",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "ImageId" }
+ ]
+ }
+ },
+ "KeyPair": {
+ "resource": {
+ "type": "KeyPairInfo",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "KeyName" }
+ ]
+ }
+ },
+ "NetworkInterfaces": {
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "PlacementGroup": {
+ "resource": {
+ "type": "PlacementGroup",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Volumes": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
+ ],
+ "path": "Volumes[]"
+ }
+ },
+ "VpcAddresses": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
+ ],
+ "path": "Addresses[]"
+ }
+ }
+ }
+ },
+ "InternetGateway": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "InternetGatewayId"
+ }
+ ],
+ "shape": "InternetGateway",
+ "load": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "InternetGateways[0]"
+ },
+ "actions": {
+ "AttachToVpc": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromVpc": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPair": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPair",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "KeyPairInfo": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "KeyName"
+ }
+ ],
+ "shape": "KeyPairInfo",
+ "load": {
+ "request": {
+ "operation": "DescribeKeyPairs",
+ "params": [
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "KeyPairs[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteKeyPair",
+ "params": [
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkAcl": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkAclId"
+ }
+ ],
+ "shape": "NetworkAcl",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkAcls[0]"
+ },
+ "actions": {
+ "CreateEntry": {
+ "request": {
+ "operation": "CreateNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkAcl",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DeleteEntry": {
+ "request": {
+ "operation": "DeleteNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceAssociation": {
+ "request": {
+ "operation": "ReplaceNetworkAclAssociation",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceEntry": {
+ "request": {
+ "operation": "ReplaceNetworkAclEntry",
+ "params": [
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterface": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "NetworkInterfaceId"
+ }
+ ],
+ "shape": "NetworkInterface",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0]"
+ },
+ "actions": {
+ "AssignPrivateIpAddresses": {
+ "request": {
+ "operation": "AssignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Attach": {
+ "request": {
+ "operation": "AttachNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteNetworkInterface",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Detach": {
+ "request": {
+ "operation": "DetachNetworkInterface",
+ "params": [
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetNetworkInterfaceAttribute",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UnassignPrivateIpAddresses": {
+ "request": {
+ "operation": "UnassignPrivateIpAddresses",
+ "params": [
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
+ ],
+ "path": "Association"
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "NetworkInterfaceAssociation": {
+ "identifiers": [
+ {
+ "name": "Id"
+ }
+ ],
+ "shape": "InstanceNetworkInterfaceAssociation",
+ "load": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "NetworkInterfaces[0].Association"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateAddress",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Address": {
+ "resource": {
+ "type": "VpcAddress",
+ "identifiers": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ }
+ },
+ "PlacementGroup": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "PlacementGroup",
+ "load": {
+ "request": {
+ "operation": "DescribePlacementGroups",
+ "params": [
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "PlacementGroups[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePlacementGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ }
+ }
+ },
+ "Route": {
+ "identifiers": [
+ { "name": "RouteTableId" },
+ {
+ "name": "DestinationCidrBlock",
+ "memberName": "DestinationCidrBlock"
+ }
+ ],
+ "shape": "Route",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "Replace": {
+ "request": {
+ "operation": "ReplaceRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
+ ]
+ }
+ }
+ }
+ },
+ "RouteTable": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableId"
+ }
+ ],
+ "shape": "RouteTable",
+ "load": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "RouteTables[0]"
+ },
+ "actions": {
+ "AssociateWithSubnet": {
+ "request": {
+ "operation": "AssociateRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "AssociationId" }
+ ]
+ }
+ },
+ "CreateRoute": {
+ "request": {
+ "operation": "CreateRoute",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRouteTable",
+ "params": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Associations": {
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "Associations[].RouteTableAssociationId" }
+ ],
+ "path": "Associations[]"
+ }
+ },
+ "Routes": {
+ "resource": {
+ "type": "Route",
+ "identifiers": [
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
+ ],
+ "path": "Routes[]"
+ }
+ },
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "RouteTableAssociation": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "RouteTableAssociationId"
+ }
+ ],
+ "shape": "RouteTableAssociation",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DisassociateRouteTable",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ReplaceSubnet": {
+ "request": {
+ "operation": "ReplaceRouteTableAssociation",
+ "params": [
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTableAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "RouteTable": {
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
+ ]
+ }
+ },
+ "Subnet": {
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "SubnetId" }
+ ]
+ }
+ }
+ }
+ },
+ "SecurityGroup": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "GroupId"
+ }
+ ],
+ "shape": "SecurityGroup",
+ "load": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "SecurityGroups[0]"
+ },
+ "actions": {
+ "AuthorizeEgress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AuthorizeIngress": {
+ "request": {
+ "operation": "AuthorizeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSecurityGroup",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeEgress": {
+ "request": {
+ "operation": "RevokeSecurityGroupEgress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RevokeIngress": {
+ "request": {
+ "operation": "RevokeSecurityGroupIngress",
+ "params": [
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "Snapshot": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SnapshotId"
+ }
+ ],
+ "shape": "Snapshot",
+ "load": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Snapshots[0]"
+ },
+ "actions": {
+ "Copy": {
+ "request": {
+ "operation": "CopySnapshot",
+ "params": [
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSnapshot",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifySnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ResetAttribute": {
+ "request": {
+ "operation": "ResetSnapshotAttribute",
+ "params": [
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Completed": {
+ "waiterName": "SnapshotCompleted",
+ "params": [
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "Snapshots[]"
+ }
+ },
+ "has": {
+ "Volume": {
+ "resource": {
+ "type": "Volume",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VolumeId" }
+ ]
+ }
+ }
+ }
+ },
+ "Subnet": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "SubnetId"
+ }
+ ],
+ "shape": "Subnet",
+ "load": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Subnets[0]"
+ },
+ "actions": {
+ "CreateInstances": {
+ "request": {
+ "operation": "RunInstances",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
+ ],
+ "path": "Instances[]"
+ }
+ },
+ "CreateNetworkInterface": {
+ "request": {
+ "operation": "CreateNetworkInterface",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterface"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSubnet",
+ "params": [
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "VpcId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "identifiers": [
+ {
+ "name": "ResourceId",
+ "memberName": "ResourceId"
+ },
+ {
+ "name": "Key",
+ "memberName": "Key"
+ },
+ {
+ "name": "Value",
+ "memberName": "Value"
+ }
+ ],
+ "shape": "TagDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeTags",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
+ ]
+ },
+ "path": "Tags[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteTags",
+ "params": [
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
+ ]
+ }
+ }
+ }
+ },
+ "Volume": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VolumeId"
+ }
+ ],
+ "shape": "Volume",
+ "load": {
+ "request": {
+ "operation": "DescribeVolumes",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Volumes[0]"
+ },
+ "actions": {
+ "AttachToInstance": {
+ "request": {
+ "operation": "AttachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateSnapshot": {
+ "request": {
+ "operation": "CreateSnapshot",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
+ ],
+ "path": "@"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeStatus": {
+ "request": {
+ "operation": "DescribeVolumeStatus",
+ "params": [
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachFromInstance": {
+ "request": {
+ "operation": "DetachVolume",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableIo": {
+ "request": {
+ "operation": "EnableVolumeIO",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVolumeAttribute",
+ "params": [
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Snapshots": {
+ "request": {
+ "operation": "DescribeSnapshots",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Snapshot",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
+ ],
+ "path": "Snapshots[]"
+ }
+ }
+ }
+ },
+ "Vpc": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcId"
+ }
+ ],
+ "shape": "Vpc",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcs",
+ "params": [
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Vpcs[0]"
+ },
+ "actions": {
+ "AssociateDhcpOptions": {
+ "request": {
+ "operation": "AssociateDhcpOptions",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachClassicLinkInstance": {
+ "request": {
+ "operation": "AttachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "AttachInternetGateway": {
+ "request": {
+ "operation": "AttachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "CreateNetworkAcl": {
+ "request": {
+ "operation": "CreateNetworkAcl",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
+ ],
+ "path": "NetworkAcl"
+ }
+ },
+ "CreateRouteTable": {
+ "request": {
+ "operation": "CreateRouteTable",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
+ ],
+ "path": "RouteTable"
+ }
+ },
+ "CreateSecurityGroup": {
+ "request": {
+ "operation": "CreateSecurityGroup",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "GroupId" }
+ ]
+ }
+ },
+ "CreateSubnet": {
+ "request": {
+ "operation": "CreateSubnet",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
+ ],
+ "path": "Subnet"
+ }
+ },
+ "CreateTags": {
+ "request": {
+ "operation": "CreateTags",
+ "params": [
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Tag",
+ "identifiers": [
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DescribeAttribute": {
+ "request": {
+ "operation": "DescribeVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachClassicLinkInstance": {
+ "request": {
+ "operation": "DetachClassicLinkVpc",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DetachInternetGateway": {
+ "request": {
+ "operation": "DetachInternetGateway",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "DisableClassicLink": {
+ "request": {
+ "operation": "DisableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "EnableClassicLink": {
+ "request": {
+ "operation": "EnableVpcClassicLink",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "ModifyAttribute": {
+ "request": {
+ "operation": "ModifyVpcAttribute",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "RequestVpcPeeringConnection": {
+ "request": {
+ "operation": "CreateVpcPeeringConnection",
+ "params": [
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnection"
+ }
+ }
+ },
+ "waiters": {
+ "Available": {
+ "waiterName": "VpcAvailable",
+ "params": [
+ { "target": "VpcIds[]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "Exists": {
+ "waiterName": "VpcExists",
+ "params": [
+ { "target": "VpcIds[]", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "has": {
+ "DhcpOptions": {
+ "resource": {
+ "type": "DhcpOptions",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AcceptedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "Instances": {
+ "request": {
+ "operation": "DescribeInstances",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Instance",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
+ ],
+ "path": "Reservations[].Instances[]"
+ }
+ },
+ "InternetGateways": {
+ "request": {
+ "operation": "DescribeInternetGateways",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "InternetGateway",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
+ ],
+ "path": "InternetGateways[]"
+ }
+ },
+ "NetworkAcls": {
+ "request": {
+ "operation": "DescribeNetworkAcls",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkAcl",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
+ ],
+ "path": "NetworkAcls[]"
+ }
+ },
+ "NetworkInterfaces": {
+ "request": {
+ "operation": "DescribeNetworkInterfaces",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "NetworkInterface",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
+ ],
+ "path": "NetworkInterfaces[]"
+ }
+ },
+ "RequestedVpcPeeringConnections": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "VpcPeeringConnection",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
+ ],
+ "path": "VpcPeeringConnections[]"
+ }
+ },
+ "RouteTables": {
+ "request": {
+ "operation": "DescribeRouteTables",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "RouteTable",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
+ ],
+ "path": "RouteTables[]"
+ }
+ },
+ "SecurityGroups": {
+ "request": {
+ "operation": "DescribeSecurityGroups",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "SecurityGroup",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
+ ],
+ "path": "SecurityGroups[]"
+ }
+ },
+ "Subnets": {
+ "request": {
+ "operation": "DescribeSubnets",
+ "params": [
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Subnet",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
+ ],
+ "path": "Subnets[]"
+ }
+ }
+ }
+ },
+ "VpcPeeringConnection": {
+ "identifiers": [
+ {
+ "name": "Id",
+ "memberName": "VpcPeeringConnectionId"
+ }
+ ],
+ "shape": "VpcPeeringConnection",
+ "load": {
+ "request": {
+ "operation": "DescribeVpcPeeringConnections",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "VpcPeeringConnections[0]"
+ },
+ "actions": {
+ "Accept": {
+ "request": {
+ "operation": "AcceptVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Reject": {
+ "request": {
+ "operation": "RejectVpcPeeringConnection",
+ "params": [
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "VpcPeeringConnectionExists",
+ "params": [
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
+ ],
+ "path": "VpcPeeringConnections[0]"
+ }
+ },
+ "has": {
+ "AccepterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
+ ]
+ }
+ },
+ "RequesterVpc": {
+ "resource": {
+ "type": "Vpc",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
+ ]
+ }
+ }
+ }
+ },
+ "VpcAddress": {
+ "identifiers": [
+ {
+ "name": "AllocationId"
+ }
+ ],
+ "shape": "Address",
+ "load": {
+ "request": {
+ "operation": "DescribeAddresses",
+ "params": [
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
+ ]
+ },
+ "path": "Addresses[0]"
+ },
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "AssociateAddress",
+ "params": [
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
+ ]
+ }
+ },
+ "Release": {
+ "request": {
+ "operation": "ReleaseAddress",
+ "params": [
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Association": {
+ "resource": {
+ "type": "NetworkInterfaceAssociation",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "AssociationId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/glacier/2012-06-01/resources-1.json b/contrib/python/boto3/boto3/data/glacier/2012-06-01/resources-1.json
index d1ed48f455..fbf458bc65 100644
--- a/contrib/python/boto3/boto3/data/glacier/2012-06-01/resources-1.json
+++ b/contrib/python/boto3/boto3/data/glacier/2012-06-01/resources-1.json
@@ -1,581 +1,581 @@
-{
- "service": {
- "actions": {
- "CreateVault": {
- "request": {
- "operation": "CreateVault",
- "params": [
- { "target": "accountId", "source": "string", "value": "-" }
- ]
- },
- "resource": {
- "type": "Vault",
- "identifiers": [
- { "target": "AccountId", "source": "requestParameter", "path": "accountId" },
- { "target": "Name", "source": "requestParameter", "path": "vaultName" }
- ]
- }
- }
- },
- "has": {
- "Account": {
- "resource": {
- "type": "Account",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "Vaults": {
- "request": {
- "operation": "ListVaults",
- "params": [
- { "target": "accountId", "source": "string", "value": "-" }
- ]
- },
- "resource": {
- "type": "Vault",
- "identifiers": [
- { "target": "AccountId", "source": "requestParameter", "path": "accountId" },
- { "target": "Name", "source": "response", "path": "VaultList[].VaultName" }
- ],
- "path": "VaultList[]"
- }
- }
- }
- },
- "resources": {
- "Account": {
- "identifiers": [
- { "name": "Id" }
- ],
- "actions": {
- "CreateVault": {
- "request": {
- "operation": "CreateVault",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Vault",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "Id" },
- { "target": "Name", "source": "requestParameter", "path": "vaultName" }
- ]
- }
- }
- },
- "has": {
- "Vault": {
- "resource": {
- "type": "Vault",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "Id" },
- { "target": "Name", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "Vaults": {
- "request": {
- "operation": "ListVaults",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Vault",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "Id" },
- { "target": "Name", "source": "response", "path": "VaultList[].VaultName" }
- ],
- "path": "VaultList[]"
- }
- }
- }
- },
- "Archive": {
- "identifiers": [
- { "name": "AccountId" },
- { "name": "VaultName" },
- { "name": "Id" }
- ],
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteArchive",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "VaultName" },
- { "target": "archiveId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "InitiateArchiveRetrieval": {
- "request": {
- "operation": "InitiateJob",
- "params": [
- { "target": "vaultName", "source": "identifier", "name": "VaultName" },
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "jobParameters.Type", "source": "string", "value": "archive-retrieval" },
- { "target": "jobParameters.ArchiveId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Job",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "jobId" },
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "VaultName" }
- ]
- }
- }
- },
- "has": {
- "Vault": {
- "resource": {
- "type": "Vault",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "Name", "source": "identifier", "name": "VaultName" }
- ]
- }
- }
- }
- },
- "Job": {
- "identifiers": [
- { "name": "AccountId" },
- { "name": "VaultName" },
- {
- "name": "Id",
- "memberName": "JobId"
- }
- ],
- "shape": "GlacierJobDescription",
- "load": {
- "request": {
- "operation": "DescribeJob",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "VaultName" },
- { "target": "jobId", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "GetOutput": {
- "request": {
- "operation": "GetJobOutput",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "VaultName" },
- { "target": "jobId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vault": {
- "resource": {
- "type": "Vault",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "Name", "source": "identifier", "name": "VaultName" }
- ]
- }
- }
- }
- },
- "MultipartUpload": {
- "identifiers": [
- { "name": "AccountId" },
- { "name": "VaultName" },
- {
- "name": "Id",
- "memberName": "MultipartUploadId"
- }
- ],
- "shape": "UploadListElement",
- "actions": {
- "Abort": {
- "request": {
- "operation": "AbortMultipartUpload",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "VaultName" },
- { "target": "uploadId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Complete": {
- "request": {
- "operation": "CompleteMultipartUpload",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "VaultName" },
- { "target": "uploadId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Parts": {
- "request": {
- "operation": "ListParts",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "VaultName" },
- { "target": "uploadId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "UploadPart": {
- "request": {
- "operation": "UploadMultipartPart",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "VaultName" },
- { "target": "uploadId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Vault": {
- "resource": {
- "type": "Vault",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "Name", "source": "identifier", "name": "VaultName" }
- ]
- }
- }
- }
- },
- "Notification": {
- "identifiers": [
- { "name": "AccountId" },
- { "name": "VaultName" }
- ],
- "shape": "VaultNotificationConfig",
- "load": {
- "request": {
- "operation": "GetVaultNotifications",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "VaultName" }
- ]
- },
- "path": "vaultNotificationConfig"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteVaultNotifications",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "VaultName" }
- ]
- }
- },
- "Set": {
- "request": {
- "operation": "SetVaultNotifications",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "VaultName" }
- ]
- }
- }
- },
- "has": {
- "Vault": {
- "resource": {
- "type": "Vault",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "Name", "source": "identifier", "name": "VaultName" }
- ]
- }
- }
- }
- },
- "Vault": {
- "identifiers": [
- { "name": "AccountId" },
- {
- "name": "Name",
- "memberName": "VaultName"
- }
- ],
- "shape": "DescribeVaultOutput",
- "load": {
- "request": {
- "operation": "DescribeVault",
- "params": [
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "accountId", "source": "identifier", "name": "AccountId" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Create": {
- "request": {
- "operation": "CreateVault",
- "params": [
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "accountId", "source": "identifier", "name": "AccountId" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteVault",
- "params": [
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "accountId", "source": "identifier", "name": "AccountId" }
- ]
- }
- },
- "InitiateInventoryRetrieval": {
- "request": {
- "operation": "InitiateJob",
- "params": [
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "jobParameters.Type", "source": "string", "value": "inventory-retrieval" }
- ]
- },
- "resource": {
- "type": "Job",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "jobId" },
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "InitiateMultipartUpload": {
- "request": {
- "operation": "InitiateMultipartUpload",
- "params": [
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "accountId", "source": "identifier", "name": "AccountId" }
- ]
- },
- "resource": {
- "type": "MultipartUpload",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "uploadId" },
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "UploadArchive": {
- "request": {
- "operation": "UploadArchive",
- "params": [
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "accountId", "source": "identifier", "name": "AccountId" }
- ]
- },
- "resource": {
- "type": "Archive",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "archiveId" },
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "has": {
- "Account": {
- "resource": {
- "type": "Account",
- "identifiers": [
- { "target": "Id", "source": "identifier", "name": "AccountId" }
- ]
- }
- },
- "Archive": {
- "resource": {
- "type": "Archive",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Job": {
- "resource": {
- "type": "Job",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "MultipartUpload": {
- "resource": {
- "type": "MultipartUpload",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Notification": {
- "resource": {
- "type": "Notification",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "hasMany": {
- "CompletedJobs": {
- "request": {
- "operation": "ListJobs",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "completed", "source": "string", "value": "true" }
- ]
- },
- "resource": {
- "type": "Job",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "response", "path": "JobList[].JobId" }
- ],
- "path": "JobList[]"
- }
- },
- "FailedJobs": {
- "request": {
- "operation": "ListJobs",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "statuscode", "source": "string", "value": "Failed" }
- ]
- },
- "resource": {
- "type": "Job",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "response", "path": "JobList[].JobId" }
- ],
- "path": "JobList[]"
- }
- },
- "Jobs": {
- "request": {
- "operation": "ListJobs",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Job",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "response", "path": "JobList[].JobId" }
- ],
- "path": "JobList[]"
- }
- },
- "JobsInProgress": {
- "request": {
- "operation": "ListJobs",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "statuscode", "source": "string", "value": "InProgress" }
- ]
- },
- "resource": {
- "type": "Job",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "response", "path": "JobList[].JobId" }
- ],
- "path": "JobList[]"
- }
- },
- "MultipartUplaods": {
- "request": {
- "operation": "ListMultipartUploads",
- "params": [
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "accountId", "source": "identifier", "name": "AccountId" }
- ]
- },
- "resource": {
- "type": "MultipartUpload",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "response", "path": "UploadsList[].MultipartUploadId" }
- ],
- "path": "UploadsList[]"
- }
- },
- "MultipartUploads": {
- "request": {
- "operation": "ListMultipartUploads",
- "params": [
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "accountId", "source": "identifier", "name": "AccountId" }
- ]
- },
- "resource": {
- "type": "MultipartUpload",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "response", "path": "UploadsList[].MultipartUploadId" }
- ],
- "path": "UploadsList[]"
- }
- },
- "SucceededJobs": {
- "request": {
- "operation": "ListJobs",
- "params": [
- { "target": "accountId", "source": "identifier", "name": "AccountId" },
- { "target": "vaultName", "source": "identifier", "name": "Name" },
- { "target": "statuscode", "source": "string", "value": "Succeeded" }
- ]
- },
- "resource": {
- "type": "Job",
- "identifiers": [
- { "target": "AccountId", "source": "identifier", "name": "AccountId" },
- { "target": "VaultName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "response", "path": "JobList[].JobId" }
- ],
- "path": "JobList[]"
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateVault": {
+ "request": {
+ "operation": "CreateVault",
+ "params": [
+ { "target": "accountId", "source": "string", "value": "-" }
+ ]
+ },
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "requestParameter", "path": "accountId" },
+ { "target": "Name", "source": "requestParameter", "path": "vaultName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Account": {
+ "resource": {
+ "type": "Account",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Vaults": {
+ "request": {
+ "operation": "ListVaults",
+ "params": [
+ { "target": "accountId", "source": "string", "value": "-" }
+ ]
+ },
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "requestParameter", "path": "accountId" },
+ { "target": "Name", "source": "response", "path": "VaultList[].VaultName" }
+ ],
+ "path": "VaultList[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "Account": {
+ "identifiers": [
+ { "name": "Id" }
+ ],
+ "actions": {
+ "CreateVault": {
+ "request": {
+ "operation": "CreateVault",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "Id" },
+ { "target": "Name", "source": "requestParameter", "path": "vaultName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vault": {
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "Id" },
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Vaults": {
+ "request": {
+ "operation": "ListVaults",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "Id" },
+ { "target": "Name", "source": "response", "path": "VaultList[].VaultName" }
+ ],
+ "path": "VaultList[]"
+ }
+ }
+ }
+ },
+ "Archive": {
+ "identifiers": [
+ { "name": "AccountId" },
+ { "name": "VaultName" },
+ { "name": "Id" }
+ ],
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteArchive",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "archiveId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "InitiateArchiveRetrieval": {
+ "request": {
+ "operation": "InitiateJob",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "jobParameters.Type", "source": "string", "value": "archive-retrieval" },
+ { "target": "jobParameters.ArchiveId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "jobId" },
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vault": {
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ }
+ },
+ "Job": {
+ "identifiers": [
+ { "name": "AccountId" },
+ { "name": "VaultName" },
+ {
+ "name": "Id",
+ "memberName": "JobId"
+ }
+ ],
+ "shape": "GlacierJobDescription",
+ "load": {
+ "request": {
+ "operation": "DescribeJob",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "jobId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "GetOutput": {
+ "request": {
+ "operation": "GetJobOutput",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "jobId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vault": {
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ }
+ },
+ "MultipartUpload": {
+ "identifiers": [
+ { "name": "AccountId" },
+ { "name": "VaultName" },
+ {
+ "name": "Id",
+ "memberName": "MultipartUploadId"
+ }
+ ],
+ "shape": "UploadListElement",
+ "actions": {
+ "Abort": {
+ "request": {
+ "operation": "AbortMultipartUpload",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Complete": {
+ "request": {
+ "operation": "CompleteMultipartUpload",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Parts": {
+ "request": {
+ "operation": "ListParts",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "UploadPart": {
+ "request": {
+ "operation": "UploadMultipartPart",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vault": {
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ }
+ },
+ "Notification": {
+ "identifiers": [
+ { "name": "AccountId" },
+ { "name": "VaultName" }
+ ],
+ "shape": "VaultNotificationConfig",
+ "load": {
+ "request": {
+ "operation": "GetVaultNotifications",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" }
+ ]
+ },
+ "path": "vaultNotificationConfig"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteVaultNotifications",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ },
+ "Set": {
+ "request": {
+ "operation": "SetVaultNotifications",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Vault": {
+ "resource": {
+ "type": "Vault",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
+ ]
+ }
+ }
+ }
+ },
+ "Vault": {
+ "identifiers": [
+ { "name": "AccountId" },
+ {
+ "name": "Name",
+ "memberName": "VaultName"
+ }
+ ],
+ "shape": "DescribeVaultOutput",
+ "load": {
+ "request": {
+ "operation": "DescribeVault",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Create": {
+ "request": {
+ "operation": "CreateVault",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteVault",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ }
+ },
+ "InitiateInventoryRetrieval": {
+ "request": {
+ "operation": "InitiateJob",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "jobParameters.Type", "source": "string", "value": "inventory-retrieval" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "jobId" },
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "InitiateMultipartUpload": {
+ "request": {
+ "operation": "InitiateMultipartUpload",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "uploadId" },
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "UploadArchive": {
+ "request": {
+ "operation": "UploadArchive",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ },
+ "resource": {
+ "type": "Archive",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "archiveId" },
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Account": {
+ "resource": {
+ "type": "Account",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "AccountId" }
+ ]
+ }
+ },
+ "Archive": {
+ "resource": {
+ "type": "Archive",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Job": {
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "MultipartUpload": {
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Notification": {
+ "resource": {
+ "type": "Notification",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "CompletedJobs": {
+ "request": {
+ "operation": "ListJobs",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "completed", "source": "string", "value": "true" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
+ ],
+ "path": "JobList[]"
+ }
+ },
+ "FailedJobs": {
+ "request": {
+ "operation": "ListJobs",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "statuscode", "source": "string", "value": "Failed" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
+ ],
+ "path": "JobList[]"
+ }
+ },
+ "Jobs": {
+ "request": {
+ "operation": "ListJobs",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
+ ],
+ "path": "JobList[]"
+ }
+ },
+ "JobsInProgress": {
+ "request": {
+ "operation": "ListJobs",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "statuscode", "source": "string", "value": "InProgress" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
+ ],
+ "path": "JobList[]"
+ }
+ },
+ "MultipartUplaods": {
+ "request": {
+ "operation": "ListMultipartUploads",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "UploadsList[].MultipartUploadId" }
+ ],
+ "path": "UploadsList[]"
+ }
+ },
+ "MultipartUploads": {
+ "request": {
+ "operation": "ListMultipartUploads",
+ "params": [
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "UploadsList[].MultipartUploadId" }
+ ],
+ "path": "UploadsList[]"
+ }
+ },
+ "SucceededJobs": {
+ "request": {
+ "operation": "ListJobs",
+ "params": [
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
+ { "target": "statuscode", "source": "string", "value": "Succeeded" }
+ ]
+ },
+ "resource": {
+ "type": "Job",
+ "identifiers": [
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
+ ],
+ "path": "JobList[]"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/iam/2010-05-08/resources-1.json b/contrib/python/boto3/boto3/data/iam/2010-05-08/resources-1.json
index 59d1855672..4497c522f1 100644
--- a/contrib/python/boto3/boto3/data/iam/2010-05-08/resources-1.json
+++ b/contrib/python/boto3/boto3/data/iam/2010-05-08/resources-1.json
@@ -1,1721 +1,1721 @@
-{
- "service": {
- "actions": {
- "ChangePassword": {
- "request": { "operation": "ChangePassword" }
- },
- "CreateAccountAlias": {
- "request": { "operation": "CreateAccountAlias" }
- },
- "CreateAccountPasswordPolicy": {
- "request": { "operation": "UpdateAccountPasswordPolicy" },
- "resource": {
- "type": "AccountPasswordPolicy",
- "identifiers": [ ]
- }
- },
- "CreateGroup": {
- "request": { "operation": "CreateGroup" },
- "resource": {
- "type": "Group",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "GroupName" }
- ],
- "path": "Group"
- }
- },
- "CreateInstanceProfile": {
- "request": { "operation": "CreateInstanceProfile" },
- "resource": {
- "type": "InstanceProfile",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "InstanceProfileName" }
- ],
- "path": "InstanceProfile"
- }
- },
- "CreatePolicy": {
- "request": { "operation": "CreatePolicy" },
- "resource": {
- "type": "Policy",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "Policy.Arn" }
- ]
- }
- },
- "CreateRole": {
- "request": { "operation": "CreateRole" },
- "resource": {
- "type": "Role",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "RoleName" }
- ],
- "path": "Role"
- }
- },
- "CreateSamlProvider": {
- "request": { "operation": "CreateSAMLProvider" },
- "resource": {
- "type": "SamlProvider",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "SAMLProviderArn" }
- ]
- }
- },
- "CreateServerCertificate": {
- "request": { "operation": "UploadServerCertificate" },
- "resource": {
- "type": "ServerCertificate",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "ServerCertificateName" }
- ]
- }
- },
- "CreateSigningCertificate": {
- "request": { "operation": "UploadSigningCertificate" },
- "resource": {
- "type": "SigningCertificate",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Certificate.CertificateId" }
- ],
- "path": "Certificate"
- }
- },
- "CreateUser": {
- "request": { "operation": "CreateUser" },
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "UserName" }
- ],
- "path": "User"
- }
- },
- "CreateVirtualMfaDevice": {
- "request": { "operation": "CreateVirtualMFADevice" },
- "resource": {
- "type": "VirtualMfaDevice",
- "identifiers": [
- { "target": "SerialNumber", "source": "response", "path": "VirtualMFADevice.SerialNumber" }
- ],
- "path": "VirtualMFADevice"
- }
- }
- },
- "has": {
- "AccountPasswordPolicy": {
- "resource": {
- "type": "AccountPasswordPolicy",
- "identifiers": [ ]
- }
- },
- "AccountSummary": {
- "resource": {
- "type": "AccountSummary",
- "identifiers": [ ]
- }
- },
- "CurrentUser": {
- "resource": {
- "type": "CurrentUser",
- "identifiers": [ ]
- }
- },
- "Group": {
- "resource": {
- "type": "Group",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "InstanceProfile": {
- "resource": {
- "type": "InstanceProfile",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "Policy": {
- "resource": {
- "type": "Policy",
- "identifiers": [
- { "target": "PolicyArn", "source": "input" }
- ]
- }
- },
- "Role": {
- "resource": {
- "type": "Role",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "SamlProvider": {
- "resource": {
- "type": "SamlProvider",
- "identifiers": [
- { "target": "Arn", "source": "input" }
- ]
- }
- },
- "ServerCertificate": {
- "resource": {
- "type": "ServerCertificate",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "User": {
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "VirtualMfaDevice": {
- "resource": {
- "type": "VirtualMfaDevice",
- "identifiers": [
- { "target": "SerialNumber", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "Groups": {
- "request": { "operation": "ListGroups" },
- "resource": {
- "type": "Group",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "Groups[].GroupName" }
- ],
- "path": "Groups[]"
- }
- },
- "InstanceProfiles": {
- "request": { "operation": "ListInstanceProfiles" },
- "resource": {
- "type": "InstanceProfile",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "InstanceProfiles[].InstanceProfileName" }
- ],
- "path": "InstanceProfiles[]"
- }
- },
- "Policies": {
- "request": { "operation": "ListPolicies" },
- "resource": {
- "type": "Policy",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "Policies[].Arn" }
- ],
- "path": "Policies[]"
- }
- },
- "Roles": {
- "request": { "operation": "ListRoles" },
- "resource": {
- "type": "Role",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "Roles[].RoleName" }
- ],
- "path": "Roles[]"
- }
- },
- "SamlProviders": {
- "request": { "operation": "ListSAMLProviders" },
- "resource": {
- "type": "SamlProvider",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "SAMLProviderList[].Arn" }
- ]
- }
- },
- "ServerCertificates": {
- "request": { "operation": "ListServerCertificates" },
- "resource": {
- "type": "ServerCertificate",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "ServerCertificateMetadataList[].ServerCertificateName" }
- ]
- }
- },
- "Users": {
- "request": { "operation": "ListUsers" },
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "Users[].UserName" }
- ],
- "path": "Users[]"
- }
- },
- "VirtualMfaDevices": {
- "request": { "operation": "ListVirtualMFADevices" },
- "resource": {
- "type": "VirtualMfaDevice",
- "identifiers": [
- { "target": "SerialNumber", "source": "response", "path": "VirtualMFADevices[].SerialNumber" }
- ],
- "path": "VirtualMFADevices[]"
- }
- }
- }
- },
- "resources": {
- "AccessKey": {
- "identifiers": [
- {
- "name": "UserName",
- "memberName": "UserName"
- },
- {
- "name": "Id",
- "memberName": "AccessKeyId"
- }
- ],
- "shape": "AccessKeyMetadata",
- "actions": {
- "Activate": {
- "request": {
- "operation": "UpdateAccessKey",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
- { "target": "Status", "source": "string", "value": "Active" }
- ]
- }
- },
- "Deactivate": {
- "request": {
- "operation": "UpdateAccessKey",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
- { "target": "Status", "source": "string", "value": "Inactive" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteAccessKey",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "AccessKeyId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "User": {
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "UserName" }
- ]
- }
- }
- }
- },
- "AccessKeyPair": {
- "identifiers": [
- {
- "name": "UserName",
- "memberName": "UserName"
- },
- {
- "name": "Id",
- "memberName": "AccessKeyId"
- },
- {
- "name": "Secret",
- "memberName": "SecretAccessKey"
- }
- ],
- "shape": "AccessKey",
- "actions": {
- "Activate": {
- "request": {
- "operation": "UpdateAccessKey",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
- { "target": "Status", "source": "string", "value": "Active" }
- ]
- }
- },
- "Deactivate": {
- "request": {
- "operation": "UpdateAccessKey",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
- { "target": "Status", "source": "string", "value": "Inactive" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteAccessKey",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "AccessKeyId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- }
- },
- "AccountPasswordPolicy": {
- "identifiers": [ ],
- "shape": "PasswordPolicy",
- "load": {
- "request": { "operation": "GetAccountPasswordPolicy" },
- "path": "PasswordPolicy"
- },
- "actions": {
- "Delete": {
- "request": { "operation": "DeleteAccountPasswordPolicy" }
- },
- "Update": {
- "request": { "operation": "UpdateAccountPasswordPolicy" }
- }
- }
- },
- "AccountSummary": {
- "identifiers": [ ],
- "shape": "GetAccountSummaryResponse",
- "load": {
- "request": { "operation": "GetAccountSummary" },
- "path": "@"
- }
- },
- "AssumeRolePolicy": {
- "identifiers": [
- { "name": "RoleName" }
- ],
- "actions": {
- "Update": {
- "request": {
- "operation": "UpdateAssumeRolePolicy",
- "params": [
- { "target": "RoleName", "source": "identifier", "name": "RoleName" }
- ]
- }
- }
- },
- "has": {
- "Role": {
- "resource": {
- "type": "Role",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "RoleName" }
- ]
- }
- }
- }
- },
- "CurrentUser": {
- "identifiers": [ ],
- "shape": "User",
- "load": {
- "request": { "operation": "GetUser" },
- "path": "User"
- },
- "has": {
- "User": {
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "UserName" }
- ]
- }
- }
- },
- "hasMany": {
- "AccessKeys": {
- "request": { "operation": "ListAccessKeys" },
- "resource": {
- "type": "AccessKey",
- "identifiers": [
- { "target": "UserName", "source": "response", "path": "AccessKeyMetadata[].UserName" },
- { "target": "Id", "source": "response", "path": "AccessKeyMetadata[].AccessKeyId" }
- ],
- "path": "AccessKeyMetadata[]"
- }
- },
- "MfaDevices": {
- "request": { "operation": "ListMFADevices" },
- "resource": {
- "type": "MfaDevice",
- "identifiers": [
- { "target": "UserName", "source": "response", "path": "MFADevices[].UserName" },
- { "target": "SerialNumber", "source": "response", "path": "MFADevices[].SerialNumber" }
- ],
- "path": "MFADevices[]"
- }
- },
- "SigningCertificates": {
- "request": { "operation": "ListSigningCertificates" },
- "resource": {
- "type": "SigningCertificate",
- "identifiers": [
- { "target": "UserName", "source": "response", "path": "Certificates[].UserName" },
- { "target": "Id", "source": "response", "path": "Certificates[].CertificateId" }
- ],
- "path": "Certificates[]"
- }
- }
- }
- },
- "Group": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "GroupName"
- }
- ],
- "shape": "Group",
- "load": {
- "request": {
- "operation": "GetGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "Group"
- },
- "actions": {
- "AddUser": {
- "request": {
- "operation": "AddUserToGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "AttachPolicy": {
- "request": {
- "operation": "AttachGroupPolicy",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Create": {
- "request": {
- "operation": "CreateGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Group",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "GroupName" }
- ],
- "path": "Group"
- }
- },
- "CreatePolicy": {
- "request": {
- "operation": "PutGroupPolicy",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "GroupPolicy",
- "identifiers": [
- { "target": "GroupName", "source": "identifier", "name": "Name" },
- { "target": "Name", "source": "requestParameter", "path": "PolicyName" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "DetachPolicy": {
- "request": {
- "operation": "DetachGroupPolicy",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "RemoveUser": {
- "request": {
- "operation": "RemoveUserFromGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Update": {
- "request": {
- "operation": "UpdateGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Group",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "NewGroupName" }
- ]
- }
- }
- },
- "has": {
- "Policy": {
- "resource": {
- "type": "GroupPolicy",
- "identifiers": [
- { "target": "GroupName", "source": "identifier", "name": "Name" },
- { "target": "Name", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "AttachedPolicies": {
- "request": {
- "operation": "ListAttachedGroupPolicies",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Policy",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
- ]
- }
- },
- "Policies": {
- "request": {
- "operation": "ListGroupPolicies",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "GroupPolicy",
- "identifiers": [
- { "target": "GroupName", "source": "identifier", "name": "Name" },
- { "target": "Name", "source": "response", "path": "PolicyNames[]" }
- ]
- }
- },
- "Users": {
- "request": {
- "operation": "GetGroup",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "Users[].UserName" }
- ],
- "path": "Users[]"
- }
- }
- }
- },
- "GroupPolicy": {
- "identifiers": [
- {
- "name": "GroupName",
- "memberName": "GroupName"
- },
- {
- "name": "Name",
- "memberName": "PolicyName"
- }
- ],
- "shape": "GetGroupPolicyResponse",
- "load": {
- "request": {
- "operation": "GetGroupPolicy",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "GroupName" },
- { "target": "PolicyName", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteGroupPolicy",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "GroupName" },
- { "target": "PolicyName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutGroupPolicy",
- "params": [
- { "target": "GroupName", "source": "identifier", "name": "GroupName" },
- { "target": "PolicyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "has": {
- "Group": {
- "resource": {
- "type": "Group",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "GroupName" }
- ]
- }
- }
- }
- },
- "InstanceProfile": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "InstanceProfileName"
- }
- ],
- "shape": "InstanceProfile",
- "load": {
- "request": {
- "operation": "GetInstanceProfile",
- "params": [
- { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "InstanceProfile"
- },
- "actions": {
- "AddRole": {
- "request": {
- "operation": "AddRoleToInstanceProfile",
- "params": [
- { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteInstanceProfile",
- "params": [
- { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "RemoveRole": {
- "request": {
- "operation": "RemoveRoleFromInstanceProfile",
- "params": [
- { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "has": {
- "Roles": {
- "resource": {
- "type": "Role",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "Roles[].RoleName" }
- ],
- "path": "Roles[]"
- }
- }
- }
- },
- "LoginProfile": {
- "identifiers": [
- {
- "name": "UserName",
- "memberName": "UserName"
- }
- ],
- "shape": "LoginProfile",
- "load": {
- "request": {
- "operation": "GetLoginProfile",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" }
- ]
- },
- "path": "LoginProfile"
- },
- "actions": {
- "Create": {
- "request": {
- "operation": "CreateLoginProfile",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" }
- ]
- },
- "resource": {
- "type": "LoginProfile",
- "identifiers": [
- { "target": "UserName", "source": "response", "path": "LoginProfile.UserName" }
- ],
- "path": "LoginProfile"
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteLoginProfile",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" }
- ]
- }
- },
- "Update": {
- "request": {
- "operation": "UpdateLoginProfile",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" }
- ]
- }
- }
- },
- "has": {
- "User": {
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "UserName" }
- ]
- }
- }
- }
- },
- "MfaDevice": {
- "identifiers": [
- {
- "name": "UserName",
- "memberName": "UserName"
- },
- {
- "name": "SerialNumber",
- "memberName": "SerialNumber"
- }
- ],
- "shape": "MFADevice",
- "actions": {
- "Associate": {
- "request": {
- "operation": "EnableMFADevice",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
- ]
- }
- },
- "Disassociate": {
- "request": {
- "operation": "DeactivateMFADevice",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
- ]
- }
- },
- "Resync": {
- "request": {
- "operation": "ResyncMFADevice",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
- ]
- }
- }
- },
- "has": {
- "User": {
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "UserName" }
- ]
- }
- }
- }
- },
- "Policy": {
- "identifiers": [
- {
- "name": "Arn",
- "memberName": "Arn"
- }
- ],
- "shape": "Policy",
- "load": {
- "request": {
- "operation": "GetPolicy",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "path": "Policy"
- },
- "actions": {
- "AttachGroup": {
- "request": {
- "operation": "AttachGroupPolicy",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "AttachRole": {
- "request": {
- "operation": "AttachRolePolicy",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "AttachUser": {
- "request": {
- "operation": "AttachUserPolicy",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "CreateVersion": {
- "request": {
- "operation": "CreatePolicyVersion",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "resource": {
- "type": "PolicyVersion",
- "identifiers": [
- { "target": "Arn", "source": "identifier", "name": "Arn" },
- { "target": "VersionId", "source": "response", "path": "PolicyVersion.VersionId" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeletePolicy",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "DetachGroup": {
- "request": {
- "operation": "DetachGroupPolicy",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "DetachRole": {
- "request": {
- "operation": "DetachRolePolicy",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "DetachUser": {
- "request": {
- "operation": "DetachUserPolicy",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
- ]
- }
- }
- },
- "has": {
- "DefaultVersion": {
- "resource": {
- "type": "PolicyVersion",
- "identifiers": [
- { "target": "Arn", "source": "identifier", "name": "Arn" },
- { "target": "VersionId", "source": "data", "path": "DefaultVersionId" }
- ]
- }
- }
- },
- "hasMany": {
- "AttachedGroups": {
- "request": {
- "operation": "ListEntitiesForPolicy",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
- { "target": "EntityFilter", "source": "string", "value": "Group" }
- ]
- },
- "resource": {
- "type": "Group",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "PolicyGroups[].GroupName" }
- ]
- }
- },
- "AttachedRoles": {
- "request": {
- "operation": "ListEntitiesForPolicy",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
- { "target": "EntityFilter", "source": "string", "value": "Role" }
- ]
- },
- "resource": {
- "type": "Role",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "PolicyRoles[].RoleName" }
- ]
- }
- },
- "AttachedUsers": {
- "request": {
- "operation": "ListEntitiesForPolicy",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
- { "target": "EntityFilter", "source": "string", "value": "User" }
- ]
- },
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "PolicyUsers[].UserName" }
- ]
- }
- },
- "Versions": {
- "request": {
- "operation": "ListPolicyVersions",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "resource": {
- "type": "PolicyVersion",
- "identifiers": [
- { "target": "Arn", "source": "identifier", "name": "Arn" },
- { "target": "VersionId", "source": "response", "path": "Versions[].VersionId" }
- ],
- "path": "Versions[]"
- }
- }
- }
- },
- "PolicyVersion": {
- "identifiers": [
- { "name": "Arn" },
- { "name": "VersionId" }
- ],
- "shape": "PolicyVersion",
- "load": {
- "request": {
- "operation": "GetPolicyVersion",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
- { "target": "VersionId", "source": "identifier", "name": "VersionId" }
- ]
- },
- "path": "PolicyVersion"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeletePolicyVersion",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
- { "target": "VersionId", "source": "identifier", "name": "VersionId" }
- ]
- }
- },
- "SetAsDefault": {
- "request": {
- "operation": "SetDefaultPolicyVersion",
- "params": [
- { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
- { "target": "VersionId", "source": "identifier", "name": "VersionId" }
- ]
- }
- }
- }
- },
- "Role": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "RoleName"
- }
- ],
- "shape": "Role",
- "load": {
- "request": {
- "operation": "GetRole",
- "params": [
- { "target": "RoleName", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "Role"
- },
- "actions": {
- "AttachPolicy": {
- "request": {
- "operation": "AttachRolePolicy",
- "params": [
- { "target": "RoleName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteRole",
- "params": [
- { "target": "RoleName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "DetachPolicy": {
- "request": {
- "operation": "DetachRolePolicy",
- "params": [
- { "target": "RoleName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "has": {
- "AssumeRolePolicy": {
- "resource": {
- "type": "AssumeRolePolicy",
- "identifiers": [
- { "target": "RoleName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Policy": {
- "resource": {
- "type": "RolePolicy",
- "identifiers": [
- { "target": "RoleName", "source": "identifier", "name": "Name" },
- { "target": "Name", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "AttachedPolicies": {
- "request": {
- "operation": "ListAttachedRolePolicies",
- "params": [
- { "target": "RoleName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Policy",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
- ]
- }
- },
- "InstanceProfiles": {
- "request": {
- "operation": "ListInstanceProfilesForRole",
- "params": [
- { "target": "RoleName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "InstanceProfile",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "InstanceProfiles[].InstanceProfileName" }
- ],
- "path": "InstanceProfiles[]"
- }
- },
- "Policies": {
- "request": {
- "operation": "ListRolePolicies",
- "params": [
- { "target": "RoleName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "RolePolicy",
- "identifiers": [
- { "target": "RoleName", "source": "identifier", "name": "Name" },
- { "target": "Name", "source": "response", "path": "PolicyNames[]" }
- ]
- }
- }
- }
- },
- "RolePolicy": {
- "identifiers": [
- {
- "name": "RoleName",
- "memberName": "RoleName"
- },
- {
- "name": "Name",
- "memberName": "PolicyName"
- }
- ],
- "shape": "GetRolePolicyResponse",
- "load": {
- "request": {
- "operation": "GetRolePolicy",
- "params": [
- { "target": "RoleName", "source": "identifier", "name": "RoleName" },
- { "target": "PolicyName", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteRolePolicy",
- "params": [
- { "target": "RoleName", "source": "identifier", "name": "RoleName" },
- { "target": "PolicyName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutRolePolicy",
- "params": [
- { "target": "RoleName", "source": "identifier", "name": "RoleName" },
- { "target": "PolicyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "has": {
- "Role": {
- "resource": {
- "type": "Role",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "RoleName" }
- ]
- }
- }
- }
- },
- "SamlProvider": {
- "identifiers": [
- { "name": "Arn" }
- ],
- "shape": "GetSAMLProviderResponse",
- "load": {
- "request": {
- "operation": "GetSAMLProvider",
- "params": [
- { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteSAMLProvider",
- "params": [
- { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "Update": {
- "request": {
- "operation": "UpdateSAMLProvider",
- "params": [
- { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
- ]
- }
- }
- }
- },
- "ServerCertificate": {
- "identifiers": [
- { "name": "Name" }
- ],
- "shape": "ServerCertificate",
- "load": {
- "request": {
- "operation": "GetServerCertificate",
- "params": [
- { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "ServerCertificate"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteServerCertificate",
- "params": [
- { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Update": {
- "request": {
- "operation": "UpdateServerCertificate",
- "params": [
- { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "ServerCertificate",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "NewServerCertificateName" }
- ]
- }
- }
- }
- },
- "SigningCertificate": {
- "identifiers": [
- {
- "name": "UserName",
- "memberName": "UserName"
- },
- {
- "name": "Id",
- "memberName": "CertificateId"
- }
- ],
- "shape": "SigningCertificate",
- "actions": {
- "Activate": {
- "request": {
- "operation": "UpdateSigningCertificate",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "CertificateId", "source": "identifier", "name": "Id" },
- { "target": "Status", "source": "string", "value": "Active" }
- ]
- }
- },
- "Deactivate": {
- "request": {
- "operation": "UpdateSigningCertificate",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "CertificateId", "source": "identifier", "name": "Id" },
- { "target": "Status", "source": "string", "value": "Inactive" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteSigningCertificate",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "CertificateId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "User": {
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "UserName" }
- ]
- }
- }
- }
- },
- "User": {
- "identifiers": [
- {
- "name": "Name",
- "memberName": "UserName"
- }
- ],
- "shape": "User",
- "load": {
- "request": {
- "operation": "GetUser",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "User"
- },
- "actions": {
- "AddGroup": {
- "request": {
- "operation": "AddUserToGroup",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "AttachPolicy": {
- "request": {
- "operation": "AttachUserPolicy",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Create": {
- "request": {
- "operation": "CreateUser",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "UserName" }
- ],
- "path": "User"
- }
- },
- "CreateAccessKeyPair": {
- "request": {
- "operation": "CreateAccessKey",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "AccessKeyPair",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "response", "path": "AccessKey.AccessKeyId" },
- { "target": "Secret", "source": "response", "path": "AccessKey.SecretAccessKey" }
- ],
- "path": "AccessKey"
- }
- },
- "CreateLoginProfile": {
- "request": {
- "operation": "CreateLoginProfile",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "LoginProfile",
- "identifiers": [
- { "target": "UserName", "source": "response", "path": "LoginProfile.UserName" }
- ],
- "path": "LoginProfile"
- }
- },
- "CreatePolicy": {
- "request": {
- "operation": "PutUserPolicy",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "UserPolicy",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" },
- { "target": "Name", "source": "requestParameter", "path": "PolicyName" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteUser",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "DetachPolicy": {
- "request": {
- "operation": "DetachUserPolicy",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "EnableMfa": {
- "request": {
- "operation": "EnableMFADevice",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "MfaDevice",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" },
- { "target": "SerialNumber", "source": "requestParameter", "path": "SerialNumber" }
- ]
- }
- },
- "RemoveGroup": {
- "request": {
- "operation": "RemoveUserFromGroup",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Update": {
- "request": {
- "operation": "UpdateUser",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "NewUserName" }
- ]
- }
- }
- },
- "has": {
- "AccessKey": {
- "resource": {
- "type": "AccessKey",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "LoginProfile": {
- "resource": {
- "type": "LoginProfile",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "MfaDevice": {
- "resource": {
- "type": "MfaDevice",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" },
- { "target": "SerialNumber", "source": "input" }
- ]
- }
- },
- "Policy": {
- "resource": {
- "type": "UserPolicy",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" },
- { "target": "Name", "source": "input" }
- ]
- }
- },
- "SigningCertificate": {
- "resource": {
- "type": "SigningCertificate",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "AccessKeys": {
- "request": {
- "operation": "ListAccessKeys",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "AccessKey",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "response", "path": "AccessKeyMetadata[].AccessKeyId" }
- ],
- "path": "AccessKeyMetadata[]"
- }
- },
- "AttachedPolicies": {
- "request": {
- "operation": "ListAttachedUserPolicies",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Policy",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
- ]
- }
- },
- "Groups": {
- "request": {
- "operation": "ListGroupsForUser",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Group",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "Groups[].GroupName" }
- ],
- "path": "Groups[]"
- }
- },
- "MfaDevices": {
- "request": {
- "operation": "ListMFADevices",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "MfaDevice",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" },
- { "target": "SerialNumber", "source": "response", "path": "MFADevices[].SerialNumber" }
- ],
- "path": "MFADevices[]"
- }
- },
- "Policies": {
- "request": {
- "operation": "ListUserPolicies",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "UserPolicy",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" },
- { "target": "Name", "source": "response", "path": "PolicyNames[]" }
- ]
- }
- },
- "SigningCertificates": {
- "request": {
- "operation": "ListSigningCertificates",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "SigningCertificate",
- "identifiers": [
- { "target": "UserName", "source": "identifier", "name": "Name" },
- { "target": "Id", "source": "response", "path": "Certificates[].CertificateId" }
- ],
- "path": "Certificates[]"
- }
- }
- }
- },
- "UserPolicy": {
- "identifiers": [
- {
- "name": "UserName",
- "memberName": "UserName"
- },
- {
- "name": "Name",
- "memberName": "PolicyName"
- }
- ],
- "shape": "GetUserPolicyResponse",
- "load": {
- "request": {
- "operation": "GetUserPolicy",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "PolicyName", "source": "identifier", "name": "Name" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteUserPolicy",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "PolicyName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutUserPolicy",
- "params": [
- { "target": "UserName", "source": "identifier", "name": "UserName" },
- { "target": "PolicyName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "has": {
- "User": {
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "UserName" }
- ]
- }
- }
- }
- },
- "VirtualMfaDevice": {
- "identifiers": [
- {
- "name": "SerialNumber",
- "memberName": "SerialNumber"
- }
- ],
- "shape": "VirtualMFADevice",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteVirtualMFADevice",
- "params": [
- { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
- ]
- }
- }
- },
- "has": {
- "User": {
- "resource": {
- "type": "User",
- "identifiers": [
- { "target": "Name", "source": "data", "path": "User.UserName" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "ChangePassword": {
+ "request": { "operation": "ChangePassword" }
+ },
+ "CreateAccountAlias": {
+ "request": { "operation": "CreateAccountAlias" }
+ },
+ "CreateAccountPasswordPolicy": {
+ "request": { "operation": "UpdateAccountPasswordPolicy" },
+ "resource": {
+ "type": "AccountPasswordPolicy",
+ "identifiers": [ ]
+ }
+ },
+ "CreateGroup": {
+ "request": { "operation": "CreateGroup" },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ],
+ "path": "Group"
+ }
+ },
+ "CreateInstanceProfile": {
+ "request": { "operation": "CreateInstanceProfile" },
+ "resource": {
+ "type": "InstanceProfile",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "InstanceProfileName" }
+ ],
+ "path": "InstanceProfile"
+ }
+ },
+ "CreatePolicy": {
+ "request": { "operation": "CreatePolicy" },
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Policy.Arn" }
+ ]
+ }
+ },
+ "CreateRole": {
+ "request": { "operation": "CreateRole" },
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "RoleName" }
+ ],
+ "path": "Role"
+ }
+ },
+ "CreateSamlProvider": {
+ "request": { "operation": "CreateSAMLProvider" },
+ "resource": {
+ "type": "SamlProvider",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "SAMLProviderArn" }
+ ]
+ }
+ },
+ "CreateServerCertificate": {
+ "request": { "operation": "UploadServerCertificate" },
+ "resource": {
+ "type": "ServerCertificate",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "ServerCertificateName" }
+ ]
+ }
+ },
+ "CreateSigningCertificate": {
+ "request": { "operation": "UploadSigningCertificate" },
+ "resource": {
+ "type": "SigningCertificate",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Certificate.CertificateId" }
+ ],
+ "path": "Certificate"
+ }
+ },
+ "CreateUser": {
+ "request": { "operation": "CreateUser" },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "UserName" }
+ ],
+ "path": "User"
+ }
+ },
+ "CreateVirtualMfaDevice": {
+ "request": { "operation": "CreateVirtualMFADevice" },
+ "resource": {
+ "type": "VirtualMfaDevice",
+ "identifiers": [
+ { "target": "SerialNumber", "source": "response", "path": "VirtualMFADevice.SerialNumber" }
+ ],
+ "path": "VirtualMFADevice"
+ }
+ }
+ },
+ "has": {
+ "AccountPasswordPolicy": {
+ "resource": {
+ "type": "AccountPasswordPolicy",
+ "identifiers": [ ]
+ }
+ },
+ "AccountSummary": {
+ "resource": {
+ "type": "AccountSummary",
+ "identifiers": [ ]
+ }
+ },
+ "CurrentUser": {
+ "resource": {
+ "type": "CurrentUser",
+ "identifiers": [ ]
+ }
+ },
+ "Group": {
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "InstanceProfile": {
+ "resource": {
+ "type": "InstanceProfile",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "Policy": {
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "PolicyArn", "source": "input" }
+ ]
+ }
+ },
+ "Role": {
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "SamlProvider": {
+ "resource": {
+ "type": "SamlProvider",
+ "identifiers": [
+ { "target": "Arn", "source": "input" }
+ ]
+ }
+ },
+ "ServerCertificate": {
+ "resource": {
+ "type": "ServerCertificate",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "VirtualMfaDevice": {
+ "resource": {
+ "type": "VirtualMfaDevice",
+ "identifiers": [
+ { "target": "SerialNumber", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Groups": {
+ "request": { "operation": "ListGroups" },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Groups[].GroupName" }
+ ],
+ "path": "Groups[]"
+ }
+ },
+ "InstanceProfiles": {
+ "request": { "operation": "ListInstanceProfiles" },
+ "resource": {
+ "type": "InstanceProfile",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "InstanceProfiles[].InstanceProfileName" }
+ ],
+ "path": "InstanceProfiles[]"
+ }
+ },
+ "Policies": {
+ "request": { "operation": "ListPolicies" },
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Policies[].Arn" }
+ ],
+ "path": "Policies[]"
+ }
+ },
+ "Roles": {
+ "request": { "operation": "ListRoles" },
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Roles[].RoleName" }
+ ],
+ "path": "Roles[]"
+ }
+ },
+ "SamlProviders": {
+ "request": { "operation": "ListSAMLProviders" },
+ "resource": {
+ "type": "SamlProvider",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "SAMLProviderList[].Arn" }
+ ]
+ }
+ },
+ "ServerCertificates": {
+ "request": { "operation": "ListServerCertificates" },
+ "resource": {
+ "type": "ServerCertificate",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "ServerCertificateMetadataList[].ServerCertificateName" }
+ ]
+ }
+ },
+ "Users": {
+ "request": { "operation": "ListUsers" },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Users[].UserName" }
+ ],
+ "path": "Users[]"
+ }
+ },
+ "VirtualMfaDevices": {
+ "request": { "operation": "ListVirtualMFADevices" },
+ "resource": {
+ "type": "VirtualMfaDevice",
+ "identifiers": [
+ { "target": "SerialNumber", "source": "response", "path": "VirtualMFADevices[].SerialNumber" }
+ ],
+ "path": "VirtualMFADevices[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "AccessKey": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ },
+ {
+ "name": "Id",
+ "memberName": "AccessKeyId"
+ }
+ ],
+ "shape": "AccessKeyMetadata",
+ "actions": {
+ "Activate": {
+ "request": {
+ "operation": "UpdateAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Active" }
+ ]
+ }
+ },
+ "Deactivate": {
+ "request": {
+ "operation": "UpdateAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Inactive" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ }
+ },
+ "AccessKeyPair": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ },
+ {
+ "name": "Id",
+ "memberName": "AccessKeyId"
+ },
+ {
+ "name": "Secret",
+ "memberName": "SecretAccessKey"
+ }
+ ],
+ "shape": "AccessKey",
+ "actions": {
+ "Activate": {
+ "request": {
+ "operation": "UpdateAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Active" }
+ ]
+ }
+ },
+ "Deactivate": {
+ "request": {
+ "operation": "UpdateAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Inactive" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ }
+ },
+ "AccountPasswordPolicy": {
+ "identifiers": [ ],
+ "shape": "PasswordPolicy",
+ "load": {
+ "request": { "operation": "GetAccountPasswordPolicy" },
+ "path": "PasswordPolicy"
+ },
+ "actions": {
+ "Delete": {
+ "request": { "operation": "DeleteAccountPasswordPolicy" }
+ },
+ "Update": {
+ "request": { "operation": "UpdateAccountPasswordPolicy" }
+ }
+ }
+ },
+ "AccountSummary": {
+ "identifiers": [ ],
+ "shape": "GetAccountSummaryResponse",
+ "load": {
+ "request": { "operation": "GetAccountSummary" },
+ "path": "@"
+ }
+ },
+ "AssumeRolePolicy": {
+ "identifiers": [
+ { "name": "RoleName" }
+ ],
+ "actions": {
+ "Update": {
+ "request": {
+ "operation": "UpdateAssumeRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Role": {
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "RoleName" }
+ ]
+ }
+ }
+ }
+ },
+ "CurrentUser": {
+ "identifiers": [ ],
+ "shape": "User",
+ "load": {
+ "request": { "operation": "GetUser" },
+ "path": "User"
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "UserName" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AccessKeys": {
+ "request": { "operation": "ListAccessKeys" },
+ "resource": {
+ "type": "AccessKey",
+ "identifiers": [
+ { "target": "UserName", "source": "response", "path": "AccessKeyMetadata[].UserName" },
+ { "target": "Id", "source": "response", "path": "AccessKeyMetadata[].AccessKeyId" }
+ ],
+ "path": "AccessKeyMetadata[]"
+ }
+ },
+ "MfaDevices": {
+ "request": { "operation": "ListMFADevices" },
+ "resource": {
+ "type": "MfaDevice",
+ "identifiers": [
+ { "target": "UserName", "source": "response", "path": "MFADevices[].UserName" },
+ { "target": "SerialNumber", "source": "response", "path": "MFADevices[].SerialNumber" }
+ ],
+ "path": "MFADevices[]"
+ }
+ },
+ "SigningCertificates": {
+ "request": { "operation": "ListSigningCertificates" },
+ "resource": {
+ "type": "SigningCertificate",
+ "identifiers": [
+ { "target": "UserName", "source": "response", "path": "Certificates[].UserName" },
+ { "target": "Id", "source": "response", "path": "Certificates[].CertificateId" }
+ ],
+ "path": "Certificates[]"
+ }
+ }
+ }
+ },
+ "Group": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "GroupName"
+ }
+ ],
+ "shape": "Group",
+ "load": {
+ "request": {
+ "operation": "GetGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "Group"
+ },
+ "actions": {
+ "AddUser": {
+ "request": {
+ "operation": "AddUserToGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "AttachPolicy": {
+ "request": {
+ "operation": "AttachGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Create": {
+ "request": {
+ "operation": "CreateGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
+ ],
+ "path": "Group"
+ }
+ },
+ "CreatePolicy": {
+ "request": {
+ "operation": "PutGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "GroupPolicy",
+ "identifiers": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "requestParameter", "path": "PolicyName" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "DetachPolicy": {
+ "request": {
+ "operation": "DetachGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "RemoveUser": {
+ "request": {
+ "operation": "RemoveUserFromGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "NewGroupName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Policy": {
+ "resource": {
+ "type": "GroupPolicy",
+ "identifiers": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AttachedPolicies": {
+ "request": {
+ "operation": "ListAttachedGroupPolicies",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
+ ]
+ }
+ },
+ "Policies": {
+ "request": {
+ "operation": "ListGroupPolicies",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "GroupPolicy",
+ "identifiers": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "response", "path": "PolicyNames[]" }
+ ]
+ }
+ },
+ "Users": {
+ "request": {
+ "operation": "GetGroup",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Users[].UserName" }
+ ],
+ "path": "Users[]"
+ }
+ }
+ }
+ },
+ "GroupPolicy": {
+ "identifiers": [
+ {
+ "name": "GroupName",
+ "memberName": "GroupName"
+ },
+ {
+ "name": "Name",
+ "memberName": "PolicyName"
+ }
+ ],
+ "shape": "GetGroupPolicyResponse",
+ "load": {
+ "request": {
+ "operation": "GetGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "GroupName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "GroupName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutGroupPolicy",
+ "params": [
+ { "target": "GroupName", "source": "identifier", "name": "GroupName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Group": {
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "GroupName" }
+ ]
+ }
+ }
+ }
+ },
+ "InstanceProfile": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "InstanceProfileName"
+ }
+ ],
+ "shape": "InstanceProfile",
+ "load": {
+ "request": {
+ "operation": "GetInstanceProfile",
+ "params": [
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "InstanceProfile"
+ },
+ "actions": {
+ "AddRole": {
+ "request": {
+ "operation": "AddRoleToInstanceProfile",
+ "params": [
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteInstanceProfile",
+ "params": [
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "RemoveRole": {
+ "request": {
+ "operation": "RemoveRoleFromInstanceProfile",
+ "params": [
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Roles": {
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "Roles[].RoleName" }
+ ],
+ "path": "Roles[]"
+ }
+ }
+ }
+ },
+ "LoginProfile": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ }
+ ],
+ "shape": "LoginProfile",
+ "load": {
+ "request": {
+ "operation": "GetLoginProfile",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
+ ]
+ },
+ "path": "LoginProfile"
+ },
+ "actions": {
+ "Create": {
+ "request": {
+ "operation": "CreateLoginProfile",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
+ ]
+ },
+ "resource": {
+ "type": "LoginProfile",
+ "identifiers": [
+ { "target": "UserName", "source": "response", "path": "LoginProfile.UserName" }
+ ],
+ "path": "LoginProfile"
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteLoginProfile",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateLoginProfile",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ }
+ },
+ "MfaDevice": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ },
+ {
+ "name": "SerialNumber",
+ "memberName": "SerialNumber"
+ }
+ ],
+ "shape": "MFADevice",
+ "actions": {
+ "Associate": {
+ "request": {
+ "operation": "EnableMFADevice",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
+ ]
+ }
+ },
+ "Disassociate": {
+ "request": {
+ "operation": "DeactivateMFADevice",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
+ ]
+ }
+ },
+ "Resync": {
+ "request": {
+ "operation": "ResyncMFADevice",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ }
+ },
+ "Policy": {
+ "identifiers": [
+ {
+ "name": "Arn",
+ "memberName": "Arn"
+ }
+ ],
+ "shape": "Policy",
+ "load": {
+ "request": {
+ "operation": "GetPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "Policy"
+ },
+ "actions": {
+ "AttachGroup": {
+ "request": {
+ "operation": "AttachGroupPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "AttachRole": {
+ "request": {
+ "operation": "AttachRolePolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "AttachUser": {
+ "request": {
+ "operation": "AttachUserPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "CreateVersion": {
+ "request": {
+ "operation": "CreatePolicyVersion",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "PolicyVersion",
+ "identifiers": [
+ { "target": "Arn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "response", "path": "PolicyVersion.VersionId" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeletePolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "DetachGroup": {
+ "request": {
+ "operation": "DetachGroupPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "DetachRole": {
+ "request": {
+ "operation": "DetachRolePolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "DetachUser": {
+ "request": {
+ "operation": "DetachUserPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "DefaultVersion": {
+ "resource": {
+ "type": "PolicyVersion",
+ "identifiers": [
+ { "target": "Arn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "data", "path": "DefaultVersionId" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AttachedGroups": {
+ "request": {
+ "operation": "ListEntitiesForPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "EntityFilter", "source": "string", "value": "Group" }
+ ]
+ },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PolicyGroups[].GroupName" }
+ ]
+ }
+ },
+ "AttachedRoles": {
+ "request": {
+ "operation": "ListEntitiesForPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "EntityFilter", "source": "string", "value": "Role" }
+ ]
+ },
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PolicyRoles[].RoleName" }
+ ]
+ }
+ },
+ "AttachedUsers": {
+ "request": {
+ "operation": "ListEntitiesForPolicy",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "EntityFilter", "source": "string", "value": "User" }
+ ]
+ },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "PolicyUsers[].UserName" }
+ ]
+ }
+ },
+ "Versions": {
+ "request": {
+ "operation": "ListPolicyVersions",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "PolicyVersion",
+ "identifiers": [
+ { "target": "Arn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "response", "path": "Versions[].VersionId" }
+ ],
+ "path": "Versions[]"
+ }
+ }
+ }
+ },
+ "PolicyVersion": {
+ "identifiers": [
+ { "name": "Arn" },
+ { "name": "VersionId" }
+ ],
+ "shape": "PolicyVersion",
+ "load": {
+ "request": {
+ "operation": "GetPolicyVersion",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "identifier", "name": "VersionId" }
+ ]
+ },
+ "path": "PolicyVersion"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeletePolicyVersion",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "identifier", "name": "VersionId" }
+ ]
+ }
+ },
+ "SetAsDefault": {
+ "request": {
+ "operation": "SetDefaultPolicyVersion",
+ "params": [
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
+ { "target": "VersionId", "source": "identifier", "name": "VersionId" }
+ ]
+ }
+ }
+ }
+ },
+ "Role": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "RoleName"
+ }
+ ],
+ "shape": "Role",
+ "load": {
+ "request": {
+ "operation": "GetRole",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "Role"
+ },
+ "actions": {
+ "AttachPolicy": {
+ "request": {
+ "operation": "AttachRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteRole",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "DetachPolicy": {
+ "request": {
+ "operation": "DetachRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "AssumeRolePolicy": {
+ "resource": {
+ "type": "AssumeRolePolicy",
+ "identifiers": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Policy": {
+ "resource": {
+ "type": "RolePolicy",
+ "identifiers": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AttachedPolicies": {
+ "request": {
+ "operation": "ListAttachedRolePolicies",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
+ ]
+ }
+ },
+ "InstanceProfiles": {
+ "request": {
+ "operation": "ListInstanceProfilesForRole",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "InstanceProfile",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "InstanceProfiles[].InstanceProfileName" }
+ ],
+ "path": "InstanceProfiles[]"
+ }
+ },
+ "Policies": {
+ "request": {
+ "operation": "ListRolePolicies",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "RolePolicy",
+ "identifiers": [
+ { "target": "RoleName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "response", "path": "PolicyNames[]" }
+ ]
+ }
+ }
+ }
+ },
+ "RolePolicy": {
+ "identifiers": [
+ {
+ "name": "RoleName",
+ "memberName": "RoleName"
+ },
+ {
+ "name": "Name",
+ "memberName": "PolicyName"
+ }
+ ],
+ "shape": "GetRolePolicyResponse",
+ "load": {
+ "request": {
+ "operation": "GetRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutRolePolicy",
+ "params": [
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Role": {
+ "resource": {
+ "type": "Role",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "RoleName" }
+ ]
+ }
+ }
+ }
+ },
+ "SamlProvider": {
+ "identifiers": [
+ { "name": "Arn" }
+ ],
+ "shape": "GetSAMLProviderResponse",
+ "load": {
+ "request": {
+ "operation": "GetSAMLProvider",
+ "params": [
+ { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteSAMLProvider",
+ "params": [
+ { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateSAMLProvider",
+ "params": [
+ { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ }
+ }
+ },
+ "ServerCertificate": {
+ "identifiers": [
+ { "name": "Name" }
+ ],
+ "shape": "ServerCertificate",
+ "load": {
+ "request": {
+ "operation": "GetServerCertificate",
+ "params": [
+ { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "ServerCertificate"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteServerCertificate",
+ "params": [
+ { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateServerCertificate",
+ "params": [
+ { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "ServerCertificate",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "NewServerCertificateName" }
+ ]
+ }
+ }
+ }
+ },
+ "SigningCertificate": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ },
+ {
+ "name": "Id",
+ "memberName": "CertificateId"
+ }
+ ],
+ "shape": "SigningCertificate",
+ "actions": {
+ "Activate": {
+ "request": {
+ "operation": "UpdateSigningCertificate",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "CertificateId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Active" }
+ ]
+ }
+ },
+ "Deactivate": {
+ "request": {
+ "operation": "UpdateSigningCertificate",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "CertificateId", "source": "identifier", "name": "Id" },
+ { "target": "Status", "source": "string", "value": "Inactive" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteSigningCertificate",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "CertificateId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ }
+ },
+ "User": {
+ "identifiers": [
+ {
+ "name": "Name",
+ "memberName": "UserName"
+ }
+ ],
+ "shape": "User",
+ "load": {
+ "request": {
+ "operation": "GetUser",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "User"
+ },
+ "actions": {
+ "AddGroup": {
+ "request": {
+ "operation": "AddUserToGroup",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "AttachPolicy": {
+ "request": {
+ "operation": "AttachUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Create": {
+ "request": {
+ "operation": "CreateUser",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "UserName" }
+ ],
+ "path": "User"
+ }
+ },
+ "CreateAccessKeyPair": {
+ "request": {
+ "operation": "CreateAccessKey",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "AccessKeyPair",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "AccessKey.AccessKeyId" },
+ { "target": "Secret", "source": "response", "path": "AccessKey.SecretAccessKey" }
+ ],
+ "path": "AccessKey"
+ }
+ },
+ "CreateLoginProfile": {
+ "request": {
+ "operation": "CreateLoginProfile",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "LoginProfile",
+ "identifiers": [
+ { "target": "UserName", "source": "response", "path": "LoginProfile.UserName" }
+ ],
+ "path": "LoginProfile"
+ }
+ },
+ "CreatePolicy": {
+ "request": {
+ "operation": "PutUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "UserPolicy",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "requestParameter", "path": "PolicyName" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteUser",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "DetachPolicy": {
+ "request": {
+ "operation": "DetachUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "EnableMfa": {
+ "request": {
+ "operation": "EnableMFADevice",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "MfaDevice",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "SerialNumber", "source": "requestParameter", "path": "SerialNumber" }
+ ]
+ }
+ },
+ "RemoveGroup": {
+ "request": {
+ "operation": "RemoveUserFromGroup",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Update": {
+ "request": {
+ "operation": "UpdateUser",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "NewUserName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "AccessKey": {
+ "resource": {
+ "type": "AccessKey",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "LoginProfile": {
+ "resource": {
+ "type": "LoginProfile",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "MfaDevice": {
+ "resource": {
+ "type": "MfaDevice",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "SerialNumber", "source": "input" }
+ ]
+ }
+ },
+ "Policy": {
+ "resource": {
+ "type": "UserPolicy",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ },
+ "SigningCertificate": {
+ "resource": {
+ "type": "SigningCertificate",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "AccessKeys": {
+ "request": {
+ "operation": "ListAccessKeys",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "AccessKey",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "AccessKeyMetadata[].AccessKeyId" }
+ ],
+ "path": "AccessKeyMetadata[]"
+ }
+ },
+ "AttachedPolicies": {
+ "request": {
+ "operation": "ListAttachedUserPolicies",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Policy",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
+ ]
+ }
+ },
+ "Groups": {
+ "request": {
+ "operation": "ListGroupsForUser",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Group",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Groups[].GroupName" }
+ ],
+ "path": "Groups[]"
+ }
+ },
+ "MfaDevices": {
+ "request": {
+ "operation": "ListMFADevices",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "MfaDevice",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "SerialNumber", "source": "response", "path": "MFADevices[].SerialNumber" }
+ ],
+ "path": "MFADevices[]"
+ }
+ },
+ "Policies": {
+ "request": {
+ "operation": "ListUserPolicies",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "UserPolicy",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Name", "source": "response", "path": "PolicyNames[]" }
+ ]
+ }
+ },
+ "SigningCertificates": {
+ "request": {
+ "operation": "ListSigningCertificates",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "SigningCertificate",
+ "identifiers": [
+ { "target": "UserName", "source": "identifier", "name": "Name" },
+ { "target": "Id", "source": "response", "path": "Certificates[].CertificateId" }
+ ],
+ "path": "Certificates[]"
+ }
+ }
+ }
+ },
+ "UserPolicy": {
+ "identifiers": [
+ {
+ "name": "UserName",
+ "memberName": "UserName"
+ },
+ {
+ "name": "Name",
+ "memberName": "PolicyName"
+ }
+ ],
+ "shape": "GetUserPolicyResponse",
+ "load": {
+ "request": {
+ "operation": "GetUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutUserPolicy",
+ "params": [
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "UserName" }
+ ]
+ }
+ }
+ }
+ },
+ "VirtualMfaDevice": {
+ "identifiers": [
+ {
+ "name": "SerialNumber",
+ "memberName": "SerialNumber"
+ }
+ ],
+ "shape": "VirtualMFADevice",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteVirtualMFADevice",
+ "params": [
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "User": {
+ "resource": {
+ "type": "User",
+ "identifiers": [
+ { "target": "Name", "source": "data", "path": "User.UserName" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/opsworks/2013-02-18/resources-1.json b/contrib/python/boto3/boto3/data/opsworks/2013-02-18/resources-1.json
index 0435b13bc0..efe987553e 100644
--- a/contrib/python/boto3/boto3/data/opsworks/2013-02-18/resources-1.json
+++ b/contrib/python/boto3/boto3/data/opsworks/2013-02-18/resources-1.json
@@ -1,173 +1,173 @@
-{
- "service": {
- "actions": {
- "CreateStack": {
- "request": { "operation": "CreateStack" },
- "resource": {
- "type": "Stack",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "StackId" }
- ]
- }
- }
- },
- "has": {
- "Layer": {
- "resource": {
- "type": "Layer",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Stack": {
- "resource": {
- "type": "Stack",
- "identifiers": [
- { "target": "Id", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "Stacks": {
- "request": { "operation": "DescribeStacks" },
- "resource": {
- "type": "Stack",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Stacks[].StackId" }
- ],
- "path": "Stacks[]"
- }
- }
- }
- },
- "resources": {
- "Layer": {
- "identifiers": [
- { "name": "Id" }
- ],
- "shape": "Layer",
- "load": {
- "request": {
- "operation": "DescribeLayers",
- "params": [
- { "target": "LayerIds[]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Layers[0]"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteLayer",
- "params": [
- { "target": "LayerId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Stack": {
- "resource": {
- "type": "Stack",
- "identifiers": [
- { "target": "Id", "source": "data", "path": "StackId" }
- ]
- }
- }
- }
- },
- "Stack": {
- "identifiers": [
- { "name": "Id" }
- ],
- "shape": "Stack",
- "load": {
- "request": {
- "operation": "DescribeStacks",
- "params": [
- { "target": "StackIds[]", "source": "identifier", "name": "Id" }
- ]
- },
- "path": "Stacks[0]"
- },
- "actions": {
- "CreateLayer": {
- "request": {
- "operation": "CreateLayer",
- "params": [
- { "target": "StackId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Layer",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "LayerId" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteStack",
- "params": [
- { "target": "StackId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Summary": {
- "resource": {
- "type": "StackSummary",
- "identifiers": [
- { "target": "StackId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "hasMany": {
- "Layers": {
- "request": {
- "operation": "DescribeLayers",
- "params": [
- { "target": "StackId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Layer",
- "identifiers": [
- { "target": "Id", "source": "response", "path": "Layers[].LayerId" }
- ],
- "path": "Layers[]"
- }
- }
- }
- },
- "StackSummary": {
- "identifiers": [
- { "name": "StackId" }
- ],
- "shape": "StackSummary",
- "load": {
- "request": {
- "operation": "DescribeStackSummary",
- "params": [
- { "target": "StackId", "source": "identifier", "name": "StackId" }
- ]
- },
- "path": "StackSummary"
- },
- "has": {
- "Stack": {
- "resource": {
- "type": "Stack",
- "identifiers": [
- { "target": "Id", "source": "identifier", "name": "StackId" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateStack": {
+ "request": { "operation": "CreateStack" },
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "StackId" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Layer": {
+ "resource": {
+ "type": "Layer",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Stack": {
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Stacks": {
+ "request": { "operation": "DescribeStacks" },
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Stacks[].StackId" }
+ ],
+ "path": "Stacks[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "Layer": {
+ "identifiers": [
+ { "name": "Id" }
+ ],
+ "shape": "Layer",
+ "load": {
+ "request": {
+ "operation": "DescribeLayers",
+ "params": [
+ { "target": "LayerIds[]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Layers[0]"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteLayer",
+ "params": [
+ { "target": "LayerId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Stack": {
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Id", "source": "data", "path": "StackId" }
+ ]
+ }
+ }
+ }
+ },
+ "Stack": {
+ "identifiers": [
+ { "name": "Id" }
+ ],
+ "shape": "Stack",
+ "load": {
+ "request": {
+ "operation": "DescribeStacks",
+ "params": [
+ { "target": "StackIds[]", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "path": "Stacks[0]"
+ },
+ "actions": {
+ "CreateLayer": {
+ "request": {
+ "operation": "CreateLayer",
+ "params": [
+ { "target": "StackId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Layer",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "LayerId" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteStack",
+ "params": [
+ { "target": "StackId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Summary": {
+ "resource": {
+ "type": "StackSummary",
+ "identifiers": [
+ { "target": "StackId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Layers": {
+ "request": {
+ "operation": "DescribeLayers",
+ "params": [
+ { "target": "StackId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Layer",
+ "identifiers": [
+ { "target": "Id", "source": "response", "path": "Layers[].LayerId" }
+ ],
+ "path": "Layers[]"
+ }
+ }
+ }
+ },
+ "StackSummary": {
+ "identifiers": [
+ { "name": "StackId" }
+ ],
+ "shape": "StackSummary",
+ "load": {
+ "request": {
+ "operation": "DescribeStackSummary",
+ "params": [
+ { "target": "StackId", "source": "identifier", "name": "StackId" }
+ ]
+ },
+ "path": "StackSummary"
+ },
+ "has": {
+ "Stack": {
+ "resource": {
+ "type": "Stack",
+ "identifiers": [
+ { "target": "Id", "source": "identifier", "name": "StackId" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/s3/2006-03-01/resources-1.json b/contrib/python/boto3/boto3/data/s3/2006-03-01/resources-1.json
index f1e88c6331..f73478e7ef 100644
--- a/contrib/python/boto3/boto3/data/s3/2006-03-01/resources-1.json
+++ b/contrib/python/boto3/boto3/data/s3/2006-03-01/resources-1.json
@@ -1,1249 +1,1249 @@
-{
- "service": {
- "actions": {
- "CreateBucket": {
- "request": { "operation": "CreateBucket" },
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "requestParameter", "path": "Bucket" }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "Buckets": {
- "request": { "operation": "ListBuckets" },
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "response", "path": "Buckets[].Name" }
- ],
- "path": "Buckets[]"
- }
- }
- }
- },
- "resources": {
- "Bucket": {
- "identifiers": [
- { "name": "Name" }
- ],
- "shape": "Bucket",
- "actions": {
- "Create": {
- "request": {
- "operation": "CreateBucket",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteBucket",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "DeleteObjects": {
- "request": {
- "operation": "DeleteObjects",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "PutObject": {
- "request": {
- "operation": "PutObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "Object",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" },
- { "target": "Key", "source": "requestParameter", "path": "Key" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "BucketExists",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "Name" }
- ]
- },
- "NotExists": {
- "waiterName": "BucketNotExists",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "has": {
- "Acl": {
- "resource": {
- "type": "BucketAcl",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Cors": {
- "resource": {
- "type": "BucketCors",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Lifecycle": {
- "resource": {
- "type": "BucketLifecycle",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "LifecycleConfiguration": {
- "resource": {
- "type": "BucketLifecycleConfiguration",
- "identifiers": [
- {
- "target": "BucketName",
- "source": "identifier",
- "name": "Name"
- }
- ]
- }
- },
- "Logging": {
- "resource": {
- "type": "BucketLogging",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Notification": {
- "resource": {
- "type": "BucketNotification",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Object": {
- "resource": {
- "type": "Object",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" },
- { "target": "Key", "source": "input" }
- ]
- }
- },
- "Policy": {
- "resource": {
- "type": "BucketPolicy",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "RequestPayment": {
- "resource": {
- "type": "BucketRequestPayment",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Tagging": {
- "resource": {
- "type": "BucketTagging",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Versioning": {
- "resource": {
- "type": "BucketVersioning",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" }
- ]
- }
- },
- "Website": {
- "resource": {
- "type": "BucketWebsite",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" }
- ]
- }
- }
- },
- "hasMany": {
- "MultipartUploads": {
- "request": {
- "operation": "ListMultipartUploads",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "MultipartUpload",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" },
- { "target": "ObjectKey", "source": "response", "path": "Uploads[].Key" },
- { "target": "Id", "source": "response", "path": "Uploads[].UploadId" }
- ],
- "path": "Uploads[]"
- }
- },
- "ObjectVersions": {
- "request": {
- "operation": "ListObjectVersions",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "ObjectVersion",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" },
- { "target": "ObjectKey", "source": "response", "path": "[Versions,DeleteMarkers]|[].Key" },
- { "target": "Id", "source": "response", "path": "[Versions,DeleteMarkers]|[].VersionId" }
- ],
- "path": "[Versions,DeleteMarkers]|[]"
- }
- },
- "Objects": {
- "request": {
- "operation": "ListObjects",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "Name" }
- ]
- },
- "resource": {
- "type": "ObjectSummary",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "Name" },
- { "target": "Key", "source": "response", "path": "Contents[].Key" }
- ],
- "path": "Contents[]"
- }
- }
- }
- },
- "BucketAcl": {
- "identifiers": [
- { "name": "BucketName" }
- ],
- "shape": "GetBucketAclOutput",
- "load": {
- "request": {
- "operation": "GetBucketAcl",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Put": {
- "request": {
- "operation": "PutBucketAcl",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- }
- },
- "BucketCors": {
- "identifiers": [
- { "name": "BucketName" }
- ],
- "shape": "GetBucketCorsOutput",
- "load": {
- "request": {
- "operation": "GetBucketCors",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteBucketCors",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutBucketCors",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- }
- },
- "BucketLifecycle": {
- "identifiers": [
- { "name": "BucketName" }
- ],
- "shape": "GetBucketLifecycleOutput",
- "load": {
- "request": {
- "operation": "GetBucketLifecycle",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteBucketLifecycle",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutBucketLifecycle",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- }
- },
- "BucketLifecycleConfiguration": {
- "identifiers": [
- {
- "name": "BucketName"
- }
- ],
- "shape": "GetBucketLifecycleConfigurationOutput",
- "load": {
- "request": {
- "operation": "GetBucketLifecycleConfiguration",
- "params": [
- {
- "target": "Bucket",
- "source": "identifier",
- "name": "BucketName"
- }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteBucketLifecycle",
- "params": [
- {
- "target": "Bucket",
- "source": "identifier",
- "name": "BucketName"
- }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutBucketLifecycleConfiguration",
- "params": [
- {
- "target": "Bucket",
- "source": "identifier",
- "name": "BucketName"
- }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- {
- "target": "Name",
- "source": "identifier",
- "name": "BucketName"
- }
- ]
- }
- }
- }
- },
- "BucketLogging": {
- "identifiers": [
- { "name": "BucketName" }
- ],
- "shape": "GetBucketLoggingOutput",
- "load": {
- "request": {
- "operation": "GetBucketLogging",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Put": {
- "request": {
- "operation": "PutBucketLogging",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- }
- },
- "BucketNotification": {
- "identifiers": [
- { "name": "BucketName" }
- ],
- "shape": "NotificationConfiguration",
- "load": {
- "request": {
- "operation": "GetBucketNotificationConfiguration",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Put": {
- "request": {
- "operation": "PutBucketNotificationConfiguration",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- }
- },
- "BucketPolicy": {
- "identifiers": [
- { "name": "BucketName" }
- ],
- "shape": "GetBucketPolicyOutput",
- "load": {
- "request": {
- "operation": "GetBucketPolicy",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteBucketPolicy",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutBucketPolicy",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- }
- },
- "BucketRequestPayment": {
- "identifiers": [
- { "name": "BucketName" }
- ],
- "shape": "GetBucketRequestPaymentOutput",
- "load": {
- "request": {
- "operation": "GetBucketRequestPayment",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Put": {
- "request": {
- "operation": "PutBucketRequestPayment",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- }
- },
- "BucketTagging": {
- "identifiers": [
- { "name": "BucketName" }
- ],
- "shape": "GetBucketTaggingOutput",
- "load": {
- "request": {
- "operation": "GetBucketTagging",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteBucketTagging",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutBucketTagging",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- }
- },
- "BucketVersioning": {
- "identifiers": [
- { "name": "BucketName" }
- ],
- "shape": "GetBucketVersioningOutput",
- "load": {
- "request": {
- "operation": "GetBucketVersioning",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Enable": {
- "request": {
- "operation": "PutBucketVersioning",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "VersioningConfiguration.Status", "source": "string", "value": "Enabled" }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutBucketVersioning",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- },
- "Suspend": {
- "request": {
- "operation": "PutBucketVersioning",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "VersioningConfiguration.Status", "source": "string", "value": "Suspended" }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- }
- },
- "BucketWebsite": {
- "identifiers": [
- { "name": "BucketName" }
- ],
- "shape": "GetBucketWebsiteOutput",
- "load": {
- "request": {
- "operation": "GetBucketWebsite",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteBucketWebsite",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutBucketWebsite",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- },
- "has": {
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- }
- }
- },
- "MultipartUpload": {
- "identifiers": [
- { "name": "BucketName" },
- { "name": "ObjectKey" },
- { "name": "Id" }
- ],
- "shape": "MultipartUpload",
- "actions": {
- "Abort": {
- "request": {
- "operation": "AbortMultipartUpload",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" },
- { "target": "UploadId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Complete": {
- "request": {
- "operation": "CompleteMultipartUpload",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" },
- { "target": "UploadId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "Object",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" }
- ]
- }
- }
- },
- "has": {
- "Object": {
- "resource": {
- "type": "Object",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" }
- ]
- }
- },
- "Part": {
- "resource": {
- "type": "MultipartUploadPart",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" },
- { "target": "MultipartUploadId", "source": "identifier", "name": "Id" },
- { "target": "PartNumber", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "Parts": {
- "request": {
- "operation": "ListParts",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" },
- { "target": "UploadId", "source": "identifier", "name": "Id" }
- ]
- },
- "resource": {
- "type": "MultipartUploadPart",
- "identifiers": [
- { "target": "BucketName", "source": "requestParameter", "path": "Bucket" },
- { "target": "ObjectKey", "source": "requestParameter", "path": "Key" },
- { "target": "MultipartUploadId", "source": "requestParameter", "path": "UploadId" },
- { "target": "PartNumber", "source": "response", "path": "Parts[].PartNumber" }
- ],
- "path": "Parts[]"
- }
- }
- }
- },
- "MultipartUploadPart": {
- "identifiers": [
- { "name": "BucketName" },
- { "name": "ObjectKey" },
- { "name": "MultipartUploadId" },
- {
- "name": "PartNumber",
- "type": "integer",
- "memberName": "PartNumber"
- }
- ],
- "shape": "Part",
- "actions": {
- "CopyFrom": {
- "request": {
- "operation": "UploadPartCopy",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" },
- { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" },
- { "target": "PartNumber", "source": "identifier", "name": "PartNumber" }
- ]
- }
- },
- "Upload": {
- "request": {
- "operation": "UploadPart",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" },
- { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" },
- { "target": "PartNumber", "source": "identifier", "name": "PartNumber" }
- ]
- }
- }
- },
- "has": {
- "MultipartUpload": {
- "resource": {
- "type": "MultipartUpload",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" },
- { "target": "Id", "source": "identifier", "name": "MultipartUploadId" }
- ]
- }
- }
- }
- },
- "Object": {
- "identifiers": [
- { "name": "BucketName" },
- { "name": "Key" }
- ],
- "shape": "HeadObjectOutput",
- "load": {
- "request": {
- "operation": "HeadObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "CopyFrom": {
- "request": {
- "operation": "CopyObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "Get": {
- "request": {
- "operation": "GetObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "InitiateMultipartUpload": {
- "request": {
- "operation": "CreateMultipartUpload",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- },
- "resource": {
- "type": "MultipartUpload",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "ObjectKey", "source": "identifier", "name": "Key" },
- { "target": "Id", "source": "response", "path": "UploadId" }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "RestoreObject": {
- "request": {
- "operation": "RestoreObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteObjects",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Delete.Objects[].Key", "source": "identifier", "name": "Key" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "ObjectExists",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- },
- "NotExists": {
- "waiterName": "ObjectNotExists",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "has": {
- "Acl": {
- "resource": {
- "type": "ObjectAcl",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "ObjectKey", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- },
- "MultipartUpload": {
- "resource": {
- "type": "MultipartUpload",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "ObjectKey", "source": "identifier", "name": "Key" },
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Version": {
- "resource": {
- "type": "ObjectVersion",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "ObjectKey", "source": "identifier", "name": "Key" },
- { "target": "Id", "source": "input" }
- ]
- }
- }
- }
- },
- "ObjectAcl": {
- "identifiers": [
- { "name": "BucketName" },
- { "name": "ObjectKey" }
- ],
- "shape": "GetObjectAclOutput",
- "load": {
- "request": {
- "operation": "GetObjectAcl",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Put": {
- "request": {
- "operation": "PutObjectAcl",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" }
- ]
- }
- }
- },
- "has": {
- "Object": {
- "resource": {
- "type": "Object",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" }
- ]
- }
- }
- }
- },
- "ObjectSummary": {
- "identifiers": [
- { "name": "BucketName" },
- { "name": "Key" }
- ],
- "shape": "Object",
- "actions": {
- "CopyFrom": {
- "request": {
- "operation": "CopyObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "Get": {
- "request": {
- "operation": "GetObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "InitiateMultipartUpload": {
- "request": {
- "operation": "CreateMultipartUpload",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- },
- "resource": {
- "type": "MultipartUpload",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "ObjectKey", "source": "identifier", "name": "Key" },
- { "target": "Id", "source": "response", "path": "UploadId" }
- ]
- }
- },
- "Put": {
- "request": {
- "operation": "PutObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "RestoreObject": {
- "request": {
- "operation": "RestoreObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteObjects",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Delete.Objects[].Key", "source": "identifier", "name": "Key" }
- ]
- }
- }
- },
- "waiters": {
- "Exists": {
- "waiterName": "ObjectExists",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- },
- "NotExists": {
- "waiterName": "ObjectNotExists",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "has": {
- "Acl": {
- "resource": {
- "type": "ObjectAcl",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "ObjectKey", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "Bucket": {
- "resource": {
- "type": "Bucket",
- "identifiers": [
- { "target": "Name", "source": "identifier", "name": "BucketName" }
- ]
- }
- },
- "MultipartUpload": {
- "resource": {
- "type": "MultipartUpload",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "ObjectKey", "source": "identifier", "name": "Key" },
- { "target": "Id", "source": "input" }
- ]
- }
- },
- "Object": {
- "resource": {
- "type": "Object",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "Key" }
- ]
- }
- },
- "Version": {
- "resource": {
- "type": "ObjectVersion",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "ObjectKey", "source": "identifier", "name": "Key" },
- { "target": "Id", "source": "input" }
- ]
- }
- }
- }
- },
- "ObjectVersion": {
- "identifiers": [
- { "name": "BucketName" },
- { "name": "ObjectKey" },
- { "name": "Id" }
- ],
- "shape": "ObjectVersion",
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" },
- { "target": "VersionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Get": {
- "request": {
- "operation": "GetObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" },
- { "target": "VersionId", "source": "identifier", "name": "Id" }
- ]
- }
- },
- "Head": {
- "request": {
- "operation": "HeadObject",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" },
- { "target": "VersionId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteObjects",
- "params": [
- { "target": "Bucket", "source": "identifier", "name": "BucketName" },
- { "target": "Delete.Objects[*].Key", "source": "identifier", "name": "ObjectKey" },
- { "target": "Delete.Objects[*].VersionId", "source": "identifier", "name": "Id" }
- ]
- }
- }
- },
- "has": {
- "Object": {
- "resource": {
- "type": "Object",
- "identifiers": [
- { "target": "BucketName", "source": "identifier", "name": "BucketName" },
- { "target": "Key", "source": "identifier", "name": "ObjectKey" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateBucket": {
+ "request": { "operation": "CreateBucket" },
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "requestParameter", "path": "Bucket" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Buckets": {
+ "request": { "operation": "ListBuckets" },
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "response", "path": "Buckets[].Name" }
+ ],
+ "path": "Buckets[]"
+ }
+ }
+ }
+ },
+ "resources": {
+ "Bucket": {
+ "identifiers": [
+ { "name": "Name" }
+ ],
+ "shape": "Bucket",
+ "actions": {
+ "Create": {
+ "request": {
+ "operation": "CreateBucket",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucket",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "DeleteObjects": {
+ "request": {
+ "operation": "DeleteObjects",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "PutObject": {
+ "request": {
+ "operation": "PutObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
+ { "target": "Key", "source": "requestParameter", "path": "Key" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "BucketExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "NotExists": {
+ "waiterName": "BucketNotExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "has": {
+ "Acl": {
+ "resource": {
+ "type": "BucketAcl",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Cors": {
+ "resource": {
+ "type": "BucketCors",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Lifecycle": {
+ "resource": {
+ "type": "BucketLifecycle",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "LifecycleConfiguration": {
+ "resource": {
+ "type": "BucketLifecycleConfiguration",
+ "identifiers": [
+ {
+ "target": "BucketName",
+ "source": "identifier",
+ "name": "Name"
+ }
+ ]
+ }
+ },
+ "Logging": {
+ "resource": {
+ "type": "BucketLogging",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Notification": {
+ "resource": {
+ "type": "BucketNotification",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Object": {
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
+ { "target": "Key", "source": "input" }
+ ]
+ }
+ },
+ "Policy": {
+ "resource": {
+ "type": "BucketPolicy",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "RequestPayment": {
+ "resource": {
+ "type": "BucketRequestPayment",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Tagging": {
+ "resource": {
+ "type": "BucketTagging",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Versioning": {
+ "resource": {
+ "type": "BucketVersioning",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ },
+ "Website": {
+ "resource": {
+ "type": "BucketWebsite",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "MultipartUploads": {
+ "request": {
+ "operation": "ListMultipartUploads",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
+ { "target": "ObjectKey", "source": "response", "path": "Uploads[].Key" },
+ { "target": "Id", "source": "response", "path": "Uploads[].UploadId" }
+ ],
+ "path": "Uploads[]"
+ }
+ },
+ "ObjectVersions": {
+ "request": {
+ "operation": "ListObjectVersions",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "ObjectVersion",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
+ { "target": "ObjectKey", "source": "response", "path": "[Versions,DeleteMarkers]|[].Key" },
+ { "target": "Id", "source": "response", "path": "[Versions,DeleteMarkers]|[].VersionId" }
+ ],
+ "path": "[Versions,DeleteMarkers]|[]"
+ }
+ },
+ "Objects": {
+ "request": {
+ "operation": "ListObjects",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
+ ]
+ },
+ "resource": {
+ "type": "ObjectSummary",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
+ { "target": "Key", "source": "response", "path": "Contents[].Key" }
+ ],
+ "path": "Contents[]"
+ }
+ }
+ }
+ },
+ "BucketAcl": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketAclOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketAcl",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Put": {
+ "request": {
+ "operation": "PutBucketAcl",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketCors": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketCorsOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketCors",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketCors",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketCors",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketLifecycle": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketLifecycleOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketLifecycle",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketLifecycle",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketLifecycle",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketLifecycleConfiguration": {
+ "identifiers": [
+ {
+ "name": "BucketName"
+ }
+ ],
+ "shape": "GetBucketLifecycleConfigurationOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketLifecycleConfiguration",
+ "params": [
+ {
+ "target": "Bucket",
+ "source": "identifier",
+ "name": "BucketName"
+ }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketLifecycle",
+ "params": [
+ {
+ "target": "Bucket",
+ "source": "identifier",
+ "name": "BucketName"
+ }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketLifecycleConfiguration",
+ "params": [
+ {
+ "target": "Bucket",
+ "source": "identifier",
+ "name": "BucketName"
+ }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ {
+ "target": "Name",
+ "source": "identifier",
+ "name": "BucketName"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "BucketLogging": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketLoggingOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketLogging",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Put": {
+ "request": {
+ "operation": "PutBucketLogging",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketNotification": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "NotificationConfiguration",
+ "load": {
+ "request": {
+ "operation": "GetBucketNotificationConfiguration",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Put": {
+ "request": {
+ "operation": "PutBucketNotificationConfiguration",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketPolicy": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketPolicyOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketPolicy",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketPolicy",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketPolicy",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketRequestPayment": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketRequestPaymentOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketRequestPayment",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Put": {
+ "request": {
+ "operation": "PutBucketRequestPayment",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketTagging": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketTaggingOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketTagging",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketTagging",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketTagging",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketVersioning": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketVersioningOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketVersioning",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Enable": {
+ "request": {
+ "operation": "PutBucketVersioning",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "VersioningConfiguration.Status", "source": "string", "value": "Enabled" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketVersioning",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Suspend": {
+ "request": {
+ "operation": "PutBucketVersioning",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "VersioningConfiguration.Status", "source": "string", "value": "Suspended" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "BucketWebsite": {
+ "identifiers": [
+ { "name": "BucketName" }
+ ],
+ "shape": "GetBucketWebsiteOutput",
+ "load": {
+ "request": {
+ "operation": "GetBucketWebsite",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteBucketWebsite",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutBucketWebsite",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ }
+ }
+ },
+ "MultipartUpload": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "ObjectKey" },
+ { "name": "Id" }
+ ],
+ "shape": "MultipartUpload",
+ "actions": {
+ "Abort": {
+ "request": {
+ "operation": "AbortMultipartUpload",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Complete": {
+ "request": {
+ "operation": "CompleteMultipartUpload",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Object": {
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ }
+ },
+ "Part": {
+ "resource": {
+ "type": "MultipartUploadPart",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" },
+ { "target": "MultipartUploadId", "source": "identifier", "name": "Id" },
+ { "target": "PartNumber", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Parts": {
+ "request": {
+ "operation": "ListParts",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUploadPart",
+ "identifiers": [
+ { "target": "BucketName", "source": "requestParameter", "path": "Bucket" },
+ { "target": "ObjectKey", "source": "requestParameter", "path": "Key" },
+ { "target": "MultipartUploadId", "source": "requestParameter", "path": "UploadId" },
+ { "target": "PartNumber", "source": "response", "path": "Parts[].PartNumber" }
+ ],
+ "path": "Parts[]"
+ }
+ }
+ }
+ },
+ "MultipartUploadPart": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "ObjectKey" },
+ { "name": "MultipartUploadId" },
+ {
+ "name": "PartNumber",
+ "type": "integer",
+ "memberName": "PartNumber"
+ }
+ ],
+ "shape": "Part",
+ "actions": {
+ "CopyFrom": {
+ "request": {
+ "operation": "UploadPartCopy",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" },
+ { "target": "PartNumber", "source": "identifier", "name": "PartNumber" }
+ ]
+ }
+ },
+ "Upload": {
+ "request": {
+ "operation": "UploadPart",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" },
+ { "target": "PartNumber", "source": "identifier", "name": "PartNumber" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "MultipartUpload": {
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" },
+ { "target": "Id", "source": "identifier", "name": "MultipartUploadId" }
+ ]
+ }
+ }
+ }
+ },
+ "Object": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "Key" }
+ ],
+ "shape": "HeadObjectOutput",
+ "load": {
+ "request": {
+ "operation": "HeadObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "CopyFrom": {
+ "request": {
+ "operation": "CopyObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Get": {
+ "request": {
+ "operation": "GetObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "InitiateMultipartUpload": {
+ "request": {
+ "operation": "CreateMultipartUpload",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "response", "path": "UploadId" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "RestoreObject": {
+ "request": {
+ "operation": "RestoreObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteObjects",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Delete.Objects[].Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "ObjectExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ },
+ "NotExists": {
+ "waiterName": "ObjectNotExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "has": {
+ "Acl": {
+ "resource": {
+ "type": "ObjectAcl",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "MultipartUpload": {
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Version": {
+ "resource": {
+ "type": "ObjectVersion",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ }
+ },
+ "ObjectAcl": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "ObjectKey" }
+ ],
+ "shape": "GetObjectAclOutput",
+ "load": {
+ "request": {
+ "operation": "GetObjectAcl",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Put": {
+ "request": {
+ "operation": "PutObjectAcl",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Object": {
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ }
+ }
+ }
+ },
+ "ObjectSummary": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "Key" }
+ ],
+ "shape": "Object",
+ "actions": {
+ "CopyFrom": {
+ "request": {
+ "operation": "CopyObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Get": {
+ "request": {
+ "operation": "GetObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "InitiateMultipartUpload": {
+ "request": {
+ "operation": "CreateMultipartUpload",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ },
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "response", "path": "UploadId" }
+ ]
+ }
+ },
+ "Put": {
+ "request": {
+ "operation": "PutObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "RestoreObject": {
+ "request": {
+ "operation": "RestoreObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteObjects",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Delete.Objects[].Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ }
+ },
+ "waiters": {
+ "Exists": {
+ "waiterName": "ObjectExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ },
+ "NotExists": {
+ "waiterName": "ObjectNotExists",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "has": {
+ "Acl": {
+ "resource": {
+ "type": "ObjectAcl",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Bucket": {
+ "resource": {
+ "type": "Bucket",
+ "identifiers": [
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
+ ]
+ }
+ },
+ "MultipartUpload": {
+ "resource": {
+ "type": "MultipartUpload",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ },
+ "Object": {
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "Key" }
+ ]
+ }
+ },
+ "Version": {
+ "resource": {
+ "type": "ObjectVersion",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
+ { "target": "Id", "source": "input" }
+ ]
+ }
+ }
+ }
+ },
+ "ObjectVersion": {
+ "identifiers": [
+ { "name": "BucketName" },
+ { "name": "ObjectKey" },
+ { "name": "Id" }
+ ],
+ "shape": "ObjectVersion",
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Get": {
+ "request": {
+ "operation": "GetObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ },
+ "Head": {
+ "request": {
+ "operation": "HeadObject",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteObjects",
+ "params": [
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
+ { "target": "Delete.Objects[*].Key", "source": "identifier", "name": "ObjectKey" },
+ { "target": "Delete.Objects[*].VersionId", "source": "identifier", "name": "Id" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Object": {
+ "resource": {
+ "type": "Object",
+ "identifiers": [
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/sns/2010-03-31/resources-1.json b/contrib/python/boto3/boto3/data/sns/2010-03-31/resources-1.json
index cee300a864..6c8506a78a 100644
--- a/contrib/python/boto3/boto3/data/sns/2010-03-31/resources-1.json
+++ b/contrib/python/boto3/boto3/data/sns/2010-03-31/resources-1.json
@@ -1,327 +1,327 @@
-{
- "service": {
- "actions": {
- "CreatePlatformApplication": {
- "request": { "operation": "CreatePlatformApplication" },
- "resource": {
- "type": "PlatformApplication",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "PlatformApplicationArn" }
- ]
- }
- },
- "CreateTopic": {
- "request": { "operation": "CreateTopic" },
- "resource": {
- "type": "Topic",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "TopicArn" }
- ]
- }
- }
- },
- "has": {
- "PlatformApplication": {
- "resource": {
- "type": "PlatformApplication",
- "identifiers": [
- { "target": "Arn", "source": "input" }
- ]
- }
- },
- "PlatformEndpoint": {
- "resource": {
- "type": "PlatformEndpoint",
- "identifiers": [
- { "target": "Arn", "source": "input" }
- ]
- }
- },
- "Subscription": {
- "resource": {
- "type": "Subscription",
- "identifiers": [
- { "target": "Arn", "source": "input" }
- ]
- }
- },
- "Topic": {
- "resource": {
- "type": "Topic",
- "identifiers": [
- { "target": "Arn", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "PlatformApplications": {
- "request": { "operation": "ListPlatformApplications" },
- "resource": {
- "type": "PlatformApplication",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "PlatformApplications[].PlatformApplicationArn" }
- ]
- }
- },
- "Subscriptions": {
- "request": { "operation": "ListSubscriptions" },
- "resource": {
- "type": "Subscription",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "Subscriptions[].SubscriptionArn" }
- ]
- }
- },
- "Topics": {
- "request": { "operation": "ListTopics" },
- "resource": {
- "type": "Topic",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "Topics[].TopicArn" }
- ]
- }
- }
- }
- },
- "resources": {
- "PlatformApplication": {
- "identifiers": [
- { "name": "Arn" }
- ],
- "shape": "GetPlatformApplicationAttributesResponse",
- "load": {
- "request": {
- "operation": "GetPlatformApplicationAttributes",
- "params": [
- { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "CreatePlatformEndpoint": {
- "request": {
- "operation": "CreatePlatformEndpoint",
- "params": [
- { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "resource": {
- "type": "PlatformEndpoint",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "EndpointArn" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeletePlatformApplication",
- "params": [
- { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "SetAttributes": {
- "request": {
- "operation": "SetPlatformApplicationAttributes",
- "params": [
- { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
- ]
- }
- }
- },
- "hasMany": {
- "Endpoints": {
- "request": {
- "operation": "ListEndpointsByPlatformApplication",
- "params": [
- { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "resource": {
- "type": "PlatformEndpoint",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "Endpoints[].EndpointArn" }
- ]
- }
- }
- }
- },
- "PlatformEndpoint": {
- "identifiers": [
- { "name": "Arn" }
- ],
- "shape": "GetEndpointAttributesResponse",
- "load": {
- "request": {
- "operation": "GetEndpointAttributes",
- "params": [
- { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "DeleteEndpoint",
- "params": [
- { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "Publish": {
- "request": {
- "operation": "Publish",
- "params": [
- { "target": "TargetArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "SetAttributes": {
- "request": {
- "operation": "SetEndpointAttributes",
- "params": [
- { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
- ]
- }
- }
- }
- },
- "Subscription": {
- "identifiers": [
- { "name": "Arn" }
- ],
- "shape": "GetSubscriptionAttributesResponse",
- "load": {
- "request": {
- "operation": "GetSubscriptionAttributes",
- "params": [
- { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "Delete": {
- "request": {
- "operation": "Unsubscribe",
- "params": [
- { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "SetAttributes": {
- "request": {
- "operation": "SetSubscriptionAttributes",
- "params": [
- { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
- ]
- }
- }
- }
- },
- "Topic": {
- "identifiers": [
- { "name": "Arn" }
- ],
- "shape": "GetTopicAttributesResponse",
- "load": {
- "request": {
- "operation": "GetTopicAttributes",
- "params": [
- { "target": "TopicArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "AddPermission": {
- "request": {
- "operation": "AddPermission",
- "params": [
- { "target": "TopicArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "ConfirmSubscription": {
- "request": {
- "operation": "ConfirmSubscription",
- "params": [
- { "target": "TopicArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "resource": {
- "type": "Subscription",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "SubscriptionArn" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteTopic",
- "params": [
- { "target": "TopicArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "Publish": {
- "request": {
- "operation": "Publish",
- "params": [
- { "target": "TopicArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "RemovePermission": {
- "request": {
- "operation": "RemovePermission",
- "params": [
- { "target": "TopicArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "SetAttributes": {
- "request": {
- "operation": "SetTopicAttributes",
- "params": [
- { "target": "TopicArn", "source": "identifier", "name": "Arn" }
- ]
- }
- },
- "Subscribe": {
- "request": {
- "operation": "Subscribe",
- "params": [
- { "target": "TopicArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "resource": {
- "type": "Subscription",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "SubscriptionArn" }
- ]
- }
- }
- },
- "hasMany": {
- "Subscriptions": {
- "request": {
- "operation": "ListSubscriptionsByTopic",
- "params": [
- { "target": "TopicArn", "source": "identifier", "name": "Arn" }
- ]
- },
- "resource": {
- "type": "Subscription",
- "identifiers": [
- { "target": "Arn", "source": "response", "path": "Subscriptions[].SubscriptionArn" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreatePlatformApplication": {
+ "request": { "operation": "CreatePlatformApplication" },
+ "resource": {
+ "type": "PlatformApplication",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "PlatformApplicationArn" }
+ ]
+ }
+ },
+ "CreateTopic": {
+ "request": { "operation": "CreateTopic" },
+ "resource": {
+ "type": "Topic",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "TopicArn" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "PlatformApplication": {
+ "resource": {
+ "type": "PlatformApplication",
+ "identifiers": [
+ { "target": "Arn", "source": "input" }
+ ]
+ }
+ },
+ "PlatformEndpoint": {
+ "resource": {
+ "type": "PlatformEndpoint",
+ "identifiers": [
+ { "target": "Arn", "source": "input" }
+ ]
+ }
+ },
+ "Subscription": {
+ "resource": {
+ "type": "Subscription",
+ "identifiers": [
+ { "target": "Arn", "source": "input" }
+ ]
+ }
+ },
+ "Topic": {
+ "resource": {
+ "type": "Topic",
+ "identifiers": [
+ { "target": "Arn", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "PlatformApplications": {
+ "request": { "operation": "ListPlatformApplications" },
+ "resource": {
+ "type": "PlatformApplication",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "PlatformApplications[].PlatformApplicationArn" }
+ ]
+ }
+ },
+ "Subscriptions": {
+ "request": { "operation": "ListSubscriptions" },
+ "resource": {
+ "type": "Subscription",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Subscriptions[].SubscriptionArn" }
+ ]
+ }
+ },
+ "Topics": {
+ "request": { "operation": "ListTopics" },
+ "resource": {
+ "type": "Topic",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Topics[].TopicArn" }
+ ]
+ }
+ }
+ }
+ },
+ "resources": {
+ "PlatformApplication": {
+ "identifiers": [
+ { "name": "Arn" }
+ ],
+ "shape": "GetPlatformApplicationAttributesResponse",
+ "load": {
+ "request": {
+ "operation": "GetPlatformApplicationAttributes",
+ "params": [
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "CreatePlatformEndpoint": {
+ "request": {
+ "operation": "CreatePlatformEndpoint",
+ "params": [
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "PlatformEndpoint",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "EndpointArn" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeletePlatformApplication",
+ "params": [
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "SetAttributes": {
+ "request": {
+ "operation": "SetPlatformApplicationAttributes",
+ "params": [
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Endpoints": {
+ "request": {
+ "operation": "ListEndpointsByPlatformApplication",
+ "params": [
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "PlatformEndpoint",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Endpoints[].EndpointArn" }
+ ]
+ }
+ }
+ }
+ },
+ "PlatformEndpoint": {
+ "identifiers": [
+ { "name": "Arn" }
+ ],
+ "shape": "GetEndpointAttributesResponse",
+ "load": {
+ "request": {
+ "operation": "GetEndpointAttributes",
+ "params": [
+ { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteEndpoint",
+ "params": [
+ { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "Publish": {
+ "request": {
+ "operation": "Publish",
+ "params": [
+ { "target": "TargetArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "SetAttributes": {
+ "request": {
+ "operation": "SetEndpointAttributes",
+ "params": [
+ { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ }
+ }
+ },
+ "Subscription": {
+ "identifiers": [
+ { "name": "Arn" }
+ ],
+ "shape": "GetSubscriptionAttributesResponse",
+ "load": {
+ "request": {
+ "operation": "GetSubscriptionAttributes",
+ "params": [
+ { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "Delete": {
+ "request": {
+ "operation": "Unsubscribe",
+ "params": [
+ { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "SetAttributes": {
+ "request": {
+ "operation": "SetSubscriptionAttributes",
+ "params": [
+ { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ }
+ }
+ },
+ "Topic": {
+ "identifiers": [
+ { "name": "Arn" }
+ ],
+ "shape": "GetTopicAttributesResponse",
+ "load": {
+ "request": {
+ "operation": "GetTopicAttributes",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "AddPermission": {
+ "request": {
+ "operation": "AddPermission",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "ConfirmSubscription": {
+ "request": {
+ "operation": "ConfirmSubscription",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "Subscription",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "SubscriptionArn" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteTopic",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "Publish": {
+ "request": {
+ "operation": "Publish",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "RemovePermission": {
+ "request": {
+ "operation": "RemovePermission",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "SetAttributes": {
+ "request": {
+ "operation": "SetTopicAttributes",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ }
+ },
+ "Subscribe": {
+ "request": {
+ "operation": "Subscribe",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "Subscription",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "SubscriptionArn" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Subscriptions": {
+ "request": {
+ "operation": "ListSubscriptionsByTopic",
+ "params": [
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
+ ]
+ },
+ "resource": {
+ "type": "Subscription",
+ "identifiers": [
+ { "target": "Arn", "source": "response", "path": "Subscriptions[].SubscriptionArn" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/data/sqs/2012-11-05/resources-1.json b/contrib/python/boto3/boto3/data/sqs/2012-11-05/resources-1.json
index b1e74ab0fb..85cd1ef5bb 100644
--- a/contrib/python/boto3/boto3/data/sqs/2012-11-05/resources-1.json
+++ b/contrib/python/boto3/boto3/data/sqs/2012-11-05/resources-1.json
@@ -1,232 +1,232 @@
-{
- "service": {
- "actions": {
- "CreateQueue": {
- "request": { "operation": "CreateQueue" },
- "resource": {
- "type": "Queue",
- "identifiers": [
- { "target": "Url", "source": "response", "path": "QueueUrl" }
- ]
- }
- },
- "GetQueueByName": {
- "request": { "operation": "GetQueueUrl" },
- "resource": {
- "type": "Queue",
- "identifiers": [
- { "target": "Url", "source": "response", "path": "QueueUrl" }
- ]
- }
- }
- },
- "has": {
- "Queue": {
- "resource": {
- "type": "Queue",
- "identifiers": [
- { "target": "Url", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "Queues": {
- "request": { "operation": "ListQueues" },
- "resource": {
- "type": "Queue",
- "identifiers": [
- { "target": "Url", "source": "response", "path": "QueueUrls[]" }
- ]
- }
- }
- }
- },
- "resources": {
- "Message": {
- "identifiers": [
- { "name": "QueueUrl" },
- {
- "name": "ReceiptHandle",
- "memberName": "ReceiptHandle"
- }
- ],
- "shape": "Message",
- "actions": {
- "ChangeVisibility": {
- "request": {
- "operation": "ChangeMessageVisibility",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
- { "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteMessage",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
- { "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
- ]
- }
- }
- },
- "batchActions": {
- "Delete": {
- "request": {
- "operation": "DeleteMessageBatch",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
- { "target": "Entries[*].Id", "source": "data", "path": "MessageId" },
- { "target": "Entries[*].ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
- ]
- }
- }
- },
- "has": {
- "Queue": {
- "resource": {
- "type": "Queue",
- "identifiers": [
- { "target": "Url", "source": "identifier", "name": "QueueUrl" }
- ]
- }
- }
- }
- },
- "Queue": {
- "identifiers": [
- { "name": "Url" }
- ],
- "shape": "GetQueueAttributesResult",
- "load": {
- "request": {
- "operation": "GetQueueAttributes",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" },
- { "target": "AttributeNames[]", "source": "string", "value": "All" }
- ]
- },
- "path": "@"
- },
- "actions": {
- "AddPermission": {
- "request": {
- "operation": "AddPermission",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" }
- ]
- }
- },
- "ChangeMessageVisibilityBatch": {
- "request": {
- "operation": "ChangeMessageVisibilityBatch",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" }
- ]
- }
- },
- "Delete": {
- "request": {
- "operation": "DeleteQueue",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" }
- ]
- }
- },
- "DeleteMessages": {
- "request": {
- "operation": "DeleteMessageBatch",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" }
- ]
- }
- },
- "Purge": {
- "request": {
- "operation": "PurgeQueue",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" }
- ]
- }
- },
- "ReceiveMessages": {
- "request": {
- "operation": "ReceiveMessage",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" }
- ]
- },
- "resource": {
- "type": "Message",
- "identifiers": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" },
- { "target": "ReceiptHandle", "source": "response", "path": "Messages[].ReceiptHandle" }
- ],
- "path": "Messages[]"
- }
- },
- "RemovePermission": {
- "request": {
- "operation": "RemovePermission",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" }
- ]
- }
- },
- "SendMessage": {
- "request": {
- "operation": "SendMessage",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" }
- ]
- }
- },
- "SendMessages": {
- "request": {
- "operation": "SendMessageBatch",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" }
- ]
- }
- },
- "SetAttributes": {
- "request": {
- "operation": "SetQueueAttributes",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" }
- ]
- }
- }
- },
- "has": {
- "Message": {
- "resource": {
- "type": "Message",
- "identifiers": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" },
- { "target": "ReceiptHandle", "source": "input" }
- ]
- }
- }
- },
- "hasMany": {
- "DeadLetterSourceQueues": {
- "request": {
- "operation": "ListDeadLetterSourceQueues",
- "params": [
- { "target": "QueueUrl", "source": "identifier", "name": "Url" }
- ]
- },
- "resource": {
- "type": "Queue",
- "identifiers": [
- { "target": "Url", "source": "response", "path": "queueUrls[]" }
- ]
- }
- }
- }
- }
- }
-}
+{
+ "service": {
+ "actions": {
+ "CreateQueue": {
+ "request": { "operation": "CreateQueue" },
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "response", "path": "QueueUrl" }
+ ]
+ }
+ },
+ "GetQueueByName": {
+ "request": { "operation": "GetQueueUrl" },
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "response", "path": "QueueUrl" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Queue": {
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "Queues": {
+ "request": { "operation": "ListQueues" },
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "response", "path": "QueueUrls[]" }
+ ]
+ }
+ }
+ }
+ },
+ "resources": {
+ "Message": {
+ "identifiers": [
+ { "name": "QueueUrl" },
+ {
+ "name": "ReceiptHandle",
+ "memberName": "ReceiptHandle"
+ }
+ ],
+ "shape": "Message",
+ "actions": {
+ "ChangeVisibility": {
+ "request": {
+ "operation": "ChangeMessageVisibility",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
+ { "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteMessage",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
+ { "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
+ ]
+ }
+ }
+ },
+ "batchActions": {
+ "Delete": {
+ "request": {
+ "operation": "DeleteMessageBatch",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
+ { "target": "Entries[*].Id", "source": "data", "path": "MessageId" },
+ { "target": "Entries[*].ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Queue": {
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "identifier", "name": "QueueUrl" }
+ ]
+ }
+ }
+ }
+ },
+ "Queue": {
+ "identifiers": [
+ { "name": "Url" }
+ ],
+ "shape": "GetQueueAttributesResult",
+ "load": {
+ "request": {
+ "operation": "GetQueueAttributes",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" },
+ { "target": "AttributeNames[]", "source": "string", "value": "All" }
+ ]
+ },
+ "path": "@"
+ },
+ "actions": {
+ "AddPermission": {
+ "request": {
+ "operation": "AddPermission",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "ChangeMessageVisibilityBatch": {
+ "request": {
+ "operation": "ChangeMessageVisibilityBatch",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "Delete": {
+ "request": {
+ "operation": "DeleteQueue",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "DeleteMessages": {
+ "request": {
+ "operation": "DeleteMessageBatch",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "Purge": {
+ "request": {
+ "operation": "PurgeQueue",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "ReceiveMessages": {
+ "request": {
+ "operation": "ReceiveMessage",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ },
+ "resource": {
+ "type": "Message",
+ "identifiers": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" },
+ { "target": "ReceiptHandle", "source": "response", "path": "Messages[].ReceiptHandle" }
+ ],
+ "path": "Messages[]"
+ }
+ },
+ "RemovePermission": {
+ "request": {
+ "operation": "RemovePermission",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "SendMessage": {
+ "request": {
+ "operation": "SendMessage",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "SendMessages": {
+ "request": {
+ "operation": "SendMessageBatch",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ },
+ "SetAttributes": {
+ "request": {
+ "operation": "SetQueueAttributes",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ }
+ }
+ },
+ "has": {
+ "Message": {
+ "resource": {
+ "type": "Message",
+ "identifiers": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" },
+ { "target": "ReceiptHandle", "source": "input" }
+ ]
+ }
+ }
+ },
+ "hasMany": {
+ "DeadLetterSourceQueues": {
+ "request": {
+ "operation": "ListDeadLetterSourceQueues",
+ "params": [
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
+ ]
+ },
+ "resource": {
+ "type": "Queue",
+ "identifiers": [
+ { "target": "Url", "source": "response", "path": "queueUrls[]" }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/contrib/python/boto3/boto3/docs/collection.py b/contrib/python/boto3/boto3/docs/collection.py
index 6400532c49..998804e481 100644
--- a/contrib/python/boto3/boto3/docs/collection.py
+++ b/contrib/python/boto3/boto3/docs/collection.py
@@ -81,11 +81,11 @@ def document_collection_object(section, collection_model,
if include_signature:
section.style.start_sphinx_py_attr(collection_model.name)
section.include_doc_string(
- 'A collection of %s resources.' % collection_model.resource.type)
- section.include_doc_string(
- 'A %s Collection will include all resources by default, '
- 'and extreme caution should be taken when performing '
- 'actions on all resources.' % collection_model.resource.type)
+ 'A collection of %s resources.' % collection_model.resource.type)
+ section.include_doc_string(
+ 'A %s Collection will include all resources by default, '
+ 'and extreme caution should be taken when performing '
+ 'actions on all resources.' % collection_model.resource.type)
def document_batch_action(section, resource_name, event_emitter,
@@ -185,11 +185,11 @@ def document_collection_method(section, resource_name, action_name,
'method_description': (
'Creates an iterable of all %s resources '
'in the collection filtered by kwargs passed to '
- 'method.' % collection_model.resource.type +
- 'A %s collection will include all resources by '
- 'default if no filters are provided, and extreme '
- 'caution should be taken when performing actions '
- 'on all resources.'% collection_model.resource.type),
+ 'method.' % collection_model.resource.type +
+ 'A %s collection will include all resources by '
+ 'default if no filters are provided, and extreme '
+ 'caution should be taken when performing actions '
+ 'on all resources.'% collection_model.resource.type),
'example_prefix': '%s_iterator = %s.%s.filter' % (
xform_name(collection_model.resource.type),
example_resource_name, collection_model.name),
diff --git a/contrib/python/boto3/boto3/docs/service.py b/contrib/python/boto3/boto3/docs/service.py
index d2c173602d..3cdb17b5dd 100644
--- a/contrib/python/boto3/boto3/docs/service.py
+++ b/contrib/python/boto3/boto3/docs/service.py
@@ -28,12 +28,12 @@ class ServiceDocumenter(BaseServiceDocumenter):
EXAMPLE_PATH = os.path.join(os.path.dirname(boto3.__file__), 'examples')
def __init__(self, service_name, session):
- super(ServiceDocumenter, self).__init__(
- service_name=service_name,
- # I know that this is an internal attribute, but the botocore session
- # is needed to load the paginator and waiter models.
- session=session._session,
- )
+ super(ServiceDocumenter, self).__init__(
+ service_name=service_name,
+ # I know that this is an internal attribute, but the botocore session
+ # is needed to load the paginator and waiter models.
+ session=session._session,
+ )
self._boto3_session = session
self._client = self._boto3_session.client(service_name)
self._service_resource = None
diff --git a/contrib/python/boto3/boto3/dynamodb/conditions.py b/contrib/python/boto3/boto3/dynamodb/conditions.py
index 98a13c35d2..a40f4bbc1a 100644
--- a/contrib/python/boto3/boto3/dynamodb/conditions.py
+++ b/contrib/python/boto3/boto3/dynamodb/conditions.py
@@ -119,18 +119,18 @@ class AttributeBase(object):
"""Creates a condition where the attribute is greater than or equal
to the low value and less than or equal to the high value.
- :param low_value: The value that the attribute is greater than or equal to.
- :param high_value: The value that the attribute is less than or equal to.
+ :param low_value: The value that the attribute is greater than or equal to.
+ :param high_value: The value that the attribute is less than or equal to.
"""
return Between(self, low_value, high_value)
- def __eq__(self, other):
- return isinstance(other, type(self)) and self.name == other.name
-
- def __ne__(self, other):
- return not self.__eq__(other)
-
+ def __eq__(self, other):
+ return isinstance(other, type(self)) and self.name == other.name
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
+
class ConditionAttributeBase(ConditionBase, AttributeBase):
"""This base class is for conditions that can have attribute methods.
@@ -143,14 +143,14 @@ class ConditionAttributeBase(ConditionBase, AttributeBase):
# in which can be used to generate its attribute base.
AttributeBase.__init__(self, values[0].name)
- def __eq__(self, other):
- return ConditionBase.__eq__(self, other) and \
- AttributeBase.__eq__(self, other)
-
- def __ne__(self, other):
- return not self.__eq__(other)
-
+ def __eq__(self, other):
+ return ConditionBase.__eq__(self, other) and \
+ AttributeBase.__eq__(self, other)
+ def __ne__(self, other):
+ return not self.__eq__(other)
+
+
class ComparisonCondition(ConditionBase):
expression_format = '{0} {operator} {1}'
diff --git a/contrib/python/boto3/boto3/dynamodb/table.py b/contrib/python/boto3/boto3/dynamodb/table.py
index e9fcf10c9d..d910bb7f76 100644
--- a/contrib/python/boto3/boto3/dynamodb/table.py
+++ b/contrib/python/boto3/boto3/dynamodb/table.py
@@ -39,12 +39,12 @@ class TableResource(object):
in batches. In addition, the batch writer will also automatically
handle any unprocessed items and resend them as needed. All you need
to do is call ``put_item`` for any items you want to add, and
- ``delete_item`` for any items you want to delete.
+ ``delete_item`` for any items you want to delete.
Example usage::
with table.batch_writer() as batch:
- for _ in range(1000000):
+ for _ in range(1000000):
batch.put_item(Item={'HashKey': '...',
'Otherstuff': '...'})
# You can also delete_items in a batch.
diff --git a/contrib/python/boto3/boto3/dynamodb/transform.py b/contrib/python/boto3/boto3/dynamodb/transform.py
index e38f75b8fd..999467498f 100644
--- a/contrib/python/boto3/boto3/dynamodb/transform.py
+++ b/contrib/python/boto3/boto3/dynamodb/transform.py
@@ -12,7 +12,7 @@
# language governing permissions and limitations under the License.
import copy
-from boto3.compat import collections_abc
+from boto3.compat import collections_abc
from boto3.dynamodb.types import TypeSerializer, TypeDeserializer
from boto3.dynamodb.conditions import ConditionBase
from boto3.dynamodb.conditions import ConditionExpressionBuilder
@@ -198,11 +198,11 @@ class TransformationInjector(object):
def inject_attribute_value_output(self, parsed, model, **kwargs):
"""Injects DynamoDB deserialization into responses"""
- if model.output_shape is not None:
- self._transformer.transform(
- parsed, model.output_shape, self._deserializer.deserialize,
- 'AttributeValue'
- )
+ if model.output_shape is not None:
+ self._transformer.transform(
+ parsed, model.output_shape, self._deserializer.deserialize,
+ 'AttributeValue'
+ )
class ConditionExpressionTransformation(object):
@@ -262,7 +262,7 @@ class ParameterTransformer(object):
def _transform_structure(self, model, params, transformation,
target_shape):
- if not isinstance(params, collections_abc.Mapping):
+ if not isinstance(params, collections_abc.Mapping):
return
for param in params:
if param in model.members:
@@ -276,7 +276,7 @@ class ParameterTransformer(object):
target_shape)
def _transform_map(self, model, params, transformation, target_shape):
- if not isinstance(params, collections_abc.Mapping):
+ if not isinstance(params, collections_abc.Mapping):
return
value_model = model.value
value_shape = value_model.name
@@ -288,7 +288,7 @@ class ParameterTransformer(object):
value_model, params[key], transformation, target_shape)
def _transform_list(self, model, params, transformation, target_shape):
- if not isinstance(params, collections_abc.MutableSequence):
+ if not isinstance(params, collections_abc.MutableSequence):
return
member_model = model.member
member_shape = member_model.name
diff --git a/contrib/python/boto3/boto3/dynamodb/types.py b/contrib/python/boto3/boto3/dynamodb/types.py
index fb069e3a6d..e2b296a532 100644
--- a/contrib/python/boto3/boto3/dynamodb/types.py
+++ b/contrib/python/boto3/boto3/dynamodb/types.py
@@ -13,8 +13,8 @@
from decimal import Decimal, Context, Clamped
from decimal import Overflow, Inexact, Underflow, Rounded
-from boto3.compat import collections_abc
-
+from boto3.compat import collections_abc
+
from botocore.compat import six
@@ -65,9 +65,9 @@ class Binary(object):
def __str__(self):
return self.value
- def __bytes__(self):
- return self.value
-
+ def __bytes__(self):
+ return self.value
+
def __hash__(self):
return hash(self.value)
@@ -136,7 +136,7 @@ class TypeSerializer(object):
elif self._is_map(value):
dynamodb_type = MAP
- elif self._is_listlike(value):
+ elif self._is_listlike(value):
dynamodb_type = LIST
else:
@@ -178,7 +178,7 @@ class TypeSerializer(object):
return False
def _is_set(self, value):
- if isinstance(value, collections_abc.Set):
+ if isinstance(value, collections_abc.Set):
return True
return False
@@ -189,12 +189,12 @@ class TypeSerializer(object):
return False
def _is_map(self, value):
- if isinstance(value, collections_abc.Mapping):
+ if isinstance(value, collections_abc.Mapping):
return True
return False
- def _is_listlike(self, value):
- if isinstance(value, (list, tuple)):
+ def _is_listlike(self, value):
+ if isinstance(value, (list, tuple)):
return True
return False
diff --git a/contrib/python/boto3/boto3/examples/cloudfront.rst b/contrib/python/boto3/boto3/examples/cloudfront.rst
index ddec198cb5..640644d037 100644
--- a/contrib/python/boto3/boto3/examples/cloudfront.rst
+++ b/contrib/python/boto3/boto3/examples/cloudfront.rst
@@ -1,35 +1,35 @@
-Generate a signed URL for Amazon CloudFront
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following example shows how to generate a signed URL for Amazon CloudFront.
-Note that you will need the ``cryptography`` `library <https://cryptography.io/en/latest/>`__ to follow this example::
-
- import datetime
-
- from cryptography.hazmat.backends import default_backend
- from cryptography.hazmat.primitives import hashes
- from cryptography.hazmat.primitives import serialization
- from cryptography.hazmat.primitives.asymmetric import padding
- from botocore.signers import CloudFrontSigner
-
-
- def rsa_signer(message):
- with open('path/to/key.pem', 'rb') as key_file:
- private_key = serialization.load_pem_private_key(
- key_file.read(),
- password=None,
- backend=default_backend()
- )
- return private_key.sign(message, padding.PKCS1v15(), hashes.SHA1())
-
- key_id = 'AKIAIOSFODNN7EXAMPLE'
- url = 'http://d2949o5mkkp72v.cloudfront.net/hello.txt'
- expire_date = datetime.datetime(2017, 1, 1)
-
- cloudfront_signer = CloudFrontSigner(key_id, rsa_signer)
-
- # Create a signed url that will be valid until the specific expiry date
- # provided using a canned policy.
- signed_url = cloudfront_signer.generate_presigned_url(
- url, date_less_than=expire_date)
- print(signed_url)
+Generate a signed URL for Amazon CloudFront
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The following example shows how to generate a signed URL for Amazon CloudFront.
+Note that you will need the ``cryptography`` `library <https://cryptography.io/en/latest/>`__ to follow this example::
+
+ import datetime
+
+ from cryptography.hazmat.backends import default_backend
+ from cryptography.hazmat.primitives import hashes
+ from cryptography.hazmat.primitives import serialization
+ from cryptography.hazmat.primitives.asymmetric import padding
+ from botocore.signers import CloudFrontSigner
+
+
+ def rsa_signer(message):
+ with open('path/to/key.pem', 'rb') as key_file:
+ private_key = serialization.load_pem_private_key(
+ key_file.read(),
+ password=None,
+ backend=default_backend()
+ )
+ return private_key.sign(message, padding.PKCS1v15(), hashes.SHA1())
+
+ key_id = 'AKIAIOSFODNN7EXAMPLE'
+ url = 'http://d2949o5mkkp72v.cloudfront.net/hello.txt'
+ expire_date = datetime.datetime(2017, 1, 1)
+
+ cloudfront_signer = CloudFrontSigner(key_id, rsa_signer)
+
+ # Create a signed url that will be valid until the specific expiry date
+ # provided using a canned policy.
+ signed_url = cloudfront_signer.generate_presigned_url(
+ url, date_less_than=expire_date)
+ print(signed_url)
diff --git a/contrib/python/boto3/boto3/examples/s3.rst b/contrib/python/boto3/boto3/examples/s3.rst
index 147c4a3500..3155f224ab 100644
--- a/contrib/python/boto3/boto3/examples/s3.rst
+++ b/contrib/python/boto3/boto3/examples/s3.rst
@@ -1,146 +1,146 @@
-List objects in an Amazon S3 bucket
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following example shows how to use an Amazon S3 bucket resource to list
-the objects in the bucket.
-
-.. code-block:: python
-
- import boto3
-
- s3 = boto3.resource('s3')
- bucket = s3.Bucket('my-bucket')
- for obj in bucket.objects.all():
- print(obj.key)
-
-
-List top-level common prefixes in Amazon S3 bucket
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This example shows how to list all of the top-level common prefixes in an
-Amazon S3 bucket:
-
-.. code-block:: python
-
- import boto3
-
- client = boto3.client('s3')
- paginator = client.get_paginator('list_objects')
- result = paginator.paginate(Bucket='my-bucket', Delimiter='/')
- for prefix in result.search('CommonPrefixes'):
- print(prefix.get('Prefix'))
-
-
-Restore Glacier objects in an Amazon S3 bucket
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The following example shows how to initiate restoration of glacier objects in
-an Amazon S3 bucket, determine if a restoration is on-going, and determine if a
-restoration is finished.
-
-.. code-block:: python
-
- import boto3
-
- s3 = boto3.resource('s3')
- bucket = s3.Bucket('glacier-bucket')
- for obj_sum in bucket.objects.all():
- obj = s3.Object(obj_sum.bucket_name, obj_sum.key)
- if obj.storage_class == 'GLACIER':
- # Try to restore the object if the storage class is glacier and
- # the object does not have a completed or ongoing restoration
- # request.
- if obj.restore is None:
- print('Submitting restoration request: %s' % obj.key)
- obj.restore_object(RestoreRequest={'Days': 1})
- # Print out objects whose restoration is on-going
- elif 'ongoing-request="true"' in obj.restore:
- print('Restoration in-progress: %s' % obj.key)
- # Print out objects whose restoration is complete
- elif 'ongoing-request="false"' in obj.restore:
- print('Restoration complete: %s' % obj.key)
-
-
-Uploading/downloading files using SSE KMS
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This example shows how to use SSE-KMS to upload objects using
-server side encryption with a key managed by KMS.
-
-We can either use the default KMS master key, or create a
-custom key in AWS and use it to encrypt the object by passing in its
-key id.
-
-With KMS, nothing else needs to be provided for getting the
-object; S3 already knows how to decrypt the object.
-
-
-.. code-block:: python
-
- import boto3
- import os
-
- BUCKET = 'your-bucket-name'
- s3 = boto3.client('s3')
- keyid = '<the key id>'
-
- print("Uploading S3 object with SSE-KMS")
- s3.put_object(Bucket=BUCKET,
- Key='encrypt-key',
- Body=b'foobar',
- ServerSideEncryption='aws:kms',
- # Optional: SSEKMSKeyId
- SSEKMSKeyId=keyid)
- print("Done")
-
- # Getting the object:
- print("Getting S3 object...")
- response = s3.get_object(Bucket=BUCKET,
- Key='encrypt-key')
- print("Done, response body:")
- print(response['Body'].read())
-
-
-Uploading/downloading files using SSE Customer Keys
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This example shows how to use SSE-C to upload objects using
-server side encryption with a customer provided key.
-
-First, we'll need a 32 byte key. For this example, we'll
-randomly generate a key but you can use any 32 byte key
-you want. Remember, you must the same key to download
-the object. If you lose the encryption key, you lose
-the object.
-
-Also note how we don't have to provide the SSECustomerKeyMD5.
-Boto3 will automatically compute this value for us.
-
-
-.. code-block:: python
-
- import boto3
- import os
-
- BUCKET = 'your-bucket-name'
- KEY = os.urandom(32)
- s3 = boto3.client('s3')
-
- print("Uploading S3 object with SSE-C")
- s3.put_object(Bucket=BUCKET,
- Key='encrypt-key',
- Body=b'foobar',
- SSECustomerKey=KEY,
- SSECustomerAlgorithm='AES256')
- print("Done")
-
- # Getting the object:
- print("Getting S3 object...")
- # Note how we're using the same ``KEY`` we
- # created earlier.
- response = s3.get_object(Bucket=BUCKET,
- Key='encrypt-key',
- SSECustomerKey=KEY,
- SSECustomerAlgorithm='AES256')
- print("Done, response body:")
- print(response['Body'].read())
+List objects in an Amazon S3 bucket
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The following example shows how to use an Amazon S3 bucket resource to list
+the objects in the bucket.
+
+.. code-block:: python
+
+ import boto3
+
+ s3 = boto3.resource('s3')
+ bucket = s3.Bucket('my-bucket')
+ for obj in bucket.objects.all():
+ print(obj.key)
+
+
+List top-level common prefixes in Amazon S3 bucket
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This example shows how to list all of the top-level common prefixes in an
+Amazon S3 bucket:
+
+.. code-block:: python
+
+ import boto3
+
+ client = boto3.client('s3')
+ paginator = client.get_paginator('list_objects')
+ result = paginator.paginate(Bucket='my-bucket', Delimiter='/')
+ for prefix in result.search('CommonPrefixes'):
+ print(prefix.get('Prefix'))
+
+
+Restore Glacier objects in an Amazon S3 bucket
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The following example shows how to initiate restoration of glacier objects in
+an Amazon S3 bucket, determine if a restoration is on-going, and determine if a
+restoration is finished.
+
+.. code-block:: python
+
+ import boto3
+
+ s3 = boto3.resource('s3')
+ bucket = s3.Bucket('glacier-bucket')
+ for obj_sum in bucket.objects.all():
+ obj = s3.Object(obj_sum.bucket_name, obj_sum.key)
+ if obj.storage_class == 'GLACIER':
+ # Try to restore the object if the storage class is glacier and
+ # the object does not have a completed or ongoing restoration
+ # request.
+ if obj.restore is None:
+ print('Submitting restoration request: %s' % obj.key)
+ obj.restore_object(RestoreRequest={'Days': 1})
+ # Print out objects whose restoration is on-going
+ elif 'ongoing-request="true"' in obj.restore:
+ print('Restoration in-progress: %s' % obj.key)
+ # Print out objects whose restoration is complete
+ elif 'ongoing-request="false"' in obj.restore:
+ print('Restoration complete: %s' % obj.key)
+
+
+Uploading/downloading files using SSE KMS
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This example shows how to use SSE-KMS to upload objects using
+server side encryption with a key managed by KMS.
+
+We can either use the default KMS master key, or create a
+custom key in AWS and use it to encrypt the object by passing in its
+key id.
+
+With KMS, nothing else needs to be provided for getting the
+object; S3 already knows how to decrypt the object.
+
+
+.. code-block:: python
+
+ import boto3
+ import os
+
+ BUCKET = 'your-bucket-name'
+ s3 = boto3.client('s3')
+ keyid = '<the key id>'
+
+ print("Uploading S3 object with SSE-KMS")
+ s3.put_object(Bucket=BUCKET,
+ Key='encrypt-key',
+ Body=b'foobar',
+ ServerSideEncryption='aws:kms',
+ # Optional: SSEKMSKeyId
+ SSEKMSKeyId=keyid)
+ print("Done")
+
+ # Getting the object:
+ print("Getting S3 object...")
+ response = s3.get_object(Bucket=BUCKET,
+ Key='encrypt-key')
+ print("Done, response body:")
+ print(response['Body'].read())
+
+
+Uploading/downloading files using SSE Customer Keys
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This example shows how to use SSE-C to upload objects using
+server side encryption with a customer provided key.
+
+First, we'll need a 32 byte key. For this example, we'll
+randomly generate a key but you can use any 32 byte key
+you want. Remember, you must the same key to download
+the object. If you lose the encryption key, you lose
+the object.
+
+Also note how we don't have to provide the SSECustomerKeyMD5.
+Boto3 will automatically compute this value for us.
+
+
+.. code-block:: python
+
+ import boto3
+ import os
+
+ BUCKET = 'your-bucket-name'
+ KEY = os.urandom(32)
+ s3 = boto3.client('s3')
+
+ print("Uploading S3 object with SSE-C")
+ s3.put_object(Bucket=BUCKET,
+ Key='encrypt-key',
+ Body=b'foobar',
+ SSECustomerKey=KEY,
+ SSECustomerAlgorithm='AES256')
+ print("Done")
+
+ # Getting the object:
+ print("Getting S3 object...")
+ # Note how we're using the same ``KEY`` we
+ # created earlier.
+ response = s3.get_object(Bucket=BUCKET,
+ Key='encrypt-key',
+ SSECustomerKey=KEY,
+ SSECustomerAlgorithm='AES256')
+ print("Done, response body:")
+ print(response['Body'].read())
diff --git a/contrib/python/boto3/boto3/exceptions.py b/contrib/python/boto3/boto3/exceptions.py
index 1cd7c08ad8..f8c60d7616 100644
--- a/contrib/python/boto3/boto3/exceptions.py
+++ b/contrib/python/boto3/boto3/exceptions.py
@@ -82,7 +82,7 @@ class S3UploadFailedError(Boto3Error):
class DynamoDBOperationNotSupportedError(Boto3Error):
- """Raised for operations that are not supported for an operand."""
+ """Raised for operations that are not supported for an operand."""
def __init__(self, operation, value):
msg = (
'%s operation cannot be applied to value %s of type %s directly. '
@@ -107,11 +107,11 @@ class DynamoDBNeedsConditionError(Boto3Error):
class DynamoDBNeedsKeyConditionError(Boto3Error):
pass
-
-
-class PythonDeprecationWarning(Warning):
- """
- Python version being used is scheduled to become unsupported
- in an future release. See warning for specifics.
- """
- pass
+
+
+class PythonDeprecationWarning(Warning):
+ """
+ Python version being used is scheduled to become unsupported
+ in an future release. See warning for specifics.
+ """
+ pass
diff --git a/contrib/python/boto3/boto3/resources/action.py b/contrib/python/boto3/boto3/resources/action.py
index b643426a4c..968bca1320 100644
--- a/contrib/python/boto3/boto3/resources/action.py
+++ b/contrib/python/boto3/boto3/resources/action.py
@@ -80,7 +80,7 @@ class ServiceAction(object):
logger.debug('Calling %s:%s with %r', parent.meta.service_name,
operation_name, params)
- response = getattr(parent.meta.client, operation_name)(*args, **params)
+ response = getattr(parent.meta.client, operation_name)(*args, **params)
logger.debug('Response: %r', response)
@@ -149,7 +149,7 @@ class BatchAction(ServiceAction):
logger.debug('Calling %s:%s with %r',
service_name, operation_name, params)
- response = getattr(client, operation_name)(*args, **params)
+ response = getattr(client, operation_name)(*args, **params)
logger.debug('Response: %r', response)
diff --git a/contrib/python/boto3/boto3/resources/collection.py b/contrib/python/boto3/boto3/resources/collection.py
index 083f9cdda4..644a4dda8a 100644
--- a/contrib/python/boto3/boto3/resources/collection.py
+++ b/contrib/python/boto3/boto3/resources/collection.py
@@ -49,7 +49,7 @@ class ResourceCollection(object):
self._py_operation_name = xform_name(
model.request.operation)
self._handler = handler
- self._params = copy.deepcopy(kwargs)
+ self._params = copy.deepcopy(kwargs)
def __repr__(self):
return '{0}({1}, {2})'.format(
diff --git a/contrib/python/boto3/boto3/resources/model.py b/contrib/python/boto3/boto3/resources/model.py
index 5b65b0e2eb..101b4f30af 100644
--- a/contrib/python/boto3/boto3/resources/model.py
+++ b/contrib/python/boto3/boto3/resources/model.py
@@ -578,7 +578,7 @@ class ResourceModel(object):
"""
Get a list of sub-resources.
- :type: list(:py:class:`ResponseResource`)
+ :type: list(:py:class:`ResponseResource`)
"""
return self._get_related_resources(True)
diff --git a/contrib/python/boto3/boto3/resources/params.py b/contrib/python/boto3/boto3/resources/params.py
index 148d69849c..f861e260e7 100644
--- a/contrib/python/boto3/boto3/resources/params.py
+++ b/contrib/python/boto3/boto3/resources/params.py
@@ -19,7 +19,7 @@ from botocore import xform_name
from ..exceptions import ResourceLoadException
-INDEX_RE = re.compile(r'\[(.*)\]$')
+INDEX_RE = re.compile(r'\[(.*)\]$')
def get_data_member(parent, path):
diff --git a/contrib/python/boto3/boto3/s3/inject.py b/contrib/python/boto3/boto3/s3/inject.py
index 0029c0cacb..5889b1bb47 100644
--- a/contrib/python/boto3/boto3/s3/inject.py
+++ b/contrib/python/boto3/boto3/s3/inject.py
@@ -103,27 +103,27 @@ def upload_file(self, Filename, Bucket, Key, ExtraArgs=None,
Similar behavior as S3Transfer's upload_file() method,
except that parameters are capitalized. Detailed examples can be found at
:ref:`S3Transfer's Usage <ref_s3transfer_usage>`.
-
- :type Filename: str
- :param Filename: The path to the file to upload.
-
- :type Bucket: str
- :param Bucket: The name of the bucket to upload to.
-
- :type Key: str
- :param Key: The name of the key to upload to.
-
- :type ExtraArgs: dict
- :param ExtraArgs: Extra arguments that may be passed to the
- client operation.
-
- :type Callback: function
- :param Callback: A method which takes a number of bytes transferred to
- be periodically called during the upload.
-
- :type Config: boto3.s3.transfer.TransferConfig
- :param Config: The transfer configuration to be used when performing the
- transfer.
+
+ :type Filename: str
+ :param Filename: The path to the file to upload.
+
+ :type Bucket: str
+ :param Bucket: The name of the bucket to upload to.
+
+ :type Key: str
+ :param Key: The name of the key to upload to.
+
+ :type ExtraArgs: dict
+ :param ExtraArgs: Extra arguments that may be passed to the
+ client operation.
+
+ :type Callback: function
+ :param Callback: A method which takes a number of bytes transferred to
+ be periodically called during the upload.
+
+ :type Config: boto3.s3.transfer.TransferConfig
+ :param Config: The transfer configuration to be used when performing the
+ transfer.
"""
with S3Transfer(self, Config) as transfer:
return transfer.upload_file(
@@ -144,27 +144,27 @@ def download_file(self, Bucket, Key, Filename, ExtraArgs=None,
Similar behavior as S3Transfer's download_file() method,
except that parameters are capitalized. Detailed examples can be found at
:ref:`S3Transfer's Usage <ref_s3transfer_usage>`.
-
- :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 path to the file to download to.
-
- :type ExtraArgs: dict
- :param ExtraArgs: Extra arguments that may be passed to the
- client operation.
-
- :type Callback: function
- :param Callback: A method which takes a number of bytes transferred to
- be periodically called during the download.
-
- :type Config: boto3.s3.transfer.TransferConfig
- :param Config: The transfer configuration to be used when performing the
- transfer.
+
+ :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 path to the file to download to.
+
+ :type ExtraArgs: dict
+ :param ExtraArgs: Extra arguments that may be passed to the
+ client operation.
+
+ :type Callback: function
+ :param Callback: A method which takes a number of bytes transferred to
+ be periodically called during the download.
+
+ :type Config: boto3.s3.transfer.TransferConfig
+ :param Config: The transfer configuration to be used when performing the
+ transfer.
"""
with S3Transfer(self, Config) as transfer:
return transfer.download_file(
@@ -185,24 +185,24 @@ def bucket_upload_file(self, Filename, Key,
Similar behavior as S3Transfer's upload_file() method,
except that parameters are capitalized. Detailed examples can be found at
:ref:`S3Transfer's Usage <ref_s3transfer_usage>`.
-
- :type Filename: str
- :param Filename: The path to the file to upload.
-
- :type Key: str
- :param Key: The name of the key to upload to.
-
- :type ExtraArgs: dict
- :param ExtraArgs: Extra arguments that may be passed to the
- client operation.
-
- :type Callback: function
- :param Callback: A method which takes a number of bytes transferred to
- be periodically called during the upload.
-
- :type Config: boto3.s3.transfer.TransferConfig
- :param Config: The transfer configuration to be used when performing the
- transfer.
+
+ :type Filename: str
+ :param Filename: The path to the file to upload.
+
+ :type Key: str
+ :param Key: The name of the key to upload to.
+
+ :type ExtraArgs: dict
+ :param ExtraArgs: Extra arguments that may be passed to the
+ client operation.
+
+ :type Callback: function
+ :param Callback: A method which takes a number of bytes transferred to
+ be periodically called during the upload.
+
+ :type Config: boto3.s3.transfer.TransferConfig
+ :param Config: The transfer configuration to be used when performing the
+ transfer.
"""
return self.meta.client.upload_file(
Filename=Filename, Bucket=self.name, Key=Key,
@@ -222,24 +222,24 @@ def bucket_download_file(self, Key, Filename,
Similar behavior as S3Transfer's download_file() method,
except that parameters are capitalized. Detailed examples can be found at
:ref:`S3Transfer's Usage <ref_s3transfer_usage>`.
-
- :type Key: str
- :param Key: The name of the key to download from.
-
- :type Filename: str
- :param Filename: The path to the file to download to.
-
- :type ExtraArgs: dict
- :param ExtraArgs: Extra arguments that may be passed to the
- client operation.
-
- :type Callback: function
- :param Callback: A method which takes a number of bytes transferred to
- be periodically called during the download.
-
- :type Config: boto3.s3.transfer.TransferConfig
- :param Config: The transfer configuration to be used when performing the
- transfer.
+
+ :type Key: str
+ :param Key: The name of the key to download from.
+
+ :type Filename: str
+ :param Filename: The path to the file to download to.
+
+ :type ExtraArgs: dict
+ :param ExtraArgs: Extra arguments that may be passed to the
+ client operation.
+
+ :type Callback: function
+ :param Callback: A method which takes a number of bytes transferred to
+ be periodically called during the download.
+
+ :type Config: boto3.s3.transfer.TransferConfig
+ :param Config: The transfer configuration to be used when performing the
+ transfer.
"""
return self.meta.client.download_file(
Bucket=self.name, Key=Key, Filename=Filename,
@@ -259,21 +259,21 @@ def object_upload_file(self, Filename,
Similar behavior as S3Transfer's upload_file() method,
except that parameters are capitalized. Detailed examples can be found at
:ref:`S3Transfer's Usage <ref_s3transfer_usage>`.
-
- :type Filename: str
- :param Filename: The path to the file to upload.
-
- :type ExtraArgs: dict
- :param ExtraArgs: Extra arguments that may be passed to the
- client operation.
-
- :type Callback: function
- :param Callback: A method which takes a number of bytes transferred to
- be periodically called during the upload.
-
- :type Config: boto3.s3.transfer.TransferConfig
- :param Config: The transfer configuration to be used when performing the
- transfer.
+
+ :type Filename: str
+ :param Filename: The path to the file to upload.
+
+ :type ExtraArgs: dict
+ :param ExtraArgs: Extra arguments that may be passed to the
+ client operation.
+
+ :type Callback: function
+ :param Callback: A method which takes a number of bytes transferred to
+ be periodically called during the upload.
+
+ :type Config: boto3.s3.transfer.TransferConfig
+ :param Config: The transfer configuration to be used when performing the
+ transfer.
"""
return self.meta.client.upload_file(
Filename=Filename, Bucket=self.bucket_name, Key=self.key,
@@ -293,21 +293,21 @@ def object_download_file(self, Filename,
Similar behavior as S3Transfer's download_file() method,
except that parameters are capitalized. Detailed examples can be found at
:ref:`S3Transfer's Usage <ref_s3transfer_usage>`.
-
- :type Filename: str
- :param Filename: The path to the file to download to.
-
- :type ExtraArgs: dict
- :param ExtraArgs: Extra arguments that may be passed to the
- client operation.
-
- :type Callback: function
- :param Callback: A method which takes a number of bytes transferred to
- be periodically called during the download.
-
- :type Config: boto3.s3.transfer.TransferConfig
- :param Config: The transfer configuration to be used when performing the
- transfer.
+
+ :type Filename: str
+ :param Filename: The path to the file to download to.
+
+ :type ExtraArgs: dict
+ :param ExtraArgs: Extra arguments that may be passed to the
+ client operation.
+
+ :type Callback: function
+ :param Callback: A method which takes a number of bytes transferred to
+ be periodically called during the download.
+
+ :type Config: boto3.s3.transfer.TransferConfig
+ :param Config: The transfer configuration to be used when performing the
+ transfer.
"""
return self.meta.client.download_file(
Bucket=self.bucket_name, Key=self.key, Filename=Filename,
@@ -348,7 +348,7 @@ def copy(self, CopySource, Bucket, Key, ExtraArgs=None, Callback=None,
:param ExtraArgs: Extra arguments that may be passed to the
client operation
- :type Callback: function
+ :type Callback: function
:param Callback: A method which takes a number of bytes transferred to
be periodically called during the copy.
@@ -411,7 +411,7 @@ def bucket_copy(self, CopySource, Key, ExtraArgs=None, Callback=None,
:param ExtraArgs: Extra arguments that may be passed to the
client operation
- :type Callback: function
+ :type Callback: function
:param Callback: A method which takes a number of bytes transferred to
be periodically called during the copy.
@@ -461,7 +461,7 @@ def object_copy(self, CopySource, ExtraArgs=None, Callback=None,
:param ExtraArgs: Extra arguments that may be passed to the
client operation
- :type Callback: function
+ :type Callback: function
:param Callback: A method which takes a number of bytes transferred to
be periodically called during the copy.
@@ -513,7 +513,7 @@ def upload_fileobj(self, Fileobj, Bucket, Key, ExtraArgs=None,
:param ExtraArgs: Extra arguments that may be passed to the
client operation.
- :type Callback: function
+ :type Callback: function
:param Callback: A method which takes a number of bytes transferred to
be periodically called during the upload.
@@ -568,7 +568,7 @@ def bucket_upload_fileobj(self, Fileobj, Key, ExtraArgs=None,
:param ExtraArgs: Extra arguments that may be passed to the
client operation.
- :type Callback: function
+ :type Callback: function
:param Callback: A method which takes a number of bytes transferred to
be periodically called during the upload.
@@ -608,7 +608,7 @@ def object_upload_fileobj(self, Fileobj, ExtraArgs=None, Callback=None,
:param ExtraArgs: Extra arguments that may be passed to the
client operation.
- :type Callback: function
+ :type Callback: function
:param Callback: A method which takes a number of bytes transferred to
be periodically called during the upload.
@@ -644,15 +644,15 @@ def download_fileobj(self, Bucket, Key, Fileobj, ExtraArgs=None,
:type Key: str
:param Key: The name of the key to download from.
- :type Fileobj: a file-like object
- :param Fileobj: A file-like object to download into. At a minimum, it must
- implement the `write` method and must accept bytes.
-
+ :type Fileobj: a file-like object
+ :param Fileobj: A file-like object to download into. At a minimum, it must
+ implement the `write` method and must accept bytes.
+
:type ExtraArgs: dict
:param ExtraArgs: Extra arguments that may be passed to the
client operation.
- :type Callback: function
+ :type Callback: function
:param Callback: A method which takes a number of bytes transferred to
be periodically called during the download.
@@ -707,7 +707,7 @@ def bucket_download_fileobj(self, Key, Fileobj, ExtraArgs=None,
:param ExtraArgs: Extra arguments that may be passed to the
client operation.
- :type Callback: function
+ :type Callback: function
:param Callback: A method which takes a number of bytes transferred to
be periodically called during the download.
@@ -747,7 +747,7 @@ def object_download_fileobj(self, Fileobj, ExtraArgs=None, Callback=None,
:param ExtraArgs: Extra arguments that may be passed to the
client operation.
- :type Callback: function
+ :type Callback: function
:param Callback: A method which takes a number of bytes transferred to
be periodically called during the download.
diff --git a/contrib/python/boto3/boto3/s3/transfer.py b/contrib/python/boto3/boto3/s3/transfer.py
index 0d2d2fece4..b948ade303 100644
--- a/contrib/python/boto3/boto3/s3/transfer.py
+++ b/contrib/python/boto3/boto3/s3/transfer.py
@@ -192,7 +192,7 @@ class TransferConfig(S3TransferConfig):
will be retried upon errors with downloading an object in S3.
Note that these retries account for errors that occur when
streaming down the data from s3 (i.e. socket errors and read
- timeouts that occur after receiving an OK response from s3).
+ timeouts that occur after receiving an OK response from s3).
Other retryable exceptions such as throttling errors and 5xx
errors are already retried by botocore (this default is 5). This
does not take into account the number of exceptions retried by
@@ -264,10 +264,10 @@ class S3Transfer(object):
Variants have also been injected into S3 client, Bucket and Object.
You don't have to use S3Transfer.upload_file() directly.
-
- .. seealso::
- :py:meth:`S3.Client.upload_file`
- :py:meth:`S3.Client.upload_fileobj`
+
+ .. seealso::
+ :py:meth:`S3.Client.upload_file`
+ :py:meth:`S3.Client.upload_fileobj`
"""
if not isinstance(filename, six.string_types):
raise ValueError('Filename must be a string')
@@ -292,10 +292,10 @@ class S3Transfer(object):
Variants have also been injected into S3 client, Bucket and Object.
You don't have to use S3Transfer.download_file() directly.
-
- .. seealso::
- :py:meth:`S3.Client.download_file`
- :py:meth:`S3.Client.download_fileobj`
+
+ .. seealso::
+ :py:meth:`S3.Client.download_file`
+ :py:meth:`S3.Client.download_fileobj`
"""
if not isinstance(filename, six.string_types):
raise ValueError('Filename must be a string')
diff --git a/contrib/python/boto3/boto3/session.py b/contrib/python/boto3/boto3/session.py
index 3b19bcdb2e..5145011b1a 100644
--- a/contrib/python/boto3/boto3/session.py
+++ b/contrib/python/boto3/boto3/session.py
@@ -249,7 +249,7 @@ class Session(object):
over environment variables and configuration values, but not over
a region_name value passed explicitly to the method. See
`botocore config documentation
- <https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html>`_
+ <https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html>`_
for more details.
:return: Service client instance
@@ -331,7 +331,7 @@ class Session(object):
user_agent_extra is specified in the client config, it overrides
the default user_agent_extra provided by the resource API. See
`botocore config documentation
- <https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html>`_
+ <https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html>`_
for more details.
:return: Subclass of :py:class:`~boto3.resources.base.ServiceResource`
@@ -392,11 +392,11 @@ class Session(object):
# Create a ServiceContext object to serve as a reference to
# important read-only information about the general service.
service_context = boto3.utils.ServiceContext(
- service_name=service_name, service_model=service_model,
- resource_json_definitions=resource_model['resources'],
- service_waiter_model=boto3.utils.LazyLoadedWaiterModel(
- self._session, service_name, api_version
- )
+ service_name=service_name, service_model=service_model,
+ resource_json_definitions=resource_model['resources'],
+ service_waiter_model=boto3.utils.LazyLoadedWaiterModel(
+ self._session, service_name, api_version
+ )
)
# Create the service resource class.
diff --git a/contrib/python/boto3/patches/01-fix-vendored-six.patch b/contrib/python/boto3/patches/01-fix-vendored-six.patch
index 2690cb7b3b..63dfdfcab9 100644
--- a/contrib/python/boto3/patches/01-fix-vendored-six.patch
+++ b/contrib/python/boto3/patches/01-fix-vendored-six.patch
@@ -1,11 +1,11 @@
---- contrib/python/boto3/boto3/compat.py (index)
-+++ contrib/python/boto3/boto3/compat.py (working tree)
-@@ -16,7 +16,7 @@ import errno
- import socket
- import warnings
-
--from botocore.vendored import six
-+from botocore.compat import six
- from boto3.exceptions import PythonDeprecationWarning
-
- if six.PY3:
+--- contrib/python/boto3/boto3/compat.py (index)
++++ contrib/python/boto3/boto3/compat.py (working tree)
+@@ -16,7 +16,7 @@ import errno
+ import socket
+ import warnings
+
+-from botocore.vendored import six
++from botocore.compat import six
+ from boto3.exceptions import PythonDeprecationWarning
+
+ if six.PY3:
diff --git a/contrib/python/boto3/ya.make b/contrib/python/boto3/ya.make
index bd12ae12b7..d0f39a420f 100644
--- a/contrib/python/boto3/ya.make
+++ b/contrib/python/boto3/ya.make
@@ -1,67 +1,67 @@
PY23_LIBRARY()
-OWNER(g:python-contrib)
+OWNER(g:python-contrib)
-VERSION(1.17.112)
+VERSION(1.17.112)
-LICENSE(Apache-2.0)
+LICENSE(Apache-2.0)
PEERDIR(
contrib/python/botocore
- contrib/python/jmespath
+ contrib/python/jmespath
contrib/python/s3transfer
)
-NO_LINT()
-
+NO_LINT()
+
PY_SRCS(
TOP_LEVEL
boto3/__init__.py
- boto3/compat.py
- boto3/docs/__init__.py
- boto3/docs/action.py
- boto3/docs/attr.py
+ boto3/compat.py
+ boto3/docs/__init__.py
+ boto3/docs/action.py
+ boto3/docs/attr.py
boto3/docs/base.py
- boto3/docs/client.py
+ boto3/docs/client.py
boto3/docs/collection.py
- boto3/docs/docstring.py
+ boto3/docs/docstring.py
boto3/docs/method.py
- boto3/docs/resource.py
+ boto3/docs/resource.py
boto3/docs/service.py
- boto3/docs/subresource.py
- boto3/docs/utils.py
- boto3/docs/waiter.py
- boto3/dynamodb/__init__.py
- boto3/dynamodb/conditions.py
- boto3/dynamodb/table.py
- boto3/dynamodb/transform.py
- boto3/dynamodb/types.py
- boto3/ec2/__init__.py
- boto3/ec2/createtags.py
- boto3/ec2/deletetags.py
- boto3/exceptions.py
- boto3/resources/__init__.py
- boto3/resources/action.py
+ boto3/docs/subresource.py
+ boto3/docs/utils.py
+ boto3/docs/waiter.py
+ boto3/dynamodb/__init__.py
+ boto3/dynamodb/conditions.py
+ boto3/dynamodb/table.py
+ boto3/dynamodb/transform.py
+ boto3/dynamodb/types.py
+ boto3/ec2/__init__.py
+ boto3/ec2/createtags.py
+ boto3/ec2/deletetags.py
+ boto3/exceptions.py
+ boto3/resources/__init__.py
+ boto3/resources/action.py
boto3/resources/base.py
boto3/resources/collection.py
boto3/resources/factory.py
- boto3/resources/model.py
+ boto3/resources/model.py
boto3/resources/params.py
boto3/resources/response.py
- boto3/s3/__init__.py
- boto3/s3/inject.py
- boto3/s3/transfer.py
+ boto3/s3/__init__.py
+ boto3/s3/inject.py
+ boto3/s3/transfer.py
boto3/session.py
- boto3/utils.py
+ boto3/utils.py
)
-RESOURCE_FILES(
- PREFIX contrib/python/boto3/
- .dist-info/METADATA
- .dist-info/top_level.txt
- #boto3/data/cloudformation/2010-05-15/resources-1.json
- #boto3/data/cloudwatch/2010-08-01/resources-1.json
- #boto3/data/dynamodb/2012-08-10/resources-1.json
+RESOURCE_FILES(
+ PREFIX contrib/python/boto3/
+ .dist-info/METADATA
+ .dist-info/top_level.txt
+ #boto3/data/cloudformation/2010-05-15/resources-1.json
+ #boto3/data/cloudwatch/2010-08-01/resources-1.json
+ #boto3/data/dynamodb/2012-08-10/resources-1.json
boto3/data/ec2/2014-10-01/resources-1.json
boto3/data/ec2/2015-03-01/resources-1.json
boto3/data/ec2/2015-04-15/resources-1.json
@@ -69,14 +69,14 @@ RESOURCE_FILES(
boto3/data/ec2/2016-04-01/resources-1.json
boto3/data/ec2/2016-09-15/resources-1.json
boto3/data/ec2/2016-11-15/resources-1.json
- #boto3/data/glacier/2012-06-01/resources-1.json
- #boto3/data/iam/2010-05-08/resources-1.json
- #boto3/data/opsworks/2013-02-18/resources-1.json
- boto3/data/s3/2006-03-01/resources-1.json
- #boto3/data/sns/2010-03-31/resources-1.json
- boto3/data/sqs/2012-11-05/resources-1.json
- boto3/examples/cloudfront.rst
- boto3/examples/s3.rst
-)
-
+ #boto3/data/glacier/2012-06-01/resources-1.json
+ #boto3/data/iam/2010-05-08/resources-1.json
+ #boto3/data/opsworks/2013-02-18/resources-1.json
+ boto3/data/s3/2006-03-01/resources-1.json
+ #boto3/data/sns/2010-03-31/resources-1.json
+ boto3/data/sqs/2012-11-05/resources-1.json
+ boto3/examples/cloudfront.rst
+ boto3/examples/s3.rst
+)
+
END()