diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-10 16:44:30 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:30 +0300 |
commit | 2598ef1d0aee359b4b6d5fdd1758916d5907d04f (patch) | |
tree | 012bb94d777798f1f56ac1cec429509766d05181 /contrib/python/boto3 | |
parent | 6751af0b0c1b952fede40b19b71da8025b5d8bcf (diff) | |
download | ydb-2598ef1d0aee359b4b6d5fdd1758916d5907d04f.tar.gz |
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/python/boto3')
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() |