Sean Laurent commited on
Commit
be94e9d
·
1 Parent(s): f28c97e

Added virutal environment

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. env/Lib/site-packages/__pycache__/six.cpython-311.pyc +0 -0
  2. env/Lib/site-packages/_distutils_hack/__init__.py +222 -0
  3. env/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc +0 -0
  4. env/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc +0 -0
  5. env/Lib/site-packages/_distutils_hack/override.py +1 -0
  6. env/Lib/site-packages/boto3-1.26.132.dist-info/INSTALLER +1 -0
  7. env/Lib/site-packages/boto3-1.26.132.dist-info/LICENSE +177 -0
  8. env/Lib/site-packages/boto3-1.26.132.dist-info/METADATA +187 -0
  9. env/Lib/site-packages/boto3-1.26.132.dist-info/NOTICE +2 -0
  10. env/Lib/site-packages/boto3-1.26.132.dist-info/RECORD +100 -0
  11. env/Lib/site-packages/boto3-1.26.132.dist-info/REQUESTED +0 -0
  12. env/Lib/site-packages/boto3-1.26.132.dist-info/WHEEL +5 -0
  13. env/Lib/site-packages/boto3-1.26.132.dist-info/top_level.txt +1 -0
  14. env/Lib/site-packages/boto3/__init__.py +111 -0
  15. env/Lib/site-packages/boto3/__pycache__/__init__.cpython-311.pyc +0 -0
  16. env/Lib/site-packages/boto3/__pycache__/compat.cpython-311.pyc +0 -0
  17. env/Lib/site-packages/boto3/__pycache__/exceptions.cpython-311.pyc +0 -0
  18. env/Lib/site-packages/boto3/__pycache__/session.cpython-311.pyc +0 -0
  19. env/Lib/site-packages/boto3/__pycache__/utils.cpython-311.pyc +0 -0
  20. env/Lib/site-packages/boto3/compat.py +82 -0
  21. env/Lib/site-packages/boto3/data/cloudformation/2010-05-15/resources-1.json +195 -0
  22. env/Lib/site-packages/boto3/data/cloudwatch/2010-08-01/resources-1.json +334 -0
  23. env/Lib/site-packages/boto3/data/dynamodb/2012-08-10/resources-1.json +150 -0
  24. env/Lib/site-packages/boto3/data/ec2/2014-10-01/resources-1.json +2289 -0
  25. env/Lib/site-packages/boto3/data/ec2/2015-03-01/resources-1.json +2289 -0
  26. env/Lib/site-packages/boto3/data/ec2/2015-04-15/resources-1.json +2289 -0
  27. env/Lib/site-packages/boto3/data/ec2/2015-10-01/resources-1.json +2567 -0
  28. env/Lib/site-packages/boto3/data/ec2/2016-04-01/resources-1.json +2567 -0
  29. env/Lib/site-packages/boto3/data/ec2/2016-09-15/resources-1.json +2567 -0
  30. env/Lib/site-packages/boto3/data/ec2/2016-11-15/resources-1.json +2582 -0
  31. env/Lib/site-packages/boto3/data/glacier/2012-06-01/resources-1.json +581 -0
  32. env/Lib/site-packages/boto3/data/iam/2010-05-08/resources-1.json +1721 -0
  33. env/Lib/site-packages/boto3/data/opsworks/2013-02-18/resources-1.json +173 -0
  34. env/Lib/site-packages/boto3/data/s3/2006-03-01/resources-1.json +1249 -0
  35. env/Lib/site-packages/boto3/data/sns/2010-03-31/resources-1.json +327 -0
  36. env/Lib/site-packages/boto3/data/sqs/2012-11-05/resources-1.json +232 -0
  37. env/Lib/site-packages/boto3/docs/__init__.py +51 -0
  38. env/Lib/site-packages/boto3/docs/__pycache__/__init__.cpython-311.pyc +0 -0
  39. env/Lib/site-packages/boto3/docs/__pycache__/action.cpython-311.pyc +0 -0
  40. env/Lib/site-packages/boto3/docs/__pycache__/attr.cpython-311.pyc +0 -0
  41. env/Lib/site-packages/boto3/docs/__pycache__/base.cpython-311.pyc +0 -0
  42. env/Lib/site-packages/boto3/docs/__pycache__/client.cpython-311.pyc +0 -0
  43. env/Lib/site-packages/boto3/docs/__pycache__/collection.cpython-311.pyc +0 -0
  44. env/Lib/site-packages/boto3/docs/__pycache__/docstring.cpython-311.pyc +0 -0
  45. env/Lib/site-packages/boto3/docs/__pycache__/method.cpython-311.pyc +0 -0
  46. env/Lib/site-packages/boto3/docs/__pycache__/resource.cpython-311.pyc +0 -0
  47. env/Lib/site-packages/boto3/docs/__pycache__/service.cpython-311.pyc +0 -0
  48. env/Lib/site-packages/boto3/docs/__pycache__/subresource.cpython-311.pyc +0 -0
  49. env/Lib/site-packages/boto3/docs/__pycache__/utils.cpython-311.pyc +0 -0
  50. env/Lib/site-packages/boto3/docs/__pycache__/waiter.cpython-311.pyc +0 -0
env/Lib/site-packages/__pycache__/six.cpython-311.pyc ADDED
Binary file (46.4 kB). View file
 
env/Lib/site-packages/_distutils_hack/__init__.py ADDED
@@ -0,0 +1,222 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # don't import any costly modules
2
+ import sys
3
+ import os
4
+
5
+
6
+ is_pypy = '__pypy__' in sys.builtin_module_names
7
+
8
+
9
+ def warn_distutils_present():
10
+ if 'distutils' not in sys.modules:
11
+ return
12
+ if is_pypy and sys.version_info < (3, 7):
13
+ # PyPy for 3.6 unconditionally imports distutils, so bypass the warning
14
+ # https://foss.heptapod.net/pypy/pypy/-/blob/be829135bc0d758997b3566062999ee8b23872b4/lib-python/3/site.py#L250
15
+ return
16
+ import warnings
17
+
18
+ warnings.warn(
19
+ "Distutils was imported before Setuptools, but importing Setuptools "
20
+ "also replaces the `distutils` module in `sys.modules`. This may lead "
21
+ "to undesirable behaviors or errors. To avoid these issues, avoid "
22
+ "using distutils directly, ensure that setuptools is installed in the "
23
+ "traditional way (e.g. not an editable install), and/or make sure "
24
+ "that setuptools is always imported before distutils."
25
+ )
26
+
27
+
28
+ def clear_distutils():
29
+ if 'distutils' not in sys.modules:
30
+ return
31
+ import warnings
32
+
33
+ warnings.warn("Setuptools is replacing distutils.")
34
+ mods = [
35
+ name
36
+ for name in sys.modules
37
+ if name == "distutils" or name.startswith("distutils.")
38
+ ]
39
+ for name in mods:
40
+ del sys.modules[name]
41
+
42
+
43
+ def enabled():
44
+ """
45
+ Allow selection of distutils by environment variable.
46
+ """
47
+ which = os.environ.get('SETUPTOOLS_USE_DISTUTILS', 'local')
48
+ return which == 'local'
49
+
50
+
51
+ def ensure_local_distutils():
52
+ import importlib
53
+
54
+ clear_distutils()
55
+
56
+ # With the DistutilsMetaFinder in place,
57
+ # perform an import to cause distutils to be
58
+ # loaded from setuptools._distutils. Ref #2906.
59
+ with shim():
60
+ importlib.import_module('distutils')
61
+
62
+ # check that submodules load as expected
63
+ core = importlib.import_module('distutils.core')
64
+ assert '_distutils' in core.__file__, core.__file__
65
+ assert 'setuptools._distutils.log' not in sys.modules
66
+
67
+
68
+ def do_override():
69
+ """
70
+ Ensure that the local copy of distutils is preferred over stdlib.
71
+
72
+ See https://github.com/pypa/setuptools/issues/417#issuecomment-392298401
73
+ for more motivation.
74
+ """
75
+ if enabled():
76
+ warn_distutils_present()
77
+ ensure_local_distutils()
78
+
79
+
80
+ class _TrivialRe:
81
+ def __init__(self, *patterns):
82
+ self._patterns = patterns
83
+
84
+ def match(self, string):
85
+ return all(pat in string for pat in self._patterns)
86
+
87
+
88
+ class DistutilsMetaFinder:
89
+ def find_spec(self, fullname, path, target=None):
90
+ # optimization: only consider top level modules and those
91
+ # found in the CPython test suite.
92
+ if path is not None and not fullname.startswith('test.'):
93
+ return
94
+
95
+ method_name = 'spec_for_{fullname}'.format(**locals())
96
+ method = getattr(self, method_name, lambda: None)
97
+ return method()
98
+
99
+ def spec_for_distutils(self):
100
+ if self.is_cpython():
101
+ return
102
+
103
+ import importlib
104
+ import importlib.abc
105
+ import importlib.util
106
+
107
+ try:
108
+ mod = importlib.import_module('setuptools._distutils')
109
+ except Exception:
110
+ # There are a couple of cases where setuptools._distutils
111
+ # may not be present:
112
+ # - An older Setuptools without a local distutils is
113
+ # taking precedence. Ref #2957.
114
+ # - Path manipulation during sitecustomize removes
115
+ # setuptools from the path but only after the hook
116
+ # has been loaded. Ref #2980.
117
+ # In either case, fall back to stdlib behavior.
118
+ return
119
+
120
+ class DistutilsLoader(importlib.abc.Loader):
121
+ def create_module(self, spec):
122
+ mod.__name__ = 'distutils'
123
+ return mod
124
+
125
+ def exec_module(self, module):
126
+ pass
127
+
128
+ return importlib.util.spec_from_loader(
129
+ 'distutils', DistutilsLoader(), origin=mod.__file__
130
+ )
131
+
132
+ @staticmethod
133
+ def is_cpython():
134
+ """
135
+ Suppress supplying distutils for CPython (build and tests).
136
+ Ref #2965 and #3007.
137
+ """
138
+ return os.path.isfile('pybuilddir.txt')
139
+
140
+ def spec_for_pip(self):
141
+ """
142
+ Ensure stdlib distutils when running under pip.
143
+ See pypa/pip#8761 for rationale.
144
+ """
145
+ if self.pip_imported_during_build():
146
+ return
147
+ clear_distutils()
148
+ self.spec_for_distutils = lambda: None
149
+
150
+ @classmethod
151
+ def pip_imported_during_build(cls):
152
+ """
153
+ Detect if pip is being imported in a build script. Ref #2355.
154
+ """
155
+ import traceback
156
+
157
+ return any(
158
+ cls.frame_file_is_setup(frame) for frame, line in traceback.walk_stack(None)
159
+ )
160
+
161
+ @staticmethod
162
+ def frame_file_is_setup(frame):
163
+ """
164
+ Return True if the indicated frame suggests a setup.py file.
165
+ """
166
+ # some frames may not have __file__ (#2940)
167
+ return frame.f_globals.get('__file__', '').endswith('setup.py')
168
+
169
+ def spec_for_sensitive_tests(self):
170
+ """
171
+ Ensure stdlib distutils when running select tests under CPython.
172
+
173
+ python/cpython#91169
174
+ """
175
+ clear_distutils()
176
+ self.spec_for_distutils = lambda: None
177
+
178
+ sensitive_tests = (
179
+ [
180
+ 'test.test_distutils',
181
+ 'test.test_peg_generator',
182
+ 'test.test_importlib',
183
+ ]
184
+ if sys.version_info < (3, 10)
185
+ else [
186
+ 'test.test_distutils',
187
+ ]
188
+ )
189
+
190
+
191
+ for name in DistutilsMetaFinder.sensitive_tests:
192
+ setattr(
193
+ DistutilsMetaFinder,
194
+ f'spec_for_{name}',
195
+ DistutilsMetaFinder.spec_for_sensitive_tests,
196
+ )
197
+
198
+
199
+ DISTUTILS_FINDER = DistutilsMetaFinder()
200
+
201
+
202
+ def add_shim():
203
+ DISTUTILS_FINDER in sys.meta_path or insert_shim()
204
+
205
+
206
+ class shim:
207
+ def __enter__(self):
208
+ insert_shim()
209
+
210
+ def __exit__(self, exc, value, tb):
211
+ remove_shim()
212
+
213
+
214
+ def insert_shim():
215
+ sys.meta_path.insert(0, DISTUTILS_FINDER)
216
+
217
+
218
+ def remove_shim():
219
+ try:
220
+ sys.meta_path.remove(DISTUTILS_FINDER)
221
+ except ValueError:
222
+ pass
env/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (11.2 kB). View file
 
env/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-311.pyc ADDED
Binary file (334 Bytes). View file
 
env/Lib/site-packages/_distutils_hack/override.py ADDED
@@ -0,0 +1 @@
 
 
1
+ __import__('_distutils_hack').do_override()
env/Lib/site-packages/boto3-1.26.132.dist-info/INSTALLER ADDED
@@ -0,0 +1 @@
 
 
1
+ pip
env/Lib/site-packages/boto3-1.26.132.dist-info/LICENSE ADDED
@@ -0,0 +1,177 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
env/Lib/site-packages/boto3-1.26.132.dist-info/METADATA ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Metadata-Version: 2.1
2
+ Name: boto3
3
+ Version: 1.26.132
4
+ Summary: The AWS SDK for Python
5
+ Home-page: https://github.com/boto/boto3
6
+ Author: Amazon Web Services
7
+ License: Apache License 2.0
8
+ Project-URL: Documentation, https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
9
+ Project-URL: Source, https://github.com/boto/boto3
10
+ Platform: UNKNOWN
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Natural Language :: English
14
+ Classifier: License :: OSI Approved :: Apache Software License
15
+ Classifier: Programming Language :: Python
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.7
18
+ Classifier: Programming Language :: Python :: 3.8
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Requires-Python: >= 3.7
23
+ License-File: LICENSE
24
+ License-File: NOTICE
25
+ Requires-Dist: botocore (<1.30.0,>=1.29.132)
26
+ Requires-Dist: jmespath (<2.0.0,>=0.7.1)
27
+ Requires-Dist: s3transfer (<0.7.0,>=0.6.0)
28
+ Provides-Extra: crt
29
+ Requires-Dist: botocore[crt] (<2.0a0,>=1.21.0) ; extra == 'crt'
30
+
31
+ ===============================
32
+ Boto3 - The AWS SDK for Python
33
+ ===============================
34
+
35
+ |Version| |Python| |License|
36
+
37
+ Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for
38
+ Python, which allows Python developers to write software that makes use
39
+ of services like Amazon S3 and Amazon EC2. You can find the latest, most
40
+ up to date, documentation at our `doc site`_, including a list of
41
+ services that are supported.
42
+
43
+ Boto3 is maintained and published by `Amazon Web Services`_.
44
+
45
+ Boto (pronounced boh-toh) was named after the fresh water dolphin native to the Amazon river. The name was chosen by the author of the original Boto library, Mitch Garnaat, as a reference to the company.
46
+
47
+ Notices
48
+ -------
49
+
50
+ On 2021-01-15, deprecation for Python 2.7 was announced and support was dropped
51
+ on 2021-07-15. To avoid disruption, customers using Boto3 on Python 2.7 may
52
+ need to upgrade their version of Python or pin the version of Boto3. For
53
+ 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/>`__.
54
+
55
+ On 2022-05-30, support for Python 3.6 was ended. This follows the
56
+ Python Software Foundation `end of support <https://www.python.org/dev/peps/pep-0494/#lifespan>`__
57
+ for the runtime which occurred on 2021-12-23.
58
+ For more information, see this `blog post <https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/>`__.
59
+
60
+ .. _boto: https://docs.pythonboto.org/
61
+ .. _`doc site`: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
62
+ .. _`Amazon Web Services`: https://aws.amazon.com/what-is-aws/
63
+ .. |Python| image:: https://img.shields.io/pypi/pyversions/boto3.svg?style=flat
64
+ :target: https://pypi.python.org/pypi/boto3/
65
+ :alt: Python Versions
66
+ .. |Version| image:: http://img.shields.io/pypi/v/boto3.svg?style=flat
67
+ :target: https://pypi.python.org/pypi/boto3/
68
+ :alt: Package Version
69
+ .. |License| image:: http://img.shields.io/pypi/l/boto3.svg?style=flat
70
+ :target: https://github.com/boto/boto3/blob/develop/LICENSE
71
+ :alt: License
72
+
73
+ Getting Started
74
+ ---------------
75
+ Assuming that you have a supported version of Python installed, you can first
76
+ set up your environment with:
77
+
78
+ .. code-block:: sh
79
+
80
+ $ python -m venv .venv
81
+ ...
82
+ $ . .venv/bin/activate
83
+
84
+ Then, you can install boto3 from PyPI with:
85
+
86
+ .. code-block:: sh
87
+
88
+ $ python -m pip install boto3
89
+
90
+ or install from source with:
91
+
92
+ .. code-block:: sh
93
+
94
+ $ git clone https://github.com/boto/boto3.git
95
+ $ cd boto3
96
+ $ python -m pip install -r requirements.txt
97
+ $ python -m pip install -e .
98
+
99
+
100
+ Using Boto3
101
+ ~~~~~~~~~~~~~~
102
+ After installing boto3
103
+
104
+ Next, set up credentials (in e.g. ``~/.aws/credentials``):
105
+
106
+ .. code-block:: ini
107
+
108
+ [default]
109
+ aws_access_key_id = YOUR_KEY
110
+ aws_secret_access_key = YOUR_SECRET
111
+
112
+ Then, set up a default region (in e.g. ``~/.aws/config``):
113
+
114
+ .. code-block:: ini
115
+
116
+ [default]
117
+ region=us-east-1
118
+
119
+ Other credentials configuration method can be found `here <https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html>`__
120
+
121
+ Then, from a Python interpreter:
122
+
123
+ .. code-block:: python
124
+
125
+ >>> import boto3
126
+ >>> s3 = boto3.resource('s3')
127
+ >>> for bucket in s3.buckets.all():
128
+ print(bucket.name)
129
+
130
+ Running Tests
131
+ ~~~~~~~~~~~~~
132
+ You can run tests in all supported Python versions using ``tox``. By default,
133
+ it will run all of the unit and functional tests, but you can also specify your own
134
+ ``pytest`` options. Note that this requires that you have all supported
135
+ versions of Python installed, otherwise you must pass ``-e`` or run the
136
+ ``pytest`` command directly:
137
+
138
+ .. code-block:: sh
139
+
140
+ $ tox
141
+ $ tox -- unit/test_session.py
142
+ $ tox -e py26,py33 -- integration/
143
+
144
+ You can also run individual tests with your default Python version:
145
+
146
+ .. code-block:: sh
147
+
148
+ $ pytest tests/unit
149
+
150
+
151
+ Getting Help
152
+ ------------
153
+
154
+ We use GitHub issues for tracking bugs and feature requests and have limited
155
+ bandwidth to address them. Please use these community resources for getting
156
+ help:
157
+
158
+ * Ask a question on `Stack Overflow <https://stackoverflow.com/>`__ and tag it with `boto3 <https://stackoverflow.com/questions/tagged/boto3>`__
159
+ * Open a support ticket with `AWS Support <https://console.aws.amazon.com/support/home#/>`__
160
+ * If it turns out that you may have found a bug, please `open an issue <https://github.com/boto/boto3/issues/new>`__
161
+
162
+
163
+ Contributing
164
+ ------------
165
+
166
+ 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.
167
+
168
+
169
+ Maintenance and Support for SDK Major Versions
170
+ ----------------------------------------------
171
+
172
+ Boto3 was made generally available on 06/22/2015 and is currently in the full support phase of the availability life cycle.
173
+
174
+ 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:
175
+
176
+ * `AWS SDKs and Tools Maintenance Policy <https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html>`__
177
+ * `AWS SDKs and Tools Version Support Matrix <https://docs.aws.amazon.com/sdkref/latest/guide/version-support-matrix.html>`__
178
+
179
+
180
+ More Resources
181
+ --------------
182
+
183
+ * `NOTICE <https://github.com/boto/boto3/blob/develop/NOTICE>`__
184
+ * `Changelog <https://github.com/boto/boto3/blob/develop/CHANGELOG.rst>`__
185
+ * `License <https://github.com/boto/boto3/blob/develop/LICENSE>`__
186
+
187
+
env/Lib/site-packages/boto3-1.26.132.dist-info/NOTICE ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ boto3
2
+ Copyright 2013-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
env/Lib/site-packages/boto3-1.26.132.dist-info/RECORD ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ boto3-1.26.132.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
2
+ boto3-1.26.132.dist-info/LICENSE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
3
+ boto3-1.26.132.dist-info/METADATA,sha256=Vi8lNjHdaPjK0sW3CNpYcDtzphlquEKaybS1ZZ10YQE,6957
4
+ boto3-1.26.132.dist-info/NOTICE,sha256=BPseYUhKeBDxugm7QrwByljJrzOSfXxaIVVuTE0cf6Q,83
5
+ boto3-1.26.132.dist-info/RECORD,,
6
+ boto3-1.26.132.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ boto3-1.26.132.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
8
+ boto3-1.26.132.dist-info/top_level.txt,sha256=MP6_SI1GcPseXodd3Ykt5F_mCBsrUksiziLxjEZKGUU,6
9
+ boto3/__init__.py,sha256=B5o2odPpvKnOZBMlLHtCoSHMY1_0Yo6lPLSEBfIMjWM,3421
10
+ boto3/__pycache__/__init__.cpython-311.pyc,,
11
+ boto3/__pycache__/compat.cpython-311.pyc,,
12
+ boto3/__pycache__/exceptions.cpython-311.pyc,,
13
+ boto3/__pycache__/session.cpython-311.pyc,,
14
+ boto3/__pycache__/utils.cpython-311.pyc,,
15
+ boto3/compat.py,sha256=JXI_O9tsMYL90cmiT7ssicHRu6am5hdgkV_olIPEMLU,2884
16
+ boto3/data/cloudformation/2010-05-15/resources-1.json,sha256=5mFVKJVtbVoHyPdHSyNfZ5mpkgCAws5PhnveSu4qzdI,5110
17
+ boto3/data/cloudwatch/2010-08-01/resources-1.json,sha256=q4AgE8F4pbscd-2U3NYSGAzK55zpMyOQGr83JUxbZXI,11690
18
+ boto3/data/dynamodb/2012-08-10/resources-1.json,sha256=hBLa1Jt7bdT557U9A7UcSi8SCpONKzdbtDRTzjM1-Y0,3849
19
+ boto3/data/ec2/2014-10-01/resources-1.json,sha256=tMG1AMYP2ksnPWY6-3l8DB-EhKsSNtAO9YHhvHqBKu0,68469
20
+ boto3/data/ec2/2015-03-01/resources-1.json,sha256=tMG1AMYP2ksnPWY6-3l8DB-EhKsSNtAO9YHhvHqBKu0,68469
21
+ boto3/data/ec2/2015-04-15/resources-1.json,sha256=tMG1AMYP2ksnPWY6-3l8DB-EhKsSNtAO9YHhvHqBKu0,68469
22
+ boto3/data/ec2/2015-10-01/resources-1.json,sha256=SOfYX2c1KgvnxMO2FCdJpV42rJWNMwVhlFAXhvUPTzA,76564
23
+ boto3/data/ec2/2016-04-01/resources-1.json,sha256=SOfYX2c1KgvnxMO2FCdJpV42rJWNMwVhlFAXhvUPTzA,76564
24
+ boto3/data/ec2/2016-09-15/resources-1.json,sha256=SOfYX2c1KgvnxMO2FCdJpV42rJWNMwVhlFAXhvUPTzA,76564
25
+ boto3/data/ec2/2016-11-15/resources-1.json,sha256=vx7YiL-sUvBFeo4SZ81G7Qa2Hy-y6xY4z2YlSx7_wEw,76922
26
+ boto3/data/glacier/2012-06-01/resources-1.json,sha256=GT5qWQLGeXtrHgTDNG23Mrpyweg6O0Udgd139BuNTVs,19940
27
+ boto3/data/iam/2010-05-08/resources-1.json,sha256=PsOT9yBqSJtluBFHCVRsg6k6Ly2VkSYODnYxSl0DVOc,50357
28
+ boto3/data/opsworks/2013-02-18/resources-1.json,sha256=Y6ygEyegsbYA1gGZn-Ad2yuDd3jUCOt2UKrW_b2YBeM,4136
29
+ boto3/data/s3/2006-03-01/resources-1.json,sha256=VeKALhMRqv7fyDHMLOM5_RzXUEuDdg_n6OIRi3sdB-o,37204
30
+ boto3/data/sns/2010-03-31/resources-1.json,sha256=7zmKQhafgsRDu4U1yiw3NXHz-zJhHKrOmtuoYlxQP-s,9091
31
+ boto3/data/sqs/2012-11-05/resources-1.json,sha256=LRIIr5BId3UDeuBfLn-vRiWsSZCM9_ynqdxF8uzHgy8,6545
32
+ boto3/docs/__init__.py,sha256=ncXQfWgitU2kFSghqy2lezeeW1RneKZ-3wcsvEddsr0,1845
33
+ boto3/docs/__pycache__/__init__.cpython-311.pyc,,
34
+ boto3/docs/__pycache__/action.cpython-311.pyc,,
35
+ boto3/docs/__pycache__/attr.cpython-311.pyc,,
36
+ boto3/docs/__pycache__/base.cpython-311.pyc,,
37
+ boto3/docs/__pycache__/client.cpython-311.pyc,,
38
+ boto3/docs/__pycache__/collection.cpython-311.pyc,,
39
+ boto3/docs/__pycache__/docstring.cpython-311.pyc,,
40
+ boto3/docs/__pycache__/method.cpython-311.pyc,,
41
+ boto3/docs/__pycache__/resource.cpython-311.pyc,,
42
+ boto3/docs/__pycache__/service.cpython-311.pyc,,
43
+ boto3/docs/__pycache__/subresource.cpython-311.pyc,,
44
+ boto3/docs/__pycache__/utils.cpython-311.pyc,,
45
+ boto3/docs/__pycache__/waiter.cpython-311.pyc,,
46
+ boto3/docs/action.py,sha256=J9zesr4iCwb2FSEQmQ6KWqFk4z6NoNpgpBfTYZ_cb90,7347
47
+ boto3/docs/attr.py,sha256=BnG3tR1KKQvvY58aeJiWQ5W5DiMnJ_9jUjmG6tDbFiU,2500
48
+ boto3/docs/base.py,sha256=nOrQSCeUSIZPkn-I59o7CfjEthgdkpCt_rXtE9zQnXc,2103
49
+ boto3/docs/client.py,sha256=RpCngTolE4OtGIPvvJvkw8FJCqh5-7b-Q0QN5mVE7to,1078
50
+ boto3/docs/collection.py,sha256=pWO9I9LTMyhyYyCT_alrO4hZpqNI1228IwABotYTqBU,11679
51
+ boto3/docs/docstring.py,sha256=oPugaubdAXY6aNa-kXGI51lP1xE2s4AnfTsLhibf7-E,2511
52
+ boto3/docs/method.py,sha256=ueltQZjgd6558XBa1XxyZ88wgBrLi85ezOJ0M647ajw,2734
53
+ boto3/docs/resource.py,sha256=HBFq7c-tio19Da2Wb60j99EcW-I9M5-_C-9IjTuWrok,15376
54
+ boto3/docs/service.py,sha256=-Diwwdh2ZmJ7DGiMQN_Zq_gG9xW2oRW2ckPMZMm2k50,8378
55
+ boto3/docs/subresource.py,sha256=W19brjJjeW55ssyYhCnFaZICfp2LjOoC4BP_jW2ViC8,5864
56
+ boto3/docs/utils.py,sha256=H0UeVvmVbYBZ6F-CVEUxVggLMBOIoA5q8y8hxBFnRKE,5436
57
+ boto3/docs/waiter.py,sha256=6wSsxog2I8o5hqgpjI_P1HNWRdYMqnZtTM5kdBaGnSg,5176
58
+ boto3/dynamodb/__init__.py,sha256=GkSq-WxXWfVHu1SEcMrlJbzkfw9ACgF3UdCL6fPpTmY,562
59
+ boto3/dynamodb/__pycache__/__init__.cpython-311.pyc,,
60
+ boto3/dynamodb/__pycache__/conditions.cpython-311.pyc,,
61
+ boto3/dynamodb/__pycache__/table.cpython-311.pyc,,
62
+ boto3/dynamodb/__pycache__/transform.cpython-311.pyc,,
63
+ boto3/dynamodb/__pycache__/types.cpython-311.pyc,,
64
+ boto3/dynamodb/conditions.py,sha256=1CroEyYWRyLa8QDIlUrlqq4a4DGerUg97Az2qGVhXvo,15046
65
+ boto3/dynamodb/table.py,sha256=us79dxZSQSno8gsUoAdQyzc2oBJL2riUpN6RGc8vQk8,6343
66
+ boto3/dynamodb/transform.py,sha256=JnW5ZzPIfxEcDszSvXKUZmp_1rw445tsddS3FG--JwA,12909
67
+ boto3/dynamodb/types.py,sha256=ch0vIKaAYexjL42S_OJWyvjWMcb0UbNrmkKGcz76O3c,9541
68
+ boto3/ec2/__init__.py,sha256=GkSq-WxXWfVHu1SEcMrlJbzkfw9ACgF3UdCL6fPpTmY,562
69
+ boto3/ec2/__pycache__/__init__.cpython-311.pyc,,
70
+ boto3/ec2/__pycache__/createtags.cpython-311.pyc,,
71
+ boto3/ec2/__pycache__/deletetags.cpython-311.pyc,,
72
+ boto3/ec2/createtags.py,sha256=pUPJOYn7m0Jcch9UL-DEVGgbQHoyAemECPBhzyBx28c,1577
73
+ boto3/ec2/deletetags.py,sha256=KaYcqSt8FFM_TW0g0pZ14qDjVnmRCPV0sMe6DprEtvo,1217
74
+ boto3/examples/cloudfront.rst,sha256=K-sBWZxoLjABCZHrqAZs57cYefwPmDir03pm6PE_mh4,1390
75
+ boto3/examples/s3.rst,sha256=jCfgEDfpw08nFtCizCN2OGg15zQRkx3DiJXZUfqhE2s,5486
76
+ boto3/exceptions.py,sha256=rQkmjFkG-AuNrNAm5G5cOw_BGBdIQ_FJklWm-rqCODg,4119
77
+ boto3/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ boto3/resources/__pycache__/__init__.cpython-311.pyc,,
79
+ boto3/resources/__pycache__/action.cpython-311.pyc,,
80
+ boto3/resources/__pycache__/base.cpython-311.pyc,,
81
+ boto3/resources/__pycache__/collection.cpython-311.pyc,,
82
+ boto3/resources/__pycache__/factory.cpython-311.pyc,,
83
+ boto3/resources/__pycache__/model.cpython-311.pyc,,
84
+ boto3/resources/__pycache__/params.cpython-311.pyc,,
85
+ boto3/resources/__pycache__/response.cpython-311.pyc,,
86
+ boto3/resources/action.py,sha256=vPfVHVgXiGqhwpgRSCC7lSsY3vGjgsSiYhXa14CMAqw,9600
87
+ boto3/resources/base.py,sha256=Nf5Anssquo3urPDyWLAN8di379z5oafjwzl3gD9WbsI,5044
88
+ boto3/resources/collection.py,sha256=bSV0353zcTRLEPws2qqMFd2Xure8I8LgU-IDR-TM3sI,19242
89
+ boto3/resources/factory.py,sha256=gFPmhKh99zztkpBMZ8ToUbOVrJnyXqymcN-d_Ig3vRU,22707
90
+ boto3/resources/model.py,sha256=3mCNSvnmCKPzjK-hW4yEv0PjKYb0hxBsAE9nopY-3bU,20394
91
+ boto3/resources/params.py,sha256=i6KAjOzjzou7ouViYbRZCz0CwqB6fA_6gOJFDIruTV8,6112
92
+ boto3/resources/response.py,sha256=aC1AZuO08qtb1psJtbrc5Na32AQ9WI-Il4DpVxsUtXs,11694
93
+ boto3/s3/__init__.py,sha256=GkSq-WxXWfVHu1SEcMrlJbzkfw9ACgF3UdCL6fPpTmY,562
94
+ boto3/s3/__pycache__/__init__.cpython-311.pyc,,
95
+ boto3/s3/__pycache__/inject.cpython-311.pyc,,
96
+ boto3/s3/__pycache__/transfer.cpython-311.pyc,,
97
+ boto3/s3/inject.py,sha256=Ixa2AHHkwyrsAOGAE_7B5QoJq6v-yxj2O_z2T80Orfs,28038
98
+ boto3/s3/transfer.py,sha256=PwxaTRX1R5hYU77QTqdUBUmb_aeZxXMbzf-7h0g_hvA,13189
99
+ boto3/session.py,sha256=ihfVht4XQWHYxv5C6WvtjUYUrYblYpIYfsffrDDAXU8,20759
100
+ boto3/utils.py,sha256=dBw0Eu23TOhDsP1Lkrp4uOVMn5DS8s0kRGwVRiCD_KM,3141
env/Lib/site-packages/boto3-1.26.132.dist-info/REQUESTED ADDED
File without changes
env/Lib/site-packages/boto3-1.26.132.dist-info/WHEEL ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ Wheel-Version: 1.0
2
+ Generator: bdist_wheel (0.37.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
env/Lib/site-packages/boto3-1.26.132.dist-info/top_level.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ boto3
env/Lib/site-packages/boto3/__init__.py ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # https://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ import logging
15
+
16
+ from boto3.compat import _warn_deprecated_python
17
+ from boto3.session import Session
18
+
19
+ __author__ = 'Amazon Web Services'
20
+ __version__ = '1.26.132'
21
+
22
+
23
+ # The default Boto3 session; autoloaded when needed.
24
+ DEFAULT_SESSION = None
25
+
26
+
27
+ def setup_default_session(**kwargs):
28
+ """
29
+ Set up a default session, passing through any parameters to the session
30
+ constructor. There is no need to call this unless you wish to pass custom
31
+ parameters, because a default session will be created for you.
32
+ """
33
+ global DEFAULT_SESSION
34
+ DEFAULT_SESSION = Session(**kwargs)
35
+
36
+
37
+ def set_stream_logger(name='boto3', level=logging.DEBUG, format_string=None):
38
+ """
39
+ Add a stream handler for the given name and level to the logging module.
40
+ By default, this logs all boto3 messages to ``stdout``.
41
+
42
+ >>> import boto3
43
+ >>> boto3.set_stream_logger('boto3.resources', logging.INFO)
44
+
45
+ For debugging purposes a good choice is to set the stream logger to ``''``
46
+ which is equivalent to saying "log everything".
47
+
48
+ .. WARNING::
49
+ Be aware that when logging anything from ``'botocore'`` the full wire
50
+ trace will appear in your logs. If your payloads contain sensitive data
51
+ this should not be used in production.
52
+
53
+ :type name: string
54
+ :param name: Log name
55
+ :type level: int
56
+ :param level: Logging level, e.g. ``logging.INFO``
57
+ :type format_string: str
58
+ :param format_string: Log message format
59
+ """
60
+ if format_string is None:
61
+ format_string = "%(asctime)s %(name)s [%(levelname)s] %(message)s"
62
+
63
+ logger = logging.getLogger(name)
64
+ logger.setLevel(level)
65
+ handler = logging.StreamHandler()
66
+ handler.setLevel(level)
67
+ formatter = logging.Formatter(format_string)
68
+ handler.setFormatter(formatter)
69
+ logger.addHandler(handler)
70
+
71
+
72
+ def _get_default_session():
73
+ """
74
+ Get the default session, creating one if needed.
75
+
76
+ :rtype: :py:class:`~boto3.session.Session`
77
+ :return: The default session
78
+ """
79
+ if DEFAULT_SESSION is None:
80
+ setup_default_session()
81
+ _warn_deprecated_python()
82
+
83
+ return DEFAULT_SESSION
84
+
85
+
86
+ def client(*args, **kwargs):
87
+ """
88
+ Create a low-level service client by name using the default session.
89
+
90
+ See :py:meth:`boto3.session.Session.client`.
91
+ """
92
+ return _get_default_session().client(*args, **kwargs)
93
+
94
+
95
+ def resource(*args, **kwargs):
96
+ """
97
+ Create a resource service client by name using the default session.
98
+
99
+ See :py:meth:`boto3.session.Session.resource`.
100
+ """
101
+ return _get_default_session().resource(*args, **kwargs)
102
+
103
+
104
+ # Set up logging to ``/dev/null`` like a library is supposed to.
105
+ # https://docs.python.org/3.3/howto/logging.html#configuring-logging-for-a-library
106
+ class NullHandler(logging.Handler):
107
+ def emit(self, record):
108
+ pass
109
+
110
+
111
+ logging.getLogger('boto3').addHandler(NullHandler())
env/Lib/site-packages/boto3/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (4.06 kB). View file
 
env/Lib/site-packages/boto3/__pycache__/compat.cpython-311.pyc ADDED
Binary file (2.71 kB). View file
 
env/Lib/site-packages/boto3/__pycache__/exceptions.cpython-311.pyc ADDED
Binary file (5.84 kB). View file
 
env/Lib/site-packages/boto3/__pycache__/session.cpython-311.pyc ADDED
Binary file (21 kB). View file
 
env/Lib/site-packages/boto3/__pycache__/utils.cpython-311.pyc ADDED
Binary file (4.06 kB). View file
 
env/Lib/site-packages/boto3/compat.py ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # https://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+ import sys
14
+ import os
15
+ import errno
16
+ import socket
17
+ import warnings
18
+
19
+ from boto3.exceptions import PythonDeprecationWarning
20
+
21
+ # In python3, socket.error is OSError, which is too general
22
+ # for what we want (i.e FileNotFoundError is a subclass of OSError).
23
+ # In py3 all the socket related errors are in a newly created
24
+ # ConnectionError
25
+ SOCKET_ERROR = ConnectionError
26
+
27
+ import collections.abc as collections_abc
28
+
29
+
30
+ if sys.platform.startswith('win'):
31
+ def rename_file(current_filename, new_filename):
32
+ try:
33
+ os.remove(new_filename)
34
+ except OSError as e:
35
+ if not e.errno == errno.ENOENT:
36
+ # We only want to a ignore trying to remove
37
+ # a file that does not exist. If it fails
38
+ # for any other reason we should be propagating
39
+ # that exception.
40
+ raise
41
+ os.rename(current_filename, new_filename)
42
+ else:
43
+ rename_file = os.rename
44
+
45
+
46
+ def filter_python_deprecation_warnings():
47
+ """
48
+ Invoking this filter acknowledges your runtime will soon be deprecated
49
+ at which time you will stop receiving all updates to your client.
50
+ """
51
+ warnings.filterwarnings(
52
+ 'ignore',
53
+ message=".*Boto3 will no longer support Python.*",
54
+ category=PythonDeprecationWarning,
55
+ module=r".*boto3\.compat"
56
+ )
57
+
58
+
59
+ def _warn_deprecated_python():
60
+ """Use this template for future deprecation campaigns as needed."""
61
+ py_36_params = {
62
+ 'date': 'May 30, 2022',
63
+ 'blog_link': (
64
+ 'https://aws.amazon.com/blogs/developer/'
65
+ 'python-support-policy-updates-for-aws-sdks-and-tools/'
66
+ )
67
+ }
68
+ deprecated_versions = {
69
+ # Example template for future deprecations
70
+ # (3, 6): py_36_params,
71
+ }
72
+ py_version = sys.version_info[:2]
73
+
74
+ if py_version in deprecated_versions:
75
+ params = deprecated_versions[py_version]
76
+ warning = (
77
+ "Boto3 will no longer support Python {}.{} "
78
+ "starting {}. To continue receiving service updates, "
79
+ "bug fixes, and security updates please upgrade to Python 3.7 or "
80
+ "later. More information can be found here: {}"
81
+ ).format(py_version[0], py_version[1], params['date'], params['blog_link'])
82
+ warnings.warn(warning, PythonDeprecationWarning)
env/Lib/site-packages/boto3/data/cloudformation/2010-05-15/resources-1.json ADDED
@@ -0,0 +1,195 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateStack": {
5
+ "request": { "operation": "CreateStack" },
6
+ "resource": {
7
+ "type": "Stack",
8
+ "identifiers": [
9
+ { "target": "Name", "source": "requestParameter", "path": "StackName" }
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ "has": {
15
+ "Event": {
16
+ "resource": {
17
+ "type": "Event",
18
+ "identifiers": [
19
+ { "target": "Id", "source": "input" }
20
+ ]
21
+ }
22
+ },
23
+ "Stack": {
24
+ "resource": {
25
+ "type": "Stack",
26
+ "identifiers": [
27
+ { "target": "Name", "source": "input" }
28
+ ]
29
+ }
30
+ }
31
+ },
32
+ "hasMany": {
33
+ "Stacks": {
34
+ "request": { "operation": "DescribeStacks" },
35
+ "resource": {
36
+ "type": "Stack",
37
+ "identifiers": [
38
+ { "target": "Name", "source": "response", "path": "Stacks[].StackName" }
39
+ ],
40
+ "path": "Stacks[]"
41
+ }
42
+ }
43
+ }
44
+ },
45
+ "resources": {
46
+ "Event": {
47
+ "identifiers": [
48
+ {
49
+ "name": "Id",
50
+ "memberName": "EventId"
51
+ }
52
+ ],
53
+ "shape": "StackEvent"
54
+ },
55
+ "Stack": {
56
+ "identifiers": [
57
+ {
58
+ "name": "Name",
59
+ "memberName": "StackName"
60
+ }
61
+ ],
62
+ "shape": "Stack",
63
+ "load": {
64
+ "request": {
65
+ "operation": "DescribeStacks",
66
+ "params": [
67
+ { "target": "StackName", "source": "identifier", "name": "Name" }
68
+ ]
69
+ },
70
+ "path": "Stacks[0]"
71
+ },
72
+ "actions": {
73
+ "CancelUpdate": {
74
+ "request": {
75
+ "operation": "CancelUpdateStack",
76
+ "params": [
77
+ { "target": "StackName", "source": "identifier", "name": "Name" }
78
+ ]
79
+ }
80
+ },
81
+ "Delete": {
82
+ "request": {
83
+ "operation": "DeleteStack",
84
+ "params": [
85
+ { "target": "StackName", "source": "identifier", "name": "Name" }
86
+ ]
87
+ }
88
+ },
89
+ "Update": {
90
+ "request": {
91
+ "operation": "UpdateStack",
92
+ "params": [
93
+ { "target": "StackName", "source": "identifier", "name": "Name" }
94
+ ]
95
+ }
96
+ }
97
+ },
98
+ "has": {
99
+ "Resource": {
100
+ "resource": {
101
+ "type": "StackResource",
102
+ "identifiers": [
103
+ { "target": "StackName", "source": "identifier", "name": "Name" },
104
+ { "target": "LogicalId", "source": "input" }
105
+ ]
106
+ }
107
+ }
108
+ },
109
+ "hasMany": {
110
+ "Events": {
111
+ "request": {
112
+ "operation": "DescribeStackEvents",
113
+ "params": [
114
+ { "target": "StackName", "source": "identifier", "name": "Name" }
115
+ ]
116
+ },
117
+ "resource": {
118
+ "type": "Event",
119
+ "identifiers": [
120
+ { "target": "Id", "source": "response", "path": "StackEvents[].EventId" }
121
+ ],
122
+ "path": "StackEvents[]"
123
+ }
124
+ },
125
+ "ResourceSummaries": {
126
+ "request": {
127
+ "operation": "ListStackResources",
128
+ "params": [
129
+ { "target": "StackName", "source": "identifier", "name": "Name" }
130
+ ]
131
+ },
132
+ "resource": {
133
+ "type": "StackResourceSummary",
134
+ "identifiers": [
135
+ { "target": "LogicalId", "source": "response", "path": "StackResourceSummaries[].LogicalResourceId" },
136
+ { "target": "StackName", "source": "requestParameter", "path": "StackName" }
137
+ ],
138
+ "path": "StackResourceSummaries[]"
139
+ }
140
+ }
141
+ }
142
+ },
143
+ "StackResource": {
144
+ "identifiers": [
145
+ { "name": "StackName" },
146
+ {
147
+ "name": "LogicalId",
148
+ "memberName": "LogicalResourceId"
149
+ }
150
+ ],
151
+ "shape": "StackResourceDetail",
152
+ "load": {
153
+ "request": {
154
+ "operation": "DescribeStackResource",
155
+ "params": [
156
+ { "target": "LogicalResourceId", "source": "identifier", "name": "LogicalId" },
157
+ { "target": "StackName", "source": "identifier", "name": "StackName" }
158
+ ]
159
+ },
160
+ "path": "StackResourceDetail"
161
+ },
162
+ "has": {
163
+ "Stack": {
164
+ "resource": {
165
+ "type": "Stack",
166
+ "identifiers": [
167
+ { "target": "Name", "source": "identifier", "name": "StackName" }
168
+ ]
169
+ }
170
+ }
171
+ }
172
+ },
173
+ "StackResourceSummary": {
174
+ "identifiers": [
175
+ { "name": "StackName" },
176
+ {
177
+ "name": "LogicalId",
178
+ "memberName": "LogicalResourceId"
179
+ }
180
+ ],
181
+ "shape": "StackResourceSummary",
182
+ "has": {
183
+ "Resource": {
184
+ "resource": {
185
+ "type": "StackResource",
186
+ "identifiers": [
187
+ { "target": "LogicalId", "source": "identifier", "name": "LogicalId" },
188
+ { "target": "StackName", "source": "identifier", "name": "StackName" }
189
+ ]
190
+ }
191
+ }
192
+ }
193
+ }
194
+ }
195
+ }
env/Lib/site-packages/boto3/data/cloudwatch/2010-08-01/resources-1.json ADDED
@@ -0,0 +1,334 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "has": {
4
+ "Alarm": {
5
+ "resource": {
6
+ "type": "Alarm",
7
+ "identifiers": [
8
+ {
9
+ "target": "Name",
10
+ "source": "input"
11
+ }
12
+ ]
13
+ }
14
+ },
15
+ "Metric": {
16
+ "resource": {
17
+ "type": "Metric",
18
+ "identifiers": [
19
+ {
20
+ "target": "Namespace",
21
+ "source": "input"
22
+ },
23
+ {
24
+ "target": "Name",
25
+ "source": "input"
26
+ }
27
+ ]
28
+ }
29
+ }
30
+ },
31
+ "hasMany": {
32
+ "Alarms": {
33
+ "request": { "operation": "DescribeAlarms" },
34
+ "resource": {
35
+ "type": "Alarm",
36
+ "identifiers": [
37
+ {
38
+ "target": "Name",
39
+ "source": "response",
40
+ "path": "MetricAlarms[].AlarmName"
41
+ }
42
+ ],
43
+ "path": "MetricAlarms[]"
44
+ }
45
+ },
46
+ "Metrics": {
47
+ "request": { "operation": "ListMetrics" },
48
+ "resource": {
49
+ "type": "Metric",
50
+ "identifiers": [
51
+ {
52
+ "target": "Namespace",
53
+ "source": "response",
54
+ "path": "Metrics[].Namespace"
55
+ },
56
+ {
57
+ "target": "Name",
58
+ "source": "response",
59
+ "path": "Metrics[].MetricName"
60
+ }
61
+ ],
62
+ "path": "Metrics[]"
63
+ }
64
+ }
65
+ }
66
+ },
67
+ "resources": {
68
+ "Alarm": {
69
+ "identifiers": [
70
+ {
71
+ "name": "Name",
72
+ "memberName": "AlarmName"
73
+ }
74
+ ],
75
+ "shape": "MetricAlarm",
76
+ "load": {
77
+ "request": {
78
+ "operation": "DescribeAlarms",
79
+ "params": [
80
+ {
81
+ "target": "AlarmNames[0]",
82
+ "source": "identifier",
83
+ "name": "Name"
84
+ }
85
+ ]
86
+ },
87
+ "path": "MetricAlarms[0]"
88
+ },
89
+ "actions": {
90
+ "Delete": {
91
+ "request": {
92
+ "operation": "DeleteAlarms",
93
+ "params": [
94
+ {
95
+ "target": "AlarmNames[0]",
96
+ "source": "identifier",
97
+ "name": "Name"
98
+ }
99
+ ]
100
+ }
101
+ },
102
+ "DescribeHistory": {
103
+ "request": {
104
+ "operation": "DescribeAlarmHistory",
105
+ "params": [
106
+ {
107
+ "target": "AlarmName",
108
+ "source": "identifier",
109
+ "name": "Name"
110
+ }
111
+ ]
112
+ }
113
+ },
114
+ "DisableActions": {
115
+ "request": {
116
+ "operation": "DisableAlarmActions",
117
+ "params": [
118
+ {
119
+ "target": "AlarmNames[0]",
120
+ "source": "identifier",
121
+ "name": "Name"
122
+ }
123
+ ]
124
+ }
125
+ },
126
+ "EnableActions": {
127
+ "request": {
128
+ "operation": "EnableAlarmActions",
129
+ "params": [
130
+ {
131
+ "target": "AlarmNames[0]",
132
+ "source": "identifier",
133
+ "name": "Name"
134
+ }
135
+ ]
136
+ }
137
+ },
138
+ "SetState": {
139
+ "request": {
140
+ "operation": "SetAlarmState",
141
+ "params": [
142
+ {
143
+ "target": "AlarmName",
144
+ "source": "identifier",
145
+ "name": "Name"
146
+ }
147
+ ]
148
+ }
149
+ }
150
+ },
151
+ "batchActions": {
152
+ "Delete": {
153
+ "request": {
154
+ "operation": "DeleteAlarms",
155
+ "params": [
156
+ {
157
+ "target": "AlarmNames[]",
158
+ "source": "identifier",
159
+ "name": "Name"
160
+ }
161
+ ]
162
+ }
163
+ },
164
+ "DisableActions": {
165
+ "request": {
166
+ "operation": "DisableAlarmActions",
167
+ "params": [
168
+ {
169
+ "target": "AlarmNames[]",
170
+ "source": "identifier",
171
+ "name": "Name"
172
+ }
173
+ ]
174
+ }
175
+ },
176
+ "EnableActions": {
177
+ "request": {
178
+ "operation": "EnableAlarmActions",
179
+ "params": [
180
+ {
181
+ "target": "AlarmNames[]",
182
+ "source": "identifier",
183
+ "name": "Name"
184
+ }
185
+ ]
186
+ }
187
+ }
188
+ },
189
+ "has": {
190
+ "Metric": {
191
+ "resource": {
192
+ "type": "Metric",
193
+ "identifiers": [
194
+ {
195
+ "target": "Namespace",
196
+ "source": "data",
197
+ "path": "Namespace"
198
+ },
199
+ {
200
+ "target": "Name",
201
+ "source": "data",
202
+ "path": "MetricName"
203
+ }
204
+ ]
205
+ }
206
+ }
207
+ }
208
+ },
209
+ "Metric": {
210
+ "identifiers": [
211
+ {
212
+ "name": "Namespace",
213
+ "memberName": "Namespace"
214
+ },
215
+ {
216
+ "name": "Name",
217
+ "memberName": "MetricName"
218
+ }
219
+ ],
220
+ "shape": "Metric",
221
+ "load": {
222
+ "request": {
223
+ "operation": "ListMetrics",
224
+ "params": [
225
+ {
226
+ "target": "MetricName",
227
+ "source": "identifier",
228
+ "name": "Name"
229
+ },
230
+ {
231
+ "target": "Namespace",
232
+ "source": "identifier",
233
+ "name": "Namespace"
234
+ }
235
+ ]
236
+ },
237
+ "path": "Metrics[0]"
238
+ },
239
+ "actions": {
240
+ "GetStatistics": {
241
+ "request": {
242
+ "operation": "GetMetricStatistics",
243
+ "params": [
244
+ {
245
+ "target": "Namespace",
246
+ "source": "identifier",
247
+ "name": "Namespace"
248
+ },
249
+ {
250
+ "target": "MetricName",
251
+ "source": "identifier",
252
+ "name": "Name"
253
+ }
254
+ ]
255
+ }
256
+ },
257
+ "PutAlarm": {
258
+ "request": {
259
+ "operation": "PutMetricAlarm",
260
+ "params": [
261
+ {
262
+ "target": "Namespace",
263
+ "source": "identifier",
264
+ "name": "Namespace"
265
+ },
266
+ {
267
+ "target": "MetricName",
268
+ "source": "identifier",
269
+ "name": "Name"
270
+ }
271
+ ]
272
+ },
273
+ "resource": {
274
+ "type": "Alarm",
275
+ "identifiers": [
276
+ {
277
+ "target": "Name",
278
+ "source": "requestParameter",
279
+ "path": "AlarmName"
280
+ }
281
+ ]
282
+ }
283
+ },
284
+ "PutData": {
285
+ "request": {
286
+ "operation": "PutMetricData",
287
+ "params": [
288
+ {
289
+ "target": "Namespace",
290
+ "source": "identifier",
291
+ "name": "Namespace"
292
+ },
293
+ {
294
+ "target": "MetricData[].MetricName",
295
+ "source": "identifier",
296
+ "name": "Name"
297
+ }
298
+ ]
299
+ }
300
+ }
301
+ },
302
+ "hasMany": {
303
+ "Alarms": {
304
+ "request": {
305
+ "operation": "DescribeAlarmsForMetric",
306
+ "params": [
307
+ {
308
+ "target": "Namespace",
309
+ "source": "identifier",
310
+ "name": "Namespace"
311
+ },
312
+ {
313
+ "target": "MetricName",
314
+ "source": "identifier",
315
+ "name": "Name"
316
+ }
317
+ ]
318
+ },
319
+ "resource": {
320
+ "type": "Alarm",
321
+ "identifiers": [
322
+ {
323
+ "target": "Name",
324
+ "source": "response",
325
+ "path": "MetricAlarms[].AlarmName"
326
+ }
327
+ ],
328
+ "path": "MetricAlarms[]"
329
+ }
330
+ }
331
+ }
332
+ }
333
+ }
334
+ }
env/Lib/site-packages/boto3/data/dynamodb/2012-08-10/resources-1.json ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "BatchGetItem": {
5
+ "request": { "operation": "BatchGetItem" }
6
+ },
7
+ "BatchWriteItem": {
8
+ "request": { "operation": "BatchWriteItem" }
9
+ },
10
+ "CreateTable": {
11
+ "request": { "operation": "CreateTable" },
12
+ "resource": {
13
+ "type": "Table",
14
+ "identifiers": [
15
+ { "target": "Name", "source": "response", "path": "TableDescription.TableName" }
16
+ ],
17
+ "path": "TableDescription"
18
+ }
19
+ }
20
+ },
21
+ "has": {
22
+ "Table": {
23
+ "resource": {
24
+ "type": "Table",
25
+ "identifiers": [
26
+ { "target": "Name", "source": "input" }
27
+ ]
28
+ }
29
+ }
30
+ },
31
+ "hasMany": {
32
+ "Tables": {
33
+ "request": { "operation": "ListTables" },
34
+ "resource": {
35
+ "type": "Table",
36
+ "identifiers": [
37
+ { "target": "Name", "source": "response", "path": "TableNames[]" }
38
+ ]
39
+ }
40
+ }
41
+ }
42
+ },
43
+ "resources": {
44
+ "Table": {
45
+ "identifiers": [
46
+ {
47
+ "name": "Name",
48
+ "memberName": "TableName"
49
+ }
50
+ ],
51
+ "shape": "TableDescription",
52
+ "load": {
53
+ "request": {
54
+ "operation": "DescribeTable",
55
+ "params": [
56
+ { "target": "TableName", "source": "identifier", "name": "Name" }
57
+ ]
58
+ },
59
+ "path": "Table"
60
+ },
61
+ "actions": {
62
+ "Delete": {
63
+ "request": {
64
+ "operation": "DeleteTable",
65
+ "params": [
66
+ { "target": "TableName", "source": "identifier", "name": "Name" }
67
+ ]
68
+ }
69
+ },
70
+ "DeleteItem": {
71
+ "request": {
72
+ "operation": "DeleteItem",
73
+ "params": [
74
+ { "target": "TableName", "source": "identifier", "name": "Name" }
75
+ ]
76
+ }
77
+ },
78
+ "GetItem": {
79
+ "request": {
80
+ "operation": "GetItem",
81
+ "params": [
82
+ { "target": "TableName", "source": "identifier", "name": "Name" }
83
+ ]
84
+ }
85
+ },
86
+ "PutItem": {
87
+ "request": {
88
+ "operation": "PutItem",
89
+ "params": [
90
+ { "target": "TableName", "source": "identifier", "name": "Name" }
91
+ ]
92
+ }
93
+ },
94
+ "Query": {
95
+ "request": {
96
+ "operation": "Query",
97
+ "params": [
98
+ { "target": "TableName", "source": "identifier", "name": "Name" }
99
+ ]
100
+ }
101
+ },
102
+ "Scan": {
103
+ "request": {
104
+ "operation": "Scan",
105
+ "params": [
106
+ { "target": "TableName", "source": "identifier", "name": "Name" }
107
+ ]
108
+ }
109
+ },
110
+ "Update": {
111
+ "request": {
112
+ "operation": "UpdateTable",
113
+ "params": [
114
+ { "target": "TableName", "source": "identifier", "name": "Name" }
115
+ ]
116
+ },
117
+ "resource": {
118
+ "type": "Table",
119
+ "identifiers": [
120
+ { "target": "Name", "source": "identifier", "name": "Name" }
121
+ ],
122
+ "path": "TableDescription"
123
+ }
124
+ },
125
+ "UpdateItem": {
126
+ "request": {
127
+ "operation": "UpdateItem",
128
+ "params": [
129
+ { "target": "TableName", "source": "identifier", "name": "Name" }
130
+ ]
131
+ }
132
+ }
133
+ },
134
+ "waiters":{
135
+ "Exists": {
136
+ "waiterName": "TableExists",
137
+ "params": [
138
+ { "target": "TableName", "source": "identifier", "name": "Name" }
139
+ ]
140
+ },
141
+ "NotExists": {
142
+ "waiterName": "TableNotExists",
143
+ "params": [
144
+ { "target": "TableName", "source": "identifier", "name": "Name" }
145
+ ]
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
env/Lib/site-packages/boto3/data/ec2/2014-10-01/resources-1.json ADDED
@@ -0,0 +1,2289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateDhcpOptions": {
5
+ "request": { "operation": "CreateDhcpOptions" },
6
+ "resource": {
7
+ "type": "DhcpOptions",
8
+ "identifiers": [
9
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
10
+ ],
11
+ "path": "DhcpOptions"
12
+ }
13
+ },
14
+ "CreateInstances": {
15
+ "request": { "operation": "RunInstances" },
16
+ "resource": {
17
+ "type": "Instance",
18
+ "identifiers": [
19
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
20
+ ],
21
+ "path": "Instances[]"
22
+ }
23
+ },
24
+ "CreateInternetGateway": {
25
+ "request": { "operation": "CreateInternetGateway" },
26
+ "resource": {
27
+ "type": "InternetGateway",
28
+ "identifiers": [
29
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
30
+ ],
31
+ "path": "InternetGateway"
32
+ }
33
+ },
34
+ "CreateKeyPair": {
35
+ "request": { "operation": "CreateKeyPair" },
36
+ "resource": {
37
+ "type": "KeyPair",
38
+ "identifiers": [
39
+ { "target": "Name", "source": "response", "path": "KeyName" }
40
+ ]
41
+ }
42
+ },
43
+ "CreateNetworkAcl": {
44
+ "request": { "operation": "CreateNetworkAcl" },
45
+ "resource": {
46
+ "type": "NetworkAcl",
47
+ "identifiers": [
48
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
49
+ ],
50
+ "path": "NetworkAcl"
51
+ }
52
+ },
53
+ "CreateNetworkInterface": {
54
+ "request": { "operation": "CreateNetworkInterface" },
55
+ "resource": {
56
+ "type": "NetworkInterface",
57
+ "identifiers": [
58
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
59
+ ],
60
+ "path": "NetworkInterface"
61
+ }
62
+ },
63
+ "CreatePlacementGroup": {
64
+ "request": { "operation": "CreatePlacementGroup" },
65
+ "resource": {
66
+ "type": "PlacementGroup",
67
+ "identifiers": [
68
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
69
+ ]
70
+ }
71
+ },
72
+ "CreateRouteTable": {
73
+ "request": { "operation": "CreateRouteTable" },
74
+ "resource": {
75
+ "type": "RouteTable",
76
+ "identifiers": [
77
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
78
+ ],
79
+ "path": "RouteTable"
80
+ }
81
+ },
82
+ "CreateSecurityGroup": {
83
+ "request": { "operation": "CreateSecurityGroup" },
84
+ "resource": {
85
+ "type": "SecurityGroup",
86
+ "identifiers": [
87
+ { "target": "Id", "source": "response", "path": "GroupId" }
88
+ ]
89
+ }
90
+ },
91
+ "CreateSnapshot": {
92
+ "request": { "operation": "CreateSnapshot" },
93
+ "resource": {
94
+ "type": "Snapshot",
95
+ "identifiers": [
96
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
97
+ ],
98
+ "path": "@"
99
+ }
100
+ },
101
+ "CreateSubnet": {
102
+ "request": { "operation": "CreateSubnet" },
103
+ "resource": {
104
+ "type": "Subnet",
105
+ "identifiers": [
106
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
107
+ ],
108
+ "path": "Subnet"
109
+ }
110
+ },
111
+ "CreateTags": {
112
+ "request": { "operation": "CreateTags" },
113
+ "resource": {
114
+ "type": "Tag",
115
+ "identifiers": [
116
+ { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
117
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
118
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
119
+ ]
120
+ }
121
+ },
122
+ "CreateVolume": {
123
+ "request": { "operation": "CreateVolume" },
124
+ "resource": {
125
+ "type": "Volume",
126
+ "identifiers": [
127
+ { "target": "Id", "source": "response", "path": "VolumeId" }
128
+ ],
129
+ "path": "@"
130
+ }
131
+ },
132
+ "CreateVpc": {
133
+ "request": { "operation": "CreateVpc" },
134
+ "resource": {
135
+ "type": "Vpc",
136
+ "identifiers": [
137
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
138
+ ],
139
+ "path": "Vpc"
140
+ }
141
+ },
142
+ "CreateVpcPeeringConnection": {
143
+ "request": { "operation": "CreateVpcPeeringConnection" },
144
+ "resource": {
145
+ "type": "VpcPeeringConnection",
146
+ "identifiers": [
147
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
148
+ ],
149
+ "path": "VpcPeeringConnection"
150
+ }
151
+ },
152
+ "DisassociateRouteTable": {
153
+ "request": { "operation": "DisassociateRouteTable" }
154
+ },
155
+ "ImportKeyPair": {
156
+ "request": { "operation": "ImportKeyPair" },
157
+ "resource": {
158
+ "type": "KeyPair",
159
+ "identifiers": [
160
+ { "target": "Name", "source": "response", "path": "KeyName" }
161
+ ]
162
+ }
163
+ },
164
+ "RegisterImage": {
165
+ "request": { "operation": "RegisterImage" },
166
+ "resource": {
167
+ "type": "Image",
168
+ "identifiers": [
169
+ { "target": "Id", "source": "response", "path": "ImageId" }
170
+ ]
171
+ }
172
+ }
173
+ },
174
+ "has": {
175
+ "DhcpOptions": {
176
+ "resource": {
177
+ "type": "DhcpOptions",
178
+ "identifiers": [
179
+ { "target": "Id", "source": "input" }
180
+ ]
181
+ }
182
+ },
183
+ "Image": {
184
+ "resource": {
185
+ "type": "Image",
186
+ "identifiers": [
187
+ { "target": "Id", "source": "input" }
188
+ ]
189
+ }
190
+ },
191
+ "Instance": {
192
+ "resource": {
193
+ "type": "Instance",
194
+ "identifiers": [
195
+ { "target": "Id", "source": "input" }
196
+ ]
197
+ }
198
+ },
199
+ "InternetGateway": {
200
+ "resource": {
201
+ "type": "InternetGateway",
202
+ "identifiers": [
203
+ { "target": "Id", "source": "input" }
204
+ ]
205
+ }
206
+ },
207
+ "KeyPair": {
208
+ "resource": {
209
+ "type": "KeyPair",
210
+ "identifiers": [
211
+ { "target": "Name", "source": "input" }
212
+ ]
213
+ }
214
+ },
215
+ "NetworkAcl": {
216
+ "resource": {
217
+ "type": "NetworkAcl",
218
+ "identifiers": [
219
+ { "target": "Id", "source": "input" }
220
+ ]
221
+ }
222
+ },
223
+ "NetworkInterface": {
224
+ "resource": {
225
+ "type": "NetworkInterface",
226
+ "identifiers": [
227
+ { "target": "Id", "source": "input" }
228
+ ]
229
+ }
230
+ },
231
+ "PlacementGroup": {
232
+ "resource": {
233
+ "type": "PlacementGroup",
234
+ "identifiers": [
235
+ { "target": "Name", "source": "input" }
236
+ ]
237
+ }
238
+ },
239
+ "RouteTable": {
240
+ "resource": {
241
+ "type": "RouteTable",
242
+ "identifiers": [
243
+ { "target": "Id", "source": "input" }
244
+ ]
245
+ }
246
+ },
247
+ "RouteTableAssociation": {
248
+ "resource": {
249
+ "type": "RouteTableAssociation",
250
+ "identifiers": [
251
+ { "target": "Id", "source": "input" }
252
+ ]
253
+ }
254
+ },
255
+ "SecurityGroup": {
256
+ "resource": {
257
+ "type": "SecurityGroup",
258
+ "identifiers": [
259
+ { "target": "Id", "source": "input" }
260
+ ]
261
+ }
262
+ },
263
+ "Snapshot": {
264
+ "resource": {
265
+ "type": "Snapshot",
266
+ "identifiers": [
267
+ { "target": "Id", "source": "input" }
268
+ ]
269
+ }
270
+ },
271
+ "Subnet": {
272
+ "resource": {
273
+ "type": "Subnet",
274
+ "identifiers": [
275
+ { "target": "Id", "source": "input" }
276
+ ]
277
+ }
278
+ },
279
+ "Volume": {
280
+ "resource": {
281
+ "type": "Volume",
282
+ "identifiers": [
283
+ { "target": "Id", "source": "input" }
284
+ ]
285
+ }
286
+ },
287
+ "Vpc": {
288
+ "resource": {
289
+ "type": "Vpc",
290
+ "identifiers": [
291
+ { "target": "Id", "source": "input" }
292
+ ]
293
+ }
294
+ },
295
+ "VpcPeeringConnection": {
296
+ "resource": {
297
+ "type": "VpcPeeringConnection",
298
+ "identifiers": [
299
+ { "target": "Id", "source": "input" }
300
+ ]
301
+ }
302
+ }
303
+ },
304
+ "hasMany": {
305
+ "DhcpOptionsSets": {
306
+ "request": { "operation": "DescribeDhcpOptions" },
307
+ "resource": {
308
+ "type": "DhcpOptions",
309
+ "identifiers": [
310
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
311
+ ],
312
+ "path": "DhcpOptions[]"
313
+ }
314
+ },
315
+ "Images": {
316
+ "request": { "operation": "DescribeImages" },
317
+ "resource": {
318
+ "type": "Image",
319
+ "identifiers": [
320
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
321
+ ],
322
+ "path": "Images[]"
323
+ }
324
+ },
325
+ "Instances": {
326
+ "request": { "operation": "DescribeInstances" },
327
+ "resource": {
328
+ "type": "Instance",
329
+ "identifiers": [
330
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
331
+ ],
332
+ "path": "Reservations[].Instances[]"
333
+ }
334
+ },
335
+ "InternetGateways": {
336
+ "request": { "operation": "DescribeInternetGateways" },
337
+ "resource": {
338
+ "type": "InternetGateway",
339
+ "identifiers": [
340
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
341
+ ],
342
+ "path": "InternetGateways[]"
343
+ }
344
+ },
345
+ "KeyPairs": {
346
+ "request": { "operation": "DescribeKeyPairs" },
347
+ "resource": {
348
+ "type": "KeyPair",
349
+ "identifiers": [
350
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
351
+ ],
352
+ "path": "KeyPairs[]"
353
+ }
354
+ },
355
+ "NetworkAcls": {
356
+ "request": { "operation": "DescribeNetworkAcls" },
357
+ "resource": {
358
+ "type": "NetworkAcl",
359
+ "identifiers": [
360
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
361
+ ],
362
+ "path": "NetworkAcls[]"
363
+ }
364
+ },
365
+ "NetworkInterfaces": {
366
+ "request": { "operation": "DescribeNetworkInterfaces" },
367
+ "resource": {
368
+ "type": "NetworkInterface",
369
+ "identifiers": [
370
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
371
+ ],
372
+ "path": "NetworkInterfaces[]"
373
+ }
374
+ },
375
+ "PlacementGroups": {
376
+ "request": { "operation": "DescribePlacementGroups" },
377
+ "resource": {
378
+ "type": "PlacementGroup",
379
+ "identifiers": [
380
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
381
+ ],
382
+ "path": "PlacementGroups[]"
383
+ }
384
+ },
385
+ "RouteTables": {
386
+ "request": { "operation": "DescribeRouteTables" },
387
+ "resource": {
388
+ "type": "RouteTable",
389
+ "identifiers": [
390
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
391
+ ],
392
+ "path": "RouteTables[]"
393
+ }
394
+ },
395
+ "SecurityGroups": {
396
+ "request": { "operation": "DescribeSecurityGroups" },
397
+ "resource": {
398
+ "type": "SecurityGroup",
399
+ "identifiers": [
400
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
401
+ ],
402
+ "path": "SecurityGroups[]"
403
+ }
404
+ },
405
+ "Snapshots": {
406
+ "request": { "operation": "DescribeSnapshots" },
407
+ "resource": {
408
+ "type": "Snapshot",
409
+ "identifiers": [
410
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
411
+ ],
412
+ "path": "Snapshots[]"
413
+ }
414
+ },
415
+ "Subnets": {
416
+ "request": { "operation": "DescribeSubnets" },
417
+ "resource": {
418
+ "type": "Subnet",
419
+ "identifiers": [
420
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
421
+ ],
422
+ "path": "Subnets[]"
423
+ }
424
+ },
425
+ "Volumes": {
426
+ "request": { "operation": "DescribeVolumes" },
427
+ "resource": {
428
+ "type": "Volume",
429
+ "identifiers": [
430
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
431
+ ],
432
+ "path": "Volumes[]"
433
+ }
434
+ },
435
+ "VpcPeeringConnections": {
436
+ "request": { "operation": "DescribeVpcPeeringConnections" },
437
+ "resource": {
438
+ "type": "VpcPeeringConnection",
439
+ "identifiers": [
440
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
441
+ ],
442
+ "path": "VpcPeeringConnections[]"
443
+ }
444
+ },
445
+ "Vpcs": {
446
+ "request": { "operation": "DescribeVpcs" },
447
+ "resource": {
448
+ "type": "Vpc",
449
+ "identifiers": [
450
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
451
+ ],
452
+ "path": "Vpcs[]"
453
+ }
454
+ }
455
+ }
456
+ },
457
+ "resources": {
458
+ "DhcpOptions": {
459
+ "identifiers": [
460
+ {
461
+ "name": "Id",
462
+ "memberName": "DhcpOptionsId"
463
+ }
464
+ ],
465
+ "shape": "DhcpOptions",
466
+ "load": {
467
+ "request": {
468
+ "operation": "DescribeDhcpOptions",
469
+ "params": [
470
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
471
+ ]
472
+ },
473
+ "path": "DhcpOptions[0]"
474
+ },
475
+ "actions": {
476
+ "AssociateWithVpc": {
477
+ "request": {
478
+ "operation": "AssociateDhcpOptions",
479
+ "params": [
480
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
481
+ ]
482
+ }
483
+ },
484
+ "CreateTags": {
485
+ "request": {
486
+ "operation": "CreateTags",
487
+ "params": [
488
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
489
+ ]
490
+ },
491
+ "resource": {
492
+ "type": "Tag",
493
+ "identifiers": [
494
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
495
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
496
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
497
+ ]
498
+ }
499
+ },
500
+ "Delete": {
501
+ "request": {
502
+ "operation": "DeleteDhcpOptions",
503
+ "params": [
504
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
505
+ ]
506
+ }
507
+ }
508
+ }
509
+ },
510
+ "Image": {
511
+ "identifiers": [
512
+ {
513
+ "name": "Id",
514
+ "memberName": "ImageId"
515
+ }
516
+ ],
517
+ "shape": "Image",
518
+ "load": {
519
+ "request": {
520
+ "operation": "DescribeImages",
521
+ "params": [
522
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
523
+ ]
524
+ },
525
+ "path": "Images[0]"
526
+ },
527
+ "actions": {
528
+ "CreateTags": {
529
+ "request": {
530
+ "operation": "CreateTags",
531
+ "params": [
532
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
533
+ ]
534
+ },
535
+ "resource": {
536
+ "type": "Tag",
537
+ "identifiers": [
538
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
539
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
540
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
541
+ ]
542
+ }
543
+ },
544
+ "Deregister": {
545
+ "request": {
546
+ "operation": "DeregisterImage",
547
+ "params": [
548
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
549
+ ]
550
+ }
551
+ },
552
+ "DescribeAttribute": {
553
+ "request": {
554
+ "operation": "DescribeImageAttribute",
555
+ "params": [
556
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
557
+ ]
558
+ }
559
+ },
560
+ "ModifyAttribute": {
561
+ "request": {
562
+ "operation": "ModifyImageAttribute",
563
+ "params": [
564
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
565
+ ]
566
+ }
567
+ },
568
+ "ResetAttribute": {
569
+ "request": {
570
+ "operation": "ResetImageAttribute",
571
+ "params": [
572
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
573
+ ]
574
+ }
575
+ }
576
+ }
577
+ },
578
+ "Instance": {
579
+ "identifiers": [
580
+ {
581
+ "name": "Id",
582
+ "memberName": "InstanceId"
583
+ }
584
+ ],
585
+ "shape": "Instance",
586
+ "load": {
587
+ "request": {
588
+ "operation": "DescribeInstances",
589
+ "params": [
590
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
591
+ ]
592
+ },
593
+ "path": "Reservations[0].Instances[0]"
594
+ },
595
+ "actions": {
596
+ "AttachClassicLinkVpc": {
597
+ "request": {
598
+ "operation": "AttachClassicLinkVpc",
599
+ "params": [
600
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
601
+ ]
602
+ }
603
+ },
604
+ "AttachVolume": {
605
+ "request": {
606
+ "operation": "AttachVolume",
607
+ "params": [
608
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
609
+ ]
610
+ }
611
+ },
612
+ "ConsoleOutput": {
613
+ "request": {
614
+ "operation": "GetConsoleOutput",
615
+ "params": [
616
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
617
+ ]
618
+ }
619
+ },
620
+ "CreateImage": {
621
+ "request": {
622
+ "operation": "CreateImage",
623
+ "params": [
624
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
625
+ ]
626
+ },
627
+ "resource": {
628
+ "type": "Image",
629
+ "identifiers": [
630
+ { "target": "Id", "source": "response", "path": "ImageId" }
631
+ ]
632
+ }
633
+ },
634
+ "CreateTags": {
635
+ "request": {
636
+ "operation": "CreateTags",
637
+ "params": [
638
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
639
+ ]
640
+ },
641
+ "resource": {
642
+ "type": "Tag",
643
+ "identifiers": [
644
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
645
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
646
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
647
+ ]
648
+ }
649
+ },
650
+ "DescribeAttribute": {
651
+ "request": {
652
+ "operation": "DescribeInstanceAttribute",
653
+ "params": [
654
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
655
+ ]
656
+ }
657
+ },
658
+ "DetachClassicLinkVpc": {
659
+ "request": {
660
+ "operation": "DetachClassicLinkVpc",
661
+ "params": [
662
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
663
+ ]
664
+ }
665
+ },
666
+ "DetachVolume": {
667
+ "request": {
668
+ "operation": "DetachVolume",
669
+ "params": [
670
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
671
+ ]
672
+ }
673
+ },
674
+ "ModifyAttribute": {
675
+ "request": {
676
+ "operation": "ModifyInstanceAttribute",
677
+ "params": [
678
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
679
+ ]
680
+ }
681
+ },
682
+ "Monitor": {
683
+ "request": {
684
+ "operation": "MonitorInstances",
685
+ "params": [
686
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
687
+ ]
688
+ }
689
+ },
690
+ "PasswordData": {
691
+ "request": {
692
+ "operation": "GetPasswordData",
693
+ "params": [
694
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
695
+ ]
696
+ }
697
+ },
698
+ "Reboot": {
699
+ "request": {
700
+ "operation": "RebootInstances",
701
+ "params": [
702
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
703
+ ]
704
+ }
705
+ },
706
+ "ReportStatus": {
707
+ "request": {
708
+ "operation": "ReportInstanceStatus",
709
+ "params": [
710
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
711
+ ]
712
+ }
713
+ },
714
+ "ResetAttribute": {
715
+ "request": {
716
+ "operation": "ResetInstanceAttribute",
717
+ "params": [
718
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
719
+ ]
720
+ }
721
+ },
722
+ "ResetKernel": {
723
+ "request": {
724
+ "operation": "ResetInstanceAttribute",
725
+ "params": [
726
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
727
+ { "target": "Attribute", "source": "string", "value": "kernel" }
728
+ ]
729
+ }
730
+ },
731
+ "ResetRamdisk": {
732
+ "request": {
733
+ "operation": "ResetInstanceAttribute",
734
+ "params": [
735
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
736
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
737
+ ]
738
+ }
739
+ },
740
+ "ResetSourceDestCheck": {
741
+ "request": {
742
+ "operation": "ResetInstanceAttribute",
743
+ "params": [
744
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
745
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
746
+ ]
747
+ }
748
+ },
749
+ "Start": {
750
+ "request": {
751
+ "operation": "StartInstances",
752
+ "params": [
753
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
754
+ ]
755
+ }
756
+ },
757
+ "Stop": {
758
+ "request": {
759
+ "operation": "StopInstances",
760
+ "params": [
761
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
762
+ ]
763
+ }
764
+ },
765
+ "Terminate": {
766
+ "request": {
767
+ "operation": "TerminateInstances",
768
+ "params": [
769
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
770
+ ]
771
+ }
772
+ },
773
+ "Unmonitor": {
774
+ "request": {
775
+ "operation": "UnmonitorInstances",
776
+ "params": [
777
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
778
+ ]
779
+ }
780
+ }
781
+ },
782
+ "batchActions": {
783
+ "CreateTags": {
784
+ "request": {
785
+ "operation": "CreateTags",
786
+ "params": [
787
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
788
+ ]
789
+ }
790
+ },
791
+ "Monitor": {
792
+ "request": {
793
+ "operation": "MonitorInstances",
794
+ "params": [
795
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
796
+ ]
797
+ }
798
+ },
799
+ "Reboot": {
800
+ "request": {
801
+ "operation": "RebootInstances",
802
+ "params": [
803
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
804
+ ]
805
+ }
806
+ },
807
+ "Start": {
808
+ "request": {
809
+ "operation": "StartInstances",
810
+ "params": [
811
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
812
+ ]
813
+ }
814
+ },
815
+ "Stop": {
816
+ "request": {
817
+ "operation": "StopInstances",
818
+ "params": [
819
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
820
+ ]
821
+ }
822
+ },
823
+ "Terminate": {
824
+ "request": {
825
+ "operation": "TerminateInstances",
826
+ "params": [
827
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
828
+ ]
829
+ }
830
+ },
831
+ "Unmonitor": {
832
+ "request": {
833
+ "operation": "UnmonitorInstances",
834
+ "params": [
835
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
836
+ ]
837
+ }
838
+ }
839
+ },
840
+ "waiters": {
841
+ "Exists": {
842
+ "waiterName": "InstanceExists",
843
+ "params": [
844
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
845
+ ],
846
+ "path": "Reservations[0].Instances[0]"
847
+ },
848
+ "Running": {
849
+ "waiterName": "InstanceRunning",
850
+ "params": [
851
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
852
+ ],
853
+ "path": "Reservations[0].Instances[0]"
854
+ },
855
+ "Stopped": {
856
+ "waiterName": "InstanceStopped",
857
+ "params": [
858
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
859
+ ],
860
+ "path": "Reservations[0].Instances[0]"
861
+ },
862
+ "Terminated": {
863
+ "waiterName": "InstanceTerminated",
864
+ "params": [
865
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
866
+ ],
867
+ "path": "Reservations[0].Instances[0]"
868
+ }
869
+ },
870
+ "has": {
871
+ "Image": {
872
+ "resource": {
873
+ "type": "Image",
874
+ "identifiers": [
875
+ { "target": "Id", "source": "data", "path": "ImageId" }
876
+ ]
877
+ }
878
+ },
879
+ "KeyPair": {
880
+ "resource": {
881
+ "type": "KeyPair",
882
+ "identifiers": [
883
+ { "target": "Name", "source": "data", "path": "KeyName" }
884
+ ]
885
+ }
886
+ },
887
+ "PlacementGroup": {
888
+ "resource": {
889
+ "type": "PlacementGroup",
890
+ "identifiers": [
891
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
892
+ ]
893
+ }
894
+ },
895
+ "Subnet": {
896
+ "resource": {
897
+ "type": "Subnet",
898
+ "identifiers": [
899
+ { "target": "Id", "source": "data", "path": "SubnetId" }
900
+ ]
901
+ }
902
+ },
903
+ "Vpc": {
904
+ "resource": {
905
+ "type": "Vpc",
906
+ "identifiers": [
907
+ { "target": "Id", "source": "data", "path": "VpcId" }
908
+ ]
909
+ }
910
+ }
911
+ },
912
+ "hasMany": {
913
+ "Volumes": {
914
+ "request": {
915
+ "operation": "DescribeVolumes",
916
+ "params": [
917
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
918
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
919
+ ]
920
+ },
921
+ "resource": {
922
+ "type": "Volume",
923
+ "identifiers": [
924
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
925
+ ],
926
+ "path": "Volumes[]"
927
+ }
928
+ }
929
+ }
930
+ },
931
+ "InternetGateway": {
932
+ "identifiers": [
933
+ {
934
+ "name": "Id",
935
+ "memberName": "InternetGatewayId"
936
+ }
937
+ ],
938
+ "shape": "InternetGateway",
939
+ "load": {
940
+ "request": {
941
+ "operation": "DescribeInternetGateways",
942
+ "params": [
943
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
944
+ ]
945
+ },
946
+ "path": "InternetGateways[0]"
947
+ },
948
+ "actions": {
949
+ "AttachToVpc": {
950
+ "request": {
951
+ "operation": "AttachInternetGateway",
952
+ "params": [
953
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
954
+ ]
955
+ }
956
+ },
957
+ "CreateTags": {
958
+ "request": {
959
+ "operation": "CreateTags",
960
+ "params": [
961
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
962
+ ]
963
+ },
964
+ "resource": {
965
+ "type": "Tag",
966
+ "identifiers": [
967
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
968
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
969
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
970
+ ]
971
+ }
972
+ },
973
+ "Delete": {
974
+ "request": {
975
+ "operation": "DeleteInternetGateway",
976
+ "params": [
977
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
978
+ ]
979
+ }
980
+ },
981
+ "DetachFromVpc": {
982
+ "request": {
983
+ "operation": "DetachInternetGateway",
984
+ "params": [
985
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
986
+ ]
987
+ }
988
+ }
989
+ }
990
+ },
991
+ "KeyPair": {
992
+ "identifiers": [
993
+ {
994
+ "name": "Name",
995
+ "memberName": "KeyName"
996
+ }
997
+ ],
998
+ "shape": "KeyPairInfo",
999
+ "load": {
1000
+ "request": {
1001
+ "operation": "DescribeKeyPairs",
1002
+ "params": [
1003
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
1004
+ ]
1005
+ },
1006
+ "path": "KeyPairs[0]"
1007
+ },
1008
+ "actions": {
1009
+ "Delete": {
1010
+ "request": {
1011
+ "operation": "DeleteKeyPair",
1012
+ "params": [
1013
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1014
+ ]
1015
+ }
1016
+ }
1017
+ }
1018
+ },
1019
+ "NetworkAcl": {
1020
+ "identifiers": [
1021
+ {
1022
+ "name": "Id",
1023
+ "memberName": "NetworkAclId"
1024
+ }
1025
+ ],
1026
+ "shape": "NetworkAcl",
1027
+ "load": {
1028
+ "request": {
1029
+ "operation": "DescribeNetworkAcls",
1030
+ "params": [
1031
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
1032
+ ]
1033
+ },
1034
+ "path": "NetworkAcls[0]"
1035
+ },
1036
+ "actions": {
1037
+ "CreateEntry": {
1038
+ "request": {
1039
+ "operation": "CreateNetworkAclEntry",
1040
+ "params": [
1041
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1042
+ ]
1043
+ }
1044
+ },
1045
+ "CreateTags": {
1046
+ "request": {
1047
+ "operation": "CreateTags",
1048
+ "params": [
1049
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1050
+ ]
1051
+ },
1052
+ "resource": {
1053
+ "type": "Tag",
1054
+ "identifiers": [
1055
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1056
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1057
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1058
+ ]
1059
+ }
1060
+ },
1061
+ "Delete": {
1062
+ "request": {
1063
+ "operation": "DeleteNetworkAcl",
1064
+ "params": [
1065
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1066
+ ]
1067
+ }
1068
+ },
1069
+ "DeleteEntry": {
1070
+ "request": {
1071
+ "operation": "DeleteNetworkAclEntry",
1072
+ "params": [
1073
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1074
+ ]
1075
+ }
1076
+ },
1077
+ "ReplaceAssociation": {
1078
+ "request": {
1079
+ "operation": "ReplaceNetworkAclAssociation",
1080
+ "params": [
1081
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1082
+ ]
1083
+ }
1084
+ },
1085
+ "ReplaceEntry": {
1086
+ "request": {
1087
+ "operation": "ReplaceNetworkAclEntry",
1088
+ "params": [
1089
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1090
+ ]
1091
+ }
1092
+ }
1093
+ },
1094
+ "has": {
1095
+ "Vpc": {
1096
+ "resource": {
1097
+ "type": "Vpc",
1098
+ "identifiers": [
1099
+ { "target": "Id", "source": "data", "path": "VpcId" }
1100
+ ]
1101
+ }
1102
+ }
1103
+ }
1104
+ },
1105
+ "NetworkInterface": {
1106
+ "identifiers": [
1107
+ {
1108
+ "name": "Id",
1109
+ "memberName": "NetworkInterfaceId"
1110
+ }
1111
+ ],
1112
+ "shape": "NetworkInterface",
1113
+ "load": {
1114
+ "request": {
1115
+ "operation": "DescribeNetworkInterfaces",
1116
+ "params": [
1117
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
1118
+ ]
1119
+ },
1120
+ "path": "NetworkInterfaces[0]"
1121
+ },
1122
+ "actions": {
1123
+ "AssignPrivateIpAddresses": {
1124
+ "request": {
1125
+ "operation": "AssignPrivateIpAddresses",
1126
+ "params": [
1127
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1128
+ ]
1129
+ }
1130
+ },
1131
+ "Attach": {
1132
+ "request": {
1133
+ "operation": "AttachNetworkInterface",
1134
+ "params": [
1135
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1136
+ ]
1137
+ }
1138
+ },
1139
+ "CreateTags": {
1140
+ "request": {
1141
+ "operation": "CreateTags",
1142
+ "params": [
1143
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1144
+ ]
1145
+ },
1146
+ "resource": {
1147
+ "type": "Tag",
1148
+ "identifiers": [
1149
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1150
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1151
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1152
+ ]
1153
+ }
1154
+ },
1155
+ "Delete": {
1156
+ "request": {
1157
+ "operation": "DeleteNetworkInterface",
1158
+ "params": [
1159
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1160
+ ]
1161
+ }
1162
+ },
1163
+ "DescribeAttribute": {
1164
+ "request": {
1165
+ "operation": "DescribeNetworkInterfaceAttribute",
1166
+ "params": [
1167
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1168
+ ]
1169
+ }
1170
+ },
1171
+ "Detach": {
1172
+ "request": {
1173
+ "operation": "DetachNetworkInterface",
1174
+ "params": [
1175
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
1176
+ ]
1177
+ }
1178
+ },
1179
+ "ModifyAttribute": {
1180
+ "request": {
1181
+ "operation": "ModifyNetworkInterfaceAttribute",
1182
+ "params": [
1183
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1184
+ ]
1185
+ }
1186
+ },
1187
+ "ResetAttribute": {
1188
+ "request": {
1189
+ "operation": "ResetNetworkInterfaceAttribute",
1190
+ "params": [
1191
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1192
+ ]
1193
+ }
1194
+ },
1195
+ "UnassignPrivateIpAddresses": {
1196
+ "request": {
1197
+ "operation": "UnassignPrivateIpAddresses",
1198
+ "params": [
1199
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1200
+ ]
1201
+ }
1202
+ }
1203
+ },
1204
+ "has": {
1205
+ "Subnet": {
1206
+ "resource": {
1207
+ "type": "Subnet",
1208
+ "identifiers": [
1209
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1210
+ ]
1211
+ }
1212
+ },
1213
+ "Vpc": {
1214
+ "resource": {
1215
+ "type": "Vpc",
1216
+ "identifiers": [
1217
+ { "target": "Id", "source": "data", "path": "VpcId" }
1218
+ ]
1219
+ }
1220
+ }
1221
+ }
1222
+ },
1223
+ "PlacementGroup": {
1224
+ "identifiers": [
1225
+ {
1226
+ "name": "Name",
1227
+ "memberName": "GroupName"
1228
+ }
1229
+ ],
1230
+ "shape": "PlacementGroup",
1231
+ "load": {
1232
+ "request": {
1233
+ "operation": "DescribePlacementGroups",
1234
+ "params": [
1235
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
1236
+ ]
1237
+ },
1238
+ "path": "PlacementGroups[0]"
1239
+ },
1240
+ "actions": {
1241
+ "Delete": {
1242
+ "request": {
1243
+ "operation": "DeletePlacementGroup",
1244
+ "params": [
1245
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
1246
+ ]
1247
+ }
1248
+ }
1249
+ },
1250
+ "hasMany": {
1251
+ "Instances": {
1252
+ "request": {
1253
+ "operation": "DescribeInstances",
1254
+ "params": [
1255
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
1256
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
1257
+ ]
1258
+ },
1259
+ "resource": {
1260
+ "type": "Instance",
1261
+ "identifiers": [
1262
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1263
+ ],
1264
+ "path": "Reservations[].Instances[]"
1265
+ }
1266
+ }
1267
+ }
1268
+ },
1269
+ "RouteTable": {
1270
+ "identifiers": [
1271
+ {
1272
+ "name": "Id",
1273
+ "memberName": "RouteTableId"
1274
+ }
1275
+ ],
1276
+ "shape": "RouteTable",
1277
+ "load": {
1278
+ "request": {
1279
+ "operation": "DescribeRouteTables",
1280
+ "params": [
1281
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1282
+ ]
1283
+ },
1284
+ "path": "RouteTables[0]"
1285
+ },
1286
+ "actions": {
1287
+ "AssociateWithSubnet": {
1288
+ "request": {
1289
+ "operation": "AssociateRouteTable",
1290
+ "params": [
1291
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1292
+ ]
1293
+ },
1294
+ "resource": {
1295
+ "type": "RouteTableAssociation",
1296
+ "identifiers": [
1297
+ { "target": "Id", "source": "response", "path": "AssociationId" }
1298
+ ]
1299
+ }
1300
+ },
1301
+ "CreateRoute": {
1302
+ "request": {
1303
+ "operation": "CreateRoute",
1304
+ "params": [
1305
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1306
+ ]
1307
+ }
1308
+ },
1309
+ "CreateTags": {
1310
+ "request": {
1311
+ "operation": "CreateTags",
1312
+ "params": [
1313
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1314
+ ]
1315
+ },
1316
+ "resource": {
1317
+ "type": "Tag",
1318
+ "identifiers": [
1319
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1320
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1321
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1322
+ ]
1323
+ }
1324
+ },
1325
+ "Delete": {
1326
+ "request": {
1327
+ "operation": "DeleteRouteTable",
1328
+ "params": [
1329
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1330
+ ]
1331
+ }
1332
+ }
1333
+ },
1334
+ "has": {
1335
+ "Vpc": {
1336
+ "resource": {
1337
+ "type": "Vpc",
1338
+ "identifiers": [
1339
+ { "target": "Id", "source": "data", "path": "VpcId" }
1340
+ ]
1341
+ }
1342
+ }
1343
+ },
1344
+ "hasMany": {
1345
+ "Associations": {
1346
+ "request": {
1347
+ "operation": "DescribeRouteTables",
1348
+ "params": [
1349
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1350
+ ]
1351
+ },
1352
+ "resource": {
1353
+ "type": "RouteTableAssociation",
1354
+ "identifiers": [
1355
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
1356
+ ],
1357
+ "path": "RouteTables[0].Associations[]"
1358
+ }
1359
+ }
1360
+ }
1361
+ },
1362
+ "RouteTableAssociation": {
1363
+ "identifiers": [
1364
+ {
1365
+ "name": "Id",
1366
+ "memberName": "RouteTableAssociationId"
1367
+ }
1368
+ ],
1369
+ "shape": "RouteTableAssociation",
1370
+ "actions": {
1371
+ "Delete": {
1372
+ "request": {
1373
+ "operation": "DisassociateRouteTable",
1374
+ "params": [
1375
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1376
+ ]
1377
+ }
1378
+ },
1379
+ "ReplaceSubnet": {
1380
+ "request": {
1381
+ "operation": "ReplaceRouteTableAssociation",
1382
+ "params": [
1383
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1384
+ ]
1385
+ },
1386
+ "resource": {
1387
+ "type": "RouteTableAssociation",
1388
+ "identifiers": [
1389
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
1390
+ ]
1391
+ }
1392
+ }
1393
+ },
1394
+ "has": {
1395
+ "RouteTable": {
1396
+ "resource": {
1397
+ "type": "RouteTable",
1398
+ "identifiers": [
1399
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
1400
+ ]
1401
+ }
1402
+ },
1403
+ "Subnet": {
1404
+ "resource": {
1405
+ "type": "Subnet",
1406
+ "identifiers": [
1407
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1408
+ ]
1409
+ }
1410
+ }
1411
+ }
1412
+ },
1413
+ "SecurityGroup": {
1414
+ "identifiers": [
1415
+ {
1416
+ "name": "Id",
1417
+ "memberName": "GroupId"
1418
+ }
1419
+ ],
1420
+ "shape": "SecurityGroup",
1421
+ "load": {
1422
+ "request": {
1423
+ "operation": "DescribeSecurityGroups",
1424
+ "params": [
1425
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
1426
+ ]
1427
+ },
1428
+ "path": "SecurityGroups[0]"
1429
+ },
1430
+ "actions": {
1431
+ "AuthorizeEgress": {
1432
+ "request": {
1433
+ "operation": "AuthorizeSecurityGroupEgress",
1434
+ "params": [
1435
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1436
+ ]
1437
+ }
1438
+ },
1439
+ "AuthorizeIngress": {
1440
+ "request": {
1441
+ "operation": "AuthorizeSecurityGroupIngress",
1442
+ "params": [
1443
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1444
+ ]
1445
+ }
1446
+ },
1447
+ "CreateTags": {
1448
+ "request": {
1449
+ "operation": "CreateTags",
1450
+ "params": [
1451
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1452
+ ]
1453
+ },
1454
+ "resource": {
1455
+ "type": "Tag",
1456
+ "identifiers": [
1457
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1458
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1459
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1460
+ ]
1461
+ }
1462
+ },
1463
+ "Delete": {
1464
+ "request": {
1465
+ "operation": "DeleteSecurityGroup",
1466
+ "params": [
1467
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1468
+ ]
1469
+ }
1470
+ },
1471
+ "RevokeEgress": {
1472
+ "request": {
1473
+ "operation": "RevokeSecurityGroupEgress",
1474
+ "params": [
1475
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1476
+ ]
1477
+ }
1478
+ },
1479
+ "RevokeIngress": {
1480
+ "request": {
1481
+ "operation": "RevokeSecurityGroupIngress",
1482
+ "params": [
1483
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1484
+ ]
1485
+ }
1486
+ }
1487
+ }
1488
+ },
1489
+ "Snapshot": {
1490
+ "identifiers": [
1491
+ {
1492
+ "name": "Id",
1493
+ "memberName": "SnapshotId"
1494
+ }
1495
+ ],
1496
+ "shape": "Snapshot",
1497
+ "load": {
1498
+ "request": {
1499
+ "operation": "DescribeSnapshots",
1500
+ "params": [
1501
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
1502
+ ]
1503
+ },
1504
+ "path": "Snapshots[0]"
1505
+ },
1506
+ "actions": {
1507
+ "Copy": {
1508
+ "request": {
1509
+ "operation": "CopySnapshot",
1510
+ "params": [
1511
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
1512
+ ]
1513
+ }
1514
+ },
1515
+ "CreateTags": {
1516
+ "request": {
1517
+ "operation": "CreateTags",
1518
+ "params": [
1519
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1520
+ ]
1521
+ },
1522
+ "resource": {
1523
+ "type": "Tag",
1524
+ "identifiers": [
1525
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1526
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1527
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1528
+ ]
1529
+ }
1530
+ },
1531
+ "Delete": {
1532
+ "request": {
1533
+ "operation": "DeleteSnapshot",
1534
+ "params": [
1535
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1536
+ ]
1537
+ }
1538
+ },
1539
+ "DescribeAttribute": {
1540
+ "request": {
1541
+ "operation": "DescribeSnapshotAttribute",
1542
+ "params": [
1543
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1544
+ ]
1545
+ }
1546
+ },
1547
+ "ModifyAttribute": {
1548
+ "request": {
1549
+ "operation": "ModifySnapshotAttribute",
1550
+ "params": [
1551
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1552
+ ]
1553
+ }
1554
+ },
1555
+ "ResetAttribute": {
1556
+ "request": {
1557
+ "operation": "ResetSnapshotAttribute",
1558
+ "params": [
1559
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1560
+ ]
1561
+ }
1562
+ }
1563
+ },
1564
+ "waiters": {
1565
+ "Completed": {
1566
+ "waiterName": "SnapshotCompleted",
1567
+ "params": [
1568
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
1569
+ ],
1570
+ "path": "Snapshots[]"
1571
+ }
1572
+ },
1573
+ "has": {
1574
+ "Volume": {
1575
+ "resource": {
1576
+ "type": "Volume",
1577
+ "identifiers": [
1578
+ { "target": "Id", "source": "data", "path": "VolumeId" }
1579
+ ]
1580
+ }
1581
+ }
1582
+ }
1583
+ },
1584
+ "Subnet": {
1585
+ "identifiers": [
1586
+ {
1587
+ "name": "Id",
1588
+ "memberName": "SubnetId"
1589
+ }
1590
+ ],
1591
+ "shape": "Subnet",
1592
+ "load": {
1593
+ "request": {
1594
+ "operation": "DescribeSubnets",
1595
+ "params": [
1596
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
1597
+ ]
1598
+ },
1599
+ "path": "Subnets[0]"
1600
+ },
1601
+ "actions": {
1602
+ "CreateInstances": {
1603
+ "request": {
1604
+ "operation": "RunInstances",
1605
+ "params": [
1606
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1607
+ ]
1608
+ },
1609
+ "resource": {
1610
+ "type": "Instance",
1611
+ "identifiers": [
1612
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
1613
+ ],
1614
+ "path": "Instances[]"
1615
+ }
1616
+ },
1617
+ "CreateNetworkInterface": {
1618
+ "request": {
1619
+ "operation": "CreateNetworkInterface",
1620
+ "params": [
1621
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1622
+ ]
1623
+ },
1624
+ "resource": {
1625
+ "type": "NetworkInterface",
1626
+ "identifiers": [
1627
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
1628
+ ],
1629
+ "path": "NetworkInterface"
1630
+ }
1631
+ },
1632
+ "CreateTags": {
1633
+ "request": {
1634
+ "operation": "CreateTags",
1635
+ "params": [
1636
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1637
+ ]
1638
+ },
1639
+ "resource": {
1640
+ "type": "Tag",
1641
+ "identifiers": [
1642
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1643
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1644
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1645
+ ]
1646
+ }
1647
+ },
1648
+ "Delete": {
1649
+ "request": {
1650
+ "operation": "DeleteSubnet",
1651
+ "params": [
1652
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1653
+ ]
1654
+ }
1655
+ }
1656
+ },
1657
+ "has": {
1658
+ "Vpc": {
1659
+ "resource": {
1660
+ "type": "Vpc",
1661
+ "identifiers": [
1662
+ { "target": "Id", "source": "data", "path": "VpcId" }
1663
+ ]
1664
+ }
1665
+ }
1666
+ },
1667
+ "hasMany": {
1668
+ "Instances": {
1669
+ "request": {
1670
+ "operation": "DescribeInstances",
1671
+ "params": [
1672
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1673
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1674
+ ]
1675
+ },
1676
+ "resource": {
1677
+ "type": "Instance",
1678
+ "identifiers": [
1679
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1680
+ ],
1681
+ "path": "Reservations[].Instances[]"
1682
+ }
1683
+ },
1684
+ "NetworkInterfaces": {
1685
+ "request": {
1686
+ "operation": "DescribeNetworkInterfaces",
1687
+ "params": [
1688
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1689
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1690
+ ]
1691
+ },
1692
+ "resource": {
1693
+ "type": "NetworkInterface",
1694
+ "identifiers": [
1695
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
1696
+ ],
1697
+ "path": "NetworkInterfaces[]"
1698
+ }
1699
+ }
1700
+ }
1701
+ },
1702
+ "Tag": {
1703
+ "identifiers": [
1704
+ {
1705
+ "name": "ResourceId",
1706
+ "memberName": "ResourceId"
1707
+ },
1708
+ {
1709
+ "name": "Key",
1710
+ "memberName": "Key"
1711
+ },
1712
+ {
1713
+ "name": "Value",
1714
+ "memberName": "Value"
1715
+ }
1716
+ ],
1717
+ "shape": "TagDescription",
1718
+ "load": {
1719
+ "request": {
1720
+ "operation": "DescribeTags",
1721
+ "params": [
1722
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
1723
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
1724
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
1725
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
1726
+ ]
1727
+ },
1728
+ "path": "Tags[0]"
1729
+ },
1730
+ "actions": {
1731
+ "Delete": {
1732
+ "request": {
1733
+ "operation": "DeleteTags",
1734
+ "params": [
1735
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
1736
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
1737
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
1738
+ ]
1739
+ }
1740
+ }
1741
+ },
1742
+ "batchActions": {
1743
+ "Delete": {
1744
+ "request": {
1745
+ "operation": "DeleteTags",
1746
+ "params": [
1747
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
1748
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
1749
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
1750
+ ]
1751
+ }
1752
+ }
1753
+ }
1754
+ },
1755
+ "Volume": {
1756
+ "identifiers": [
1757
+ {
1758
+ "name": "Id",
1759
+ "memberName": "VolumeId"
1760
+ }
1761
+ ],
1762
+ "shape": "Volume",
1763
+ "load": {
1764
+ "request": {
1765
+ "operation": "DescribeVolumes",
1766
+ "params": [
1767
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1768
+ ]
1769
+ },
1770
+ "path": "Volumes[0]"
1771
+ },
1772
+ "actions": {
1773
+ "AttachToInstance": {
1774
+ "request": {
1775
+ "operation": "AttachVolume",
1776
+ "params": [
1777
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1778
+ ]
1779
+ }
1780
+ },
1781
+ "CreateSnapshot": {
1782
+ "request": {
1783
+ "operation": "CreateSnapshot",
1784
+ "params": [
1785
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1786
+ ]
1787
+ },
1788
+ "resource": {
1789
+ "type": "Snapshot",
1790
+ "identifiers": [
1791
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
1792
+ ],
1793
+ "path": "@"
1794
+ }
1795
+ },
1796
+ "CreateTags": {
1797
+ "request": {
1798
+ "operation": "CreateTags",
1799
+ "params": [
1800
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1801
+ ]
1802
+ },
1803
+ "resource": {
1804
+ "type": "Tag",
1805
+ "identifiers": [
1806
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1807
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1808
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1809
+ ]
1810
+ }
1811
+ },
1812
+ "Delete": {
1813
+ "request": {
1814
+ "operation": "DeleteVolume",
1815
+ "params": [
1816
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1817
+ ]
1818
+ }
1819
+ },
1820
+ "DescribeAttribute": {
1821
+ "request": {
1822
+ "operation": "DescribeVolumeAttribute",
1823
+ "params": [
1824
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1825
+ ]
1826
+ }
1827
+ },
1828
+ "DescribeStatus": {
1829
+ "request": {
1830
+ "operation": "DescribeVolumeStatus",
1831
+ "params": [
1832
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1833
+ ]
1834
+ }
1835
+ },
1836
+ "DetachFromInstance": {
1837
+ "request": {
1838
+ "operation": "DetachVolume",
1839
+ "params": [
1840
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1841
+ ]
1842
+ }
1843
+ },
1844
+ "EnableIo": {
1845
+ "request": {
1846
+ "operation": "EnableVolumeIO",
1847
+ "params": [
1848
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1849
+ ]
1850
+ }
1851
+ },
1852
+ "ModifyAttribute": {
1853
+ "request": {
1854
+ "operation": "ModifyVolumeAttribute",
1855
+ "params": [
1856
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1857
+ ]
1858
+ }
1859
+ }
1860
+ },
1861
+ "hasMany": {
1862
+ "Snapshots": {
1863
+ "request": {
1864
+ "operation": "DescribeSnapshots",
1865
+ "params": [
1866
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
1867
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1868
+ ]
1869
+ },
1870
+ "resource": {
1871
+ "type": "Snapshot",
1872
+ "identifiers": [
1873
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
1874
+ ],
1875
+ "path": "Snapshots[]"
1876
+ }
1877
+ }
1878
+ }
1879
+ },
1880
+ "Vpc": {
1881
+ "identifiers": [
1882
+ {
1883
+ "name": "Id",
1884
+ "memberName": "VpcId"
1885
+ }
1886
+ ],
1887
+ "shape": "Vpc",
1888
+ "load": {
1889
+ "request": {
1890
+ "operation": "DescribeVpcs",
1891
+ "params": [
1892
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
1893
+ ]
1894
+ },
1895
+ "path": "Vpcs[0]"
1896
+ },
1897
+ "actions": {
1898
+ "AssociateDhcpOptions": {
1899
+ "request": {
1900
+ "operation": "AssociateDhcpOptions",
1901
+ "params": [
1902
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1903
+ ]
1904
+ }
1905
+ },
1906
+ "AttachClassicLinkInstance": {
1907
+ "request": {
1908
+ "operation": "AttachClassicLinkVpc",
1909
+ "params": [
1910
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1911
+ ]
1912
+ }
1913
+ },
1914
+ "AttachInternetGateway": {
1915
+ "request": {
1916
+ "operation": "AttachInternetGateway",
1917
+ "params": [
1918
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1919
+ ]
1920
+ }
1921
+ },
1922
+ "CreateNetworkAcl": {
1923
+ "request": {
1924
+ "operation": "CreateNetworkAcl",
1925
+ "params": [
1926
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1927
+ ]
1928
+ },
1929
+ "resource": {
1930
+ "type": "NetworkAcl",
1931
+ "identifiers": [
1932
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
1933
+ ],
1934
+ "path": "NetworkAcl"
1935
+ }
1936
+ },
1937
+ "CreateRouteTable": {
1938
+ "request": {
1939
+ "operation": "CreateRouteTable",
1940
+ "params": [
1941
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1942
+ ]
1943
+ },
1944
+ "resource": {
1945
+ "type": "RouteTable",
1946
+ "identifiers": [
1947
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
1948
+ ],
1949
+ "path": "RouteTable"
1950
+ }
1951
+ },
1952
+ "CreateSecurityGroup": {
1953
+ "request": {
1954
+ "operation": "CreateSecurityGroup",
1955
+ "params": [
1956
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1957
+ ]
1958
+ },
1959
+ "resource": {
1960
+ "type": "SecurityGroup",
1961
+ "identifiers": [
1962
+ { "target": "Id", "source": "response", "path": "GroupId" }
1963
+ ]
1964
+ }
1965
+ },
1966
+ "CreateSubnet": {
1967
+ "request": {
1968
+ "operation": "CreateSubnet",
1969
+ "params": [
1970
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1971
+ ]
1972
+ },
1973
+ "resource": {
1974
+ "type": "Subnet",
1975
+ "identifiers": [
1976
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
1977
+ ],
1978
+ "path": "Subnet"
1979
+ }
1980
+ },
1981
+ "CreateTags": {
1982
+ "request": {
1983
+ "operation": "CreateTags",
1984
+ "params": [
1985
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1986
+ ]
1987
+ },
1988
+ "resource": {
1989
+ "type": "Tag",
1990
+ "identifiers": [
1991
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1992
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1993
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1994
+ ]
1995
+ }
1996
+ },
1997
+ "Delete": {
1998
+ "request": {
1999
+ "operation": "DeleteVpc",
2000
+ "params": [
2001
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2002
+ ]
2003
+ }
2004
+ },
2005
+ "DescribeAttribute": {
2006
+ "request": {
2007
+ "operation": "DescribeVpcAttribute",
2008
+ "params": [
2009
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2010
+ ]
2011
+ }
2012
+ },
2013
+ "DetachClassicLinkInstance": {
2014
+ "request": {
2015
+ "operation": "DetachClassicLinkVpc",
2016
+ "params": [
2017
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2018
+ ]
2019
+ }
2020
+ },
2021
+ "DetachInternetGateway": {
2022
+ "request": {
2023
+ "operation": "DetachInternetGateway",
2024
+ "params": [
2025
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2026
+ ]
2027
+ }
2028
+ },
2029
+ "DisableClassicLink": {
2030
+ "request": {
2031
+ "operation": "DisableVpcClassicLink",
2032
+ "params": [
2033
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2034
+ ]
2035
+ }
2036
+ },
2037
+ "EnableClassicLink": {
2038
+ "request": {
2039
+ "operation": "EnableVpcClassicLink",
2040
+ "params": [
2041
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2042
+ ]
2043
+ }
2044
+ },
2045
+ "ModifyAttribute": {
2046
+ "request": {
2047
+ "operation": "ModifyVpcAttribute",
2048
+ "params": [
2049
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2050
+ ]
2051
+ }
2052
+ },
2053
+ "RequestVpcPeeringConnection": {
2054
+ "request": {
2055
+ "operation": "CreateVpcPeeringConnection",
2056
+ "params": [
2057
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2058
+ ]
2059
+ },
2060
+ "resource": {
2061
+ "type": "VpcPeeringConnection",
2062
+ "identifiers": [
2063
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
2064
+ ],
2065
+ "path": "VpcPeeringConnection"
2066
+ }
2067
+ }
2068
+ },
2069
+ "has": {
2070
+ "DhcpOptions": {
2071
+ "resource": {
2072
+ "type": "DhcpOptions",
2073
+ "identifiers": [
2074
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
2075
+ ]
2076
+ }
2077
+ }
2078
+ },
2079
+ "hasMany": {
2080
+ "AcceptedVpcPeeringConnections": {
2081
+ "request": {
2082
+ "operation": "DescribeVpcPeeringConnections",
2083
+ "params": [
2084
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
2085
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2086
+ ]
2087
+ },
2088
+ "resource": {
2089
+ "type": "VpcPeeringConnection",
2090
+ "identifiers": [
2091
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2092
+ ],
2093
+ "path": "VpcPeeringConnections[]"
2094
+ }
2095
+ },
2096
+ "Instances": {
2097
+ "request": {
2098
+ "operation": "DescribeInstances",
2099
+ "params": [
2100
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2101
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2102
+ ]
2103
+ },
2104
+ "resource": {
2105
+ "type": "Instance",
2106
+ "identifiers": [
2107
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
2108
+ ],
2109
+ "path": "Reservations[].Instances[]"
2110
+ }
2111
+ },
2112
+ "InternetGateways": {
2113
+ "request": {
2114
+ "operation": "DescribeInternetGateways",
2115
+ "params": [
2116
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
2117
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2118
+ ]
2119
+ },
2120
+ "resource": {
2121
+ "type": "InternetGateway",
2122
+ "identifiers": [
2123
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
2124
+ ],
2125
+ "path": "InternetGateways[]"
2126
+ }
2127
+ },
2128
+ "NetworkAcls": {
2129
+ "request": {
2130
+ "operation": "DescribeNetworkAcls",
2131
+ "params": [
2132
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2133
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2134
+ ]
2135
+ },
2136
+ "resource": {
2137
+ "type": "NetworkAcl",
2138
+ "identifiers": [
2139
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
2140
+ ],
2141
+ "path": "NetworkAcls[]"
2142
+ }
2143
+ },
2144
+ "NetworkInterfaces": {
2145
+ "request": {
2146
+ "operation": "DescribeNetworkInterfaces",
2147
+ "params": [
2148
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2149
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2150
+ ]
2151
+ },
2152
+ "resource": {
2153
+ "type": "NetworkInterface",
2154
+ "identifiers": [
2155
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
2156
+ ],
2157
+ "path": "NetworkInterfaces[]"
2158
+ }
2159
+ },
2160
+ "RequestedVpcPeeringConnections": {
2161
+ "request": {
2162
+ "operation": "DescribeVpcPeeringConnections",
2163
+ "params": [
2164
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
2165
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2166
+ ]
2167
+ },
2168
+ "resource": {
2169
+ "type": "VpcPeeringConnection",
2170
+ "identifiers": [
2171
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2172
+ ],
2173
+ "path": "VpcPeeringConnections[]"
2174
+ }
2175
+ },
2176
+ "RouteTables": {
2177
+ "request": {
2178
+ "operation": "DescribeRouteTables",
2179
+ "params": [
2180
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2181
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2182
+ ]
2183
+ },
2184
+ "resource": {
2185
+ "type": "RouteTable",
2186
+ "identifiers": [
2187
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
2188
+ ],
2189
+ "path": "RouteTables[]"
2190
+ }
2191
+ },
2192
+ "SecurityGroups": {
2193
+ "request": {
2194
+ "operation": "DescribeSecurityGroups",
2195
+ "params": [
2196
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2197
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2198
+ ]
2199
+ },
2200
+ "resource": {
2201
+ "type": "SecurityGroup",
2202
+ "identifiers": [
2203
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
2204
+ ],
2205
+ "path": "SecurityGroups[]"
2206
+ }
2207
+ },
2208
+ "Subnets": {
2209
+ "request": {
2210
+ "operation": "DescribeSubnets",
2211
+ "params": [
2212
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2213
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2214
+ ]
2215
+ },
2216
+ "resource": {
2217
+ "type": "Subnet",
2218
+ "identifiers": [
2219
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
2220
+ ],
2221
+ "path": "Subnets[]"
2222
+ }
2223
+ }
2224
+ }
2225
+ },
2226
+ "VpcPeeringConnection": {
2227
+ "identifiers": [
2228
+ {
2229
+ "name": "Id",
2230
+ "memberName": "VpcPeeringConnectionId"
2231
+ }
2232
+ ],
2233
+ "shape": "VpcPeeringConnection",
2234
+ "load": {
2235
+ "request": {
2236
+ "operation": "DescribeVpcPeeringConnections",
2237
+ "params": [
2238
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
2239
+ ]
2240
+ },
2241
+ "path": "VpcPeeringConnections[0]"
2242
+ },
2243
+ "actions": {
2244
+ "Accept": {
2245
+ "request": {
2246
+ "operation": "AcceptVpcPeeringConnection",
2247
+ "params": [
2248
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2249
+ ]
2250
+ }
2251
+ },
2252
+ "Delete": {
2253
+ "request": {
2254
+ "operation": "DeleteVpcPeeringConnection",
2255
+ "params": [
2256
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2257
+ ]
2258
+ }
2259
+ },
2260
+ "Reject": {
2261
+ "request": {
2262
+ "operation": "RejectVpcPeeringConnection",
2263
+ "params": [
2264
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2265
+ ]
2266
+ }
2267
+ }
2268
+ },
2269
+ "has": {
2270
+ "AccepterVpc": {
2271
+ "resource": {
2272
+ "type": "Vpc",
2273
+ "identifiers": [
2274
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
2275
+ ]
2276
+ }
2277
+ },
2278
+ "RequesterVpc": {
2279
+ "resource": {
2280
+ "type": "Vpc",
2281
+ "identifiers": [
2282
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
2283
+ ]
2284
+ }
2285
+ }
2286
+ }
2287
+ }
2288
+ }
2289
+ }
env/Lib/site-packages/boto3/data/ec2/2015-03-01/resources-1.json ADDED
@@ -0,0 +1,2289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateDhcpOptions": {
5
+ "request": { "operation": "CreateDhcpOptions" },
6
+ "resource": {
7
+ "type": "DhcpOptions",
8
+ "identifiers": [
9
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
10
+ ],
11
+ "path": "DhcpOptions"
12
+ }
13
+ },
14
+ "CreateInstances": {
15
+ "request": { "operation": "RunInstances" },
16
+ "resource": {
17
+ "type": "Instance",
18
+ "identifiers": [
19
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
20
+ ],
21
+ "path": "Instances[]"
22
+ }
23
+ },
24
+ "CreateInternetGateway": {
25
+ "request": { "operation": "CreateInternetGateway" },
26
+ "resource": {
27
+ "type": "InternetGateway",
28
+ "identifiers": [
29
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
30
+ ],
31
+ "path": "InternetGateway"
32
+ }
33
+ },
34
+ "CreateKeyPair": {
35
+ "request": { "operation": "CreateKeyPair" },
36
+ "resource": {
37
+ "type": "KeyPair",
38
+ "identifiers": [
39
+ { "target": "Name", "source": "response", "path": "KeyName" }
40
+ ]
41
+ }
42
+ },
43
+ "CreateNetworkAcl": {
44
+ "request": { "operation": "CreateNetworkAcl" },
45
+ "resource": {
46
+ "type": "NetworkAcl",
47
+ "identifiers": [
48
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
49
+ ],
50
+ "path": "NetworkAcl"
51
+ }
52
+ },
53
+ "CreateNetworkInterface": {
54
+ "request": { "operation": "CreateNetworkInterface" },
55
+ "resource": {
56
+ "type": "NetworkInterface",
57
+ "identifiers": [
58
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
59
+ ],
60
+ "path": "NetworkInterface"
61
+ }
62
+ },
63
+ "CreatePlacementGroup": {
64
+ "request": { "operation": "CreatePlacementGroup" },
65
+ "resource": {
66
+ "type": "PlacementGroup",
67
+ "identifiers": [
68
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
69
+ ]
70
+ }
71
+ },
72
+ "CreateRouteTable": {
73
+ "request": { "operation": "CreateRouteTable" },
74
+ "resource": {
75
+ "type": "RouteTable",
76
+ "identifiers": [
77
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
78
+ ],
79
+ "path": "RouteTable"
80
+ }
81
+ },
82
+ "CreateSecurityGroup": {
83
+ "request": { "operation": "CreateSecurityGroup" },
84
+ "resource": {
85
+ "type": "SecurityGroup",
86
+ "identifiers": [
87
+ { "target": "Id", "source": "response", "path": "GroupId" }
88
+ ]
89
+ }
90
+ },
91
+ "CreateSnapshot": {
92
+ "request": { "operation": "CreateSnapshot" },
93
+ "resource": {
94
+ "type": "Snapshot",
95
+ "identifiers": [
96
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
97
+ ],
98
+ "path": "@"
99
+ }
100
+ },
101
+ "CreateSubnet": {
102
+ "request": { "operation": "CreateSubnet" },
103
+ "resource": {
104
+ "type": "Subnet",
105
+ "identifiers": [
106
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
107
+ ],
108
+ "path": "Subnet"
109
+ }
110
+ },
111
+ "CreateTags": {
112
+ "request": { "operation": "CreateTags" },
113
+ "resource": {
114
+ "type": "Tag",
115
+ "identifiers": [
116
+ { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
117
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
118
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
119
+ ]
120
+ }
121
+ },
122
+ "CreateVolume": {
123
+ "request": { "operation": "CreateVolume" },
124
+ "resource": {
125
+ "type": "Volume",
126
+ "identifiers": [
127
+ { "target": "Id", "source": "response", "path": "VolumeId" }
128
+ ],
129
+ "path": "@"
130
+ }
131
+ },
132
+ "CreateVpc": {
133
+ "request": { "operation": "CreateVpc" },
134
+ "resource": {
135
+ "type": "Vpc",
136
+ "identifiers": [
137
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
138
+ ],
139
+ "path": "Vpc"
140
+ }
141
+ },
142
+ "CreateVpcPeeringConnection": {
143
+ "request": { "operation": "CreateVpcPeeringConnection" },
144
+ "resource": {
145
+ "type": "VpcPeeringConnection",
146
+ "identifiers": [
147
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
148
+ ],
149
+ "path": "VpcPeeringConnection"
150
+ }
151
+ },
152
+ "DisassociateRouteTable": {
153
+ "request": { "operation": "DisassociateRouteTable" }
154
+ },
155
+ "ImportKeyPair": {
156
+ "request": { "operation": "ImportKeyPair" },
157
+ "resource": {
158
+ "type": "KeyPair",
159
+ "identifiers": [
160
+ { "target": "Name", "source": "response", "path": "KeyName" }
161
+ ]
162
+ }
163
+ },
164
+ "RegisterImage": {
165
+ "request": { "operation": "RegisterImage" },
166
+ "resource": {
167
+ "type": "Image",
168
+ "identifiers": [
169
+ { "target": "Id", "source": "response", "path": "ImageId" }
170
+ ]
171
+ }
172
+ }
173
+ },
174
+ "has": {
175
+ "DhcpOptions": {
176
+ "resource": {
177
+ "type": "DhcpOptions",
178
+ "identifiers": [
179
+ { "target": "Id", "source": "input" }
180
+ ]
181
+ }
182
+ },
183
+ "Image": {
184
+ "resource": {
185
+ "type": "Image",
186
+ "identifiers": [
187
+ { "target": "Id", "source": "input" }
188
+ ]
189
+ }
190
+ },
191
+ "Instance": {
192
+ "resource": {
193
+ "type": "Instance",
194
+ "identifiers": [
195
+ { "target": "Id", "source": "input" }
196
+ ]
197
+ }
198
+ },
199
+ "InternetGateway": {
200
+ "resource": {
201
+ "type": "InternetGateway",
202
+ "identifiers": [
203
+ { "target": "Id", "source": "input" }
204
+ ]
205
+ }
206
+ },
207
+ "KeyPair": {
208
+ "resource": {
209
+ "type": "KeyPair",
210
+ "identifiers": [
211
+ { "target": "Name", "source": "input" }
212
+ ]
213
+ }
214
+ },
215
+ "NetworkAcl": {
216
+ "resource": {
217
+ "type": "NetworkAcl",
218
+ "identifiers": [
219
+ { "target": "Id", "source": "input" }
220
+ ]
221
+ }
222
+ },
223
+ "NetworkInterface": {
224
+ "resource": {
225
+ "type": "NetworkInterface",
226
+ "identifiers": [
227
+ { "target": "Id", "source": "input" }
228
+ ]
229
+ }
230
+ },
231
+ "PlacementGroup": {
232
+ "resource": {
233
+ "type": "PlacementGroup",
234
+ "identifiers": [
235
+ { "target": "Name", "source": "input" }
236
+ ]
237
+ }
238
+ },
239
+ "RouteTable": {
240
+ "resource": {
241
+ "type": "RouteTable",
242
+ "identifiers": [
243
+ { "target": "Id", "source": "input" }
244
+ ]
245
+ }
246
+ },
247
+ "RouteTableAssociation": {
248
+ "resource": {
249
+ "type": "RouteTableAssociation",
250
+ "identifiers": [
251
+ { "target": "Id", "source": "input" }
252
+ ]
253
+ }
254
+ },
255
+ "SecurityGroup": {
256
+ "resource": {
257
+ "type": "SecurityGroup",
258
+ "identifiers": [
259
+ { "target": "Id", "source": "input" }
260
+ ]
261
+ }
262
+ },
263
+ "Snapshot": {
264
+ "resource": {
265
+ "type": "Snapshot",
266
+ "identifiers": [
267
+ { "target": "Id", "source": "input" }
268
+ ]
269
+ }
270
+ },
271
+ "Subnet": {
272
+ "resource": {
273
+ "type": "Subnet",
274
+ "identifiers": [
275
+ { "target": "Id", "source": "input" }
276
+ ]
277
+ }
278
+ },
279
+ "Volume": {
280
+ "resource": {
281
+ "type": "Volume",
282
+ "identifiers": [
283
+ { "target": "Id", "source": "input" }
284
+ ]
285
+ }
286
+ },
287
+ "Vpc": {
288
+ "resource": {
289
+ "type": "Vpc",
290
+ "identifiers": [
291
+ { "target": "Id", "source": "input" }
292
+ ]
293
+ }
294
+ },
295
+ "VpcPeeringConnection": {
296
+ "resource": {
297
+ "type": "VpcPeeringConnection",
298
+ "identifiers": [
299
+ { "target": "Id", "source": "input" }
300
+ ]
301
+ }
302
+ }
303
+ },
304
+ "hasMany": {
305
+ "DhcpOptionsSets": {
306
+ "request": { "operation": "DescribeDhcpOptions" },
307
+ "resource": {
308
+ "type": "DhcpOptions",
309
+ "identifiers": [
310
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
311
+ ],
312
+ "path": "DhcpOptions[]"
313
+ }
314
+ },
315
+ "Images": {
316
+ "request": { "operation": "DescribeImages" },
317
+ "resource": {
318
+ "type": "Image",
319
+ "identifiers": [
320
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
321
+ ],
322
+ "path": "Images[]"
323
+ }
324
+ },
325
+ "Instances": {
326
+ "request": { "operation": "DescribeInstances" },
327
+ "resource": {
328
+ "type": "Instance",
329
+ "identifiers": [
330
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
331
+ ],
332
+ "path": "Reservations[].Instances[]"
333
+ }
334
+ },
335
+ "InternetGateways": {
336
+ "request": { "operation": "DescribeInternetGateways" },
337
+ "resource": {
338
+ "type": "InternetGateway",
339
+ "identifiers": [
340
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
341
+ ],
342
+ "path": "InternetGateways[]"
343
+ }
344
+ },
345
+ "KeyPairs": {
346
+ "request": { "operation": "DescribeKeyPairs" },
347
+ "resource": {
348
+ "type": "KeyPair",
349
+ "identifiers": [
350
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
351
+ ],
352
+ "path": "KeyPairs[]"
353
+ }
354
+ },
355
+ "NetworkAcls": {
356
+ "request": { "operation": "DescribeNetworkAcls" },
357
+ "resource": {
358
+ "type": "NetworkAcl",
359
+ "identifiers": [
360
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
361
+ ],
362
+ "path": "NetworkAcls[]"
363
+ }
364
+ },
365
+ "NetworkInterfaces": {
366
+ "request": { "operation": "DescribeNetworkInterfaces" },
367
+ "resource": {
368
+ "type": "NetworkInterface",
369
+ "identifiers": [
370
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
371
+ ],
372
+ "path": "NetworkInterfaces[]"
373
+ }
374
+ },
375
+ "PlacementGroups": {
376
+ "request": { "operation": "DescribePlacementGroups" },
377
+ "resource": {
378
+ "type": "PlacementGroup",
379
+ "identifiers": [
380
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
381
+ ],
382
+ "path": "PlacementGroups[]"
383
+ }
384
+ },
385
+ "RouteTables": {
386
+ "request": { "operation": "DescribeRouteTables" },
387
+ "resource": {
388
+ "type": "RouteTable",
389
+ "identifiers": [
390
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
391
+ ],
392
+ "path": "RouteTables[]"
393
+ }
394
+ },
395
+ "SecurityGroups": {
396
+ "request": { "operation": "DescribeSecurityGroups" },
397
+ "resource": {
398
+ "type": "SecurityGroup",
399
+ "identifiers": [
400
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
401
+ ],
402
+ "path": "SecurityGroups[]"
403
+ }
404
+ },
405
+ "Snapshots": {
406
+ "request": { "operation": "DescribeSnapshots" },
407
+ "resource": {
408
+ "type": "Snapshot",
409
+ "identifiers": [
410
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
411
+ ],
412
+ "path": "Snapshots[]"
413
+ }
414
+ },
415
+ "Subnets": {
416
+ "request": { "operation": "DescribeSubnets" },
417
+ "resource": {
418
+ "type": "Subnet",
419
+ "identifiers": [
420
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
421
+ ],
422
+ "path": "Subnets[]"
423
+ }
424
+ },
425
+ "Volumes": {
426
+ "request": { "operation": "DescribeVolumes" },
427
+ "resource": {
428
+ "type": "Volume",
429
+ "identifiers": [
430
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
431
+ ],
432
+ "path": "Volumes[]"
433
+ }
434
+ },
435
+ "VpcPeeringConnections": {
436
+ "request": { "operation": "DescribeVpcPeeringConnections" },
437
+ "resource": {
438
+ "type": "VpcPeeringConnection",
439
+ "identifiers": [
440
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
441
+ ],
442
+ "path": "VpcPeeringConnections[]"
443
+ }
444
+ },
445
+ "Vpcs": {
446
+ "request": { "operation": "DescribeVpcs" },
447
+ "resource": {
448
+ "type": "Vpc",
449
+ "identifiers": [
450
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
451
+ ],
452
+ "path": "Vpcs[]"
453
+ }
454
+ }
455
+ }
456
+ },
457
+ "resources": {
458
+ "DhcpOptions": {
459
+ "identifiers": [
460
+ {
461
+ "name": "Id",
462
+ "memberName": "DhcpOptionsId"
463
+ }
464
+ ],
465
+ "shape": "DhcpOptions",
466
+ "load": {
467
+ "request": {
468
+ "operation": "DescribeDhcpOptions",
469
+ "params": [
470
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
471
+ ]
472
+ },
473
+ "path": "DhcpOptions[0]"
474
+ },
475
+ "actions": {
476
+ "AssociateWithVpc": {
477
+ "request": {
478
+ "operation": "AssociateDhcpOptions",
479
+ "params": [
480
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
481
+ ]
482
+ }
483
+ },
484
+ "CreateTags": {
485
+ "request": {
486
+ "operation": "CreateTags",
487
+ "params": [
488
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
489
+ ]
490
+ },
491
+ "resource": {
492
+ "type": "Tag",
493
+ "identifiers": [
494
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
495
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
496
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
497
+ ]
498
+ }
499
+ },
500
+ "Delete": {
501
+ "request": {
502
+ "operation": "DeleteDhcpOptions",
503
+ "params": [
504
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
505
+ ]
506
+ }
507
+ }
508
+ }
509
+ },
510
+ "Image": {
511
+ "identifiers": [
512
+ {
513
+ "name": "Id",
514
+ "memberName": "ImageId"
515
+ }
516
+ ],
517
+ "shape": "Image",
518
+ "load": {
519
+ "request": {
520
+ "operation": "DescribeImages",
521
+ "params": [
522
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
523
+ ]
524
+ },
525
+ "path": "Images[0]"
526
+ },
527
+ "actions": {
528
+ "CreateTags": {
529
+ "request": {
530
+ "operation": "CreateTags",
531
+ "params": [
532
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
533
+ ]
534
+ },
535
+ "resource": {
536
+ "type": "Tag",
537
+ "identifiers": [
538
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
539
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
540
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
541
+ ]
542
+ }
543
+ },
544
+ "Deregister": {
545
+ "request": {
546
+ "operation": "DeregisterImage",
547
+ "params": [
548
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
549
+ ]
550
+ }
551
+ },
552
+ "DescribeAttribute": {
553
+ "request": {
554
+ "operation": "DescribeImageAttribute",
555
+ "params": [
556
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
557
+ ]
558
+ }
559
+ },
560
+ "ModifyAttribute": {
561
+ "request": {
562
+ "operation": "ModifyImageAttribute",
563
+ "params": [
564
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
565
+ ]
566
+ }
567
+ },
568
+ "ResetAttribute": {
569
+ "request": {
570
+ "operation": "ResetImageAttribute",
571
+ "params": [
572
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
573
+ ]
574
+ }
575
+ }
576
+ }
577
+ },
578
+ "Instance": {
579
+ "identifiers": [
580
+ {
581
+ "name": "Id",
582
+ "memberName": "InstanceId"
583
+ }
584
+ ],
585
+ "shape": "Instance",
586
+ "load": {
587
+ "request": {
588
+ "operation": "DescribeInstances",
589
+ "params": [
590
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
591
+ ]
592
+ },
593
+ "path": "Reservations[0].Instances[0]"
594
+ },
595
+ "actions": {
596
+ "AttachClassicLinkVpc": {
597
+ "request": {
598
+ "operation": "AttachClassicLinkVpc",
599
+ "params": [
600
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
601
+ ]
602
+ }
603
+ },
604
+ "AttachVolume": {
605
+ "request": {
606
+ "operation": "AttachVolume",
607
+ "params": [
608
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
609
+ ]
610
+ }
611
+ },
612
+ "ConsoleOutput": {
613
+ "request": {
614
+ "operation": "GetConsoleOutput",
615
+ "params": [
616
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
617
+ ]
618
+ }
619
+ },
620
+ "CreateImage": {
621
+ "request": {
622
+ "operation": "CreateImage",
623
+ "params": [
624
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
625
+ ]
626
+ },
627
+ "resource": {
628
+ "type": "Image",
629
+ "identifiers": [
630
+ { "target": "Id", "source": "response", "path": "ImageId" }
631
+ ]
632
+ }
633
+ },
634
+ "CreateTags": {
635
+ "request": {
636
+ "operation": "CreateTags",
637
+ "params": [
638
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
639
+ ]
640
+ },
641
+ "resource": {
642
+ "type": "Tag",
643
+ "identifiers": [
644
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
645
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
646
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
647
+ ]
648
+ }
649
+ },
650
+ "DescribeAttribute": {
651
+ "request": {
652
+ "operation": "DescribeInstanceAttribute",
653
+ "params": [
654
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
655
+ ]
656
+ }
657
+ },
658
+ "DetachClassicLinkVpc": {
659
+ "request": {
660
+ "operation": "DetachClassicLinkVpc",
661
+ "params": [
662
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
663
+ ]
664
+ }
665
+ },
666
+ "DetachVolume": {
667
+ "request": {
668
+ "operation": "DetachVolume",
669
+ "params": [
670
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
671
+ ]
672
+ }
673
+ },
674
+ "ModifyAttribute": {
675
+ "request": {
676
+ "operation": "ModifyInstanceAttribute",
677
+ "params": [
678
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
679
+ ]
680
+ }
681
+ },
682
+ "Monitor": {
683
+ "request": {
684
+ "operation": "MonitorInstances",
685
+ "params": [
686
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
687
+ ]
688
+ }
689
+ },
690
+ "PasswordData": {
691
+ "request": {
692
+ "operation": "GetPasswordData",
693
+ "params": [
694
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
695
+ ]
696
+ }
697
+ },
698
+ "Reboot": {
699
+ "request": {
700
+ "operation": "RebootInstances",
701
+ "params": [
702
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
703
+ ]
704
+ }
705
+ },
706
+ "ReportStatus": {
707
+ "request": {
708
+ "operation": "ReportInstanceStatus",
709
+ "params": [
710
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
711
+ ]
712
+ }
713
+ },
714
+ "ResetAttribute": {
715
+ "request": {
716
+ "operation": "ResetInstanceAttribute",
717
+ "params": [
718
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
719
+ ]
720
+ }
721
+ },
722
+ "ResetKernel": {
723
+ "request": {
724
+ "operation": "ResetInstanceAttribute",
725
+ "params": [
726
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
727
+ { "target": "Attribute", "source": "string", "value": "kernel" }
728
+ ]
729
+ }
730
+ },
731
+ "ResetRamdisk": {
732
+ "request": {
733
+ "operation": "ResetInstanceAttribute",
734
+ "params": [
735
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
736
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
737
+ ]
738
+ }
739
+ },
740
+ "ResetSourceDestCheck": {
741
+ "request": {
742
+ "operation": "ResetInstanceAttribute",
743
+ "params": [
744
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
745
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
746
+ ]
747
+ }
748
+ },
749
+ "Start": {
750
+ "request": {
751
+ "operation": "StartInstances",
752
+ "params": [
753
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
754
+ ]
755
+ }
756
+ },
757
+ "Stop": {
758
+ "request": {
759
+ "operation": "StopInstances",
760
+ "params": [
761
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
762
+ ]
763
+ }
764
+ },
765
+ "Terminate": {
766
+ "request": {
767
+ "operation": "TerminateInstances",
768
+ "params": [
769
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
770
+ ]
771
+ }
772
+ },
773
+ "Unmonitor": {
774
+ "request": {
775
+ "operation": "UnmonitorInstances",
776
+ "params": [
777
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
778
+ ]
779
+ }
780
+ }
781
+ },
782
+ "batchActions": {
783
+ "CreateTags": {
784
+ "request": {
785
+ "operation": "CreateTags",
786
+ "params": [
787
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
788
+ ]
789
+ }
790
+ },
791
+ "Monitor": {
792
+ "request": {
793
+ "operation": "MonitorInstances",
794
+ "params": [
795
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
796
+ ]
797
+ }
798
+ },
799
+ "Reboot": {
800
+ "request": {
801
+ "operation": "RebootInstances",
802
+ "params": [
803
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
804
+ ]
805
+ }
806
+ },
807
+ "Start": {
808
+ "request": {
809
+ "operation": "StartInstances",
810
+ "params": [
811
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
812
+ ]
813
+ }
814
+ },
815
+ "Stop": {
816
+ "request": {
817
+ "operation": "StopInstances",
818
+ "params": [
819
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
820
+ ]
821
+ }
822
+ },
823
+ "Terminate": {
824
+ "request": {
825
+ "operation": "TerminateInstances",
826
+ "params": [
827
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
828
+ ]
829
+ }
830
+ },
831
+ "Unmonitor": {
832
+ "request": {
833
+ "operation": "UnmonitorInstances",
834
+ "params": [
835
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
836
+ ]
837
+ }
838
+ }
839
+ },
840
+ "waiters": {
841
+ "Exists": {
842
+ "waiterName": "InstanceExists",
843
+ "params": [
844
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
845
+ ],
846
+ "path": "Reservations[0].Instances[0]"
847
+ },
848
+ "Running": {
849
+ "waiterName": "InstanceRunning",
850
+ "params": [
851
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
852
+ ],
853
+ "path": "Reservations[0].Instances[0]"
854
+ },
855
+ "Stopped": {
856
+ "waiterName": "InstanceStopped",
857
+ "params": [
858
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
859
+ ],
860
+ "path": "Reservations[0].Instances[0]"
861
+ },
862
+ "Terminated": {
863
+ "waiterName": "InstanceTerminated",
864
+ "params": [
865
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
866
+ ],
867
+ "path": "Reservations[0].Instances[0]"
868
+ }
869
+ },
870
+ "has": {
871
+ "Image": {
872
+ "resource": {
873
+ "type": "Image",
874
+ "identifiers": [
875
+ { "target": "Id", "source": "data", "path": "ImageId" }
876
+ ]
877
+ }
878
+ },
879
+ "KeyPair": {
880
+ "resource": {
881
+ "type": "KeyPair",
882
+ "identifiers": [
883
+ { "target": "Name", "source": "data", "path": "KeyName" }
884
+ ]
885
+ }
886
+ },
887
+ "PlacementGroup": {
888
+ "resource": {
889
+ "type": "PlacementGroup",
890
+ "identifiers": [
891
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
892
+ ]
893
+ }
894
+ },
895
+ "Subnet": {
896
+ "resource": {
897
+ "type": "Subnet",
898
+ "identifiers": [
899
+ { "target": "Id", "source": "data", "path": "SubnetId" }
900
+ ]
901
+ }
902
+ },
903
+ "Vpc": {
904
+ "resource": {
905
+ "type": "Vpc",
906
+ "identifiers": [
907
+ { "target": "Id", "source": "data", "path": "VpcId" }
908
+ ]
909
+ }
910
+ }
911
+ },
912
+ "hasMany": {
913
+ "Volumes": {
914
+ "request": {
915
+ "operation": "DescribeVolumes",
916
+ "params": [
917
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
918
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
919
+ ]
920
+ },
921
+ "resource": {
922
+ "type": "Volume",
923
+ "identifiers": [
924
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
925
+ ],
926
+ "path": "Volumes[]"
927
+ }
928
+ }
929
+ }
930
+ },
931
+ "InternetGateway": {
932
+ "identifiers": [
933
+ {
934
+ "name": "Id",
935
+ "memberName": "InternetGatewayId"
936
+ }
937
+ ],
938
+ "shape": "InternetGateway",
939
+ "load": {
940
+ "request": {
941
+ "operation": "DescribeInternetGateways",
942
+ "params": [
943
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
944
+ ]
945
+ },
946
+ "path": "InternetGateways[0]"
947
+ },
948
+ "actions": {
949
+ "AttachToVpc": {
950
+ "request": {
951
+ "operation": "AttachInternetGateway",
952
+ "params": [
953
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
954
+ ]
955
+ }
956
+ },
957
+ "CreateTags": {
958
+ "request": {
959
+ "operation": "CreateTags",
960
+ "params": [
961
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
962
+ ]
963
+ },
964
+ "resource": {
965
+ "type": "Tag",
966
+ "identifiers": [
967
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
968
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
969
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
970
+ ]
971
+ }
972
+ },
973
+ "Delete": {
974
+ "request": {
975
+ "operation": "DeleteInternetGateway",
976
+ "params": [
977
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
978
+ ]
979
+ }
980
+ },
981
+ "DetachFromVpc": {
982
+ "request": {
983
+ "operation": "DetachInternetGateway",
984
+ "params": [
985
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
986
+ ]
987
+ }
988
+ }
989
+ }
990
+ },
991
+ "KeyPair": {
992
+ "identifiers": [
993
+ {
994
+ "name": "Name",
995
+ "memberName": "KeyName"
996
+ }
997
+ ],
998
+ "shape": "KeyPairInfo",
999
+ "load": {
1000
+ "request": {
1001
+ "operation": "DescribeKeyPairs",
1002
+ "params": [
1003
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
1004
+ ]
1005
+ },
1006
+ "path": "KeyPairs[0]"
1007
+ },
1008
+ "actions": {
1009
+ "Delete": {
1010
+ "request": {
1011
+ "operation": "DeleteKeyPair",
1012
+ "params": [
1013
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1014
+ ]
1015
+ }
1016
+ }
1017
+ }
1018
+ },
1019
+ "NetworkAcl": {
1020
+ "identifiers": [
1021
+ {
1022
+ "name": "Id",
1023
+ "memberName": "NetworkAclId"
1024
+ }
1025
+ ],
1026
+ "shape": "NetworkAcl",
1027
+ "load": {
1028
+ "request": {
1029
+ "operation": "DescribeNetworkAcls",
1030
+ "params": [
1031
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
1032
+ ]
1033
+ },
1034
+ "path": "NetworkAcls[0]"
1035
+ },
1036
+ "actions": {
1037
+ "CreateEntry": {
1038
+ "request": {
1039
+ "operation": "CreateNetworkAclEntry",
1040
+ "params": [
1041
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1042
+ ]
1043
+ }
1044
+ },
1045
+ "CreateTags": {
1046
+ "request": {
1047
+ "operation": "CreateTags",
1048
+ "params": [
1049
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1050
+ ]
1051
+ },
1052
+ "resource": {
1053
+ "type": "Tag",
1054
+ "identifiers": [
1055
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1056
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1057
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1058
+ ]
1059
+ }
1060
+ },
1061
+ "Delete": {
1062
+ "request": {
1063
+ "operation": "DeleteNetworkAcl",
1064
+ "params": [
1065
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1066
+ ]
1067
+ }
1068
+ },
1069
+ "DeleteEntry": {
1070
+ "request": {
1071
+ "operation": "DeleteNetworkAclEntry",
1072
+ "params": [
1073
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1074
+ ]
1075
+ }
1076
+ },
1077
+ "ReplaceAssociation": {
1078
+ "request": {
1079
+ "operation": "ReplaceNetworkAclAssociation",
1080
+ "params": [
1081
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1082
+ ]
1083
+ }
1084
+ },
1085
+ "ReplaceEntry": {
1086
+ "request": {
1087
+ "operation": "ReplaceNetworkAclEntry",
1088
+ "params": [
1089
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1090
+ ]
1091
+ }
1092
+ }
1093
+ },
1094
+ "has": {
1095
+ "Vpc": {
1096
+ "resource": {
1097
+ "type": "Vpc",
1098
+ "identifiers": [
1099
+ { "target": "Id", "source": "data", "path": "VpcId" }
1100
+ ]
1101
+ }
1102
+ }
1103
+ }
1104
+ },
1105
+ "NetworkInterface": {
1106
+ "identifiers": [
1107
+ {
1108
+ "name": "Id",
1109
+ "memberName": "NetworkInterfaceId"
1110
+ }
1111
+ ],
1112
+ "shape": "NetworkInterface",
1113
+ "load": {
1114
+ "request": {
1115
+ "operation": "DescribeNetworkInterfaces",
1116
+ "params": [
1117
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
1118
+ ]
1119
+ },
1120
+ "path": "NetworkInterfaces[0]"
1121
+ },
1122
+ "actions": {
1123
+ "AssignPrivateIpAddresses": {
1124
+ "request": {
1125
+ "operation": "AssignPrivateIpAddresses",
1126
+ "params": [
1127
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1128
+ ]
1129
+ }
1130
+ },
1131
+ "Attach": {
1132
+ "request": {
1133
+ "operation": "AttachNetworkInterface",
1134
+ "params": [
1135
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1136
+ ]
1137
+ }
1138
+ },
1139
+ "CreateTags": {
1140
+ "request": {
1141
+ "operation": "CreateTags",
1142
+ "params": [
1143
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1144
+ ]
1145
+ },
1146
+ "resource": {
1147
+ "type": "Tag",
1148
+ "identifiers": [
1149
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1150
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1151
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1152
+ ]
1153
+ }
1154
+ },
1155
+ "Delete": {
1156
+ "request": {
1157
+ "operation": "DeleteNetworkInterface",
1158
+ "params": [
1159
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1160
+ ]
1161
+ }
1162
+ },
1163
+ "DescribeAttribute": {
1164
+ "request": {
1165
+ "operation": "DescribeNetworkInterfaceAttribute",
1166
+ "params": [
1167
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1168
+ ]
1169
+ }
1170
+ },
1171
+ "Detach": {
1172
+ "request": {
1173
+ "operation": "DetachNetworkInterface",
1174
+ "params": [
1175
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
1176
+ ]
1177
+ }
1178
+ },
1179
+ "ModifyAttribute": {
1180
+ "request": {
1181
+ "operation": "ModifyNetworkInterfaceAttribute",
1182
+ "params": [
1183
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1184
+ ]
1185
+ }
1186
+ },
1187
+ "ResetAttribute": {
1188
+ "request": {
1189
+ "operation": "ResetNetworkInterfaceAttribute",
1190
+ "params": [
1191
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1192
+ ]
1193
+ }
1194
+ },
1195
+ "UnassignPrivateIpAddresses": {
1196
+ "request": {
1197
+ "operation": "UnassignPrivateIpAddresses",
1198
+ "params": [
1199
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1200
+ ]
1201
+ }
1202
+ }
1203
+ },
1204
+ "has": {
1205
+ "Subnet": {
1206
+ "resource": {
1207
+ "type": "Subnet",
1208
+ "identifiers": [
1209
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1210
+ ]
1211
+ }
1212
+ },
1213
+ "Vpc": {
1214
+ "resource": {
1215
+ "type": "Vpc",
1216
+ "identifiers": [
1217
+ { "target": "Id", "source": "data", "path": "VpcId" }
1218
+ ]
1219
+ }
1220
+ }
1221
+ }
1222
+ },
1223
+ "PlacementGroup": {
1224
+ "identifiers": [
1225
+ {
1226
+ "name": "Name",
1227
+ "memberName": "GroupName"
1228
+ }
1229
+ ],
1230
+ "shape": "PlacementGroup",
1231
+ "load": {
1232
+ "request": {
1233
+ "operation": "DescribePlacementGroups",
1234
+ "params": [
1235
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
1236
+ ]
1237
+ },
1238
+ "path": "PlacementGroups[0]"
1239
+ },
1240
+ "actions": {
1241
+ "Delete": {
1242
+ "request": {
1243
+ "operation": "DeletePlacementGroup",
1244
+ "params": [
1245
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
1246
+ ]
1247
+ }
1248
+ }
1249
+ },
1250
+ "hasMany": {
1251
+ "Instances": {
1252
+ "request": {
1253
+ "operation": "DescribeInstances",
1254
+ "params": [
1255
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
1256
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
1257
+ ]
1258
+ },
1259
+ "resource": {
1260
+ "type": "Instance",
1261
+ "identifiers": [
1262
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1263
+ ],
1264
+ "path": "Reservations[].Instances[]"
1265
+ }
1266
+ }
1267
+ }
1268
+ },
1269
+ "RouteTable": {
1270
+ "identifiers": [
1271
+ {
1272
+ "name": "Id",
1273
+ "memberName": "RouteTableId"
1274
+ }
1275
+ ],
1276
+ "shape": "RouteTable",
1277
+ "load": {
1278
+ "request": {
1279
+ "operation": "DescribeRouteTables",
1280
+ "params": [
1281
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1282
+ ]
1283
+ },
1284
+ "path": "RouteTables[0]"
1285
+ },
1286
+ "actions": {
1287
+ "AssociateWithSubnet": {
1288
+ "request": {
1289
+ "operation": "AssociateRouteTable",
1290
+ "params": [
1291
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1292
+ ]
1293
+ },
1294
+ "resource": {
1295
+ "type": "RouteTableAssociation",
1296
+ "identifiers": [
1297
+ { "target": "Id", "source": "response", "path": "AssociationId" }
1298
+ ]
1299
+ }
1300
+ },
1301
+ "CreateRoute": {
1302
+ "request": {
1303
+ "operation": "CreateRoute",
1304
+ "params": [
1305
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1306
+ ]
1307
+ }
1308
+ },
1309
+ "CreateTags": {
1310
+ "request": {
1311
+ "operation": "CreateTags",
1312
+ "params": [
1313
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1314
+ ]
1315
+ },
1316
+ "resource": {
1317
+ "type": "Tag",
1318
+ "identifiers": [
1319
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1320
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1321
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1322
+ ]
1323
+ }
1324
+ },
1325
+ "Delete": {
1326
+ "request": {
1327
+ "operation": "DeleteRouteTable",
1328
+ "params": [
1329
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1330
+ ]
1331
+ }
1332
+ }
1333
+ },
1334
+ "has": {
1335
+ "Vpc": {
1336
+ "resource": {
1337
+ "type": "Vpc",
1338
+ "identifiers": [
1339
+ { "target": "Id", "source": "data", "path": "VpcId" }
1340
+ ]
1341
+ }
1342
+ }
1343
+ },
1344
+ "hasMany": {
1345
+ "Associations": {
1346
+ "request": {
1347
+ "operation": "DescribeRouteTables",
1348
+ "params": [
1349
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1350
+ ]
1351
+ },
1352
+ "resource": {
1353
+ "type": "RouteTableAssociation",
1354
+ "identifiers": [
1355
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
1356
+ ],
1357
+ "path": "RouteTables[0].Associations[]"
1358
+ }
1359
+ }
1360
+ }
1361
+ },
1362
+ "RouteTableAssociation": {
1363
+ "identifiers": [
1364
+ {
1365
+ "name": "Id",
1366
+ "memberName": "RouteTableAssociationId"
1367
+ }
1368
+ ],
1369
+ "shape": "RouteTableAssociation",
1370
+ "actions": {
1371
+ "Delete": {
1372
+ "request": {
1373
+ "operation": "DisassociateRouteTable",
1374
+ "params": [
1375
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1376
+ ]
1377
+ }
1378
+ },
1379
+ "ReplaceSubnet": {
1380
+ "request": {
1381
+ "operation": "ReplaceRouteTableAssociation",
1382
+ "params": [
1383
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1384
+ ]
1385
+ },
1386
+ "resource": {
1387
+ "type": "RouteTableAssociation",
1388
+ "identifiers": [
1389
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
1390
+ ]
1391
+ }
1392
+ }
1393
+ },
1394
+ "has": {
1395
+ "RouteTable": {
1396
+ "resource": {
1397
+ "type": "RouteTable",
1398
+ "identifiers": [
1399
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
1400
+ ]
1401
+ }
1402
+ },
1403
+ "Subnet": {
1404
+ "resource": {
1405
+ "type": "Subnet",
1406
+ "identifiers": [
1407
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1408
+ ]
1409
+ }
1410
+ }
1411
+ }
1412
+ },
1413
+ "SecurityGroup": {
1414
+ "identifiers": [
1415
+ {
1416
+ "name": "Id",
1417
+ "memberName": "GroupId"
1418
+ }
1419
+ ],
1420
+ "shape": "SecurityGroup",
1421
+ "load": {
1422
+ "request": {
1423
+ "operation": "DescribeSecurityGroups",
1424
+ "params": [
1425
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
1426
+ ]
1427
+ },
1428
+ "path": "SecurityGroups[0]"
1429
+ },
1430
+ "actions": {
1431
+ "AuthorizeEgress": {
1432
+ "request": {
1433
+ "operation": "AuthorizeSecurityGroupEgress",
1434
+ "params": [
1435
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1436
+ ]
1437
+ }
1438
+ },
1439
+ "AuthorizeIngress": {
1440
+ "request": {
1441
+ "operation": "AuthorizeSecurityGroupIngress",
1442
+ "params": [
1443
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1444
+ ]
1445
+ }
1446
+ },
1447
+ "CreateTags": {
1448
+ "request": {
1449
+ "operation": "CreateTags",
1450
+ "params": [
1451
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1452
+ ]
1453
+ },
1454
+ "resource": {
1455
+ "type": "Tag",
1456
+ "identifiers": [
1457
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1458
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1459
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1460
+ ]
1461
+ }
1462
+ },
1463
+ "Delete": {
1464
+ "request": {
1465
+ "operation": "DeleteSecurityGroup",
1466
+ "params": [
1467
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1468
+ ]
1469
+ }
1470
+ },
1471
+ "RevokeEgress": {
1472
+ "request": {
1473
+ "operation": "RevokeSecurityGroupEgress",
1474
+ "params": [
1475
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1476
+ ]
1477
+ }
1478
+ },
1479
+ "RevokeIngress": {
1480
+ "request": {
1481
+ "operation": "RevokeSecurityGroupIngress",
1482
+ "params": [
1483
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1484
+ ]
1485
+ }
1486
+ }
1487
+ }
1488
+ },
1489
+ "Snapshot": {
1490
+ "identifiers": [
1491
+ {
1492
+ "name": "Id",
1493
+ "memberName": "SnapshotId"
1494
+ }
1495
+ ],
1496
+ "shape": "Snapshot",
1497
+ "load": {
1498
+ "request": {
1499
+ "operation": "DescribeSnapshots",
1500
+ "params": [
1501
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
1502
+ ]
1503
+ },
1504
+ "path": "Snapshots[0]"
1505
+ },
1506
+ "actions": {
1507
+ "Copy": {
1508
+ "request": {
1509
+ "operation": "CopySnapshot",
1510
+ "params": [
1511
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
1512
+ ]
1513
+ }
1514
+ },
1515
+ "CreateTags": {
1516
+ "request": {
1517
+ "operation": "CreateTags",
1518
+ "params": [
1519
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1520
+ ]
1521
+ },
1522
+ "resource": {
1523
+ "type": "Tag",
1524
+ "identifiers": [
1525
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1526
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1527
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1528
+ ]
1529
+ }
1530
+ },
1531
+ "Delete": {
1532
+ "request": {
1533
+ "operation": "DeleteSnapshot",
1534
+ "params": [
1535
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1536
+ ]
1537
+ }
1538
+ },
1539
+ "DescribeAttribute": {
1540
+ "request": {
1541
+ "operation": "DescribeSnapshotAttribute",
1542
+ "params": [
1543
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1544
+ ]
1545
+ }
1546
+ },
1547
+ "ModifyAttribute": {
1548
+ "request": {
1549
+ "operation": "ModifySnapshotAttribute",
1550
+ "params": [
1551
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1552
+ ]
1553
+ }
1554
+ },
1555
+ "ResetAttribute": {
1556
+ "request": {
1557
+ "operation": "ResetSnapshotAttribute",
1558
+ "params": [
1559
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1560
+ ]
1561
+ }
1562
+ }
1563
+ },
1564
+ "waiters": {
1565
+ "Completed": {
1566
+ "waiterName": "SnapshotCompleted",
1567
+ "params": [
1568
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
1569
+ ],
1570
+ "path": "Snapshots[]"
1571
+ }
1572
+ },
1573
+ "has": {
1574
+ "Volume": {
1575
+ "resource": {
1576
+ "type": "Volume",
1577
+ "identifiers": [
1578
+ { "target": "Id", "source": "data", "path": "VolumeId" }
1579
+ ]
1580
+ }
1581
+ }
1582
+ }
1583
+ },
1584
+ "Subnet": {
1585
+ "identifiers": [
1586
+ {
1587
+ "name": "Id",
1588
+ "memberName": "SubnetId"
1589
+ }
1590
+ ],
1591
+ "shape": "Subnet",
1592
+ "load": {
1593
+ "request": {
1594
+ "operation": "DescribeSubnets",
1595
+ "params": [
1596
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
1597
+ ]
1598
+ },
1599
+ "path": "Subnets[0]"
1600
+ },
1601
+ "actions": {
1602
+ "CreateInstances": {
1603
+ "request": {
1604
+ "operation": "RunInstances",
1605
+ "params": [
1606
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1607
+ ]
1608
+ },
1609
+ "resource": {
1610
+ "type": "Instance",
1611
+ "identifiers": [
1612
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
1613
+ ],
1614
+ "path": "Instances[]"
1615
+ }
1616
+ },
1617
+ "CreateNetworkInterface": {
1618
+ "request": {
1619
+ "operation": "CreateNetworkInterface",
1620
+ "params": [
1621
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1622
+ ]
1623
+ },
1624
+ "resource": {
1625
+ "type": "NetworkInterface",
1626
+ "identifiers": [
1627
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
1628
+ ],
1629
+ "path": "NetworkInterface"
1630
+ }
1631
+ },
1632
+ "CreateTags": {
1633
+ "request": {
1634
+ "operation": "CreateTags",
1635
+ "params": [
1636
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1637
+ ]
1638
+ },
1639
+ "resource": {
1640
+ "type": "Tag",
1641
+ "identifiers": [
1642
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1643
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1644
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1645
+ ]
1646
+ }
1647
+ },
1648
+ "Delete": {
1649
+ "request": {
1650
+ "operation": "DeleteSubnet",
1651
+ "params": [
1652
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1653
+ ]
1654
+ }
1655
+ }
1656
+ },
1657
+ "has": {
1658
+ "Vpc": {
1659
+ "resource": {
1660
+ "type": "Vpc",
1661
+ "identifiers": [
1662
+ { "target": "Id", "source": "data", "path": "VpcId" }
1663
+ ]
1664
+ }
1665
+ }
1666
+ },
1667
+ "hasMany": {
1668
+ "Instances": {
1669
+ "request": {
1670
+ "operation": "DescribeInstances",
1671
+ "params": [
1672
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1673
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1674
+ ]
1675
+ },
1676
+ "resource": {
1677
+ "type": "Instance",
1678
+ "identifiers": [
1679
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1680
+ ],
1681
+ "path": "Reservations[].Instances[]"
1682
+ }
1683
+ },
1684
+ "NetworkInterfaces": {
1685
+ "request": {
1686
+ "operation": "DescribeNetworkInterfaces",
1687
+ "params": [
1688
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1689
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1690
+ ]
1691
+ },
1692
+ "resource": {
1693
+ "type": "NetworkInterface",
1694
+ "identifiers": [
1695
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
1696
+ ],
1697
+ "path": "NetworkInterfaces[]"
1698
+ }
1699
+ }
1700
+ }
1701
+ },
1702
+ "Tag": {
1703
+ "identifiers": [
1704
+ {
1705
+ "name": "ResourceId",
1706
+ "memberName": "ResourceId"
1707
+ },
1708
+ {
1709
+ "name": "Key",
1710
+ "memberName": "Key"
1711
+ },
1712
+ {
1713
+ "name": "Value",
1714
+ "memberName": "Value"
1715
+ }
1716
+ ],
1717
+ "shape": "TagDescription",
1718
+ "load": {
1719
+ "request": {
1720
+ "operation": "DescribeTags",
1721
+ "params": [
1722
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
1723
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
1724
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
1725
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
1726
+ ]
1727
+ },
1728
+ "path": "Tags[0]"
1729
+ },
1730
+ "actions": {
1731
+ "Delete": {
1732
+ "request": {
1733
+ "operation": "DeleteTags",
1734
+ "params": [
1735
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
1736
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
1737
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
1738
+ ]
1739
+ }
1740
+ }
1741
+ },
1742
+ "batchActions": {
1743
+ "Delete": {
1744
+ "request": {
1745
+ "operation": "DeleteTags",
1746
+ "params": [
1747
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
1748
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
1749
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
1750
+ ]
1751
+ }
1752
+ }
1753
+ }
1754
+ },
1755
+ "Volume": {
1756
+ "identifiers": [
1757
+ {
1758
+ "name": "Id",
1759
+ "memberName": "VolumeId"
1760
+ }
1761
+ ],
1762
+ "shape": "Volume",
1763
+ "load": {
1764
+ "request": {
1765
+ "operation": "DescribeVolumes",
1766
+ "params": [
1767
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1768
+ ]
1769
+ },
1770
+ "path": "Volumes[0]"
1771
+ },
1772
+ "actions": {
1773
+ "AttachToInstance": {
1774
+ "request": {
1775
+ "operation": "AttachVolume",
1776
+ "params": [
1777
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1778
+ ]
1779
+ }
1780
+ },
1781
+ "CreateSnapshot": {
1782
+ "request": {
1783
+ "operation": "CreateSnapshot",
1784
+ "params": [
1785
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1786
+ ]
1787
+ },
1788
+ "resource": {
1789
+ "type": "Snapshot",
1790
+ "identifiers": [
1791
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
1792
+ ],
1793
+ "path": "@"
1794
+ }
1795
+ },
1796
+ "CreateTags": {
1797
+ "request": {
1798
+ "operation": "CreateTags",
1799
+ "params": [
1800
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1801
+ ]
1802
+ },
1803
+ "resource": {
1804
+ "type": "Tag",
1805
+ "identifiers": [
1806
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1807
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1808
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1809
+ ]
1810
+ }
1811
+ },
1812
+ "Delete": {
1813
+ "request": {
1814
+ "operation": "DeleteVolume",
1815
+ "params": [
1816
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1817
+ ]
1818
+ }
1819
+ },
1820
+ "DescribeAttribute": {
1821
+ "request": {
1822
+ "operation": "DescribeVolumeAttribute",
1823
+ "params": [
1824
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1825
+ ]
1826
+ }
1827
+ },
1828
+ "DescribeStatus": {
1829
+ "request": {
1830
+ "operation": "DescribeVolumeStatus",
1831
+ "params": [
1832
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1833
+ ]
1834
+ }
1835
+ },
1836
+ "DetachFromInstance": {
1837
+ "request": {
1838
+ "operation": "DetachVolume",
1839
+ "params": [
1840
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1841
+ ]
1842
+ }
1843
+ },
1844
+ "EnableIo": {
1845
+ "request": {
1846
+ "operation": "EnableVolumeIO",
1847
+ "params": [
1848
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1849
+ ]
1850
+ }
1851
+ },
1852
+ "ModifyAttribute": {
1853
+ "request": {
1854
+ "operation": "ModifyVolumeAttribute",
1855
+ "params": [
1856
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1857
+ ]
1858
+ }
1859
+ }
1860
+ },
1861
+ "hasMany": {
1862
+ "Snapshots": {
1863
+ "request": {
1864
+ "operation": "DescribeSnapshots",
1865
+ "params": [
1866
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
1867
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1868
+ ]
1869
+ },
1870
+ "resource": {
1871
+ "type": "Snapshot",
1872
+ "identifiers": [
1873
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
1874
+ ],
1875
+ "path": "Snapshots[]"
1876
+ }
1877
+ }
1878
+ }
1879
+ },
1880
+ "Vpc": {
1881
+ "identifiers": [
1882
+ {
1883
+ "name": "Id",
1884
+ "memberName": "VpcId"
1885
+ }
1886
+ ],
1887
+ "shape": "Vpc",
1888
+ "load": {
1889
+ "request": {
1890
+ "operation": "DescribeVpcs",
1891
+ "params": [
1892
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
1893
+ ]
1894
+ },
1895
+ "path": "Vpcs[0]"
1896
+ },
1897
+ "actions": {
1898
+ "AssociateDhcpOptions": {
1899
+ "request": {
1900
+ "operation": "AssociateDhcpOptions",
1901
+ "params": [
1902
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1903
+ ]
1904
+ }
1905
+ },
1906
+ "AttachClassicLinkInstance": {
1907
+ "request": {
1908
+ "operation": "AttachClassicLinkVpc",
1909
+ "params": [
1910
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1911
+ ]
1912
+ }
1913
+ },
1914
+ "AttachInternetGateway": {
1915
+ "request": {
1916
+ "operation": "AttachInternetGateway",
1917
+ "params": [
1918
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1919
+ ]
1920
+ }
1921
+ },
1922
+ "CreateNetworkAcl": {
1923
+ "request": {
1924
+ "operation": "CreateNetworkAcl",
1925
+ "params": [
1926
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1927
+ ]
1928
+ },
1929
+ "resource": {
1930
+ "type": "NetworkAcl",
1931
+ "identifiers": [
1932
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
1933
+ ],
1934
+ "path": "NetworkAcl"
1935
+ }
1936
+ },
1937
+ "CreateRouteTable": {
1938
+ "request": {
1939
+ "operation": "CreateRouteTable",
1940
+ "params": [
1941
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1942
+ ]
1943
+ },
1944
+ "resource": {
1945
+ "type": "RouteTable",
1946
+ "identifiers": [
1947
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
1948
+ ],
1949
+ "path": "RouteTable"
1950
+ }
1951
+ },
1952
+ "CreateSecurityGroup": {
1953
+ "request": {
1954
+ "operation": "CreateSecurityGroup",
1955
+ "params": [
1956
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1957
+ ]
1958
+ },
1959
+ "resource": {
1960
+ "type": "SecurityGroup",
1961
+ "identifiers": [
1962
+ { "target": "Id", "source": "response", "path": "GroupId" }
1963
+ ]
1964
+ }
1965
+ },
1966
+ "CreateSubnet": {
1967
+ "request": {
1968
+ "operation": "CreateSubnet",
1969
+ "params": [
1970
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1971
+ ]
1972
+ },
1973
+ "resource": {
1974
+ "type": "Subnet",
1975
+ "identifiers": [
1976
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
1977
+ ],
1978
+ "path": "Subnet"
1979
+ }
1980
+ },
1981
+ "CreateTags": {
1982
+ "request": {
1983
+ "operation": "CreateTags",
1984
+ "params": [
1985
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1986
+ ]
1987
+ },
1988
+ "resource": {
1989
+ "type": "Tag",
1990
+ "identifiers": [
1991
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1992
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1993
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1994
+ ]
1995
+ }
1996
+ },
1997
+ "Delete": {
1998
+ "request": {
1999
+ "operation": "DeleteVpc",
2000
+ "params": [
2001
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2002
+ ]
2003
+ }
2004
+ },
2005
+ "DescribeAttribute": {
2006
+ "request": {
2007
+ "operation": "DescribeVpcAttribute",
2008
+ "params": [
2009
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2010
+ ]
2011
+ }
2012
+ },
2013
+ "DetachClassicLinkInstance": {
2014
+ "request": {
2015
+ "operation": "DetachClassicLinkVpc",
2016
+ "params": [
2017
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2018
+ ]
2019
+ }
2020
+ },
2021
+ "DetachInternetGateway": {
2022
+ "request": {
2023
+ "operation": "DetachInternetGateway",
2024
+ "params": [
2025
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2026
+ ]
2027
+ }
2028
+ },
2029
+ "DisableClassicLink": {
2030
+ "request": {
2031
+ "operation": "DisableVpcClassicLink",
2032
+ "params": [
2033
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2034
+ ]
2035
+ }
2036
+ },
2037
+ "EnableClassicLink": {
2038
+ "request": {
2039
+ "operation": "EnableVpcClassicLink",
2040
+ "params": [
2041
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2042
+ ]
2043
+ }
2044
+ },
2045
+ "ModifyAttribute": {
2046
+ "request": {
2047
+ "operation": "ModifyVpcAttribute",
2048
+ "params": [
2049
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2050
+ ]
2051
+ }
2052
+ },
2053
+ "RequestVpcPeeringConnection": {
2054
+ "request": {
2055
+ "operation": "CreateVpcPeeringConnection",
2056
+ "params": [
2057
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2058
+ ]
2059
+ },
2060
+ "resource": {
2061
+ "type": "VpcPeeringConnection",
2062
+ "identifiers": [
2063
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
2064
+ ],
2065
+ "path": "VpcPeeringConnection"
2066
+ }
2067
+ }
2068
+ },
2069
+ "has": {
2070
+ "DhcpOptions": {
2071
+ "resource": {
2072
+ "type": "DhcpOptions",
2073
+ "identifiers": [
2074
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
2075
+ ]
2076
+ }
2077
+ }
2078
+ },
2079
+ "hasMany": {
2080
+ "AcceptedVpcPeeringConnections": {
2081
+ "request": {
2082
+ "operation": "DescribeVpcPeeringConnections",
2083
+ "params": [
2084
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
2085
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2086
+ ]
2087
+ },
2088
+ "resource": {
2089
+ "type": "VpcPeeringConnection",
2090
+ "identifiers": [
2091
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2092
+ ],
2093
+ "path": "VpcPeeringConnections[]"
2094
+ }
2095
+ },
2096
+ "Instances": {
2097
+ "request": {
2098
+ "operation": "DescribeInstances",
2099
+ "params": [
2100
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2101
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2102
+ ]
2103
+ },
2104
+ "resource": {
2105
+ "type": "Instance",
2106
+ "identifiers": [
2107
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
2108
+ ],
2109
+ "path": "Reservations[].Instances[]"
2110
+ }
2111
+ },
2112
+ "InternetGateways": {
2113
+ "request": {
2114
+ "operation": "DescribeInternetGateways",
2115
+ "params": [
2116
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
2117
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2118
+ ]
2119
+ },
2120
+ "resource": {
2121
+ "type": "InternetGateway",
2122
+ "identifiers": [
2123
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
2124
+ ],
2125
+ "path": "InternetGateways[]"
2126
+ }
2127
+ },
2128
+ "NetworkAcls": {
2129
+ "request": {
2130
+ "operation": "DescribeNetworkAcls",
2131
+ "params": [
2132
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2133
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2134
+ ]
2135
+ },
2136
+ "resource": {
2137
+ "type": "NetworkAcl",
2138
+ "identifiers": [
2139
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
2140
+ ],
2141
+ "path": "NetworkAcls[]"
2142
+ }
2143
+ },
2144
+ "NetworkInterfaces": {
2145
+ "request": {
2146
+ "operation": "DescribeNetworkInterfaces",
2147
+ "params": [
2148
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2149
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2150
+ ]
2151
+ },
2152
+ "resource": {
2153
+ "type": "NetworkInterface",
2154
+ "identifiers": [
2155
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
2156
+ ],
2157
+ "path": "NetworkInterfaces[]"
2158
+ }
2159
+ },
2160
+ "RequestedVpcPeeringConnections": {
2161
+ "request": {
2162
+ "operation": "DescribeVpcPeeringConnections",
2163
+ "params": [
2164
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
2165
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2166
+ ]
2167
+ },
2168
+ "resource": {
2169
+ "type": "VpcPeeringConnection",
2170
+ "identifiers": [
2171
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2172
+ ],
2173
+ "path": "VpcPeeringConnections[]"
2174
+ }
2175
+ },
2176
+ "RouteTables": {
2177
+ "request": {
2178
+ "operation": "DescribeRouteTables",
2179
+ "params": [
2180
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2181
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2182
+ ]
2183
+ },
2184
+ "resource": {
2185
+ "type": "RouteTable",
2186
+ "identifiers": [
2187
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
2188
+ ],
2189
+ "path": "RouteTables[]"
2190
+ }
2191
+ },
2192
+ "SecurityGroups": {
2193
+ "request": {
2194
+ "operation": "DescribeSecurityGroups",
2195
+ "params": [
2196
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2197
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2198
+ ]
2199
+ },
2200
+ "resource": {
2201
+ "type": "SecurityGroup",
2202
+ "identifiers": [
2203
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
2204
+ ],
2205
+ "path": "SecurityGroups[]"
2206
+ }
2207
+ },
2208
+ "Subnets": {
2209
+ "request": {
2210
+ "operation": "DescribeSubnets",
2211
+ "params": [
2212
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2213
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2214
+ ]
2215
+ },
2216
+ "resource": {
2217
+ "type": "Subnet",
2218
+ "identifiers": [
2219
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
2220
+ ],
2221
+ "path": "Subnets[]"
2222
+ }
2223
+ }
2224
+ }
2225
+ },
2226
+ "VpcPeeringConnection": {
2227
+ "identifiers": [
2228
+ {
2229
+ "name": "Id",
2230
+ "memberName": "VpcPeeringConnectionId"
2231
+ }
2232
+ ],
2233
+ "shape": "VpcPeeringConnection",
2234
+ "load": {
2235
+ "request": {
2236
+ "operation": "DescribeVpcPeeringConnections",
2237
+ "params": [
2238
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
2239
+ ]
2240
+ },
2241
+ "path": "VpcPeeringConnections[0]"
2242
+ },
2243
+ "actions": {
2244
+ "Accept": {
2245
+ "request": {
2246
+ "operation": "AcceptVpcPeeringConnection",
2247
+ "params": [
2248
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2249
+ ]
2250
+ }
2251
+ },
2252
+ "Delete": {
2253
+ "request": {
2254
+ "operation": "DeleteVpcPeeringConnection",
2255
+ "params": [
2256
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2257
+ ]
2258
+ }
2259
+ },
2260
+ "Reject": {
2261
+ "request": {
2262
+ "operation": "RejectVpcPeeringConnection",
2263
+ "params": [
2264
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2265
+ ]
2266
+ }
2267
+ }
2268
+ },
2269
+ "has": {
2270
+ "AccepterVpc": {
2271
+ "resource": {
2272
+ "type": "Vpc",
2273
+ "identifiers": [
2274
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
2275
+ ]
2276
+ }
2277
+ },
2278
+ "RequesterVpc": {
2279
+ "resource": {
2280
+ "type": "Vpc",
2281
+ "identifiers": [
2282
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
2283
+ ]
2284
+ }
2285
+ }
2286
+ }
2287
+ }
2288
+ }
2289
+ }
env/Lib/site-packages/boto3/data/ec2/2015-04-15/resources-1.json ADDED
@@ -0,0 +1,2289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateDhcpOptions": {
5
+ "request": { "operation": "CreateDhcpOptions" },
6
+ "resource": {
7
+ "type": "DhcpOptions",
8
+ "identifiers": [
9
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
10
+ ],
11
+ "path": "DhcpOptions"
12
+ }
13
+ },
14
+ "CreateInstances": {
15
+ "request": { "operation": "RunInstances" },
16
+ "resource": {
17
+ "type": "Instance",
18
+ "identifiers": [
19
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
20
+ ],
21
+ "path": "Instances[]"
22
+ }
23
+ },
24
+ "CreateInternetGateway": {
25
+ "request": { "operation": "CreateInternetGateway" },
26
+ "resource": {
27
+ "type": "InternetGateway",
28
+ "identifiers": [
29
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
30
+ ],
31
+ "path": "InternetGateway"
32
+ }
33
+ },
34
+ "CreateKeyPair": {
35
+ "request": { "operation": "CreateKeyPair" },
36
+ "resource": {
37
+ "type": "KeyPair",
38
+ "identifiers": [
39
+ { "target": "Name", "source": "response", "path": "KeyName" }
40
+ ]
41
+ }
42
+ },
43
+ "CreateNetworkAcl": {
44
+ "request": { "operation": "CreateNetworkAcl" },
45
+ "resource": {
46
+ "type": "NetworkAcl",
47
+ "identifiers": [
48
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
49
+ ],
50
+ "path": "NetworkAcl"
51
+ }
52
+ },
53
+ "CreateNetworkInterface": {
54
+ "request": { "operation": "CreateNetworkInterface" },
55
+ "resource": {
56
+ "type": "NetworkInterface",
57
+ "identifiers": [
58
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
59
+ ],
60
+ "path": "NetworkInterface"
61
+ }
62
+ },
63
+ "CreatePlacementGroup": {
64
+ "request": { "operation": "CreatePlacementGroup" },
65
+ "resource": {
66
+ "type": "PlacementGroup",
67
+ "identifiers": [
68
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
69
+ ]
70
+ }
71
+ },
72
+ "CreateRouteTable": {
73
+ "request": { "operation": "CreateRouteTable" },
74
+ "resource": {
75
+ "type": "RouteTable",
76
+ "identifiers": [
77
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
78
+ ],
79
+ "path": "RouteTable"
80
+ }
81
+ },
82
+ "CreateSecurityGroup": {
83
+ "request": { "operation": "CreateSecurityGroup" },
84
+ "resource": {
85
+ "type": "SecurityGroup",
86
+ "identifiers": [
87
+ { "target": "Id", "source": "response", "path": "GroupId" }
88
+ ]
89
+ }
90
+ },
91
+ "CreateSnapshot": {
92
+ "request": { "operation": "CreateSnapshot" },
93
+ "resource": {
94
+ "type": "Snapshot",
95
+ "identifiers": [
96
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
97
+ ],
98
+ "path": "@"
99
+ }
100
+ },
101
+ "CreateSubnet": {
102
+ "request": { "operation": "CreateSubnet" },
103
+ "resource": {
104
+ "type": "Subnet",
105
+ "identifiers": [
106
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
107
+ ],
108
+ "path": "Subnet"
109
+ }
110
+ },
111
+ "CreateTags": {
112
+ "request": { "operation": "CreateTags" },
113
+ "resource": {
114
+ "type": "Tag",
115
+ "identifiers": [
116
+ { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
117
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
118
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
119
+ ]
120
+ }
121
+ },
122
+ "CreateVolume": {
123
+ "request": { "operation": "CreateVolume" },
124
+ "resource": {
125
+ "type": "Volume",
126
+ "identifiers": [
127
+ { "target": "Id", "source": "response", "path": "VolumeId" }
128
+ ],
129
+ "path": "@"
130
+ }
131
+ },
132
+ "CreateVpc": {
133
+ "request": { "operation": "CreateVpc" },
134
+ "resource": {
135
+ "type": "Vpc",
136
+ "identifiers": [
137
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
138
+ ],
139
+ "path": "Vpc"
140
+ }
141
+ },
142
+ "CreateVpcPeeringConnection": {
143
+ "request": { "operation": "CreateVpcPeeringConnection" },
144
+ "resource": {
145
+ "type": "VpcPeeringConnection",
146
+ "identifiers": [
147
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
148
+ ],
149
+ "path": "VpcPeeringConnection"
150
+ }
151
+ },
152
+ "DisassociateRouteTable": {
153
+ "request": { "operation": "DisassociateRouteTable" }
154
+ },
155
+ "ImportKeyPair": {
156
+ "request": { "operation": "ImportKeyPair" },
157
+ "resource": {
158
+ "type": "KeyPair",
159
+ "identifiers": [
160
+ { "target": "Name", "source": "response", "path": "KeyName" }
161
+ ]
162
+ }
163
+ },
164
+ "RegisterImage": {
165
+ "request": { "operation": "RegisterImage" },
166
+ "resource": {
167
+ "type": "Image",
168
+ "identifiers": [
169
+ { "target": "Id", "source": "response", "path": "ImageId" }
170
+ ]
171
+ }
172
+ }
173
+ },
174
+ "has": {
175
+ "DhcpOptions": {
176
+ "resource": {
177
+ "type": "DhcpOptions",
178
+ "identifiers": [
179
+ { "target": "Id", "source": "input" }
180
+ ]
181
+ }
182
+ },
183
+ "Image": {
184
+ "resource": {
185
+ "type": "Image",
186
+ "identifiers": [
187
+ { "target": "Id", "source": "input" }
188
+ ]
189
+ }
190
+ },
191
+ "Instance": {
192
+ "resource": {
193
+ "type": "Instance",
194
+ "identifiers": [
195
+ { "target": "Id", "source": "input" }
196
+ ]
197
+ }
198
+ },
199
+ "InternetGateway": {
200
+ "resource": {
201
+ "type": "InternetGateway",
202
+ "identifiers": [
203
+ { "target": "Id", "source": "input" }
204
+ ]
205
+ }
206
+ },
207
+ "KeyPair": {
208
+ "resource": {
209
+ "type": "KeyPair",
210
+ "identifiers": [
211
+ { "target": "Name", "source": "input" }
212
+ ]
213
+ }
214
+ },
215
+ "NetworkAcl": {
216
+ "resource": {
217
+ "type": "NetworkAcl",
218
+ "identifiers": [
219
+ { "target": "Id", "source": "input" }
220
+ ]
221
+ }
222
+ },
223
+ "NetworkInterface": {
224
+ "resource": {
225
+ "type": "NetworkInterface",
226
+ "identifiers": [
227
+ { "target": "Id", "source": "input" }
228
+ ]
229
+ }
230
+ },
231
+ "PlacementGroup": {
232
+ "resource": {
233
+ "type": "PlacementGroup",
234
+ "identifiers": [
235
+ { "target": "Name", "source": "input" }
236
+ ]
237
+ }
238
+ },
239
+ "RouteTable": {
240
+ "resource": {
241
+ "type": "RouteTable",
242
+ "identifiers": [
243
+ { "target": "Id", "source": "input" }
244
+ ]
245
+ }
246
+ },
247
+ "RouteTableAssociation": {
248
+ "resource": {
249
+ "type": "RouteTableAssociation",
250
+ "identifiers": [
251
+ { "target": "Id", "source": "input" }
252
+ ]
253
+ }
254
+ },
255
+ "SecurityGroup": {
256
+ "resource": {
257
+ "type": "SecurityGroup",
258
+ "identifiers": [
259
+ { "target": "Id", "source": "input" }
260
+ ]
261
+ }
262
+ },
263
+ "Snapshot": {
264
+ "resource": {
265
+ "type": "Snapshot",
266
+ "identifiers": [
267
+ { "target": "Id", "source": "input" }
268
+ ]
269
+ }
270
+ },
271
+ "Subnet": {
272
+ "resource": {
273
+ "type": "Subnet",
274
+ "identifiers": [
275
+ { "target": "Id", "source": "input" }
276
+ ]
277
+ }
278
+ },
279
+ "Volume": {
280
+ "resource": {
281
+ "type": "Volume",
282
+ "identifiers": [
283
+ { "target": "Id", "source": "input" }
284
+ ]
285
+ }
286
+ },
287
+ "Vpc": {
288
+ "resource": {
289
+ "type": "Vpc",
290
+ "identifiers": [
291
+ { "target": "Id", "source": "input" }
292
+ ]
293
+ }
294
+ },
295
+ "VpcPeeringConnection": {
296
+ "resource": {
297
+ "type": "VpcPeeringConnection",
298
+ "identifiers": [
299
+ { "target": "Id", "source": "input" }
300
+ ]
301
+ }
302
+ }
303
+ },
304
+ "hasMany": {
305
+ "DhcpOptionsSets": {
306
+ "request": { "operation": "DescribeDhcpOptions" },
307
+ "resource": {
308
+ "type": "DhcpOptions",
309
+ "identifiers": [
310
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
311
+ ],
312
+ "path": "DhcpOptions[]"
313
+ }
314
+ },
315
+ "Images": {
316
+ "request": { "operation": "DescribeImages" },
317
+ "resource": {
318
+ "type": "Image",
319
+ "identifiers": [
320
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
321
+ ],
322
+ "path": "Images[]"
323
+ }
324
+ },
325
+ "Instances": {
326
+ "request": { "operation": "DescribeInstances" },
327
+ "resource": {
328
+ "type": "Instance",
329
+ "identifiers": [
330
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
331
+ ],
332
+ "path": "Reservations[].Instances[]"
333
+ }
334
+ },
335
+ "InternetGateways": {
336
+ "request": { "operation": "DescribeInternetGateways" },
337
+ "resource": {
338
+ "type": "InternetGateway",
339
+ "identifiers": [
340
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
341
+ ],
342
+ "path": "InternetGateways[]"
343
+ }
344
+ },
345
+ "KeyPairs": {
346
+ "request": { "operation": "DescribeKeyPairs" },
347
+ "resource": {
348
+ "type": "KeyPair",
349
+ "identifiers": [
350
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
351
+ ],
352
+ "path": "KeyPairs[]"
353
+ }
354
+ },
355
+ "NetworkAcls": {
356
+ "request": { "operation": "DescribeNetworkAcls" },
357
+ "resource": {
358
+ "type": "NetworkAcl",
359
+ "identifiers": [
360
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
361
+ ],
362
+ "path": "NetworkAcls[]"
363
+ }
364
+ },
365
+ "NetworkInterfaces": {
366
+ "request": { "operation": "DescribeNetworkInterfaces" },
367
+ "resource": {
368
+ "type": "NetworkInterface",
369
+ "identifiers": [
370
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
371
+ ],
372
+ "path": "NetworkInterfaces[]"
373
+ }
374
+ },
375
+ "PlacementGroups": {
376
+ "request": { "operation": "DescribePlacementGroups" },
377
+ "resource": {
378
+ "type": "PlacementGroup",
379
+ "identifiers": [
380
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
381
+ ],
382
+ "path": "PlacementGroups[]"
383
+ }
384
+ },
385
+ "RouteTables": {
386
+ "request": { "operation": "DescribeRouteTables" },
387
+ "resource": {
388
+ "type": "RouteTable",
389
+ "identifiers": [
390
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
391
+ ],
392
+ "path": "RouteTables[]"
393
+ }
394
+ },
395
+ "SecurityGroups": {
396
+ "request": { "operation": "DescribeSecurityGroups" },
397
+ "resource": {
398
+ "type": "SecurityGroup",
399
+ "identifiers": [
400
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
401
+ ],
402
+ "path": "SecurityGroups[]"
403
+ }
404
+ },
405
+ "Snapshots": {
406
+ "request": { "operation": "DescribeSnapshots" },
407
+ "resource": {
408
+ "type": "Snapshot",
409
+ "identifiers": [
410
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
411
+ ],
412
+ "path": "Snapshots[]"
413
+ }
414
+ },
415
+ "Subnets": {
416
+ "request": { "operation": "DescribeSubnets" },
417
+ "resource": {
418
+ "type": "Subnet",
419
+ "identifiers": [
420
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
421
+ ],
422
+ "path": "Subnets[]"
423
+ }
424
+ },
425
+ "Volumes": {
426
+ "request": { "operation": "DescribeVolumes" },
427
+ "resource": {
428
+ "type": "Volume",
429
+ "identifiers": [
430
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
431
+ ],
432
+ "path": "Volumes[]"
433
+ }
434
+ },
435
+ "VpcPeeringConnections": {
436
+ "request": { "operation": "DescribeVpcPeeringConnections" },
437
+ "resource": {
438
+ "type": "VpcPeeringConnection",
439
+ "identifiers": [
440
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
441
+ ],
442
+ "path": "VpcPeeringConnections[]"
443
+ }
444
+ },
445
+ "Vpcs": {
446
+ "request": { "operation": "DescribeVpcs" },
447
+ "resource": {
448
+ "type": "Vpc",
449
+ "identifiers": [
450
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
451
+ ],
452
+ "path": "Vpcs[]"
453
+ }
454
+ }
455
+ }
456
+ },
457
+ "resources": {
458
+ "DhcpOptions": {
459
+ "identifiers": [
460
+ {
461
+ "name": "Id",
462
+ "memberName": "DhcpOptionsId"
463
+ }
464
+ ],
465
+ "shape": "DhcpOptions",
466
+ "load": {
467
+ "request": {
468
+ "operation": "DescribeDhcpOptions",
469
+ "params": [
470
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
471
+ ]
472
+ },
473
+ "path": "DhcpOptions[0]"
474
+ },
475
+ "actions": {
476
+ "AssociateWithVpc": {
477
+ "request": {
478
+ "operation": "AssociateDhcpOptions",
479
+ "params": [
480
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
481
+ ]
482
+ }
483
+ },
484
+ "CreateTags": {
485
+ "request": {
486
+ "operation": "CreateTags",
487
+ "params": [
488
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
489
+ ]
490
+ },
491
+ "resource": {
492
+ "type": "Tag",
493
+ "identifiers": [
494
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
495
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
496
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
497
+ ]
498
+ }
499
+ },
500
+ "Delete": {
501
+ "request": {
502
+ "operation": "DeleteDhcpOptions",
503
+ "params": [
504
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
505
+ ]
506
+ }
507
+ }
508
+ }
509
+ },
510
+ "Image": {
511
+ "identifiers": [
512
+ {
513
+ "name": "Id",
514
+ "memberName": "ImageId"
515
+ }
516
+ ],
517
+ "shape": "Image",
518
+ "load": {
519
+ "request": {
520
+ "operation": "DescribeImages",
521
+ "params": [
522
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
523
+ ]
524
+ },
525
+ "path": "Images[0]"
526
+ },
527
+ "actions": {
528
+ "CreateTags": {
529
+ "request": {
530
+ "operation": "CreateTags",
531
+ "params": [
532
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
533
+ ]
534
+ },
535
+ "resource": {
536
+ "type": "Tag",
537
+ "identifiers": [
538
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
539
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
540
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
541
+ ]
542
+ }
543
+ },
544
+ "Deregister": {
545
+ "request": {
546
+ "operation": "DeregisterImage",
547
+ "params": [
548
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
549
+ ]
550
+ }
551
+ },
552
+ "DescribeAttribute": {
553
+ "request": {
554
+ "operation": "DescribeImageAttribute",
555
+ "params": [
556
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
557
+ ]
558
+ }
559
+ },
560
+ "ModifyAttribute": {
561
+ "request": {
562
+ "operation": "ModifyImageAttribute",
563
+ "params": [
564
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
565
+ ]
566
+ }
567
+ },
568
+ "ResetAttribute": {
569
+ "request": {
570
+ "operation": "ResetImageAttribute",
571
+ "params": [
572
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
573
+ ]
574
+ }
575
+ }
576
+ }
577
+ },
578
+ "Instance": {
579
+ "identifiers": [
580
+ {
581
+ "name": "Id",
582
+ "memberName": "InstanceId"
583
+ }
584
+ ],
585
+ "shape": "Instance",
586
+ "load": {
587
+ "request": {
588
+ "operation": "DescribeInstances",
589
+ "params": [
590
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
591
+ ]
592
+ },
593
+ "path": "Reservations[0].Instances[0]"
594
+ },
595
+ "actions": {
596
+ "AttachClassicLinkVpc": {
597
+ "request": {
598
+ "operation": "AttachClassicLinkVpc",
599
+ "params": [
600
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
601
+ ]
602
+ }
603
+ },
604
+ "AttachVolume": {
605
+ "request": {
606
+ "operation": "AttachVolume",
607
+ "params": [
608
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
609
+ ]
610
+ }
611
+ },
612
+ "ConsoleOutput": {
613
+ "request": {
614
+ "operation": "GetConsoleOutput",
615
+ "params": [
616
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
617
+ ]
618
+ }
619
+ },
620
+ "CreateImage": {
621
+ "request": {
622
+ "operation": "CreateImage",
623
+ "params": [
624
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
625
+ ]
626
+ },
627
+ "resource": {
628
+ "type": "Image",
629
+ "identifiers": [
630
+ { "target": "Id", "source": "response", "path": "ImageId" }
631
+ ]
632
+ }
633
+ },
634
+ "CreateTags": {
635
+ "request": {
636
+ "operation": "CreateTags",
637
+ "params": [
638
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
639
+ ]
640
+ },
641
+ "resource": {
642
+ "type": "Tag",
643
+ "identifiers": [
644
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
645
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
646
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
647
+ ]
648
+ }
649
+ },
650
+ "DescribeAttribute": {
651
+ "request": {
652
+ "operation": "DescribeInstanceAttribute",
653
+ "params": [
654
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
655
+ ]
656
+ }
657
+ },
658
+ "DetachClassicLinkVpc": {
659
+ "request": {
660
+ "operation": "DetachClassicLinkVpc",
661
+ "params": [
662
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
663
+ ]
664
+ }
665
+ },
666
+ "DetachVolume": {
667
+ "request": {
668
+ "operation": "DetachVolume",
669
+ "params": [
670
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
671
+ ]
672
+ }
673
+ },
674
+ "ModifyAttribute": {
675
+ "request": {
676
+ "operation": "ModifyInstanceAttribute",
677
+ "params": [
678
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
679
+ ]
680
+ }
681
+ },
682
+ "Monitor": {
683
+ "request": {
684
+ "operation": "MonitorInstances",
685
+ "params": [
686
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
687
+ ]
688
+ }
689
+ },
690
+ "PasswordData": {
691
+ "request": {
692
+ "operation": "GetPasswordData",
693
+ "params": [
694
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
695
+ ]
696
+ }
697
+ },
698
+ "Reboot": {
699
+ "request": {
700
+ "operation": "RebootInstances",
701
+ "params": [
702
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
703
+ ]
704
+ }
705
+ },
706
+ "ReportStatus": {
707
+ "request": {
708
+ "operation": "ReportInstanceStatus",
709
+ "params": [
710
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
711
+ ]
712
+ }
713
+ },
714
+ "ResetAttribute": {
715
+ "request": {
716
+ "operation": "ResetInstanceAttribute",
717
+ "params": [
718
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
719
+ ]
720
+ }
721
+ },
722
+ "ResetKernel": {
723
+ "request": {
724
+ "operation": "ResetInstanceAttribute",
725
+ "params": [
726
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
727
+ { "target": "Attribute", "source": "string", "value": "kernel" }
728
+ ]
729
+ }
730
+ },
731
+ "ResetRamdisk": {
732
+ "request": {
733
+ "operation": "ResetInstanceAttribute",
734
+ "params": [
735
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
736
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
737
+ ]
738
+ }
739
+ },
740
+ "ResetSourceDestCheck": {
741
+ "request": {
742
+ "operation": "ResetInstanceAttribute",
743
+ "params": [
744
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
745
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
746
+ ]
747
+ }
748
+ },
749
+ "Start": {
750
+ "request": {
751
+ "operation": "StartInstances",
752
+ "params": [
753
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
754
+ ]
755
+ }
756
+ },
757
+ "Stop": {
758
+ "request": {
759
+ "operation": "StopInstances",
760
+ "params": [
761
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
762
+ ]
763
+ }
764
+ },
765
+ "Terminate": {
766
+ "request": {
767
+ "operation": "TerminateInstances",
768
+ "params": [
769
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
770
+ ]
771
+ }
772
+ },
773
+ "Unmonitor": {
774
+ "request": {
775
+ "operation": "UnmonitorInstances",
776
+ "params": [
777
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
778
+ ]
779
+ }
780
+ }
781
+ },
782
+ "batchActions": {
783
+ "CreateTags": {
784
+ "request": {
785
+ "operation": "CreateTags",
786
+ "params": [
787
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
788
+ ]
789
+ }
790
+ },
791
+ "Monitor": {
792
+ "request": {
793
+ "operation": "MonitorInstances",
794
+ "params": [
795
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
796
+ ]
797
+ }
798
+ },
799
+ "Reboot": {
800
+ "request": {
801
+ "operation": "RebootInstances",
802
+ "params": [
803
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
804
+ ]
805
+ }
806
+ },
807
+ "Start": {
808
+ "request": {
809
+ "operation": "StartInstances",
810
+ "params": [
811
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
812
+ ]
813
+ }
814
+ },
815
+ "Stop": {
816
+ "request": {
817
+ "operation": "StopInstances",
818
+ "params": [
819
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
820
+ ]
821
+ }
822
+ },
823
+ "Terminate": {
824
+ "request": {
825
+ "operation": "TerminateInstances",
826
+ "params": [
827
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
828
+ ]
829
+ }
830
+ },
831
+ "Unmonitor": {
832
+ "request": {
833
+ "operation": "UnmonitorInstances",
834
+ "params": [
835
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
836
+ ]
837
+ }
838
+ }
839
+ },
840
+ "waiters": {
841
+ "Exists": {
842
+ "waiterName": "InstanceExists",
843
+ "params": [
844
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
845
+ ],
846
+ "path": "Reservations[0].Instances[0]"
847
+ },
848
+ "Running": {
849
+ "waiterName": "InstanceRunning",
850
+ "params": [
851
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
852
+ ],
853
+ "path": "Reservations[0].Instances[0]"
854
+ },
855
+ "Stopped": {
856
+ "waiterName": "InstanceStopped",
857
+ "params": [
858
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
859
+ ],
860
+ "path": "Reservations[0].Instances[0]"
861
+ },
862
+ "Terminated": {
863
+ "waiterName": "InstanceTerminated",
864
+ "params": [
865
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
866
+ ],
867
+ "path": "Reservations[0].Instances[0]"
868
+ }
869
+ },
870
+ "has": {
871
+ "Image": {
872
+ "resource": {
873
+ "type": "Image",
874
+ "identifiers": [
875
+ { "target": "Id", "source": "data", "path": "ImageId" }
876
+ ]
877
+ }
878
+ },
879
+ "KeyPair": {
880
+ "resource": {
881
+ "type": "KeyPair",
882
+ "identifiers": [
883
+ { "target": "Name", "source": "data", "path": "KeyName" }
884
+ ]
885
+ }
886
+ },
887
+ "PlacementGroup": {
888
+ "resource": {
889
+ "type": "PlacementGroup",
890
+ "identifiers": [
891
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
892
+ ]
893
+ }
894
+ },
895
+ "Subnet": {
896
+ "resource": {
897
+ "type": "Subnet",
898
+ "identifiers": [
899
+ { "target": "Id", "source": "data", "path": "SubnetId" }
900
+ ]
901
+ }
902
+ },
903
+ "Vpc": {
904
+ "resource": {
905
+ "type": "Vpc",
906
+ "identifiers": [
907
+ { "target": "Id", "source": "data", "path": "VpcId" }
908
+ ]
909
+ }
910
+ }
911
+ },
912
+ "hasMany": {
913
+ "Volumes": {
914
+ "request": {
915
+ "operation": "DescribeVolumes",
916
+ "params": [
917
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
918
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
919
+ ]
920
+ },
921
+ "resource": {
922
+ "type": "Volume",
923
+ "identifiers": [
924
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
925
+ ],
926
+ "path": "Volumes[]"
927
+ }
928
+ }
929
+ }
930
+ },
931
+ "InternetGateway": {
932
+ "identifiers": [
933
+ {
934
+ "name": "Id",
935
+ "memberName": "InternetGatewayId"
936
+ }
937
+ ],
938
+ "shape": "InternetGateway",
939
+ "load": {
940
+ "request": {
941
+ "operation": "DescribeInternetGateways",
942
+ "params": [
943
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
944
+ ]
945
+ },
946
+ "path": "InternetGateways[0]"
947
+ },
948
+ "actions": {
949
+ "AttachToVpc": {
950
+ "request": {
951
+ "operation": "AttachInternetGateway",
952
+ "params": [
953
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
954
+ ]
955
+ }
956
+ },
957
+ "CreateTags": {
958
+ "request": {
959
+ "operation": "CreateTags",
960
+ "params": [
961
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
962
+ ]
963
+ },
964
+ "resource": {
965
+ "type": "Tag",
966
+ "identifiers": [
967
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
968
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
969
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
970
+ ]
971
+ }
972
+ },
973
+ "Delete": {
974
+ "request": {
975
+ "operation": "DeleteInternetGateway",
976
+ "params": [
977
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
978
+ ]
979
+ }
980
+ },
981
+ "DetachFromVpc": {
982
+ "request": {
983
+ "operation": "DetachInternetGateway",
984
+ "params": [
985
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
986
+ ]
987
+ }
988
+ }
989
+ }
990
+ },
991
+ "KeyPair": {
992
+ "identifiers": [
993
+ {
994
+ "name": "Name",
995
+ "memberName": "KeyName"
996
+ }
997
+ ],
998
+ "shape": "KeyPairInfo",
999
+ "load": {
1000
+ "request": {
1001
+ "operation": "DescribeKeyPairs",
1002
+ "params": [
1003
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
1004
+ ]
1005
+ },
1006
+ "path": "KeyPairs[0]"
1007
+ },
1008
+ "actions": {
1009
+ "Delete": {
1010
+ "request": {
1011
+ "operation": "DeleteKeyPair",
1012
+ "params": [
1013
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1014
+ ]
1015
+ }
1016
+ }
1017
+ }
1018
+ },
1019
+ "NetworkAcl": {
1020
+ "identifiers": [
1021
+ {
1022
+ "name": "Id",
1023
+ "memberName": "NetworkAclId"
1024
+ }
1025
+ ],
1026
+ "shape": "NetworkAcl",
1027
+ "load": {
1028
+ "request": {
1029
+ "operation": "DescribeNetworkAcls",
1030
+ "params": [
1031
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
1032
+ ]
1033
+ },
1034
+ "path": "NetworkAcls[0]"
1035
+ },
1036
+ "actions": {
1037
+ "CreateEntry": {
1038
+ "request": {
1039
+ "operation": "CreateNetworkAclEntry",
1040
+ "params": [
1041
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1042
+ ]
1043
+ }
1044
+ },
1045
+ "CreateTags": {
1046
+ "request": {
1047
+ "operation": "CreateTags",
1048
+ "params": [
1049
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1050
+ ]
1051
+ },
1052
+ "resource": {
1053
+ "type": "Tag",
1054
+ "identifiers": [
1055
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1056
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1057
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1058
+ ]
1059
+ }
1060
+ },
1061
+ "Delete": {
1062
+ "request": {
1063
+ "operation": "DeleteNetworkAcl",
1064
+ "params": [
1065
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1066
+ ]
1067
+ }
1068
+ },
1069
+ "DeleteEntry": {
1070
+ "request": {
1071
+ "operation": "DeleteNetworkAclEntry",
1072
+ "params": [
1073
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1074
+ ]
1075
+ }
1076
+ },
1077
+ "ReplaceAssociation": {
1078
+ "request": {
1079
+ "operation": "ReplaceNetworkAclAssociation",
1080
+ "params": [
1081
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1082
+ ]
1083
+ }
1084
+ },
1085
+ "ReplaceEntry": {
1086
+ "request": {
1087
+ "operation": "ReplaceNetworkAclEntry",
1088
+ "params": [
1089
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1090
+ ]
1091
+ }
1092
+ }
1093
+ },
1094
+ "has": {
1095
+ "Vpc": {
1096
+ "resource": {
1097
+ "type": "Vpc",
1098
+ "identifiers": [
1099
+ { "target": "Id", "source": "data", "path": "VpcId" }
1100
+ ]
1101
+ }
1102
+ }
1103
+ }
1104
+ },
1105
+ "NetworkInterface": {
1106
+ "identifiers": [
1107
+ {
1108
+ "name": "Id",
1109
+ "memberName": "NetworkInterfaceId"
1110
+ }
1111
+ ],
1112
+ "shape": "NetworkInterface",
1113
+ "load": {
1114
+ "request": {
1115
+ "operation": "DescribeNetworkInterfaces",
1116
+ "params": [
1117
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
1118
+ ]
1119
+ },
1120
+ "path": "NetworkInterfaces[0]"
1121
+ },
1122
+ "actions": {
1123
+ "AssignPrivateIpAddresses": {
1124
+ "request": {
1125
+ "operation": "AssignPrivateIpAddresses",
1126
+ "params": [
1127
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1128
+ ]
1129
+ }
1130
+ },
1131
+ "Attach": {
1132
+ "request": {
1133
+ "operation": "AttachNetworkInterface",
1134
+ "params": [
1135
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1136
+ ]
1137
+ }
1138
+ },
1139
+ "CreateTags": {
1140
+ "request": {
1141
+ "operation": "CreateTags",
1142
+ "params": [
1143
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1144
+ ]
1145
+ },
1146
+ "resource": {
1147
+ "type": "Tag",
1148
+ "identifiers": [
1149
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1150
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1151
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1152
+ ]
1153
+ }
1154
+ },
1155
+ "Delete": {
1156
+ "request": {
1157
+ "operation": "DeleteNetworkInterface",
1158
+ "params": [
1159
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1160
+ ]
1161
+ }
1162
+ },
1163
+ "DescribeAttribute": {
1164
+ "request": {
1165
+ "operation": "DescribeNetworkInterfaceAttribute",
1166
+ "params": [
1167
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1168
+ ]
1169
+ }
1170
+ },
1171
+ "Detach": {
1172
+ "request": {
1173
+ "operation": "DetachNetworkInterface",
1174
+ "params": [
1175
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
1176
+ ]
1177
+ }
1178
+ },
1179
+ "ModifyAttribute": {
1180
+ "request": {
1181
+ "operation": "ModifyNetworkInterfaceAttribute",
1182
+ "params": [
1183
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1184
+ ]
1185
+ }
1186
+ },
1187
+ "ResetAttribute": {
1188
+ "request": {
1189
+ "operation": "ResetNetworkInterfaceAttribute",
1190
+ "params": [
1191
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1192
+ ]
1193
+ }
1194
+ },
1195
+ "UnassignPrivateIpAddresses": {
1196
+ "request": {
1197
+ "operation": "UnassignPrivateIpAddresses",
1198
+ "params": [
1199
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1200
+ ]
1201
+ }
1202
+ }
1203
+ },
1204
+ "has": {
1205
+ "Subnet": {
1206
+ "resource": {
1207
+ "type": "Subnet",
1208
+ "identifiers": [
1209
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1210
+ ]
1211
+ }
1212
+ },
1213
+ "Vpc": {
1214
+ "resource": {
1215
+ "type": "Vpc",
1216
+ "identifiers": [
1217
+ { "target": "Id", "source": "data", "path": "VpcId" }
1218
+ ]
1219
+ }
1220
+ }
1221
+ }
1222
+ },
1223
+ "PlacementGroup": {
1224
+ "identifiers": [
1225
+ {
1226
+ "name": "Name",
1227
+ "memberName": "GroupName"
1228
+ }
1229
+ ],
1230
+ "shape": "PlacementGroup",
1231
+ "load": {
1232
+ "request": {
1233
+ "operation": "DescribePlacementGroups",
1234
+ "params": [
1235
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
1236
+ ]
1237
+ },
1238
+ "path": "PlacementGroups[0]"
1239
+ },
1240
+ "actions": {
1241
+ "Delete": {
1242
+ "request": {
1243
+ "operation": "DeletePlacementGroup",
1244
+ "params": [
1245
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
1246
+ ]
1247
+ }
1248
+ }
1249
+ },
1250
+ "hasMany": {
1251
+ "Instances": {
1252
+ "request": {
1253
+ "operation": "DescribeInstances",
1254
+ "params": [
1255
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
1256
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
1257
+ ]
1258
+ },
1259
+ "resource": {
1260
+ "type": "Instance",
1261
+ "identifiers": [
1262
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1263
+ ],
1264
+ "path": "Reservations[].Instances[]"
1265
+ }
1266
+ }
1267
+ }
1268
+ },
1269
+ "RouteTable": {
1270
+ "identifiers": [
1271
+ {
1272
+ "name": "Id",
1273
+ "memberName": "RouteTableId"
1274
+ }
1275
+ ],
1276
+ "shape": "RouteTable",
1277
+ "load": {
1278
+ "request": {
1279
+ "operation": "DescribeRouteTables",
1280
+ "params": [
1281
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1282
+ ]
1283
+ },
1284
+ "path": "RouteTables[0]"
1285
+ },
1286
+ "actions": {
1287
+ "AssociateWithSubnet": {
1288
+ "request": {
1289
+ "operation": "AssociateRouteTable",
1290
+ "params": [
1291
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1292
+ ]
1293
+ },
1294
+ "resource": {
1295
+ "type": "RouteTableAssociation",
1296
+ "identifiers": [
1297
+ { "target": "Id", "source": "response", "path": "AssociationId" }
1298
+ ]
1299
+ }
1300
+ },
1301
+ "CreateRoute": {
1302
+ "request": {
1303
+ "operation": "CreateRoute",
1304
+ "params": [
1305
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1306
+ ]
1307
+ }
1308
+ },
1309
+ "CreateTags": {
1310
+ "request": {
1311
+ "operation": "CreateTags",
1312
+ "params": [
1313
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1314
+ ]
1315
+ },
1316
+ "resource": {
1317
+ "type": "Tag",
1318
+ "identifiers": [
1319
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1320
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1321
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1322
+ ]
1323
+ }
1324
+ },
1325
+ "Delete": {
1326
+ "request": {
1327
+ "operation": "DeleteRouteTable",
1328
+ "params": [
1329
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1330
+ ]
1331
+ }
1332
+ }
1333
+ },
1334
+ "has": {
1335
+ "Vpc": {
1336
+ "resource": {
1337
+ "type": "Vpc",
1338
+ "identifiers": [
1339
+ { "target": "Id", "source": "data", "path": "VpcId" }
1340
+ ]
1341
+ }
1342
+ }
1343
+ },
1344
+ "hasMany": {
1345
+ "Associations": {
1346
+ "request": {
1347
+ "operation": "DescribeRouteTables",
1348
+ "params": [
1349
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1350
+ ]
1351
+ },
1352
+ "resource": {
1353
+ "type": "RouteTableAssociation",
1354
+ "identifiers": [
1355
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
1356
+ ],
1357
+ "path": "RouteTables[0].Associations[]"
1358
+ }
1359
+ }
1360
+ }
1361
+ },
1362
+ "RouteTableAssociation": {
1363
+ "identifiers": [
1364
+ {
1365
+ "name": "Id",
1366
+ "memberName": "RouteTableAssociationId"
1367
+ }
1368
+ ],
1369
+ "shape": "RouteTableAssociation",
1370
+ "actions": {
1371
+ "Delete": {
1372
+ "request": {
1373
+ "operation": "DisassociateRouteTable",
1374
+ "params": [
1375
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1376
+ ]
1377
+ }
1378
+ },
1379
+ "ReplaceSubnet": {
1380
+ "request": {
1381
+ "operation": "ReplaceRouteTableAssociation",
1382
+ "params": [
1383
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1384
+ ]
1385
+ },
1386
+ "resource": {
1387
+ "type": "RouteTableAssociation",
1388
+ "identifiers": [
1389
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
1390
+ ]
1391
+ }
1392
+ }
1393
+ },
1394
+ "has": {
1395
+ "RouteTable": {
1396
+ "resource": {
1397
+ "type": "RouteTable",
1398
+ "identifiers": [
1399
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
1400
+ ]
1401
+ }
1402
+ },
1403
+ "Subnet": {
1404
+ "resource": {
1405
+ "type": "Subnet",
1406
+ "identifiers": [
1407
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1408
+ ]
1409
+ }
1410
+ }
1411
+ }
1412
+ },
1413
+ "SecurityGroup": {
1414
+ "identifiers": [
1415
+ {
1416
+ "name": "Id",
1417
+ "memberName": "GroupId"
1418
+ }
1419
+ ],
1420
+ "shape": "SecurityGroup",
1421
+ "load": {
1422
+ "request": {
1423
+ "operation": "DescribeSecurityGroups",
1424
+ "params": [
1425
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
1426
+ ]
1427
+ },
1428
+ "path": "SecurityGroups[0]"
1429
+ },
1430
+ "actions": {
1431
+ "AuthorizeEgress": {
1432
+ "request": {
1433
+ "operation": "AuthorizeSecurityGroupEgress",
1434
+ "params": [
1435
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1436
+ ]
1437
+ }
1438
+ },
1439
+ "AuthorizeIngress": {
1440
+ "request": {
1441
+ "operation": "AuthorizeSecurityGroupIngress",
1442
+ "params": [
1443
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1444
+ ]
1445
+ }
1446
+ },
1447
+ "CreateTags": {
1448
+ "request": {
1449
+ "operation": "CreateTags",
1450
+ "params": [
1451
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1452
+ ]
1453
+ },
1454
+ "resource": {
1455
+ "type": "Tag",
1456
+ "identifiers": [
1457
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1458
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1459
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1460
+ ]
1461
+ }
1462
+ },
1463
+ "Delete": {
1464
+ "request": {
1465
+ "operation": "DeleteSecurityGroup",
1466
+ "params": [
1467
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1468
+ ]
1469
+ }
1470
+ },
1471
+ "RevokeEgress": {
1472
+ "request": {
1473
+ "operation": "RevokeSecurityGroupEgress",
1474
+ "params": [
1475
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1476
+ ]
1477
+ }
1478
+ },
1479
+ "RevokeIngress": {
1480
+ "request": {
1481
+ "operation": "RevokeSecurityGroupIngress",
1482
+ "params": [
1483
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1484
+ ]
1485
+ }
1486
+ }
1487
+ }
1488
+ },
1489
+ "Snapshot": {
1490
+ "identifiers": [
1491
+ {
1492
+ "name": "Id",
1493
+ "memberName": "SnapshotId"
1494
+ }
1495
+ ],
1496
+ "shape": "Snapshot",
1497
+ "load": {
1498
+ "request": {
1499
+ "operation": "DescribeSnapshots",
1500
+ "params": [
1501
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
1502
+ ]
1503
+ },
1504
+ "path": "Snapshots[0]"
1505
+ },
1506
+ "actions": {
1507
+ "Copy": {
1508
+ "request": {
1509
+ "operation": "CopySnapshot",
1510
+ "params": [
1511
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
1512
+ ]
1513
+ }
1514
+ },
1515
+ "CreateTags": {
1516
+ "request": {
1517
+ "operation": "CreateTags",
1518
+ "params": [
1519
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1520
+ ]
1521
+ },
1522
+ "resource": {
1523
+ "type": "Tag",
1524
+ "identifiers": [
1525
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1526
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1527
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1528
+ ]
1529
+ }
1530
+ },
1531
+ "Delete": {
1532
+ "request": {
1533
+ "operation": "DeleteSnapshot",
1534
+ "params": [
1535
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1536
+ ]
1537
+ }
1538
+ },
1539
+ "DescribeAttribute": {
1540
+ "request": {
1541
+ "operation": "DescribeSnapshotAttribute",
1542
+ "params": [
1543
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1544
+ ]
1545
+ }
1546
+ },
1547
+ "ModifyAttribute": {
1548
+ "request": {
1549
+ "operation": "ModifySnapshotAttribute",
1550
+ "params": [
1551
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1552
+ ]
1553
+ }
1554
+ },
1555
+ "ResetAttribute": {
1556
+ "request": {
1557
+ "operation": "ResetSnapshotAttribute",
1558
+ "params": [
1559
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1560
+ ]
1561
+ }
1562
+ }
1563
+ },
1564
+ "waiters": {
1565
+ "Completed": {
1566
+ "waiterName": "SnapshotCompleted",
1567
+ "params": [
1568
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
1569
+ ],
1570
+ "path": "Snapshots[]"
1571
+ }
1572
+ },
1573
+ "has": {
1574
+ "Volume": {
1575
+ "resource": {
1576
+ "type": "Volume",
1577
+ "identifiers": [
1578
+ { "target": "Id", "source": "data", "path": "VolumeId" }
1579
+ ]
1580
+ }
1581
+ }
1582
+ }
1583
+ },
1584
+ "Subnet": {
1585
+ "identifiers": [
1586
+ {
1587
+ "name": "Id",
1588
+ "memberName": "SubnetId"
1589
+ }
1590
+ ],
1591
+ "shape": "Subnet",
1592
+ "load": {
1593
+ "request": {
1594
+ "operation": "DescribeSubnets",
1595
+ "params": [
1596
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
1597
+ ]
1598
+ },
1599
+ "path": "Subnets[0]"
1600
+ },
1601
+ "actions": {
1602
+ "CreateInstances": {
1603
+ "request": {
1604
+ "operation": "RunInstances",
1605
+ "params": [
1606
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1607
+ ]
1608
+ },
1609
+ "resource": {
1610
+ "type": "Instance",
1611
+ "identifiers": [
1612
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
1613
+ ],
1614
+ "path": "Instances[]"
1615
+ }
1616
+ },
1617
+ "CreateNetworkInterface": {
1618
+ "request": {
1619
+ "operation": "CreateNetworkInterface",
1620
+ "params": [
1621
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1622
+ ]
1623
+ },
1624
+ "resource": {
1625
+ "type": "NetworkInterface",
1626
+ "identifiers": [
1627
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
1628
+ ],
1629
+ "path": "NetworkInterface"
1630
+ }
1631
+ },
1632
+ "CreateTags": {
1633
+ "request": {
1634
+ "operation": "CreateTags",
1635
+ "params": [
1636
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1637
+ ]
1638
+ },
1639
+ "resource": {
1640
+ "type": "Tag",
1641
+ "identifiers": [
1642
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1643
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1644
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1645
+ ]
1646
+ }
1647
+ },
1648
+ "Delete": {
1649
+ "request": {
1650
+ "operation": "DeleteSubnet",
1651
+ "params": [
1652
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1653
+ ]
1654
+ }
1655
+ }
1656
+ },
1657
+ "has": {
1658
+ "Vpc": {
1659
+ "resource": {
1660
+ "type": "Vpc",
1661
+ "identifiers": [
1662
+ { "target": "Id", "source": "data", "path": "VpcId" }
1663
+ ]
1664
+ }
1665
+ }
1666
+ },
1667
+ "hasMany": {
1668
+ "Instances": {
1669
+ "request": {
1670
+ "operation": "DescribeInstances",
1671
+ "params": [
1672
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1673
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1674
+ ]
1675
+ },
1676
+ "resource": {
1677
+ "type": "Instance",
1678
+ "identifiers": [
1679
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1680
+ ],
1681
+ "path": "Reservations[].Instances[]"
1682
+ }
1683
+ },
1684
+ "NetworkInterfaces": {
1685
+ "request": {
1686
+ "operation": "DescribeNetworkInterfaces",
1687
+ "params": [
1688
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1689
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1690
+ ]
1691
+ },
1692
+ "resource": {
1693
+ "type": "NetworkInterface",
1694
+ "identifiers": [
1695
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
1696
+ ],
1697
+ "path": "NetworkInterfaces[]"
1698
+ }
1699
+ }
1700
+ }
1701
+ },
1702
+ "Tag": {
1703
+ "identifiers": [
1704
+ {
1705
+ "name": "ResourceId",
1706
+ "memberName": "ResourceId"
1707
+ },
1708
+ {
1709
+ "name": "Key",
1710
+ "memberName": "Key"
1711
+ },
1712
+ {
1713
+ "name": "Value",
1714
+ "memberName": "Value"
1715
+ }
1716
+ ],
1717
+ "shape": "TagDescription",
1718
+ "load": {
1719
+ "request": {
1720
+ "operation": "DescribeTags",
1721
+ "params": [
1722
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
1723
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
1724
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
1725
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
1726
+ ]
1727
+ },
1728
+ "path": "Tags[0]"
1729
+ },
1730
+ "actions": {
1731
+ "Delete": {
1732
+ "request": {
1733
+ "operation": "DeleteTags",
1734
+ "params": [
1735
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
1736
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
1737
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
1738
+ ]
1739
+ }
1740
+ }
1741
+ },
1742
+ "batchActions": {
1743
+ "Delete": {
1744
+ "request": {
1745
+ "operation": "DeleteTags",
1746
+ "params": [
1747
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
1748
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
1749
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
1750
+ ]
1751
+ }
1752
+ }
1753
+ }
1754
+ },
1755
+ "Volume": {
1756
+ "identifiers": [
1757
+ {
1758
+ "name": "Id",
1759
+ "memberName": "VolumeId"
1760
+ }
1761
+ ],
1762
+ "shape": "Volume",
1763
+ "load": {
1764
+ "request": {
1765
+ "operation": "DescribeVolumes",
1766
+ "params": [
1767
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1768
+ ]
1769
+ },
1770
+ "path": "Volumes[0]"
1771
+ },
1772
+ "actions": {
1773
+ "AttachToInstance": {
1774
+ "request": {
1775
+ "operation": "AttachVolume",
1776
+ "params": [
1777
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1778
+ ]
1779
+ }
1780
+ },
1781
+ "CreateSnapshot": {
1782
+ "request": {
1783
+ "operation": "CreateSnapshot",
1784
+ "params": [
1785
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1786
+ ]
1787
+ },
1788
+ "resource": {
1789
+ "type": "Snapshot",
1790
+ "identifiers": [
1791
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
1792
+ ],
1793
+ "path": "@"
1794
+ }
1795
+ },
1796
+ "CreateTags": {
1797
+ "request": {
1798
+ "operation": "CreateTags",
1799
+ "params": [
1800
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1801
+ ]
1802
+ },
1803
+ "resource": {
1804
+ "type": "Tag",
1805
+ "identifiers": [
1806
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1807
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1808
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1809
+ ]
1810
+ }
1811
+ },
1812
+ "Delete": {
1813
+ "request": {
1814
+ "operation": "DeleteVolume",
1815
+ "params": [
1816
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1817
+ ]
1818
+ }
1819
+ },
1820
+ "DescribeAttribute": {
1821
+ "request": {
1822
+ "operation": "DescribeVolumeAttribute",
1823
+ "params": [
1824
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1825
+ ]
1826
+ }
1827
+ },
1828
+ "DescribeStatus": {
1829
+ "request": {
1830
+ "operation": "DescribeVolumeStatus",
1831
+ "params": [
1832
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1833
+ ]
1834
+ }
1835
+ },
1836
+ "DetachFromInstance": {
1837
+ "request": {
1838
+ "operation": "DetachVolume",
1839
+ "params": [
1840
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1841
+ ]
1842
+ }
1843
+ },
1844
+ "EnableIo": {
1845
+ "request": {
1846
+ "operation": "EnableVolumeIO",
1847
+ "params": [
1848
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1849
+ ]
1850
+ }
1851
+ },
1852
+ "ModifyAttribute": {
1853
+ "request": {
1854
+ "operation": "ModifyVolumeAttribute",
1855
+ "params": [
1856
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1857
+ ]
1858
+ }
1859
+ }
1860
+ },
1861
+ "hasMany": {
1862
+ "Snapshots": {
1863
+ "request": {
1864
+ "operation": "DescribeSnapshots",
1865
+ "params": [
1866
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
1867
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1868
+ ]
1869
+ },
1870
+ "resource": {
1871
+ "type": "Snapshot",
1872
+ "identifiers": [
1873
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
1874
+ ],
1875
+ "path": "Snapshots[]"
1876
+ }
1877
+ }
1878
+ }
1879
+ },
1880
+ "Vpc": {
1881
+ "identifiers": [
1882
+ {
1883
+ "name": "Id",
1884
+ "memberName": "VpcId"
1885
+ }
1886
+ ],
1887
+ "shape": "Vpc",
1888
+ "load": {
1889
+ "request": {
1890
+ "operation": "DescribeVpcs",
1891
+ "params": [
1892
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
1893
+ ]
1894
+ },
1895
+ "path": "Vpcs[0]"
1896
+ },
1897
+ "actions": {
1898
+ "AssociateDhcpOptions": {
1899
+ "request": {
1900
+ "operation": "AssociateDhcpOptions",
1901
+ "params": [
1902
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1903
+ ]
1904
+ }
1905
+ },
1906
+ "AttachClassicLinkInstance": {
1907
+ "request": {
1908
+ "operation": "AttachClassicLinkVpc",
1909
+ "params": [
1910
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1911
+ ]
1912
+ }
1913
+ },
1914
+ "AttachInternetGateway": {
1915
+ "request": {
1916
+ "operation": "AttachInternetGateway",
1917
+ "params": [
1918
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1919
+ ]
1920
+ }
1921
+ },
1922
+ "CreateNetworkAcl": {
1923
+ "request": {
1924
+ "operation": "CreateNetworkAcl",
1925
+ "params": [
1926
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1927
+ ]
1928
+ },
1929
+ "resource": {
1930
+ "type": "NetworkAcl",
1931
+ "identifiers": [
1932
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
1933
+ ],
1934
+ "path": "NetworkAcl"
1935
+ }
1936
+ },
1937
+ "CreateRouteTable": {
1938
+ "request": {
1939
+ "operation": "CreateRouteTable",
1940
+ "params": [
1941
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1942
+ ]
1943
+ },
1944
+ "resource": {
1945
+ "type": "RouteTable",
1946
+ "identifiers": [
1947
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
1948
+ ],
1949
+ "path": "RouteTable"
1950
+ }
1951
+ },
1952
+ "CreateSecurityGroup": {
1953
+ "request": {
1954
+ "operation": "CreateSecurityGroup",
1955
+ "params": [
1956
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1957
+ ]
1958
+ },
1959
+ "resource": {
1960
+ "type": "SecurityGroup",
1961
+ "identifiers": [
1962
+ { "target": "Id", "source": "response", "path": "GroupId" }
1963
+ ]
1964
+ }
1965
+ },
1966
+ "CreateSubnet": {
1967
+ "request": {
1968
+ "operation": "CreateSubnet",
1969
+ "params": [
1970
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1971
+ ]
1972
+ },
1973
+ "resource": {
1974
+ "type": "Subnet",
1975
+ "identifiers": [
1976
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
1977
+ ],
1978
+ "path": "Subnet"
1979
+ }
1980
+ },
1981
+ "CreateTags": {
1982
+ "request": {
1983
+ "operation": "CreateTags",
1984
+ "params": [
1985
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1986
+ ]
1987
+ },
1988
+ "resource": {
1989
+ "type": "Tag",
1990
+ "identifiers": [
1991
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1992
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1993
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1994
+ ]
1995
+ }
1996
+ },
1997
+ "Delete": {
1998
+ "request": {
1999
+ "operation": "DeleteVpc",
2000
+ "params": [
2001
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2002
+ ]
2003
+ }
2004
+ },
2005
+ "DescribeAttribute": {
2006
+ "request": {
2007
+ "operation": "DescribeVpcAttribute",
2008
+ "params": [
2009
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2010
+ ]
2011
+ }
2012
+ },
2013
+ "DetachClassicLinkInstance": {
2014
+ "request": {
2015
+ "operation": "DetachClassicLinkVpc",
2016
+ "params": [
2017
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2018
+ ]
2019
+ }
2020
+ },
2021
+ "DetachInternetGateway": {
2022
+ "request": {
2023
+ "operation": "DetachInternetGateway",
2024
+ "params": [
2025
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2026
+ ]
2027
+ }
2028
+ },
2029
+ "DisableClassicLink": {
2030
+ "request": {
2031
+ "operation": "DisableVpcClassicLink",
2032
+ "params": [
2033
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2034
+ ]
2035
+ }
2036
+ },
2037
+ "EnableClassicLink": {
2038
+ "request": {
2039
+ "operation": "EnableVpcClassicLink",
2040
+ "params": [
2041
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2042
+ ]
2043
+ }
2044
+ },
2045
+ "ModifyAttribute": {
2046
+ "request": {
2047
+ "operation": "ModifyVpcAttribute",
2048
+ "params": [
2049
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2050
+ ]
2051
+ }
2052
+ },
2053
+ "RequestVpcPeeringConnection": {
2054
+ "request": {
2055
+ "operation": "CreateVpcPeeringConnection",
2056
+ "params": [
2057
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2058
+ ]
2059
+ },
2060
+ "resource": {
2061
+ "type": "VpcPeeringConnection",
2062
+ "identifiers": [
2063
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
2064
+ ],
2065
+ "path": "VpcPeeringConnection"
2066
+ }
2067
+ }
2068
+ },
2069
+ "has": {
2070
+ "DhcpOptions": {
2071
+ "resource": {
2072
+ "type": "DhcpOptions",
2073
+ "identifiers": [
2074
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
2075
+ ]
2076
+ }
2077
+ }
2078
+ },
2079
+ "hasMany": {
2080
+ "AcceptedVpcPeeringConnections": {
2081
+ "request": {
2082
+ "operation": "DescribeVpcPeeringConnections",
2083
+ "params": [
2084
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
2085
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2086
+ ]
2087
+ },
2088
+ "resource": {
2089
+ "type": "VpcPeeringConnection",
2090
+ "identifiers": [
2091
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2092
+ ],
2093
+ "path": "VpcPeeringConnections[]"
2094
+ }
2095
+ },
2096
+ "Instances": {
2097
+ "request": {
2098
+ "operation": "DescribeInstances",
2099
+ "params": [
2100
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2101
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2102
+ ]
2103
+ },
2104
+ "resource": {
2105
+ "type": "Instance",
2106
+ "identifiers": [
2107
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
2108
+ ],
2109
+ "path": "Reservations[].Instances[]"
2110
+ }
2111
+ },
2112
+ "InternetGateways": {
2113
+ "request": {
2114
+ "operation": "DescribeInternetGateways",
2115
+ "params": [
2116
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
2117
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2118
+ ]
2119
+ },
2120
+ "resource": {
2121
+ "type": "InternetGateway",
2122
+ "identifiers": [
2123
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
2124
+ ],
2125
+ "path": "InternetGateways[]"
2126
+ }
2127
+ },
2128
+ "NetworkAcls": {
2129
+ "request": {
2130
+ "operation": "DescribeNetworkAcls",
2131
+ "params": [
2132
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2133
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2134
+ ]
2135
+ },
2136
+ "resource": {
2137
+ "type": "NetworkAcl",
2138
+ "identifiers": [
2139
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
2140
+ ],
2141
+ "path": "NetworkAcls[]"
2142
+ }
2143
+ },
2144
+ "NetworkInterfaces": {
2145
+ "request": {
2146
+ "operation": "DescribeNetworkInterfaces",
2147
+ "params": [
2148
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2149
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2150
+ ]
2151
+ },
2152
+ "resource": {
2153
+ "type": "NetworkInterface",
2154
+ "identifiers": [
2155
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
2156
+ ],
2157
+ "path": "NetworkInterfaces[]"
2158
+ }
2159
+ },
2160
+ "RequestedVpcPeeringConnections": {
2161
+ "request": {
2162
+ "operation": "DescribeVpcPeeringConnections",
2163
+ "params": [
2164
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
2165
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2166
+ ]
2167
+ },
2168
+ "resource": {
2169
+ "type": "VpcPeeringConnection",
2170
+ "identifiers": [
2171
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2172
+ ],
2173
+ "path": "VpcPeeringConnections[]"
2174
+ }
2175
+ },
2176
+ "RouteTables": {
2177
+ "request": {
2178
+ "operation": "DescribeRouteTables",
2179
+ "params": [
2180
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2181
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2182
+ ]
2183
+ },
2184
+ "resource": {
2185
+ "type": "RouteTable",
2186
+ "identifiers": [
2187
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
2188
+ ],
2189
+ "path": "RouteTables[]"
2190
+ }
2191
+ },
2192
+ "SecurityGroups": {
2193
+ "request": {
2194
+ "operation": "DescribeSecurityGroups",
2195
+ "params": [
2196
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2197
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2198
+ ]
2199
+ },
2200
+ "resource": {
2201
+ "type": "SecurityGroup",
2202
+ "identifiers": [
2203
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
2204
+ ],
2205
+ "path": "SecurityGroups[]"
2206
+ }
2207
+ },
2208
+ "Subnets": {
2209
+ "request": {
2210
+ "operation": "DescribeSubnets",
2211
+ "params": [
2212
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2213
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2214
+ ]
2215
+ },
2216
+ "resource": {
2217
+ "type": "Subnet",
2218
+ "identifiers": [
2219
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
2220
+ ],
2221
+ "path": "Subnets[]"
2222
+ }
2223
+ }
2224
+ }
2225
+ },
2226
+ "VpcPeeringConnection": {
2227
+ "identifiers": [
2228
+ {
2229
+ "name": "Id",
2230
+ "memberName": "VpcPeeringConnectionId"
2231
+ }
2232
+ ],
2233
+ "shape": "VpcPeeringConnection",
2234
+ "load": {
2235
+ "request": {
2236
+ "operation": "DescribeVpcPeeringConnections",
2237
+ "params": [
2238
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
2239
+ ]
2240
+ },
2241
+ "path": "VpcPeeringConnections[0]"
2242
+ },
2243
+ "actions": {
2244
+ "Accept": {
2245
+ "request": {
2246
+ "operation": "AcceptVpcPeeringConnection",
2247
+ "params": [
2248
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2249
+ ]
2250
+ }
2251
+ },
2252
+ "Delete": {
2253
+ "request": {
2254
+ "operation": "DeleteVpcPeeringConnection",
2255
+ "params": [
2256
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2257
+ ]
2258
+ }
2259
+ },
2260
+ "Reject": {
2261
+ "request": {
2262
+ "operation": "RejectVpcPeeringConnection",
2263
+ "params": [
2264
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2265
+ ]
2266
+ }
2267
+ }
2268
+ },
2269
+ "has": {
2270
+ "AccepterVpc": {
2271
+ "resource": {
2272
+ "type": "Vpc",
2273
+ "identifiers": [
2274
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
2275
+ ]
2276
+ }
2277
+ },
2278
+ "RequesterVpc": {
2279
+ "resource": {
2280
+ "type": "Vpc",
2281
+ "identifiers": [
2282
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
2283
+ ]
2284
+ }
2285
+ }
2286
+ }
2287
+ }
2288
+ }
2289
+ }
env/Lib/site-packages/boto3/data/ec2/2015-10-01/resources-1.json ADDED
@@ -0,0 +1,2567 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateDhcpOptions": {
5
+ "request": { "operation": "CreateDhcpOptions" },
6
+ "resource": {
7
+ "type": "DhcpOptions",
8
+ "identifiers": [
9
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
10
+ ],
11
+ "path": "DhcpOptions"
12
+ }
13
+ },
14
+ "CreateInstances": {
15
+ "request": { "operation": "RunInstances" },
16
+ "resource": {
17
+ "type": "Instance",
18
+ "identifiers": [
19
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
20
+ ],
21
+ "path": "Instances[]"
22
+ }
23
+ },
24
+ "CreateInternetGateway": {
25
+ "request": { "operation": "CreateInternetGateway" },
26
+ "resource": {
27
+ "type": "InternetGateway",
28
+ "identifiers": [
29
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
30
+ ],
31
+ "path": "InternetGateway"
32
+ }
33
+ },
34
+ "CreateKeyPair": {
35
+ "request": { "operation": "CreateKeyPair" },
36
+ "resource": {
37
+ "type": "KeyPair",
38
+ "identifiers": [
39
+ { "target": "Name", "source": "response", "path": "KeyName" }
40
+ ],
41
+ "path": "@"
42
+ }
43
+ },
44
+ "CreateNetworkAcl": {
45
+ "request": { "operation": "CreateNetworkAcl" },
46
+ "resource": {
47
+ "type": "NetworkAcl",
48
+ "identifiers": [
49
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
50
+ ],
51
+ "path": "NetworkAcl"
52
+ }
53
+ },
54
+ "CreateNetworkInterface": {
55
+ "request": { "operation": "CreateNetworkInterface" },
56
+ "resource": {
57
+ "type": "NetworkInterface",
58
+ "identifiers": [
59
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
60
+ ],
61
+ "path": "NetworkInterface"
62
+ }
63
+ },
64
+ "CreatePlacementGroup": {
65
+ "request": { "operation": "CreatePlacementGroup" },
66
+ "resource": {
67
+ "type": "PlacementGroup",
68
+ "identifiers": [
69
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
70
+ ]
71
+ }
72
+ },
73
+ "CreateRouteTable": {
74
+ "request": { "operation": "CreateRouteTable" },
75
+ "resource": {
76
+ "type": "RouteTable",
77
+ "identifiers": [
78
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
79
+ ],
80
+ "path": "RouteTable"
81
+ }
82
+ },
83
+ "CreateSecurityGroup": {
84
+ "request": { "operation": "CreateSecurityGroup" },
85
+ "resource": {
86
+ "type": "SecurityGroup",
87
+ "identifiers": [
88
+ { "target": "Id", "source": "response", "path": "GroupId" }
89
+ ]
90
+ }
91
+ },
92
+ "CreateSnapshot": {
93
+ "request": { "operation": "CreateSnapshot" },
94
+ "resource": {
95
+ "type": "Snapshot",
96
+ "identifiers": [
97
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
98
+ ],
99
+ "path": "@"
100
+ }
101
+ },
102
+ "CreateSubnet": {
103
+ "request": { "operation": "CreateSubnet" },
104
+ "resource": {
105
+ "type": "Subnet",
106
+ "identifiers": [
107
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
108
+ ],
109
+ "path": "Subnet"
110
+ }
111
+ },
112
+ "CreateTags": {
113
+ "request": { "operation": "CreateTags" }
114
+ },
115
+ "CreateVolume": {
116
+ "request": { "operation": "CreateVolume" },
117
+ "resource": {
118
+ "type": "Volume",
119
+ "identifiers": [
120
+ { "target": "Id", "source": "response", "path": "VolumeId" }
121
+ ],
122
+ "path": "@"
123
+ }
124
+ },
125
+ "CreateVpc": {
126
+ "request": { "operation": "CreateVpc" },
127
+ "resource": {
128
+ "type": "Vpc",
129
+ "identifiers": [
130
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
131
+ ],
132
+ "path": "Vpc"
133
+ }
134
+ },
135
+ "CreateVpcPeeringConnection": {
136
+ "request": { "operation": "CreateVpcPeeringConnection" },
137
+ "resource": {
138
+ "type": "VpcPeeringConnection",
139
+ "identifiers": [
140
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
141
+ ],
142
+ "path": "VpcPeeringConnection"
143
+ }
144
+ },
145
+ "DisassociateRouteTable": {
146
+ "request": { "operation": "DisassociateRouteTable" }
147
+ },
148
+ "ImportKeyPair": {
149
+ "request": { "operation": "ImportKeyPair" },
150
+ "resource": {
151
+ "type": "KeyPairInfo",
152
+ "identifiers": [
153
+ { "target": "Name", "source": "response", "path": "KeyName" }
154
+ ]
155
+ }
156
+ },
157
+ "RegisterImage": {
158
+ "request": { "operation": "RegisterImage" },
159
+ "resource": {
160
+ "type": "Image",
161
+ "identifiers": [
162
+ { "target": "Id", "source": "response", "path": "ImageId" }
163
+ ]
164
+ }
165
+ }
166
+ },
167
+ "has": {
168
+ "DhcpOptions": {
169
+ "resource": {
170
+ "type": "DhcpOptions",
171
+ "identifiers": [
172
+ { "target": "Id", "source": "input" }
173
+ ]
174
+ }
175
+ },
176
+ "Image": {
177
+ "resource": {
178
+ "type": "Image",
179
+ "identifiers": [
180
+ { "target": "Id", "source": "input" }
181
+ ]
182
+ }
183
+ },
184
+ "Instance": {
185
+ "resource": {
186
+ "type": "Instance",
187
+ "identifiers": [
188
+ { "target": "Id", "source": "input" }
189
+ ]
190
+ }
191
+ },
192
+ "InternetGateway": {
193
+ "resource": {
194
+ "type": "InternetGateway",
195
+ "identifiers": [
196
+ { "target": "Id", "source": "input" }
197
+ ]
198
+ }
199
+ },
200
+ "KeyPair": {
201
+ "resource": {
202
+ "type": "KeyPairInfo",
203
+ "identifiers": [
204
+ { "target": "Name", "source": "input" }
205
+ ]
206
+ }
207
+ },
208
+ "NetworkAcl": {
209
+ "resource": {
210
+ "type": "NetworkAcl",
211
+ "identifiers": [
212
+ { "target": "Id", "source": "input" }
213
+ ]
214
+ }
215
+ },
216
+ "NetworkInterface": {
217
+ "resource": {
218
+ "type": "NetworkInterface",
219
+ "identifiers": [
220
+ { "target": "Id", "source": "input" }
221
+ ]
222
+ }
223
+ },
224
+ "PlacementGroup": {
225
+ "resource": {
226
+ "type": "PlacementGroup",
227
+ "identifiers": [
228
+ { "target": "Name", "source": "input" }
229
+ ]
230
+ }
231
+ },
232
+ "RouteTable": {
233
+ "resource": {
234
+ "type": "RouteTable",
235
+ "identifiers": [
236
+ { "target": "Id", "source": "input" }
237
+ ]
238
+ }
239
+ },
240
+ "RouteTableAssociation": {
241
+ "resource": {
242
+ "type": "RouteTableAssociation",
243
+ "identifiers": [
244
+ { "target": "Id", "source": "input" }
245
+ ]
246
+ }
247
+ },
248
+ "SecurityGroup": {
249
+ "resource": {
250
+ "type": "SecurityGroup",
251
+ "identifiers": [
252
+ { "target": "Id", "source": "input" }
253
+ ]
254
+ }
255
+ },
256
+ "Snapshot": {
257
+ "resource": {
258
+ "type": "Snapshot",
259
+ "identifiers": [
260
+ { "target": "Id", "source": "input" }
261
+ ]
262
+ }
263
+ },
264
+ "Subnet": {
265
+ "resource": {
266
+ "type": "Subnet",
267
+ "identifiers": [
268
+ { "target": "Id", "source": "input" }
269
+ ]
270
+ }
271
+ },
272
+ "Volume": {
273
+ "resource": {
274
+ "type": "Volume",
275
+ "identifiers": [
276
+ { "target": "Id", "source": "input" }
277
+ ]
278
+ }
279
+ },
280
+ "Vpc": {
281
+ "resource": {
282
+ "type": "Vpc",
283
+ "identifiers": [
284
+ { "target": "Id", "source": "input" }
285
+ ]
286
+ }
287
+ },
288
+ "VpcPeeringConnection": {
289
+ "resource": {
290
+ "type": "VpcPeeringConnection",
291
+ "identifiers": [
292
+ { "target": "Id", "source": "input" }
293
+ ]
294
+ }
295
+ }
296
+ },
297
+ "hasMany": {
298
+ "ClassicAddresses": {
299
+ "request": {
300
+ "operation": "DescribeAddresses",
301
+ "params": [
302
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
303
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
304
+ ]
305
+ },
306
+ "resource": {
307
+ "type": "ClassicAddress",
308
+ "identifiers": [
309
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
310
+ ],
311
+ "path": "Addresses[]"
312
+ }
313
+ },
314
+ "DhcpOptionsSets": {
315
+ "request": { "operation": "DescribeDhcpOptions" },
316
+ "resource": {
317
+ "type": "DhcpOptions",
318
+ "identifiers": [
319
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
320
+ ],
321
+ "path": "DhcpOptions[]"
322
+ }
323
+ },
324
+ "Images": {
325
+ "request": { "operation": "DescribeImages" },
326
+ "resource": {
327
+ "type": "Image",
328
+ "identifiers": [
329
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
330
+ ],
331
+ "path": "Images[]"
332
+ }
333
+ },
334
+ "Instances": {
335
+ "request": { "operation": "DescribeInstances" },
336
+ "resource": {
337
+ "type": "Instance",
338
+ "identifiers": [
339
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
340
+ ],
341
+ "path": "Reservations[].Instances[]"
342
+ }
343
+ },
344
+ "InternetGateways": {
345
+ "request": { "operation": "DescribeInternetGateways" },
346
+ "resource": {
347
+ "type": "InternetGateway",
348
+ "identifiers": [
349
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
350
+ ],
351
+ "path": "InternetGateways[]"
352
+ }
353
+ },
354
+ "KeyPairs": {
355
+ "request": { "operation": "DescribeKeyPairs" },
356
+ "resource": {
357
+ "type": "KeyPairInfo",
358
+ "identifiers": [
359
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
360
+ ],
361
+ "path": "KeyPairs[]"
362
+ }
363
+ },
364
+ "NetworkAcls": {
365
+ "request": { "operation": "DescribeNetworkAcls" },
366
+ "resource": {
367
+ "type": "NetworkAcl",
368
+ "identifiers": [
369
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
370
+ ],
371
+ "path": "NetworkAcls[]"
372
+ }
373
+ },
374
+ "NetworkInterfaces": {
375
+ "request": { "operation": "DescribeNetworkInterfaces" },
376
+ "resource": {
377
+ "type": "NetworkInterface",
378
+ "identifiers": [
379
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
380
+ ],
381
+ "path": "NetworkInterfaces[]"
382
+ }
383
+ },
384
+ "PlacementGroups": {
385
+ "request": { "operation": "DescribePlacementGroups" },
386
+ "resource": {
387
+ "type": "PlacementGroup",
388
+ "identifiers": [
389
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
390
+ ],
391
+ "path": "PlacementGroups[]"
392
+ }
393
+ },
394
+ "RouteTables": {
395
+ "request": { "operation": "DescribeRouteTables" },
396
+ "resource": {
397
+ "type": "RouteTable",
398
+ "identifiers": [
399
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
400
+ ],
401
+ "path": "RouteTables[]"
402
+ }
403
+ },
404
+ "SecurityGroups": {
405
+ "request": { "operation": "DescribeSecurityGroups" },
406
+ "resource": {
407
+ "type": "SecurityGroup",
408
+ "identifiers": [
409
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
410
+ ],
411
+ "path": "SecurityGroups[]"
412
+ }
413
+ },
414
+ "Snapshots": {
415
+ "request": { "operation": "DescribeSnapshots" },
416
+ "resource": {
417
+ "type": "Snapshot",
418
+ "identifiers": [
419
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
420
+ ],
421
+ "path": "Snapshots[]"
422
+ }
423
+ },
424
+ "Subnets": {
425
+ "request": { "operation": "DescribeSubnets" },
426
+ "resource": {
427
+ "type": "Subnet",
428
+ "identifiers": [
429
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
430
+ ],
431
+ "path": "Subnets[]"
432
+ }
433
+ },
434
+ "Volumes": {
435
+ "request": { "operation": "DescribeVolumes" },
436
+ "resource": {
437
+ "type": "Volume",
438
+ "identifiers": [
439
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
440
+ ],
441
+ "path": "Volumes[]"
442
+ }
443
+ },
444
+ "VpcAddresses": {
445
+ "request": {
446
+ "operation": "DescribeAddresses",
447
+ "params": [
448
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
449
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
450
+ ]
451
+ },
452
+ "resource": {
453
+ "type": "VpcAddress",
454
+ "identifiers": [
455
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
456
+ ],
457
+ "path": "Addresses[]"
458
+ }
459
+ },
460
+ "VpcPeeringConnections": {
461
+ "request": { "operation": "DescribeVpcPeeringConnections" },
462
+ "resource": {
463
+ "type": "VpcPeeringConnection",
464
+ "identifiers": [
465
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
466
+ ],
467
+ "path": "VpcPeeringConnections[]"
468
+ }
469
+ },
470
+ "Vpcs": {
471
+ "request": { "operation": "DescribeVpcs" },
472
+ "resource": {
473
+ "type": "Vpc",
474
+ "identifiers": [
475
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
476
+ ],
477
+ "path": "Vpcs[]"
478
+ }
479
+ }
480
+ }
481
+ },
482
+ "resources": {
483
+ "ClassicAddress": {
484
+ "identifiers": [
485
+ {
486
+ "name": "PublicIp"
487
+ }
488
+ ],
489
+ "shape": "Address",
490
+ "load": {
491
+ "request": {
492
+ "operation": "DescribeAddresses",
493
+ "params": [
494
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
495
+ ]
496
+ },
497
+ "path": "Addresses[0]"
498
+ },
499
+ "actions": {
500
+ "Associate": {
501
+ "request": {
502
+ "operation": "AssociateAddress",
503
+ "params": [
504
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
505
+ ]
506
+ }
507
+ },
508
+ "Disassociate": {
509
+ "request": {
510
+ "operation": "DisassociateAddress",
511
+ "params": [
512
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
513
+ ]
514
+ }
515
+ },
516
+ "Release": {
517
+ "request": {
518
+ "operation": "ReleaseAddress",
519
+ "params": [
520
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
521
+ ]
522
+ }
523
+ }
524
+ }
525
+ },
526
+ "DhcpOptions": {
527
+ "identifiers": [
528
+ {
529
+ "name": "Id",
530
+ "memberName": "DhcpOptionsId"
531
+ }
532
+ ],
533
+ "shape": "DhcpOptions",
534
+ "load": {
535
+ "request": {
536
+ "operation": "DescribeDhcpOptions",
537
+ "params": [
538
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
539
+ ]
540
+ },
541
+ "path": "DhcpOptions[0]"
542
+ },
543
+ "actions": {
544
+ "AssociateWithVpc": {
545
+ "request": {
546
+ "operation": "AssociateDhcpOptions",
547
+ "params": [
548
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
549
+ ]
550
+ }
551
+ },
552
+ "CreateTags": {
553
+ "request": {
554
+ "operation": "CreateTags",
555
+ "params": [
556
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
557
+ ]
558
+ },
559
+ "resource": {
560
+ "type": "Tag",
561
+ "identifiers": [
562
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
563
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
564
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
565
+ ]
566
+ }
567
+ },
568
+ "Delete": {
569
+ "request": {
570
+ "operation": "DeleteDhcpOptions",
571
+ "params": [
572
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
573
+ ]
574
+ }
575
+ }
576
+ }
577
+ },
578
+ "Image": {
579
+ "identifiers": [
580
+ {
581
+ "name": "Id",
582
+ "memberName": "ImageId"
583
+ }
584
+ ],
585
+ "shape": "Image",
586
+ "load": {
587
+ "request": {
588
+ "operation": "DescribeImages",
589
+ "params": [
590
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
591
+ ]
592
+ },
593
+ "path": "Images[0]"
594
+ },
595
+ "actions": {
596
+ "CreateTags": {
597
+ "request": {
598
+ "operation": "CreateTags",
599
+ "params": [
600
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
601
+ ]
602
+ },
603
+ "resource": {
604
+ "type": "Tag",
605
+ "identifiers": [
606
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
607
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
608
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
609
+ ]
610
+ }
611
+ },
612
+ "Deregister": {
613
+ "request": {
614
+ "operation": "DeregisterImage",
615
+ "params": [
616
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
617
+ ]
618
+ }
619
+ },
620
+ "DescribeAttribute": {
621
+ "request": {
622
+ "operation": "DescribeImageAttribute",
623
+ "params": [
624
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
625
+ ]
626
+ }
627
+ },
628
+ "ModifyAttribute": {
629
+ "request": {
630
+ "operation": "ModifyImageAttribute",
631
+ "params": [
632
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
633
+ ]
634
+ }
635
+ },
636
+ "ResetAttribute": {
637
+ "request": {
638
+ "operation": "ResetImageAttribute",
639
+ "params": [
640
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
641
+ ]
642
+ }
643
+ }
644
+ }
645
+ },
646
+ "Instance": {
647
+ "identifiers": [
648
+ {
649
+ "name": "Id",
650
+ "memberName": "InstanceId"
651
+ }
652
+ ],
653
+ "shape": "Instance",
654
+ "load": {
655
+ "request": {
656
+ "operation": "DescribeInstances",
657
+ "params": [
658
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
659
+ ]
660
+ },
661
+ "path": "Reservations[0].Instances[0]"
662
+ },
663
+ "actions": {
664
+ "AttachClassicLinkVpc": {
665
+ "request": {
666
+ "operation": "AttachClassicLinkVpc",
667
+ "params": [
668
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
669
+ ]
670
+ }
671
+ },
672
+ "AttachVolume": {
673
+ "request": {
674
+ "operation": "AttachVolume",
675
+ "params": [
676
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
677
+ ]
678
+ }
679
+ },
680
+ "ConsoleOutput": {
681
+ "request": {
682
+ "operation": "GetConsoleOutput",
683
+ "params": [
684
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
685
+ ]
686
+ }
687
+ },
688
+ "CreateImage": {
689
+ "request": {
690
+ "operation": "CreateImage",
691
+ "params": [
692
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
693
+ ]
694
+ },
695
+ "resource": {
696
+ "type": "Image",
697
+ "identifiers": [
698
+ { "target": "Id", "source": "response", "path": "ImageId" }
699
+ ]
700
+ }
701
+ },
702
+ "CreateTags": {
703
+ "request": {
704
+ "operation": "CreateTags",
705
+ "params": [
706
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
707
+ ]
708
+ },
709
+ "resource": {
710
+ "type": "Tag",
711
+ "identifiers": [
712
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
713
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
714
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
715
+ ]
716
+ }
717
+ },
718
+ "DescribeAttribute": {
719
+ "request": {
720
+ "operation": "DescribeInstanceAttribute",
721
+ "params": [
722
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
723
+ ]
724
+ }
725
+ },
726
+ "DetachClassicLinkVpc": {
727
+ "request": {
728
+ "operation": "DetachClassicLinkVpc",
729
+ "params": [
730
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
731
+ ]
732
+ }
733
+ },
734
+ "DetachVolume": {
735
+ "request": {
736
+ "operation": "DetachVolume",
737
+ "params": [
738
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
739
+ ]
740
+ }
741
+ },
742
+ "ModifyAttribute": {
743
+ "request": {
744
+ "operation": "ModifyInstanceAttribute",
745
+ "params": [
746
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
747
+ ]
748
+ }
749
+ },
750
+ "Monitor": {
751
+ "request": {
752
+ "operation": "MonitorInstances",
753
+ "params": [
754
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
755
+ ]
756
+ }
757
+ },
758
+ "PasswordData": {
759
+ "request": {
760
+ "operation": "GetPasswordData",
761
+ "params": [
762
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
763
+ ]
764
+ }
765
+ },
766
+ "Reboot": {
767
+ "request": {
768
+ "operation": "RebootInstances",
769
+ "params": [
770
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
771
+ ]
772
+ }
773
+ },
774
+ "ReportStatus": {
775
+ "request": {
776
+ "operation": "ReportInstanceStatus",
777
+ "params": [
778
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
779
+ ]
780
+ }
781
+ },
782
+ "ResetAttribute": {
783
+ "request": {
784
+ "operation": "ResetInstanceAttribute",
785
+ "params": [
786
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
787
+ ]
788
+ }
789
+ },
790
+ "ResetKernel": {
791
+ "request": {
792
+ "operation": "ResetInstanceAttribute",
793
+ "params": [
794
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
795
+ { "target": "Attribute", "source": "string", "value": "kernel" }
796
+ ]
797
+ }
798
+ },
799
+ "ResetRamdisk": {
800
+ "request": {
801
+ "operation": "ResetInstanceAttribute",
802
+ "params": [
803
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
804
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
805
+ ]
806
+ }
807
+ },
808
+ "ResetSourceDestCheck": {
809
+ "request": {
810
+ "operation": "ResetInstanceAttribute",
811
+ "params": [
812
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
813
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
814
+ ]
815
+ }
816
+ },
817
+ "Start": {
818
+ "request": {
819
+ "operation": "StartInstances",
820
+ "params": [
821
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
822
+ ]
823
+ }
824
+ },
825
+ "Stop": {
826
+ "request": {
827
+ "operation": "StopInstances",
828
+ "params": [
829
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
830
+ ]
831
+ }
832
+ },
833
+ "Terminate": {
834
+ "request": {
835
+ "operation": "TerminateInstances",
836
+ "params": [
837
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
838
+ ]
839
+ }
840
+ },
841
+ "Unmonitor": {
842
+ "request": {
843
+ "operation": "UnmonitorInstances",
844
+ "params": [
845
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
846
+ ]
847
+ }
848
+ }
849
+ },
850
+ "batchActions": {
851
+ "CreateTags": {
852
+ "request": {
853
+ "operation": "CreateTags",
854
+ "params": [
855
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
856
+ ]
857
+ }
858
+ },
859
+ "Monitor": {
860
+ "request": {
861
+ "operation": "MonitorInstances",
862
+ "params": [
863
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
864
+ ]
865
+ }
866
+ },
867
+ "Reboot": {
868
+ "request": {
869
+ "operation": "RebootInstances",
870
+ "params": [
871
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
872
+ ]
873
+ }
874
+ },
875
+ "Start": {
876
+ "request": {
877
+ "operation": "StartInstances",
878
+ "params": [
879
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
880
+ ]
881
+ }
882
+ },
883
+ "Stop": {
884
+ "request": {
885
+ "operation": "StopInstances",
886
+ "params": [
887
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
888
+ ]
889
+ }
890
+ },
891
+ "Terminate": {
892
+ "request": {
893
+ "operation": "TerminateInstances",
894
+ "params": [
895
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
896
+ ]
897
+ }
898
+ },
899
+ "Unmonitor": {
900
+ "request": {
901
+ "operation": "UnmonitorInstances",
902
+ "params": [
903
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
904
+ ]
905
+ }
906
+ }
907
+ },
908
+ "waiters": {
909
+ "Exists": {
910
+ "waiterName": "InstanceExists",
911
+ "params": [
912
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
913
+ ],
914
+ "path": "Reservations[0].Instances[0]"
915
+ },
916
+ "Running": {
917
+ "waiterName": "InstanceRunning",
918
+ "params": [
919
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
920
+ ],
921
+ "path": "Reservations[0].Instances[0]"
922
+ },
923
+ "Stopped": {
924
+ "waiterName": "InstanceStopped",
925
+ "params": [
926
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
927
+ ],
928
+ "path": "Reservations[0].Instances[0]"
929
+ },
930
+ "Terminated": {
931
+ "waiterName": "InstanceTerminated",
932
+ "params": [
933
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
934
+ ],
935
+ "path": "Reservations[0].Instances[0]"
936
+ }
937
+ },
938
+ "has": {
939
+ "ClassicAddress": {
940
+ "resource": {
941
+ "type": "ClassicAddress",
942
+ "identifiers": [
943
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
944
+ ]
945
+ }
946
+ },
947
+ "Image": {
948
+ "resource": {
949
+ "type": "Image",
950
+ "identifiers": [
951
+ { "target": "Id", "source": "data", "path": "ImageId" }
952
+ ]
953
+ }
954
+ },
955
+ "KeyPair": {
956
+ "resource": {
957
+ "type": "KeyPairInfo",
958
+ "identifiers": [
959
+ { "target": "Name", "source": "data", "path": "KeyName" }
960
+ ]
961
+ }
962
+ },
963
+ "NetworkInterfaces": {
964
+ "resource": {
965
+ "type": "NetworkInterface",
966
+ "identifiers": [
967
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
968
+ ],
969
+ "path": "NetworkInterfaces[]"
970
+ }
971
+ },
972
+ "PlacementGroup": {
973
+ "resource": {
974
+ "type": "PlacementGroup",
975
+ "identifiers": [
976
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
977
+ ]
978
+ }
979
+ },
980
+ "Subnet": {
981
+ "resource": {
982
+ "type": "Subnet",
983
+ "identifiers": [
984
+ { "target": "Id", "source": "data", "path": "SubnetId" }
985
+ ]
986
+ }
987
+ },
988
+ "Vpc": {
989
+ "resource": {
990
+ "type": "Vpc",
991
+ "identifiers": [
992
+ { "target": "Id", "source": "data", "path": "VpcId" }
993
+ ]
994
+ }
995
+ }
996
+ },
997
+ "hasMany": {
998
+ "Volumes": {
999
+ "request": {
1000
+ "operation": "DescribeVolumes",
1001
+ "params": [
1002
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
1003
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1004
+ ]
1005
+ },
1006
+ "resource": {
1007
+ "type": "Volume",
1008
+ "identifiers": [
1009
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
1010
+ ],
1011
+ "path": "Volumes[]"
1012
+ }
1013
+ },
1014
+ "VpcAddresses": {
1015
+ "request": {
1016
+ "operation": "DescribeAddresses",
1017
+ "params": [
1018
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
1019
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1020
+ ]
1021
+ },
1022
+ "resource": {
1023
+ "type": "VpcAddress",
1024
+ "identifiers": [
1025
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
1026
+ ],
1027
+ "path": "Addresses[]"
1028
+ }
1029
+ }
1030
+ }
1031
+ },
1032
+ "InternetGateway": {
1033
+ "identifiers": [
1034
+ {
1035
+ "name": "Id",
1036
+ "memberName": "InternetGatewayId"
1037
+ }
1038
+ ],
1039
+ "shape": "InternetGateway",
1040
+ "load": {
1041
+ "request": {
1042
+ "operation": "DescribeInternetGateways",
1043
+ "params": [
1044
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
1045
+ ]
1046
+ },
1047
+ "path": "InternetGateways[0]"
1048
+ },
1049
+ "actions": {
1050
+ "AttachToVpc": {
1051
+ "request": {
1052
+ "operation": "AttachInternetGateway",
1053
+ "params": [
1054
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1055
+ ]
1056
+ }
1057
+ },
1058
+ "CreateTags": {
1059
+ "request": {
1060
+ "operation": "CreateTags",
1061
+ "params": [
1062
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1063
+ ]
1064
+ },
1065
+ "resource": {
1066
+ "type": "Tag",
1067
+ "identifiers": [
1068
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1069
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1070
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1071
+ ]
1072
+ }
1073
+ },
1074
+ "Delete": {
1075
+ "request": {
1076
+ "operation": "DeleteInternetGateway",
1077
+ "params": [
1078
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1079
+ ]
1080
+ }
1081
+ },
1082
+ "DetachFromVpc": {
1083
+ "request": {
1084
+ "operation": "DetachInternetGateway",
1085
+ "params": [
1086
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1087
+ ]
1088
+ }
1089
+ }
1090
+ }
1091
+ },
1092
+ "KeyPair": {
1093
+ "identifiers": [
1094
+ {
1095
+ "name": "Name",
1096
+ "memberName": "KeyName"
1097
+ }
1098
+ ],
1099
+ "shape": "KeyPair",
1100
+ "actions": {
1101
+ "Delete": {
1102
+ "request": {
1103
+ "operation": "DeleteKeyPair",
1104
+ "params": [
1105
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1106
+ ]
1107
+ }
1108
+ }
1109
+ }
1110
+ },
1111
+ "KeyPairInfo": {
1112
+ "identifiers": [
1113
+ {
1114
+ "name": "Name",
1115
+ "memberName": "KeyName"
1116
+ }
1117
+ ],
1118
+ "shape": "KeyPairInfo",
1119
+ "load": {
1120
+ "request": {
1121
+ "operation": "DescribeKeyPairs",
1122
+ "params": [
1123
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
1124
+ ]
1125
+ },
1126
+ "path": "KeyPairs[0]"
1127
+ },
1128
+ "actions": {
1129
+ "Delete": {
1130
+ "request": {
1131
+ "operation": "DeleteKeyPair",
1132
+ "params": [
1133
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1134
+ ]
1135
+ }
1136
+ }
1137
+ }
1138
+ },
1139
+ "NetworkAcl": {
1140
+ "identifiers": [
1141
+ {
1142
+ "name": "Id",
1143
+ "memberName": "NetworkAclId"
1144
+ }
1145
+ ],
1146
+ "shape": "NetworkAcl",
1147
+ "load": {
1148
+ "request": {
1149
+ "operation": "DescribeNetworkAcls",
1150
+ "params": [
1151
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
1152
+ ]
1153
+ },
1154
+ "path": "NetworkAcls[0]"
1155
+ },
1156
+ "actions": {
1157
+ "CreateEntry": {
1158
+ "request": {
1159
+ "operation": "CreateNetworkAclEntry",
1160
+ "params": [
1161
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1162
+ ]
1163
+ }
1164
+ },
1165
+ "CreateTags": {
1166
+ "request": {
1167
+ "operation": "CreateTags",
1168
+ "params": [
1169
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1170
+ ]
1171
+ },
1172
+ "resource": {
1173
+ "type": "Tag",
1174
+ "identifiers": [
1175
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1176
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1177
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1178
+ ]
1179
+ }
1180
+ },
1181
+ "Delete": {
1182
+ "request": {
1183
+ "operation": "DeleteNetworkAcl",
1184
+ "params": [
1185
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1186
+ ]
1187
+ }
1188
+ },
1189
+ "DeleteEntry": {
1190
+ "request": {
1191
+ "operation": "DeleteNetworkAclEntry",
1192
+ "params": [
1193
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1194
+ ]
1195
+ }
1196
+ },
1197
+ "ReplaceAssociation": {
1198
+ "request": {
1199
+ "operation": "ReplaceNetworkAclAssociation",
1200
+ "params": [
1201
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1202
+ ]
1203
+ }
1204
+ },
1205
+ "ReplaceEntry": {
1206
+ "request": {
1207
+ "operation": "ReplaceNetworkAclEntry",
1208
+ "params": [
1209
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1210
+ ]
1211
+ }
1212
+ }
1213
+ },
1214
+ "has": {
1215
+ "Vpc": {
1216
+ "resource": {
1217
+ "type": "Vpc",
1218
+ "identifiers": [
1219
+ { "target": "Id", "source": "data", "path": "VpcId" }
1220
+ ]
1221
+ }
1222
+ }
1223
+ }
1224
+ },
1225
+ "NetworkInterface": {
1226
+ "identifiers": [
1227
+ {
1228
+ "name": "Id",
1229
+ "memberName": "NetworkInterfaceId"
1230
+ }
1231
+ ],
1232
+ "shape": "NetworkInterface",
1233
+ "load": {
1234
+ "request": {
1235
+ "operation": "DescribeNetworkInterfaces",
1236
+ "params": [
1237
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
1238
+ ]
1239
+ },
1240
+ "path": "NetworkInterfaces[0]"
1241
+ },
1242
+ "actions": {
1243
+ "AssignPrivateIpAddresses": {
1244
+ "request": {
1245
+ "operation": "AssignPrivateIpAddresses",
1246
+ "params": [
1247
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1248
+ ]
1249
+ }
1250
+ },
1251
+ "Attach": {
1252
+ "request": {
1253
+ "operation": "AttachNetworkInterface",
1254
+ "params": [
1255
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1256
+ ]
1257
+ }
1258
+ },
1259
+ "CreateTags": {
1260
+ "request": {
1261
+ "operation": "CreateTags",
1262
+ "params": [
1263
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1264
+ ]
1265
+ },
1266
+ "resource": {
1267
+ "type": "Tag",
1268
+ "identifiers": [
1269
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1270
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1271
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1272
+ ]
1273
+ }
1274
+ },
1275
+ "Delete": {
1276
+ "request": {
1277
+ "operation": "DeleteNetworkInterface",
1278
+ "params": [
1279
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1280
+ ]
1281
+ }
1282
+ },
1283
+ "DescribeAttribute": {
1284
+ "request": {
1285
+ "operation": "DescribeNetworkInterfaceAttribute",
1286
+ "params": [
1287
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1288
+ ]
1289
+ }
1290
+ },
1291
+ "Detach": {
1292
+ "request": {
1293
+ "operation": "DetachNetworkInterface",
1294
+ "params": [
1295
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
1296
+ ]
1297
+ }
1298
+ },
1299
+ "ModifyAttribute": {
1300
+ "request": {
1301
+ "operation": "ModifyNetworkInterfaceAttribute",
1302
+ "params": [
1303
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1304
+ ]
1305
+ }
1306
+ },
1307
+ "ResetAttribute": {
1308
+ "request": {
1309
+ "operation": "ResetNetworkInterfaceAttribute",
1310
+ "params": [
1311
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1312
+ ]
1313
+ }
1314
+ },
1315
+ "UnassignPrivateIpAddresses": {
1316
+ "request": {
1317
+ "operation": "UnassignPrivateIpAddresses",
1318
+ "params": [
1319
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1320
+ ]
1321
+ }
1322
+ }
1323
+ },
1324
+ "has": {
1325
+ "Association": {
1326
+ "resource": {
1327
+ "type": "NetworkInterfaceAssociation",
1328
+ "identifiers": [
1329
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
1330
+ ],
1331
+ "path": "Association"
1332
+ }
1333
+ },
1334
+ "Subnet": {
1335
+ "resource": {
1336
+ "type": "Subnet",
1337
+ "identifiers": [
1338
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1339
+ ]
1340
+ }
1341
+ },
1342
+ "Vpc": {
1343
+ "resource": {
1344
+ "type": "Vpc",
1345
+ "identifiers": [
1346
+ { "target": "Id", "source": "data", "path": "VpcId" }
1347
+ ]
1348
+ }
1349
+ }
1350
+ }
1351
+ },
1352
+ "NetworkInterfaceAssociation": {
1353
+ "identifiers": [
1354
+ {
1355
+ "name": "Id"
1356
+ }
1357
+ ],
1358
+ "shape": "InstanceNetworkInterfaceAssociation",
1359
+ "load": {
1360
+ "request": {
1361
+ "operation": "DescribeNetworkInterfaces",
1362
+ "params": [
1363
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
1364
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1365
+ ]
1366
+ },
1367
+ "path": "NetworkInterfaces[0].Association"
1368
+ },
1369
+ "actions": {
1370
+ "Delete": {
1371
+ "request": {
1372
+ "operation": "DisassociateAddress",
1373
+ "params": [
1374
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1375
+ ]
1376
+ }
1377
+ }
1378
+ },
1379
+ "has": {
1380
+ "Address": {
1381
+ "resource": {
1382
+ "type": "VpcAddress",
1383
+ "identifiers": [
1384
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
1385
+ ]
1386
+ }
1387
+ }
1388
+ }
1389
+ },
1390
+ "PlacementGroup": {
1391
+ "identifiers": [
1392
+ {
1393
+ "name": "Name",
1394
+ "memberName": "GroupName"
1395
+ }
1396
+ ],
1397
+ "shape": "PlacementGroup",
1398
+ "load": {
1399
+ "request": {
1400
+ "operation": "DescribePlacementGroups",
1401
+ "params": [
1402
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
1403
+ ]
1404
+ },
1405
+ "path": "PlacementGroups[0]"
1406
+ },
1407
+ "actions": {
1408
+ "Delete": {
1409
+ "request": {
1410
+ "operation": "DeletePlacementGroup",
1411
+ "params": [
1412
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
1413
+ ]
1414
+ }
1415
+ }
1416
+ },
1417
+ "hasMany": {
1418
+ "Instances": {
1419
+ "request": {
1420
+ "operation": "DescribeInstances",
1421
+ "params": [
1422
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
1423
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
1424
+ ]
1425
+ },
1426
+ "resource": {
1427
+ "type": "Instance",
1428
+ "identifiers": [
1429
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1430
+ ],
1431
+ "path": "Reservations[].Instances[]"
1432
+ }
1433
+ }
1434
+ }
1435
+ },
1436
+ "Route": {
1437
+ "identifiers": [
1438
+ { "name": "RouteTableId" },
1439
+ {
1440
+ "name": "DestinationCidrBlock",
1441
+ "memberName": "DestinationCidrBlock"
1442
+ }
1443
+ ],
1444
+ "shape": "Route",
1445
+ "actions": {
1446
+ "Delete": {
1447
+ "request": {
1448
+ "operation": "DeleteRoute",
1449
+ "params": [
1450
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
1451
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
1452
+ ]
1453
+ }
1454
+ },
1455
+ "Replace": {
1456
+ "request": {
1457
+ "operation": "ReplaceRoute",
1458
+ "params": [
1459
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
1460
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
1461
+ ]
1462
+ }
1463
+ }
1464
+ },
1465
+ "has": {
1466
+ "RouteTable": {
1467
+ "resource": {
1468
+ "type": "RouteTable",
1469
+ "identifiers": [
1470
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
1471
+ ]
1472
+ }
1473
+ }
1474
+ }
1475
+ },
1476
+ "RouteTable": {
1477
+ "identifiers": [
1478
+ {
1479
+ "name": "Id",
1480
+ "memberName": "RouteTableId"
1481
+ }
1482
+ ],
1483
+ "shape": "RouteTable",
1484
+ "load": {
1485
+ "request": {
1486
+ "operation": "DescribeRouteTables",
1487
+ "params": [
1488
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1489
+ ]
1490
+ },
1491
+ "path": "RouteTables[0]"
1492
+ },
1493
+ "actions": {
1494
+ "AssociateWithSubnet": {
1495
+ "request": {
1496
+ "operation": "AssociateRouteTable",
1497
+ "params": [
1498
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1499
+ ]
1500
+ },
1501
+ "resource": {
1502
+ "type": "RouteTableAssociation",
1503
+ "identifiers": [
1504
+ { "target": "Id", "source": "response", "path": "AssociationId" }
1505
+ ]
1506
+ }
1507
+ },
1508
+ "CreateRoute": {
1509
+ "request": {
1510
+ "operation": "CreateRoute",
1511
+ "params": [
1512
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1513
+ ]
1514
+ },
1515
+ "resource": {
1516
+ "type": "Route",
1517
+ "identifiers": [
1518
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
1519
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
1520
+ ]
1521
+ }
1522
+ },
1523
+ "CreateTags": {
1524
+ "request": {
1525
+ "operation": "CreateTags",
1526
+ "params": [
1527
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1528
+ ]
1529
+ },
1530
+ "resource": {
1531
+ "type": "Tag",
1532
+ "identifiers": [
1533
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1534
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1535
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1536
+ ]
1537
+ }
1538
+ },
1539
+ "Delete": {
1540
+ "request": {
1541
+ "operation": "DeleteRouteTable",
1542
+ "params": [
1543
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1544
+ ]
1545
+ }
1546
+ }
1547
+ },
1548
+ "has": {
1549
+ "Routes": {
1550
+ "resource": {
1551
+ "type": "Route",
1552
+ "identifiers": [
1553
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
1554
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
1555
+ ],
1556
+ "path": "Routes[]"
1557
+ }
1558
+ },
1559
+ "Vpc": {
1560
+ "resource": {
1561
+ "type": "Vpc",
1562
+ "identifiers": [
1563
+ { "target": "Id", "source": "data", "path": "VpcId" }
1564
+ ]
1565
+ }
1566
+ }
1567
+ },
1568
+ "hasMany": {
1569
+ "Associations": {
1570
+ "request": {
1571
+ "operation": "DescribeRouteTables",
1572
+ "params": [
1573
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1574
+ ]
1575
+ },
1576
+ "resource": {
1577
+ "type": "RouteTableAssociation",
1578
+ "identifiers": [
1579
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
1580
+ ],
1581
+ "path": "RouteTables[0].Associations[]"
1582
+ }
1583
+ }
1584
+ }
1585
+ },
1586
+ "RouteTableAssociation": {
1587
+ "identifiers": [
1588
+ {
1589
+ "name": "Id",
1590
+ "memberName": "RouteTableAssociationId"
1591
+ }
1592
+ ],
1593
+ "shape": "RouteTableAssociation",
1594
+ "actions": {
1595
+ "Delete": {
1596
+ "request": {
1597
+ "operation": "DisassociateRouteTable",
1598
+ "params": [
1599
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1600
+ ]
1601
+ }
1602
+ },
1603
+ "ReplaceSubnet": {
1604
+ "request": {
1605
+ "operation": "ReplaceRouteTableAssociation",
1606
+ "params": [
1607
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1608
+ ]
1609
+ },
1610
+ "resource": {
1611
+ "type": "RouteTableAssociation",
1612
+ "identifiers": [
1613
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
1614
+ ]
1615
+ }
1616
+ }
1617
+ },
1618
+ "has": {
1619
+ "RouteTable": {
1620
+ "resource": {
1621
+ "type": "RouteTable",
1622
+ "identifiers": [
1623
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
1624
+ ]
1625
+ }
1626
+ },
1627
+ "Subnet": {
1628
+ "resource": {
1629
+ "type": "Subnet",
1630
+ "identifiers": [
1631
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1632
+ ]
1633
+ }
1634
+ }
1635
+ }
1636
+ },
1637
+ "SecurityGroup": {
1638
+ "identifiers": [
1639
+ {
1640
+ "name": "Id",
1641
+ "memberName": "GroupId"
1642
+ }
1643
+ ],
1644
+ "shape": "SecurityGroup",
1645
+ "load": {
1646
+ "request": {
1647
+ "operation": "DescribeSecurityGroups",
1648
+ "params": [
1649
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
1650
+ ]
1651
+ },
1652
+ "path": "SecurityGroups[0]"
1653
+ },
1654
+ "actions": {
1655
+ "AuthorizeEgress": {
1656
+ "request": {
1657
+ "operation": "AuthorizeSecurityGroupEgress",
1658
+ "params": [
1659
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1660
+ ]
1661
+ }
1662
+ },
1663
+ "AuthorizeIngress": {
1664
+ "request": {
1665
+ "operation": "AuthorizeSecurityGroupIngress",
1666
+ "params": [
1667
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1668
+ ]
1669
+ }
1670
+ },
1671
+ "CreateTags": {
1672
+ "request": {
1673
+ "operation": "CreateTags",
1674
+ "params": [
1675
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1676
+ ]
1677
+ },
1678
+ "resource": {
1679
+ "type": "Tag",
1680
+ "identifiers": [
1681
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1682
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1683
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1684
+ ]
1685
+ }
1686
+ },
1687
+ "Delete": {
1688
+ "request": {
1689
+ "operation": "DeleteSecurityGroup",
1690
+ "params": [
1691
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1692
+ ]
1693
+ }
1694
+ },
1695
+ "RevokeEgress": {
1696
+ "request": {
1697
+ "operation": "RevokeSecurityGroupEgress",
1698
+ "params": [
1699
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1700
+ ]
1701
+ }
1702
+ },
1703
+ "RevokeIngress": {
1704
+ "request": {
1705
+ "operation": "RevokeSecurityGroupIngress",
1706
+ "params": [
1707
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1708
+ ]
1709
+ }
1710
+ }
1711
+ }
1712
+ },
1713
+ "Snapshot": {
1714
+ "identifiers": [
1715
+ {
1716
+ "name": "Id",
1717
+ "memberName": "SnapshotId"
1718
+ }
1719
+ ],
1720
+ "shape": "Snapshot",
1721
+ "load": {
1722
+ "request": {
1723
+ "operation": "DescribeSnapshots",
1724
+ "params": [
1725
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
1726
+ ]
1727
+ },
1728
+ "path": "Snapshots[0]"
1729
+ },
1730
+ "actions": {
1731
+ "Copy": {
1732
+ "request": {
1733
+ "operation": "CopySnapshot",
1734
+ "params": [
1735
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
1736
+ ]
1737
+ }
1738
+ },
1739
+ "CreateTags": {
1740
+ "request": {
1741
+ "operation": "CreateTags",
1742
+ "params": [
1743
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1744
+ ]
1745
+ },
1746
+ "resource": {
1747
+ "type": "Tag",
1748
+ "identifiers": [
1749
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1750
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1751
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1752
+ ]
1753
+ }
1754
+ },
1755
+ "Delete": {
1756
+ "request": {
1757
+ "operation": "DeleteSnapshot",
1758
+ "params": [
1759
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1760
+ ]
1761
+ }
1762
+ },
1763
+ "DescribeAttribute": {
1764
+ "request": {
1765
+ "operation": "DescribeSnapshotAttribute",
1766
+ "params": [
1767
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1768
+ ]
1769
+ }
1770
+ },
1771
+ "ModifyAttribute": {
1772
+ "request": {
1773
+ "operation": "ModifySnapshotAttribute",
1774
+ "params": [
1775
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1776
+ ]
1777
+ }
1778
+ },
1779
+ "ResetAttribute": {
1780
+ "request": {
1781
+ "operation": "ResetSnapshotAttribute",
1782
+ "params": [
1783
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1784
+ ]
1785
+ }
1786
+ }
1787
+ },
1788
+ "waiters": {
1789
+ "Completed": {
1790
+ "waiterName": "SnapshotCompleted",
1791
+ "params": [
1792
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
1793
+ ],
1794
+ "path": "Snapshots[]"
1795
+ }
1796
+ },
1797
+ "has": {
1798
+ "Volume": {
1799
+ "resource": {
1800
+ "type": "Volume",
1801
+ "identifiers": [
1802
+ { "target": "Id", "source": "data", "path": "VolumeId" }
1803
+ ]
1804
+ }
1805
+ }
1806
+ }
1807
+ },
1808
+ "Subnet": {
1809
+ "identifiers": [
1810
+ {
1811
+ "name": "Id",
1812
+ "memberName": "SubnetId"
1813
+ }
1814
+ ],
1815
+ "shape": "Subnet",
1816
+ "load": {
1817
+ "request": {
1818
+ "operation": "DescribeSubnets",
1819
+ "params": [
1820
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
1821
+ ]
1822
+ },
1823
+ "path": "Subnets[0]"
1824
+ },
1825
+ "actions": {
1826
+ "CreateInstances": {
1827
+ "request": {
1828
+ "operation": "RunInstances",
1829
+ "params": [
1830
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1831
+ ]
1832
+ },
1833
+ "resource": {
1834
+ "type": "Instance",
1835
+ "identifiers": [
1836
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
1837
+ ],
1838
+ "path": "Instances[]"
1839
+ }
1840
+ },
1841
+ "CreateNetworkInterface": {
1842
+ "request": {
1843
+ "operation": "CreateNetworkInterface",
1844
+ "params": [
1845
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1846
+ ]
1847
+ },
1848
+ "resource": {
1849
+ "type": "NetworkInterface",
1850
+ "identifiers": [
1851
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
1852
+ ],
1853
+ "path": "NetworkInterface"
1854
+ }
1855
+ },
1856
+ "CreateTags": {
1857
+ "request": {
1858
+ "operation": "CreateTags",
1859
+ "params": [
1860
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1861
+ ]
1862
+ },
1863
+ "resource": {
1864
+ "type": "Tag",
1865
+ "identifiers": [
1866
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1867
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1868
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1869
+ ]
1870
+ }
1871
+ },
1872
+ "Delete": {
1873
+ "request": {
1874
+ "operation": "DeleteSubnet",
1875
+ "params": [
1876
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1877
+ ]
1878
+ }
1879
+ }
1880
+ },
1881
+ "has": {
1882
+ "Vpc": {
1883
+ "resource": {
1884
+ "type": "Vpc",
1885
+ "identifiers": [
1886
+ { "target": "Id", "source": "data", "path": "VpcId" }
1887
+ ]
1888
+ }
1889
+ }
1890
+ },
1891
+ "hasMany": {
1892
+ "Instances": {
1893
+ "request": {
1894
+ "operation": "DescribeInstances",
1895
+ "params": [
1896
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1897
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1898
+ ]
1899
+ },
1900
+ "resource": {
1901
+ "type": "Instance",
1902
+ "identifiers": [
1903
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1904
+ ],
1905
+ "path": "Reservations[].Instances[]"
1906
+ }
1907
+ },
1908
+ "NetworkInterfaces": {
1909
+ "request": {
1910
+ "operation": "DescribeNetworkInterfaces",
1911
+ "params": [
1912
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1913
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1914
+ ]
1915
+ },
1916
+ "resource": {
1917
+ "type": "NetworkInterface",
1918
+ "identifiers": [
1919
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
1920
+ ],
1921
+ "path": "NetworkInterfaces[]"
1922
+ }
1923
+ }
1924
+ }
1925
+ },
1926
+ "Tag": {
1927
+ "identifiers": [
1928
+ {
1929
+ "name": "ResourceId",
1930
+ "memberName": "ResourceId"
1931
+ },
1932
+ {
1933
+ "name": "Key",
1934
+ "memberName": "Key"
1935
+ },
1936
+ {
1937
+ "name": "Value",
1938
+ "memberName": "Value"
1939
+ }
1940
+ ],
1941
+ "shape": "TagDescription",
1942
+ "load": {
1943
+ "request": {
1944
+ "operation": "DescribeTags",
1945
+ "params": [
1946
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
1947
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
1948
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
1949
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
1950
+ ]
1951
+ },
1952
+ "path": "Tags[0]"
1953
+ },
1954
+ "actions": {
1955
+ "Delete": {
1956
+ "request": {
1957
+ "operation": "DeleteTags",
1958
+ "params": [
1959
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
1960
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
1961
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
1962
+ ]
1963
+ }
1964
+ }
1965
+ },
1966
+ "batchActions": {
1967
+ "Delete": {
1968
+ "request": {
1969
+ "operation": "DeleteTags",
1970
+ "params": [
1971
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
1972
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
1973
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
1974
+ ]
1975
+ }
1976
+ }
1977
+ }
1978
+ },
1979
+ "Volume": {
1980
+ "identifiers": [
1981
+ {
1982
+ "name": "Id",
1983
+ "memberName": "VolumeId"
1984
+ }
1985
+ ],
1986
+ "shape": "Volume",
1987
+ "load": {
1988
+ "request": {
1989
+ "operation": "DescribeVolumes",
1990
+ "params": [
1991
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1992
+ ]
1993
+ },
1994
+ "path": "Volumes[0]"
1995
+ },
1996
+ "actions": {
1997
+ "AttachToInstance": {
1998
+ "request": {
1999
+ "operation": "AttachVolume",
2000
+ "params": [
2001
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2002
+ ]
2003
+ }
2004
+ },
2005
+ "CreateSnapshot": {
2006
+ "request": {
2007
+ "operation": "CreateSnapshot",
2008
+ "params": [
2009
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2010
+ ]
2011
+ },
2012
+ "resource": {
2013
+ "type": "Snapshot",
2014
+ "identifiers": [
2015
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
2016
+ ],
2017
+ "path": "@"
2018
+ }
2019
+ },
2020
+ "CreateTags": {
2021
+ "request": {
2022
+ "operation": "CreateTags",
2023
+ "params": [
2024
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
2025
+ ]
2026
+ },
2027
+ "resource": {
2028
+ "type": "Tag",
2029
+ "identifiers": [
2030
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
2031
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
2032
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
2033
+ ]
2034
+ }
2035
+ },
2036
+ "Delete": {
2037
+ "request": {
2038
+ "operation": "DeleteVolume",
2039
+ "params": [
2040
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2041
+ ]
2042
+ }
2043
+ },
2044
+ "DescribeAttribute": {
2045
+ "request": {
2046
+ "operation": "DescribeVolumeAttribute",
2047
+ "params": [
2048
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2049
+ ]
2050
+ }
2051
+ },
2052
+ "DescribeStatus": {
2053
+ "request": {
2054
+ "operation": "DescribeVolumeStatus",
2055
+ "params": [
2056
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
2057
+ ]
2058
+ }
2059
+ },
2060
+ "DetachFromInstance": {
2061
+ "request": {
2062
+ "operation": "DetachVolume",
2063
+ "params": [
2064
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2065
+ ]
2066
+ }
2067
+ },
2068
+ "EnableIo": {
2069
+ "request": {
2070
+ "operation": "EnableVolumeIO",
2071
+ "params": [
2072
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2073
+ ]
2074
+ }
2075
+ },
2076
+ "ModifyAttribute": {
2077
+ "request": {
2078
+ "operation": "ModifyVolumeAttribute",
2079
+ "params": [
2080
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2081
+ ]
2082
+ }
2083
+ }
2084
+ },
2085
+ "hasMany": {
2086
+ "Snapshots": {
2087
+ "request": {
2088
+ "operation": "DescribeSnapshots",
2089
+ "params": [
2090
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
2091
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2092
+ ]
2093
+ },
2094
+ "resource": {
2095
+ "type": "Snapshot",
2096
+ "identifiers": [
2097
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
2098
+ ],
2099
+ "path": "Snapshots[]"
2100
+ }
2101
+ }
2102
+ }
2103
+ },
2104
+ "Vpc": {
2105
+ "identifiers": [
2106
+ {
2107
+ "name": "Id",
2108
+ "memberName": "VpcId"
2109
+ }
2110
+ ],
2111
+ "shape": "Vpc",
2112
+ "load": {
2113
+ "request": {
2114
+ "operation": "DescribeVpcs",
2115
+ "params": [
2116
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
2117
+ ]
2118
+ },
2119
+ "path": "Vpcs[0]"
2120
+ },
2121
+ "actions": {
2122
+ "AssociateDhcpOptions": {
2123
+ "request": {
2124
+ "operation": "AssociateDhcpOptions",
2125
+ "params": [
2126
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2127
+ ]
2128
+ }
2129
+ },
2130
+ "AttachClassicLinkInstance": {
2131
+ "request": {
2132
+ "operation": "AttachClassicLinkVpc",
2133
+ "params": [
2134
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2135
+ ]
2136
+ }
2137
+ },
2138
+ "AttachInternetGateway": {
2139
+ "request": {
2140
+ "operation": "AttachInternetGateway",
2141
+ "params": [
2142
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2143
+ ]
2144
+ }
2145
+ },
2146
+ "CreateNetworkAcl": {
2147
+ "request": {
2148
+ "operation": "CreateNetworkAcl",
2149
+ "params": [
2150
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2151
+ ]
2152
+ },
2153
+ "resource": {
2154
+ "type": "NetworkAcl",
2155
+ "identifiers": [
2156
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
2157
+ ],
2158
+ "path": "NetworkAcl"
2159
+ }
2160
+ },
2161
+ "CreateRouteTable": {
2162
+ "request": {
2163
+ "operation": "CreateRouteTable",
2164
+ "params": [
2165
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2166
+ ]
2167
+ },
2168
+ "resource": {
2169
+ "type": "RouteTable",
2170
+ "identifiers": [
2171
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
2172
+ ],
2173
+ "path": "RouteTable"
2174
+ }
2175
+ },
2176
+ "CreateSecurityGroup": {
2177
+ "request": {
2178
+ "operation": "CreateSecurityGroup",
2179
+ "params": [
2180
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2181
+ ]
2182
+ },
2183
+ "resource": {
2184
+ "type": "SecurityGroup",
2185
+ "identifiers": [
2186
+ { "target": "Id", "source": "response", "path": "GroupId" }
2187
+ ]
2188
+ }
2189
+ },
2190
+ "CreateSubnet": {
2191
+ "request": {
2192
+ "operation": "CreateSubnet",
2193
+ "params": [
2194
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2195
+ ]
2196
+ },
2197
+ "resource": {
2198
+ "type": "Subnet",
2199
+ "identifiers": [
2200
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
2201
+ ],
2202
+ "path": "Subnet"
2203
+ }
2204
+ },
2205
+ "CreateTags": {
2206
+ "request": {
2207
+ "operation": "CreateTags",
2208
+ "params": [
2209
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
2210
+ ]
2211
+ },
2212
+ "resource": {
2213
+ "type": "Tag",
2214
+ "identifiers": [
2215
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
2216
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
2217
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
2218
+ ]
2219
+ }
2220
+ },
2221
+ "Delete": {
2222
+ "request": {
2223
+ "operation": "DeleteVpc",
2224
+ "params": [
2225
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2226
+ ]
2227
+ }
2228
+ },
2229
+ "DescribeAttribute": {
2230
+ "request": {
2231
+ "operation": "DescribeVpcAttribute",
2232
+ "params": [
2233
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2234
+ ]
2235
+ }
2236
+ },
2237
+ "DetachClassicLinkInstance": {
2238
+ "request": {
2239
+ "operation": "DetachClassicLinkVpc",
2240
+ "params": [
2241
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2242
+ ]
2243
+ }
2244
+ },
2245
+ "DetachInternetGateway": {
2246
+ "request": {
2247
+ "operation": "DetachInternetGateway",
2248
+ "params": [
2249
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2250
+ ]
2251
+ }
2252
+ },
2253
+ "DisableClassicLink": {
2254
+ "request": {
2255
+ "operation": "DisableVpcClassicLink",
2256
+ "params": [
2257
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2258
+ ]
2259
+ }
2260
+ },
2261
+ "EnableClassicLink": {
2262
+ "request": {
2263
+ "operation": "EnableVpcClassicLink",
2264
+ "params": [
2265
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2266
+ ]
2267
+ }
2268
+ },
2269
+ "ModifyAttribute": {
2270
+ "request": {
2271
+ "operation": "ModifyVpcAttribute",
2272
+ "params": [
2273
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2274
+ ]
2275
+ }
2276
+ },
2277
+ "RequestVpcPeeringConnection": {
2278
+ "request": {
2279
+ "operation": "CreateVpcPeeringConnection",
2280
+ "params": [
2281
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2282
+ ]
2283
+ },
2284
+ "resource": {
2285
+ "type": "VpcPeeringConnection",
2286
+ "identifiers": [
2287
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
2288
+ ],
2289
+ "path": "VpcPeeringConnection"
2290
+ }
2291
+ }
2292
+ },
2293
+ "has": {
2294
+ "DhcpOptions": {
2295
+ "resource": {
2296
+ "type": "DhcpOptions",
2297
+ "identifiers": [
2298
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
2299
+ ]
2300
+ }
2301
+ }
2302
+ },
2303
+ "hasMany": {
2304
+ "AcceptedVpcPeeringConnections": {
2305
+ "request": {
2306
+ "operation": "DescribeVpcPeeringConnections",
2307
+ "params": [
2308
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
2309
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2310
+ ]
2311
+ },
2312
+ "resource": {
2313
+ "type": "VpcPeeringConnection",
2314
+ "identifiers": [
2315
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2316
+ ],
2317
+ "path": "VpcPeeringConnections[]"
2318
+ }
2319
+ },
2320
+ "Instances": {
2321
+ "request": {
2322
+ "operation": "DescribeInstances",
2323
+ "params": [
2324
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2325
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2326
+ ]
2327
+ },
2328
+ "resource": {
2329
+ "type": "Instance",
2330
+ "identifiers": [
2331
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
2332
+ ],
2333
+ "path": "Reservations[].Instances[]"
2334
+ }
2335
+ },
2336
+ "InternetGateways": {
2337
+ "request": {
2338
+ "operation": "DescribeInternetGateways",
2339
+ "params": [
2340
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
2341
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2342
+ ]
2343
+ },
2344
+ "resource": {
2345
+ "type": "InternetGateway",
2346
+ "identifiers": [
2347
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
2348
+ ],
2349
+ "path": "InternetGateways[]"
2350
+ }
2351
+ },
2352
+ "NetworkAcls": {
2353
+ "request": {
2354
+ "operation": "DescribeNetworkAcls",
2355
+ "params": [
2356
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2357
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2358
+ ]
2359
+ },
2360
+ "resource": {
2361
+ "type": "NetworkAcl",
2362
+ "identifiers": [
2363
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
2364
+ ],
2365
+ "path": "NetworkAcls[]"
2366
+ }
2367
+ },
2368
+ "NetworkInterfaces": {
2369
+ "request": {
2370
+ "operation": "DescribeNetworkInterfaces",
2371
+ "params": [
2372
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2373
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2374
+ ]
2375
+ },
2376
+ "resource": {
2377
+ "type": "NetworkInterface",
2378
+ "identifiers": [
2379
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
2380
+ ],
2381
+ "path": "NetworkInterfaces[]"
2382
+ }
2383
+ },
2384
+ "RequestedVpcPeeringConnections": {
2385
+ "request": {
2386
+ "operation": "DescribeVpcPeeringConnections",
2387
+ "params": [
2388
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
2389
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2390
+ ]
2391
+ },
2392
+ "resource": {
2393
+ "type": "VpcPeeringConnection",
2394
+ "identifiers": [
2395
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2396
+ ],
2397
+ "path": "VpcPeeringConnections[]"
2398
+ }
2399
+ },
2400
+ "RouteTables": {
2401
+ "request": {
2402
+ "operation": "DescribeRouteTables",
2403
+ "params": [
2404
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2405
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2406
+ ]
2407
+ },
2408
+ "resource": {
2409
+ "type": "RouteTable",
2410
+ "identifiers": [
2411
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
2412
+ ],
2413
+ "path": "RouteTables[]"
2414
+ }
2415
+ },
2416
+ "SecurityGroups": {
2417
+ "request": {
2418
+ "operation": "DescribeSecurityGroups",
2419
+ "params": [
2420
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2421
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2422
+ ]
2423
+ },
2424
+ "resource": {
2425
+ "type": "SecurityGroup",
2426
+ "identifiers": [
2427
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
2428
+ ],
2429
+ "path": "SecurityGroups[]"
2430
+ }
2431
+ },
2432
+ "Subnets": {
2433
+ "request": {
2434
+ "operation": "DescribeSubnets",
2435
+ "params": [
2436
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2437
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2438
+ ]
2439
+ },
2440
+ "resource": {
2441
+ "type": "Subnet",
2442
+ "identifiers": [
2443
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
2444
+ ],
2445
+ "path": "Subnets[]"
2446
+ }
2447
+ }
2448
+ }
2449
+ },
2450
+ "VpcPeeringConnection": {
2451
+ "identifiers": [
2452
+ {
2453
+ "name": "Id",
2454
+ "memberName": "VpcPeeringConnectionId"
2455
+ }
2456
+ ],
2457
+ "shape": "VpcPeeringConnection",
2458
+ "load": {
2459
+ "request": {
2460
+ "operation": "DescribeVpcPeeringConnections",
2461
+ "params": [
2462
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
2463
+ ]
2464
+ },
2465
+ "path": "VpcPeeringConnections[0]"
2466
+ },
2467
+ "actions": {
2468
+ "Accept": {
2469
+ "request": {
2470
+ "operation": "AcceptVpcPeeringConnection",
2471
+ "params": [
2472
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2473
+ ]
2474
+ }
2475
+ },
2476
+ "Delete": {
2477
+ "request": {
2478
+ "operation": "DeleteVpcPeeringConnection",
2479
+ "params": [
2480
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2481
+ ]
2482
+ }
2483
+ },
2484
+ "Reject": {
2485
+ "request": {
2486
+ "operation": "RejectVpcPeeringConnection",
2487
+ "params": [
2488
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2489
+ ]
2490
+ }
2491
+ }
2492
+ },
2493
+ "waiters": {
2494
+ "Exists": {
2495
+ "waiterName": "VpcPeeringConnectionExists",
2496
+ "params": [
2497
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
2498
+ ],
2499
+ "path": "VpcPeeringConnections[0]"
2500
+ }
2501
+ },
2502
+ "has": {
2503
+ "AccepterVpc": {
2504
+ "resource": {
2505
+ "type": "Vpc",
2506
+ "identifiers": [
2507
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
2508
+ ]
2509
+ }
2510
+ },
2511
+ "RequesterVpc": {
2512
+ "resource": {
2513
+ "type": "Vpc",
2514
+ "identifiers": [
2515
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
2516
+ ]
2517
+ }
2518
+ }
2519
+ }
2520
+ },
2521
+ "VpcAddress": {
2522
+ "identifiers": [
2523
+ {
2524
+ "name": "AllocationId"
2525
+ }
2526
+ ],
2527
+ "shape": "Address",
2528
+ "load": {
2529
+ "request": {
2530
+ "operation": "DescribeAddresses",
2531
+ "params": [
2532
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
2533
+ ]
2534
+ },
2535
+ "path": "Addresses[0]"
2536
+ },
2537
+ "actions": {
2538
+ "Associate": {
2539
+ "request": {
2540
+ "operation": "AssociateAddress",
2541
+ "params": [
2542
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
2543
+ ]
2544
+ }
2545
+ },
2546
+ "Release": {
2547
+ "request": {
2548
+ "operation": "ReleaseAddress",
2549
+ "params": [
2550
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
2551
+ ]
2552
+ }
2553
+ }
2554
+ },
2555
+ "has": {
2556
+ "Association": {
2557
+ "resource": {
2558
+ "type": "NetworkInterfaceAssociation",
2559
+ "identifiers": [
2560
+ { "target": "Id", "source": "data", "path": "AssociationId" }
2561
+ ]
2562
+ }
2563
+ }
2564
+ }
2565
+ }
2566
+ }
2567
+ }
env/Lib/site-packages/boto3/data/ec2/2016-04-01/resources-1.json ADDED
@@ -0,0 +1,2567 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateDhcpOptions": {
5
+ "request": { "operation": "CreateDhcpOptions" },
6
+ "resource": {
7
+ "type": "DhcpOptions",
8
+ "identifiers": [
9
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
10
+ ],
11
+ "path": "DhcpOptions"
12
+ }
13
+ },
14
+ "CreateInstances": {
15
+ "request": { "operation": "RunInstances" },
16
+ "resource": {
17
+ "type": "Instance",
18
+ "identifiers": [
19
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
20
+ ],
21
+ "path": "Instances[]"
22
+ }
23
+ },
24
+ "CreateInternetGateway": {
25
+ "request": { "operation": "CreateInternetGateway" },
26
+ "resource": {
27
+ "type": "InternetGateway",
28
+ "identifiers": [
29
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
30
+ ],
31
+ "path": "InternetGateway"
32
+ }
33
+ },
34
+ "CreateKeyPair": {
35
+ "request": { "operation": "CreateKeyPair" },
36
+ "resource": {
37
+ "type": "KeyPair",
38
+ "identifiers": [
39
+ { "target": "Name", "source": "response", "path": "KeyName" }
40
+ ],
41
+ "path": "@"
42
+ }
43
+ },
44
+ "CreateNetworkAcl": {
45
+ "request": { "operation": "CreateNetworkAcl" },
46
+ "resource": {
47
+ "type": "NetworkAcl",
48
+ "identifiers": [
49
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
50
+ ],
51
+ "path": "NetworkAcl"
52
+ }
53
+ },
54
+ "CreateNetworkInterface": {
55
+ "request": { "operation": "CreateNetworkInterface" },
56
+ "resource": {
57
+ "type": "NetworkInterface",
58
+ "identifiers": [
59
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
60
+ ],
61
+ "path": "NetworkInterface"
62
+ }
63
+ },
64
+ "CreatePlacementGroup": {
65
+ "request": { "operation": "CreatePlacementGroup" },
66
+ "resource": {
67
+ "type": "PlacementGroup",
68
+ "identifiers": [
69
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
70
+ ]
71
+ }
72
+ },
73
+ "CreateRouteTable": {
74
+ "request": { "operation": "CreateRouteTable" },
75
+ "resource": {
76
+ "type": "RouteTable",
77
+ "identifiers": [
78
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
79
+ ],
80
+ "path": "RouteTable"
81
+ }
82
+ },
83
+ "CreateSecurityGroup": {
84
+ "request": { "operation": "CreateSecurityGroup" },
85
+ "resource": {
86
+ "type": "SecurityGroup",
87
+ "identifiers": [
88
+ { "target": "Id", "source": "response", "path": "GroupId" }
89
+ ]
90
+ }
91
+ },
92
+ "CreateSnapshot": {
93
+ "request": { "operation": "CreateSnapshot" },
94
+ "resource": {
95
+ "type": "Snapshot",
96
+ "identifiers": [
97
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
98
+ ],
99
+ "path": "@"
100
+ }
101
+ },
102
+ "CreateSubnet": {
103
+ "request": { "operation": "CreateSubnet" },
104
+ "resource": {
105
+ "type": "Subnet",
106
+ "identifiers": [
107
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
108
+ ],
109
+ "path": "Subnet"
110
+ }
111
+ },
112
+ "CreateTags": {
113
+ "request": { "operation": "CreateTags" }
114
+ },
115
+ "CreateVolume": {
116
+ "request": { "operation": "CreateVolume" },
117
+ "resource": {
118
+ "type": "Volume",
119
+ "identifiers": [
120
+ { "target": "Id", "source": "response", "path": "VolumeId" }
121
+ ],
122
+ "path": "@"
123
+ }
124
+ },
125
+ "CreateVpc": {
126
+ "request": { "operation": "CreateVpc" },
127
+ "resource": {
128
+ "type": "Vpc",
129
+ "identifiers": [
130
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
131
+ ],
132
+ "path": "Vpc"
133
+ }
134
+ },
135
+ "CreateVpcPeeringConnection": {
136
+ "request": { "operation": "CreateVpcPeeringConnection" },
137
+ "resource": {
138
+ "type": "VpcPeeringConnection",
139
+ "identifiers": [
140
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
141
+ ],
142
+ "path": "VpcPeeringConnection"
143
+ }
144
+ },
145
+ "DisassociateRouteTable": {
146
+ "request": { "operation": "DisassociateRouteTable" }
147
+ },
148
+ "ImportKeyPair": {
149
+ "request": { "operation": "ImportKeyPair" },
150
+ "resource": {
151
+ "type": "KeyPairInfo",
152
+ "identifiers": [
153
+ { "target": "Name", "source": "response", "path": "KeyName" }
154
+ ]
155
+ }
156
+ },
157
+ "RegisterImage": {
158
+ "request": { "operation": "RegisterImage" },
159
+ "resource": {
160
+ "type": "Image",
161
+ "identifiers": [
162
+ { "target": "Id", "source": "response", "path": "ImageId" }
163
+ ]
164
+ }
165
+ }
166
+ },
167
+ "has": {
168
+ "DhcpOptions": {
169
+ "resource": {
170
+ "type": "DhcpOptions",
171
+ "identifiers": [
172
+ { "target": "Id", "source": "input" }
173
+ ]
174
+ }
175
+ },
176
+ "Image": {
177
+ "resource": {
178
+ "type": "Image",
179
+ "identifiers": [
180
+ { "target": "Id", "source": "input" }
181
+ ]
182
+ }
183
+ },
184
+ "Instance": {
185
+ "resource": {
186
+ "type": "Instance",
187
+ "identifiers": [
188
+ { "target": "Id", "source": "input" }
189
+ ]
190
+ }
191
+ },
192
+ "InternetGateway": {
193
+ "resource": {
194
+ "type": "InternetGateway",
195
+ "identifiers": [
196
+ { "target": "Id", "source": "input" }
197
+ ]
198
+ }
199
+ },
200
+ "KeyPair": {
201
+ "resource": {
202
+ "type": "KeyPairInfo",
203
+ "identifiers": [
204
+ { "target": "Name", "source": "input" }
205
+ ]
206
+ }
207
+ },
208
+ "NetworkAcl": {
209
+ "resource": {
210
+ "type": "NetworkAcl",
211
+ "identifiers": [
212
+ { "target": "Id", "source": "input" }
213
+ ]
214
+ }
215
+ },
216
+ "NetworkInterface": {
217
+ "resource": {
218
+ "type": "NetworkInterface",
219
+ "identifiers": [
220
+ { "target": "Id", "source": "input" }
221
+ ]
222
+ }
223
+ },
224
+ "PlacementGroup": {
225
+ "resource": {
226
+ "type": "PlacementGroup",
227
+ "identifiers": [
228
+ { "target": "Name", "source": "input" }
229
+ ]
230
+ }
231
+ },
232
+ "RouteTable": {
233
+ "resource": {
234
+ "type": "RouteTable",
235
+ "identifiers": [
236
+ { "target": "Id", "source": "input" }
237
+ ]
238
+ }
239
+ },
240
+ "RouteTableAssociation": {
241
+ "resource": {
242
+ "type": "RouteTableAssociation",
243
+ "identifiers": [
244
+ { "target": "Id", "source": "input" }
245
+ ]
246
+ }
247
+ },
248
+ "SecurityGroup": {
249
+ "resource": {
250
+ "type": "SecurityGroup",
251
+ "identifiers": [
252
+ { "target": "Id", "source": "input" }
253
+ ]
254
+ }
255
+ },
256
+ "Snapshot": {
257
+ "resource": {
258
+ "type": "Snapshot",
259
+ "identifiers": [
260
+ { "target": "Id", "source": "input" }
261
+ ]
262
+ }
263
+ },
264
+ "Subnet": {
265
+ "resource": {
266
+ "type": "Subnet",
267
+ "identifiers": [
268
+ { "target": "Id", "source": "input" }
269
+ ]
270
+ }
271
+ },
272
+ "Volume": {
273
+ "resource": {
274
+ "type": "Volume",
275
+ "identifiers": [
276
+ { "target": "Id", "source": "input" }
277
+ ]
278
+ }
279
+ },
280
+ "Vpc": {
281
+ "resource": {
282
+ "type": "Vpc",
283
+ "identifiers": [
284
+ { "target": "Id", "source": "input" }
285
+ ]
286
+ }
287
+ },
288
+ "VpcPeeringConnection": {
289
+ "resource": {
290
+ "type": "VpcPeeringConnection",
291
+ "identifiers": [
292
+ { "target": "Id", "source": "input" }
293
+ ]
294
+ }
295
+ }
296
+ },
297
+ "hasMany": {
298
+ "ClassicAddresses": {
299
+ "request": {
300
+ "operation": "DescribeAddresses",
301
+ "params": [
302
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
303
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
304
+ ]
305
+ },
306
+ "resource": {
307
+ "type": "ClassicAddress",
308
+ "identifiers": [
309
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
310
+ ],
311
+ "path": "Addresses[]"
312
+ }
313
+ },
314
+ "DhcpOptionsSets": {
315
+ "request": { "operation": "DescribeDhcpOptions" },
316
+ "resource": {
317
+ "type": "DhcpOptions",
318
+ "identifiers": [
319
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
320
+ ],
321
+ "path": "DhcpOptions[]"
322
+ }
323
+ },
324
+ "Images": {
325
+ "request": { "operation": "DescribeImages" },
326
+ "resource": {
327
+ "type": "Image",
328
+ "identifiers": [
329
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
330
+ ],
331
+ "path": "Images[]"
332
+ }
333
+ },
334
+ "Instances": {
335
+ "request": { "operation": "DescribeInstances" },
336
+ "resource": {
337
+ "type": "Instance",
338
+ "identifiers": [
339
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
340
+ ],
341
+ "path": "Reservations[].Instances[]"
342
+ }
343
+ },
344
+ "InternetGateways": {
345
+ "request": { "operation": "DescribeInternetGateways" },
346
+ "resource": {
347
+ "type": "InternetGateway",
348
+ "identifiers": [
349
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
350
+ ],
351
+ "path": "InternetGateways[]"
352
+ }
353
+ },
354
+ "KeyPairs": {
355
+ "request": { "operation": "DescribeKeyPairs" },
356
+ "resource": {
357
+ "type": "KeyPairInfo",
358
+ "identifiers": [
359
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
360
+ ],
361
+ "path": "KeyPairs[]"
362
+ }
363
+ },
364
+ "NetworkAcls": {
365
+ "request": { "operation": "DescribeNetworkAcls" },
366
+ "resource": {
367
+ "type": "NetworkAcl",
368
+ "identifiers": [
369
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
370
+ ],
371
+ "path": "NetworkAcls[]"
372
+ }
373
+ },
374
+ "NetworkInterfaces": {
375
+ "request": { "operation": "DescribeNetworkInterfaces" },
376
+ "resource": {
377
+ "type": "NetworkInterface",
378
+ "identifiers": [
379
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
380
+ ],
381
+ "path": "NetworkInterfaces[]"
382
+ }
383
+ },
384
+ "PlacementGroups": {
385
+ "request": { "operation": "DescribePlacementGroups" },
386
+ "resource": {
387
+ "type": "PlacementGroup",
388
+ "identifiers": [
389
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
390
+ ],
391
+ "path": "PlacementGroups[]"
392
+ }
393
+ },
394
+ "RouteTables": {
395
+ "request": { "operation": "DescribeRouteTables" },
396
+ "resource": {
397
+ "type": "RouteTable",
398
+ "identifiers": [
399
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
400
+ ],
401
+ "path": "RouteTables[]"
402
+ }
403
+ },
404
+ "SecurityGroups": {
405
+ "request": { "operation": "DescribeSecurityGroups" },
406
+ "resource": {
407
+ "type": "SecurityGroup",
408
+ "identifiers": [
409
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
410
+ ],
411
+ "path": "SecurityGroups[]"
412
+ }
413
+ },
414
+ "Snapshots": {
415
+ "request": { "operation": "DescribeSnapshots" },
416
+ "resource": {
417
+ "type": "Snapshot",
418
+ "identifiers": [
419
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
420
+ ],
421
+ "path": "Snapshots[]"
422
+ }
423
+ },
424
+ "Subnets": {
425
+ "request": { "operation": "DescribeSubnets" },
426
+ "resource": {
427
+ "type": "Subnet",
428
+ "identifiers": [
429
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
430
+ ],
431
+ "path": "Subnets[]"
432
+ }
433
+ },
434
+ "Volumes": {
435
+ "request": { "operation": "DescribeVolumes" },
436
+ "resource": {
437
+ "type": "Volume",
438
+ "identifiers": [
439
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
440
+ ],
441
+ "path": "Volumes[]"
442
+ }
443
+ },
444
+ "VpcAddresses": {
445
+ "request": {
446
+ "operation": "DescribeAddresses",
447
+ "params": [
448
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
449
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
450
+ ]
451
+ },
452
+ "resource": {
453
+ "type": "VpcAddress",
454
+ "identifiers": [
455
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
456
+ ],
457
+ "path": "Addresses[]"
458
+ }
459
+ },
460
+ "VpcPeeringConnections": {
461
+ "request": { "operation": "DescribeVpcPeeringConnections" },
462
+ "resource": {
463
+ "type": "VpcPeeringConnection",
464
+ "identifiers": [
465
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
466
+ ],
467
+ "path": "VpcPeeringConnections[]"
468
+ }
469
+ },
470
+ "Vpcs": {
471
+ "request": { "operation": "DescribeVpcs" },
472
+ "resource": {
473
+ "type": "Vpc",
474
+ "identifiers": [
475
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
476
+ ],
477
+ "path": "Vpcs[]"
478
+ }
479
+ }
480
+ }
481
+ },
482
+ "resources": {
483
+ "ClassicAddress": {
484
+ "identifiers": [
485
+ {
486
+ "name": "PublicIp"
487
+ }
488
+ ],
489
+ "shape": "Address",
490
+ "load": {
491
+ "request": {
492
+ "operation": "DescribeAddresses",
493
+ "params": [
494
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
495
+ ]
496
+ },
497
+ "path": "Addresses[0]"
498
+ },
499
+ "actions": {
500
+ "Associate": {
501
+ "request": {
502
+ "operation": "AssociateAddress",
503
+ "params": [
504
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
505
+ ]
506
+ }
507
+ },
508
+ "Disassociate": {
509
+ "request": {
510
+ "operation": "DisassociateAddress",
511
+ "params": [
512
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
513
+ ]
514
+ }
515
+ },
516
+ "Release": {
517
+ "request": {
518
+ "operation": "ReleaseAddress",
519
+ "params": [
520
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
521
+ ]
522
+ }
523
+ }
524
+ }
525
+ },
526
+ "DhcpOptions": {
527
+ "identifiers": [
528
+ {
529
+ "name": "Id",
530
+ "memberName": "DhcpOptionsId"
531
+ }
532
+ ],
533
+ "shape": "DhcpOptions",
534
+ "load": {
535
+ "request": {
536
+ "operation": "DescribeDhcpOptions",
537
+ "params": [
538
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
539
+ ]
540
+ },
541
+ "path": "DhcpOptions[0]"
542
+ },
543
+ "actions": {
544
+ "AssociateWithVpc": {
545
+ "request": {
546
+ "operation": "AssociateDhcpOptions",
547
+ "params": [
548
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
549
+ ]
550
+ }
551
+ },
552
+ "CreateTags": {
553
+ "request": {
554
+ "operation": "CreateTags",
555
+ "params": [
556
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
557
+ ]
558
+ },
559
+ "resource": {
560
+ "type": "Tag",
561
+ "identifiers": [
562
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
563
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
564
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
565
+ ]
566
+ }
567
+ },
568
+ "Delete": {
569
+ "request": {
570
+ "operation": "DeleteDhcpOptions",
571
+ "params": [
572
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
573
+ ]
574
+ }
575
+ }
576
+ }
577
+ },
578
+ "Image": {
579
+ "identifiers": [
580
+ {
581
+ "name": "Id",
582
+ "memberName": "ImageId"
583
+ }
584
+ ],
585
+ "shape": "Image",
586
+ "load": {
587
+ "request": {
588
+ "operation": "DescribeImages",
589
+ "params": [
590
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
591
+ ]
592
+ },
593
+ "path": "Images[0]"
594
+ },
595
+ "actions": {
596
+ "CreateTags": {
597
+ "request": {
598
+ "operation": "CreateTags",
599
+ "params": [
600
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
601
+ ]
602
+ },
603
+ "resource": {
604
+ "type": "Tag",
605
+ "identifiers": [
606
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
607
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
608
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
609
+ ]
610
+ }
611
+ },
612
+ "Deregister": {
613
+ "request": {
614
+ "operation": "DeregisterImage",
615
+ "params": [
616
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
617
+ ]
618
+ }
619
+ },
620
+ "DescribeAttribute": {
621
+ "request": {
622
+ "operation": "DescribeImageAttribute",
623
+ "params": [
624
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
625
+ ]
626
+ }
627
+ },
628
+ "ModifyAttribute": {
629
+ "request": {
630
+ "operation": "ModifyImageAttribute",
631
+ "params": [
632
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
633
+ ]
634
+ }
635
+ },
636
+ "ResetAttribute": {
637
+ "request": {
638
+ "operation": "ResetImageAttribute",
639
+ "params": [
640
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
641
+ ]
642
+ }
643
+ }
644
+ }
645
+ },
646
+ "Instance": {
647
+ "identifiers": [
648
+ {
649
+ "name": "Id",
650
+ "memberName": "InstanceId"
651
+ }
652
+ ],
653
+ "shape": "Instance",
654
+ "load": {
655
+ "request": {
656
+ "operation": "DescribeInstances",
657
+ "params": [
658
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
659
+ ]
660
+ },
661
+ "path": "Reservations[0].Instances[0]"
662
+ },
663
+ "actions": {
664
+ "AttachClassicLinkVpc": {
665
+ "request": {
666
+ "operation": "AttachClassicLinkVpc",
667
+ "params": [
668
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
669
+ ]
670
+ }
671
+ },
672
+ "AttachVolume": {
673
+ "request": {
674
+ "operation": "AttachVolume",
675
+ "params": [
676
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
677
+ ]
678
+ }
679
+ },
680
+ "ConsoleOutput": {
681
+ "request": {
682
+ "operation": "GetConsoleOutput",
683
+ "params": [
684
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
685
+ ]
686
+ }
687
+ },
688
+ "CreateImage": {
689
+ "request": {
690
+ "operation": "CreateImage",
691
+ "params": [
692
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
693
+ ]
694
+ },
695
+ "resource": {
696
+ "type": "Image",
697
+ "identifiers": [
698
+ { "target": "Id", "source": "response", "path": "ImageId" }
699
+ ]
700
+ }
701
+ },
702
+ "CreateTags": {
703
+ "request": {
704
+ "operation": "CreateTags",
705
+ "params": [
706
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
707
+ ]
708
+ },
709
+ "resource": {
710
+ "type": "Tag",
711
+ "identifiers": [
712
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
713
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
714
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
715
+ ]
716
+ }
717
+ },
718
+ "DescribeAttribute": {
719
+ "request": {
720
+ "operation": "DescribeInstanceAttribute",
721
+ "params": [
722
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
723
+ ]
724
+ }
725
+ },
726
+ "DetachClassicLinkVpc": {
727
+ "request": {
728
+ "operation": "DetachClassicLinkVpc",
729
+ "params": [
730
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
731
+ ]
732
+ }
733
+ },
734
+ "DetachVolume": {
735
+ "request": {
736
+ "operation": "DetachVolume",
737
+ "params": [
738
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
739
+ ]
740
+ }
741
+ },
742
+ "ModifyAttribute": {
743
+ "request": {
744
+ "operation": "ModifyInstanceAttribute",
745
+ "params": [
746
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
747
+ ]
748
+ }
749
+ },
750
+ "Monitor": {
751
+ "request": {
752
+ "operation": "MonitorInstances",
753
+ "params": [
754
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
755
+ ]
756
+ }
757
+ },
758
+ "PasswordData": {
759
+ "request": {
760
+ "operation": "GetPasswordData",
761
+ "params": [
762
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
763
+ ]
764
+ }
765
+ },
766
+ "Reboot": {
767
+ "request": {
768
+ "operation": "RebootInstances",
769
+ "params": [
770
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
771
+ ]
772
+ }
773
+ },
774
+ "ReportStatus": {
775
+ "request": {
776
+ "operation": "ReportInstanceStatus",
777
+ "params": [
778
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
779
+ ]
780
+ }
781
+ },
782
+ "ResetAttribute": {
783
+ "request": {
784
+ "operation": "ResetInstanceAttribute",
785
+ "params": [
786
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
787
+ ]
788
+ }
789
+ },
790
+ "ResetKernel": {
791
+ "request": {
792
+ "operation": "ResetInstanceAttribute",
793
+ "params": [
794
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
795
+ { "target": "Attribute", "source": "string", "value": "kernel" }
796
+ ]
797
+ }
798
+ },
799
+ "ResetRamdisk": {
800
+ "request": {
801
+ "operation": "ResetInstanceAttribute",
802
+ "params": [
803
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
804
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
805
+ ]
806
+ }
807
+ },
808
+ "ResetSourceDestCheck": {
809
+ "request": {
810
+ "operation": "ResetInstanceAttribute",
811
+ "params": [
812
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
813
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
814
+ ]
815
+ }
816
+ },
817
+ "Start": {
818
+ "request": {
819
+ "operation": "StartInstances",
820
+ "params": [
821
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
822
+ ]
823
+ }
824
+ },
825
+ "Stop": {
826
+ "request": {
827
+ "operation": "StopInstances",
828
+ "params": [
829
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
830
+ ]
831
+ }
832
+ },
833
+ "Terminate": {
834
+ "request": {
835
+ "operation": "TerminateInstances",
836
+ "params": [
837
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
838
+ ]
839
+ }
840
+ },
841
+ "Unmonitor": {
842
+ "request": {
843
+ "operation": "UnmonitorInstances",
844
+ "params": [
845
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
846
+ ]
847
+ }
848
+ }
849
+ },
850
+ "batchActions": {
851
+ "CreateTags": {
852
+ "request": {
853
+ "operation": "CreateTags",
854
+ "params": [
855
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
856
+ ]
857
+ }
858
+ },
859
+ "Monitor": {
860
+ "request": {
861
+ "operation": "MonitorInstances",
862
+ "params": [
863
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
864
+ ]
865
+ }
866
+ },
867
+ "Reboot": {
868
+ "request": {
869
+ "operation": "RebootInstances",
870
+ "params": [
871
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
872
+ ]
873
+ }
874
+ },
875
+ "Start": {
876
+ "request": {
877
+ "operation": "StartInstances",
878
+ "params": [
879
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
880
+ ]
881
+ }
882
+ },
883
+ "Stop": {
884
+ "request": {
885
+ "operation": "StopInstances",
886
+ "params": [
887
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
888
+ ]
889
+ }
890
+ },
891
+ "Terminate": {
892
+ "request": {
893
+ "operation": "TerminateInstances",
894
+ "params": [
895
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
896
+ ]
897
+ }
898
+ },
899
+ "Unmonitor": {
900
+ "request": {
901
+ "operation": "UnmonitorInstances",
902
+ "params": [
903
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
904
+ ]
905
+ }
906
+ }
907
+ },
908
+ "waiters": {
909
+ "Exists": {
910
+ "waiterName": "InstanceExists",
911
+ "params": [
912
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
913
+ ],
914
+ "path": "Reservations[0].Instances[0]"
915
+ },
916
+ "Running": {
917
+ "waiterName": "InstanceRunning",
918
+ "params": [
919
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
920
+ ],
921
+ "path": "Reservations[0].Instances[0]"
922
+ },
923
+ "Stopped": {
924
+ "waiterName": "InstanceStopped",
925
+ "params": [
926
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
927
+ ],
928
+ "path": "Reservations[0].Instances[0]"
929
+ },
930
+ "Terminated": {
931
+ "waiterName": "InstanceTerminated",
932
+ "params": [
933
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
934
+ ],
935
+ "path": "Reservations[0].Instances[0]"
936
+ }
937
+ },
938
+ "has": {
939
+ "ClassicAddress": {
940
+ "resource": {
941
+ "type": "ClassicAddress",
942
+ "identifiers": [
943
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
944
+ ]
945
+ }
946
+ },
947
+ "Image": {
948
+ "resource": {
949
+ "type": "Image",
950
+ "identifiers": [
951
+ { "target": "Id", "source": "data", "path": "ImageId" }
952
+ ]
953
+ }
954
+ },
955
+ "KeyPair": {
956
+ "resource": {
957
+ "type": "KeyPairInfo",
958
+ "identifiers": [
959
+ { "target": "Name", "source": "data", "path": "KeyName" }
960
+ ]
961
+ }
962
+ },
963
+ "NetworkInterfaces": {
964
+ "resource": {
965
+ "type": "NetworkInterface",
966
+ "identifiers": [
967
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
968
+ ],
969
+ "path": "NetworkInterfaces[]"
970
+ }
971
+ },
972
+ "PlacementGroup": {
973
+ "resource": {
974
+ "type": "PlacementGroup",
975
+ "identifiers": [
976
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
977
+ ]
978
+ }
979
+ },
980
+ "Subnet": {
981
+ "resource": {
982
+ "type": "Subnet",
983
+ "identifiers": [
984
+ { "target": "Id", "source": "data", "path": "SubnetId" }
985
+ ]
986
+ }
987
+ },
988
+ "Vpc": {
989
+ "resource": {
990
+ "type": "Vpc",
991
+ "identifiers": [
992
+ { "target": "Id", "source": "data", "path": "VpcId" }
993
+ ]
994
+ }
995
+ }
996
+ },
997
+ "hasMany": {
998
+ "Volumes": {
999
+ "request": {
1000
+ "operation": "DescribeVolumes",
1001
+ "params": [
1002
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
1003
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1004
+ ]
1005
+ },
1006
+ "resource": {
1007
+ "type": "Volume",
1008
+ "identifiers": [
1009
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
1010
+ ],
1011
+ "path": "Volumes[]"
1012
+ }
1013
+ },
1014
+ "VpcAddresses": {
1015
+ "request": {
1016
+ "operation": "DescribeAddresses",
1017
+ "params": [
1018
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
1019
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1020
+ ]
1021
+ },
1022
+ "resource": {
1023
+ "type": "VpcAddress",
1024
+ "identifiers": [
1025
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
1026
+ ],
1027
+ "path": "Addresses[]"
1028
+ }
1029
+ }
1030
+ }
1031
+ },
1032
+ "InternetGateway": {
1033
+ "identifiers": [
1034
+ {
1035
+ "name": "Id",
1036
+ "memberName": "InternetGatewayId"
1037
+ }
1038
+ ],
1039
+ "shape": "InternetGateway",
1040
+ "load": {
1041
+ "request": {
1042
+ "operation": "DescribeInternetGateways",
1043
+ "params": [
1044
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
1045
+ ]
1046
+ },
1047
+ "path": "InternetGateways[0]"
1048
+ },
1049
+ "actions": {
1050
+ "AttachToVpc": {
1051
+ "request": {
1052
+ "operation": "AttachInternetGateway",
1053
+ "params": [
1054
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1055
+ ]
1056
+ }
1057
+ },
1058
+ "CreateTags": {
1059
+ "request": {
1060
+ "operation": "CreateTags",
1061
+ "params": [
1062
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1063
+ ]
1064
+ },
1065
+ "resource": {
1066
+ "type": "Tag",
1067
+ "identifiers": [
1068
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1069
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1070
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1071
+ ]
1072
+ }
1073
+ },
1074
+ "Delete": {
1075
+ "request": {
1076
+ "operation": "DeleteInternetGateway",
1077
+ "params": [
1078
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1079
+ ]
1080
+ }
1081
+ },
1082
+ "DetachFromVpc": {
1083
+ "request": {
1084
+ "operation": "DetachInternetGateway",
1085
+ "params": [
1086
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1087
+ ]
1088
+ }
1089
+ }
1090
+ }
1091
+ },
1092
+ "KeyPair": {
1093
+ "identifiers": [
1094
+ {
1095
+ "name": "Name",
1096
+ "memberName": "KeyName"
1097
+ }
1098
+ ],
1099
+ "shape": "KeyPair",
1100
+ "actions": {
1101
+ "Delete": {
1102
+ "request": {
1103
+ "operation": "DeleteKeyPair",
1104
+ "params": [
1105
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1106
+ ]
1107
+ }
1108
+ }
1109
+ }
1110
+ },
1111
+ "KeyPairInfo": {
1112
+ "identifiers": [
1113
+ {
1114
+ "name": "Name",
1115
+ "memberName": "KeyName"
1116
+ }
1117
+ ],
1118
+ "shape": "KeyPairInfo",
1119
+ "load": {
1120
+ "request": {
1121
+ "operation": "DescribeKeyPairs",
1122
+ "params": [
1123
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
1124
+ ]
1125
+ },
1126
+ "path": "KeyPairs[0]"
1127
+ },
1128
+ "actions": {
1129
+ "Delete": {
1130
+ "request": {
1131
+ "operation": "DeleteKeyPair",
1132
+ "params": [
1133
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1134
+ ]
1135
+ }
1136
+ }
1137
+ }
1138
+ },
1139
+ "NetworkAcl": {
1140
+ "identifiers": [
1141
+ {
1142
+ "name": "Id",
1143
+ "memberName": "NetworkAclId"
1144
+ }
1145
+ ],
1146
+ "shape": "NetworkAcl",
1147
+ "load": {
1148
+ "request": {
1149
+ "operation": "DescribeNetworkAcls",
1150
+ "params": [
1151
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
1152
+ ]
1153
+ },
1154
+ "path": "NetworkAcls[0]"
1155
+ },
1156
+ "actions": {
1157
+ "CreateEntry": {
1158
+ "request": {
1159
+ "operation": "CreateNetworkAclEntry",
1160
+ "params": [
1161
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1162
+ ]
1163
+ }
1164
+ },
1165
+ "CreateTags": {
1166
+ "request": {
1167
+ "operation": "CreateTags",
1168
+ "params": [
1169
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1170
+ ]
1171
+ },
1172
+ "resource": {
1173
+ "type": "Tag",
1174
+ "identifiers": [
1175
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1176
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1177
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1178
+ ]
1179
+ }
1180
+ },
1181
+ "Delete": {
1182
+ "request": {
1183
+ "operation": "DeleteNetworkAcl",
1184
+ "params": [
1185
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1186
+ ]
1187
+ }
1188
+ },
1189
+ "DeleteEntry": {
1190
+ "request": {
1191
+ "operation": "DeleteNetworkAclEntry",
1192
+ "params": [
1193
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1194
+ ]
1195
+ }
1196
+ },
1197
+ "ReplaceAssociation": {
1198
+ "request": {
1199
+ "operation": "ReplaceNetworkAclAssociation",
1200
+ "params": [
1201
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1202
+ ]
1203
+ }
1204
+ },
1205
+ "ReplaceEntry": {
1206
+ "request": {
1207
+ "operation": "ReplaceNetworkAclEntry",
1208
+ "params": [
1209
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1210
+ ]
1211
+ }
1212
+ }
1213
+ },
1214
+ "has": {
1215
+ "Vpc": {
1216
+ "resource": {
1217
+ "type": "Vpc",
1218
+ "identifiers": [
1219
+ { "target": "Id", "source": "data", "path": "VpcId" }
1220
+ ]
1221
+ }
1222
+ }
1223
+ }
1224
+ },
1225
+ "NetworkInterface": {
1226
+ "identifiers": [
1227
+ {
1228
+ "name": "Id",
1229
+ "memberName": "NetworkInterfaceId"
1230
+ }
1231
+ ],
1232
+ "shape": "NetworkInterface",
1233
+ "load": {
1234
+ "request": {
1235
+ "operation": "DescribeNetworkInterfaces",
1236
+ "params": [
1237
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
1238
+ ]
1239
+ },
1240
+ "path": "NetworkInterfaces[0]"
1241
+ },
1242
+ "actions": {
1243
+ "AssignPrivateIpAddresses": {
1244
+ "request": {
1245
+ "operation": "AssignPrivateIpAddresses",
1246
+ "params": [
1247
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1248
+ ]
1249
+ }
1250
+ },
1251
+ "Attach": {
1252
+ "request": {
1253
+ "operation": "AttachNetworkInterface",
1254
+ "params": [
1255
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1256
+ ]
1257
+ }
1258
+ },
1259
+ "CreateTags": {
1260
+ "request": {
1261
+ "operation": "CreateTags",
1262
+ "params": [
1263
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1264
+ ]
1265
+ },
1266
+ "resource": {
1267
+ "type": "Tag",
1268
+ "identifiers": [
1269
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1270
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1271
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1272
+ ]
1273
+ }
1274
+ },
1275
+ "Delete": {
1276
+ "request": {
1277
+ "operation": "DeleteNetworkInterface",
1278
+ "params": [
1279
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1280
+ ]
1281
+ }
1282
+ },
1283
+ "DescribeAttribute": {
1284
+ "request": {
1285
+ "operation": "DescribeNetworkInterfaceAttribute",
1286
+ "params": [
1287
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1288
+ ]
1289
+ }
1290
+ },
1291
+ "Detach": {
1292
+ "request": {
1293
+ "operation": "DetachNetworkInterface",
1294
+ "params": [
1295
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
1296
+ ]
1297
+ }
1298
+ },
1299
+ "ModifyAttribute": {
1300
+ "request": {
1301
+ "operation": "ModifyNetworkInterfaceAttribute",
1302
+ "params": [
1303
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1304
+ ]
1305
+ }
1306
+ },
1307
+ "ResetAttribute": {
1308
+ "request": {
1309
+ "operation": "ResetNetworkInterfaceAttribute",
1310
+ "params": [
1311
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1312
+ ]
1313
+ }
1314
+ },
1315
+ "UnassignPrivateIpAddresses": {
1316
+ "request": {
1317
+ "operation": "UnassignPrivateIpAddresses",
1318
+ "params": [
1319
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1320
+ ]
1321
+ }
1322
+ }
1323
+ },
1324
+ "has": {
1325
+ "Association": {
1326
+ "resource": {
1327
+ "type": "NetworkInterfaceAssociation",
1328
+ "identifiers": [
1329
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
1330
+ ],
1331
+ "path": "Association"
1332
+ }
1333
+ },
1334
+ "Subnet": {
1335
+ "resource": {
1336
+ "type": "Subnet",
1337
+ "identifiers": [
1338
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1339
+ ]
1340
+ }
1341
+ },
1342
+ "Vpc": {
1343
+ "resource": {
1344
+ "type": "Vpc",
1345
+ "identifiers": [
1346
+ { "target": "Id", "source": "data", "path": "VpcId" }
1347
+ ]
1348
+ }
1349
+ }
1350
+ }
1351
+ },
1352
+ "NetworkInterfaceAssociation": {
1353
+ "identifiers": [
1354
+ {
1355
+ "name": "Id"
1356
+ }
1357
+ ],
1358
+ "shape": "InstanceNetworkInterfaceAssociation",
1359
+ "load": {
1360
+ "request": {
1361
+ "operation": "DescribeNetworkInterfaces",
1362
+ "params": [
1363
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
1364
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1365
+ ]
1366
+ },
1367
+ "path": "NetworkInterfaces[0].Association"
1368
+ },
1369
+ "actions": {
1370
+ "Delete": {
1371
+ "request": {
1372
+ "operation": "DisassociateAddress",
1373
+ "params": [
1374
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1375
+ ]
1376
+ }
1377
+ }
1378
+ },
1379
+ "has": {
1380
+ "Address": {
1381
+ "resource": {
1382
+ "type": "VpcAddress",
1383
+ "identifiers": [
1384
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
1385
+ ]
1386
+ }
1387
+ }
1388
+ }
1389
+ },
1390
+ "PlacementGroup": {
1391
+ "identifiers": [
1392
+ {
1393
+ "name": "Name",
1394
+ "memberName": "GroupName"
1395
+ }
1396
+ ],
1397
+ "shape": "PlacementGroup",
1398
+ "load": {
1399
+ "request": {
1400
+ "operation": "DescribePlacementGroups",
1401
+ "params": [
1402
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
1403
+ ]
1404
+ },
1405
+ "path": "PlacementGroups[0]"
1406
+ },
1407
+ "actions": {
1408
+ "Delete": {
1409
+ "request": {
1410
+ "operation": "DeletePlacementGroup",
1411
+ "params": [
1412
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
1413
+ ]
1414
+ }
1415
+ }
1416
+ },
1417
+ "hasMany": {
1418
+ "Instances": {
1419
+ "request": {
1420
+ "operation": "DescribeInstances",
1421
+ "params": [
1422
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
1423
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
1424
+ ]
1425
+ },
1426
+ "resource": {
1427
+ "type": "Instance",
1428
+ "identifiers": [
1429
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1430
+ ],
1431
+ "path": "Reservations[].Instances[]"
1432
+ }
1433
+ }
1434
+ }
1435
+ },
1436
+ "Route": {
1437
+ "identifiers": [
1438
+ { "name": "RouteTableId" },
1439
+ {
1440
+ "name": "DestinationCidrBlock",
1441
+ "memberName": "DestinationCidrBlock"
1442
+ }
1443
+ ],
1444
+ "shape": "Route",
1445
+ "actions": {
1446
+ "Delete": {
1447
+ "request": {
1448
+ "operation": "DeleteRoute",
1449
+ "params": [
1450
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
1451
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
1452
+ ]
1453
+ }
1454
+ },
1455
+ "Replace": {
1456
+ "request": {
1457
+ "operation": "ReplaceRoute",
1458
+ "params": [
1459
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
1460
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
1461
+ ]
1462
+ }
1463
+ }
1464
+ },
1465
+ "has": {
1466
+ "RouteTable": {
1467
+ "resource": {
1468
+ "type": "RouteTable",
1469
+ "identifiers": [
1470
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
1471
+ ]
1472
+ }
1473
+ }
1474
+ }
1475
+ },
1476
+ "RouteTable": {
1477
+ "identifiers": [
1478
+ {
1479
+ "name": "Id",
1480
+ "memberName": "RouteTableId"
1481
+ }
1482
+ ],
1483
+ "shape": "RouteTable",
1484
+ "load": {
1485
+ "request": {
1486
+ "operation": "DescribeRouteTables",
1487
+ "params": [
1488
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1489
+ ]
1490
+ },
1491
+ "path": "RouteTables[0]"
1492
+ },
1493
+ "actions": {
1494
+ "AssociateWithSubnet": {
1495
+ "request": {
1496
+ "operation": "AssociateRouteTable",
1497
+ "params": [
1498
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1499
+ ]
1500
+ },
1501
+ "resource": {
1502
+ "type": "RouteTableAssociation",
1503
+ "identifiers": [
1504
+ { "target": "Id", "source": "response", "path": "AssociationId" }
1505
+ ]
1506
+ }
1507
+ },
1508
+ "CreateRoute": {
1509
+ "request": {
1510
+ "operation": "CreateRoute",
1511
+ "params": [
1512
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1513
+ ]
1514
+ },
1515
+ "resource": {
1516
+ "type": "Route",
1517
+ "identifiers": [
1518
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
1519
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
1520
+ ]
1521
+ }
1522
+ },
1523
+ "CreateTags": {
1524
+ "request": {
1525
+ "operation": "CreateTags",
1526
+ "params": [
1527
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1528
+ ]
1529
+ },
1530
+ "resource": {
1531
+ "type": "Tag",
1532
+ "identifiers": [
1533
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1534
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1535
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1536
+ ]
1537
+ }
1538
+ },
1539
+ "Delete": {
1540
+ "request": {
1541
+ "operation": "DeleteRouteTable",
1542
+ "params": [
1543
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1544
+ ]
1545
+ }
1546
+ }
1547
+ },
1548
+ "has": {
1549
+ "Routes": {
1550
+ "resource": {
1551
+ "type": "Route",
1552
+ "identifiers": [
1553
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
1554
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
1555
+ ],
1556
+ "path": "Routes[]"
1557
+ }
1558
+ },
1559
+ "Vpc": {
1560
+ "resource": {
1561
+ "type": "Vpc",
1562
+ "identifiers": [
1563
+ { "target": "Id", "source": "data", "path": "VpcId" }
1564
+ ]
1565
+ }
1566
+ }
1567
+ },
1568
+ "hasMany": {
1569
+ "Associations": {
1570
+ "request": {
1571
+ "operation": "DescribeRouteTables",
1572
+ "params": [
1573
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1574
+ ]
1575
+ },
1576
+ "resource": {
1577
+ "type": "RouteTableAssociation",
1578
+ "identifiers": [
1579
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
1580
+ ],
1581
+ "path": "RouteTables[0].Associations[]"
1582
+ }
1583
+ }
1584
+ }
1585
+ },
1586
+ "RouteTableAssociation": {
1587
+ "identifiers": [
1588
+ {
1589
+ "name": "Id",
1590
+ "memberName": "RouteTableAssociationId"
1591
+ }
1592
+ ],
1593
+ "shape": "RouteTableAssociation",
1594
+ "actions": {
1595
+ "Delete": {
1596
+ "request": {
1597
+ "operation": "DisassociateRouteTable",
1598
+ "params": [
1599
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1600
+ ]
1601
+ }
1602
+ },
1603
+ "ReplaceSubnet": {
1604
+ "request": {
1605
+ "operation": "ReplaceRouteTableAssociation",
1606
+ "params": [
1607
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1608
+ ]
1609
+ },
1610
+ "resource": {
1611
+ "type": "RouteTableAssociation",
1612
+ "identifiers": [
1613
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
1614
+ ]
1615
+ }
1616
+ }
1617
+ },
1618
+ "has": {
1619
+ "RouteTable": {
1620
+ "resource": {
1621
+ "type": "RouteTable",
1622
+ "identifiers": [
1623
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
1624
+ ]
1625
+ }
1626
+ },
1627
+ "Subnet": {
1628
+ "resource": {
1629
+ "type": "Subnet",
1630
+ "identifiers": [
1631
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1632
+ ]
1633
+ }
1634
+ }
1635
+ }
1636
+ },
1637
+ "SecurityGroup": {
1638
+ "identifiers": [
1639
+ {
1640
+ "name": "Id",
1641
+ "memberName": "GroupId"
1642
+ }
1643
+ ],
1644
+ "shape": "SecurityGroup",
1645
+ "load": {
1646
+ "request": {
1647
+ "operation": "DescribeSecurityGroups",
1648
+ "params": [
1649
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
1650
+ ]
1651
+ },
1652
+ "path": "SecurityGroups[0]"
1653
+ },
1654
+ "actions": {
1655
+ "AuthorizeEgress": {
1656
+ "request": {
1657
+ "operation": "AuthorizeSecurityGroupEgress",
1658
+ "params": [
1659
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1660
+ ]
1661
+ }
1662
+ },
1663
+ "AuthorizeIngress": {
1664
+ "request": {
1665
+ "operation": "AuthorizeSecurityGroupIngress",
1666
+ "params": [
1667
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1668
+ ]
1669
+ }
1670
+ },
1671
+ "CreateTags": {
1672
+ "request": {
1673
+ "operation": "CreateTags",
1674
+ "params": [
1675
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1676
+ ]
1677
+ },
1678
+ "resource": {
1679
+ "type": "Tag",
1680
+ "identifiers": [
1681
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1682
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1683
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1684
+ ]
1685
+ }
1686
+ },
1687
+ "Delete": {
1688
+ "request": {
1689
+ "operation": "DeleteSecurityGroup",
1690
+ "params": [
1691
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1692
+ ]
1693
+ }
1694
+ },
1695
+ "RevokeEgress": {
1696
+ "request": {
1697
+ "operation": "RevokeSecurityGroupEgress",
1698
+ "params": [
1699
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1700
+ ]
1701
+ }
1702
+ },
1703
+ "RevokeIngress": {
1704
+ "request": {
1705
+ "operation": "RevokeSecurityGroupIngress",
1706
+ "params": [
1707
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1708
+ ]
1709
+ }
1710
+ }
1711
+ }
1712
+ },
1713
+ "Snapshot": {
1714
+ "identifiers": [
1715
+ {
1716
+ "name": "Id",
1717
+ "memberName": "SnapshotId"
1718
+ }
1719
+ ],
1720
+ "shape": "Snapshot",
1721
+ "load": {
1722
+ "request": {
1723
+ "operation": "DescribeSnapshots",
1724
+ "params": [
1725
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
1726
+ ]
1727
+ },
1728
+ "path": "Snapshots[0]"
1729
+ },
1730
+ "actions": {
1731
+ "Copy": {
1732
+ "request": {
1733
+ "operation": "CopySnapshot",
1734
+ "params": [
1735
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
1736
+ ]
1737
+ }
1738
+ },
1739
+ "CreateTags": {
1740
+ "request": {
1741
+ "operation": "CreateTags",
1742
+ "params": [
1743
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1744
+ ]
1745
+ },
1746
+ "resource": {
1747
+ "type": "Tag",
1748
+ "identifiers": [
1749
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1750
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1751
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1752
+ ]
1753
+ }
1754
+ },
1755
+ "Delete": {
1756
+ "request": {
1757
+ "operation": "DeleteSnapshot",
1758
+ "params": [
1759
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1760
+ ]
1761
+ }
1762
+ },
1763
+ "DescribeAttribute": {
1764
+ "request": {
1765
+ "operation": "DescribeSnapshotAttribute",
1766
+ "params": [
1767
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1768
+ ]
1769
+ }
1770
+ },
1771
+ "ModifyAttribute": {
1772
+ "request": {
1773
+ "operation": "ModifySnapshotAttribute",
1774
+ "params": [
1775
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1776
+ ]
1777
+ }
1778
+ },
1779
+ "ResetAttribute": {
1780
+ "request": {
1781
+ "operation": "ResetSnapshotAttribute",
1782
+ "params": [
1783
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1784
+ ]
1785
+ }
1786
+ }
1787
+ },
1788
+ "waiters": {
1789
+ "Completed": {
1790
+ "waiterName": "SnapshotCompleted",
1791
+ "params": [
1792
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
1793
+ ],
1794
+ "path": "Snapshots[]"
1795
+ }
1796
+ },
1797
+ "has": {
1798
+ "Volume": {
1799
+ "resource": {
1800
+ "type": "Volume",
1801
+ "identifiers": [
1802
+ { "target": "Id", "source": "data", "path": "VolumeId" }
1803
+ ]
1804
+ }
1805
+ }
1806
+ }
1807
+ },
1808
+ "Subnet": {
1809
+ "identifiers": [
1810
+ {
1811
+ "name": "Id",
1812
+ "memberName": "SubnetId"
1813
+ }
1814
+ ],
1815
+ "shape": "Subnet",
1816
+ "load": {
1817
+ "request": {
1818
+ "operation": "DescribeSubnets",
1819
+ "params": [
1820
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
1821
+ ]
1822
+ },
1823
+ "path": "Subnets[0]"
1824
+ },
1825
+ "actions": {
1826
+ "CreateInstances": {
1827
+ "request": {
1828
+ "operation": "RunInstances",
1829
+ "params": [
1830
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1831
+ ]
1832
+ },
1833
+ "resource": {
1834
+ "type": "Instance",
1835
+ "identifiers": [
1836
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
1837
+ ],
1838
+ "path": "Instances[]"
1839
+ }
1840
+ },
1841
+ "CreateNetworkInterface": {
1842
+ "request": {
1843
+ "operation": "CreateNetworkInterface",
1844
+ "params": [
1845
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1846
+ ]
1847
+ },
1848
+ "resource": {
1849
+ "type": "NetworkInterface",
1850
+ "identifiers": [
1851
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
1852
+ ],
1853
+ "path": "NetworkInterface"
1854
+ }
1855
+ },
1856
+ "CreateTags": {
1857
+ "request": {
1858
+ "operation": "CreateTags",
1859
+ "params": [
1860
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1861
+ ]
1862
+ },
1863
+ "resource": {
1864
+ "type": "Tag",
1865
+ "identifiers": [
1866
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1867
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1868
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1869
+ ]
1870
+ }
1871
+ },
1872
+ "Delete": {
1873
+ "request": {
1874
+ "operation": "DeleteSubnet",
1875
+ "params": [
1876
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1877
+ ]
1878
+ }
1879
+ }
1880
+ },
1881
+ "has": {
1882
+ "Vpc": {
1883
+ "resource": {
1884
+ "type": "Vpc",
1885
+ "identifiers": [
1886
+ { "target": "Id", "source": "data", "path": "VpcId" }
1887
+ ]
1888
+ }
1889
+ }
1890
+ },
1891
+ "hasMany": {
1892
+ "Instances": {
1893
+ "request": {
1894
+ "operation": "DescribeInstances",
1895
+ "params": [
1896
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1897
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1898
+ ]
1899
+ },
1900
+ "resource": {
1901
+ "type": "Instance",
1902
+ "identifiers": [
1903
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1904
+ ],
1905
+ "path": "Reservations[].Instances[]"
1906
+ }
1907
+ },
1908
+ "NetworkInterfaces": {
1909
+ "request": {
1910
+ "operation": "DescribeNetworkInterfaces",
1911
+ "params": [
1912
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1913
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1914
+ ]
1915
+ },
1916
+ "resource": {
1917
+ "type": "NetworkInterface",
1918
+ "identifiers": [
1919
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
1920
+ ],
1921
+ "path": "NetworkInterfaces[]"
1922
+ }
1923
+ }
1924
+ }
1925
+ },
1926
+ "Tag": {
1927
+ "identifiers": [
1928
+ {
1929
+ "name": "ResourceId",
1930
+ "memberName": "ResourceId"
1931
+ },
1932
+ {
1933
+ "name": "Key",
1934
+ "memberName": "Key"
1935
+ },
1936
+ {
1937
+ "name": "Value",
1938
+ "memberName": "Value"
1939
+ }
1940
+ ],
1941
+ "shape": "TagDescription",
1942
+ "load": {
1943
+ "request": {
1944
+ "operation": "DescribeTags",
1945
+ "params": [
1946
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
1947
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
1948
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
1949
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
1950
+ ]
1951
+ },
1952
+ "path": "Tags[0]"
1953
+ },
1954
+ "actions": {
1955
+ "Delete": {
1956
+ "request": {
1957
+ "operation": "DeleteTags",
1958
+ "params": [
1959
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
1960
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
1961
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
1962
+ ]
1963
+ }
1964
+ }
1965
+ },
1966
+ "batchActions": {
1967
+ "Delete": {
1968
+ "request": {
1969
+ "operation": "DeleteTags",
1970
+ "params": [
1971
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
1972
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
1973
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
1974
+ ]
1975
+ }
1976
+ }
1977
+ }
1978
+ },
1979
+ "Volume": {
1980
+ "identifiers": [
1981
+ {
1982
+ "name": "Id",
1983
+ "memberName": "VolumeId"
1984
+ }
1985
+ ],
1986
+ "shape": "Volume",
1987
+ "load": {
1988
+ "request": {
1989
+ "operation": "DescribeVolumes",
1990
+ "params": [
1991
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1992
+ ]
1993
+ },
1994
+ "path": "Volumes[0]"
1995
+ },
1996
+ "actions": {
1997
+ "AttachToInstance": {
1998
+ "request": {
1999
+ "operation": "AttachVolume",
2000
+ "params": [
2001
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2002
+ ]
2003
+ }
2004
+ },
2005
+ "CreateSnapshot": {
2006
+ "request": {
2007
+ "operation": "CreateSnapshot",
2008
+ "params": [
2009
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2010
+ ]
2011
+ },
2012
+ "resource": {
2013
+ "type": "Snapshot",
2014
+ "identifiers": [
2015
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
2016
+ ],
2017
+ "path": "@"
2018
+ }
2019
+ },
2020
+ "CreateTags": {
2021
+ "request": {
2022
+ "operation": "CreateTags",
2023
+ "params": [
2024
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
2025
+ ]
2026
+ },
2027
+ "resource": {
2028
+ "type": "Tag",
2029
+ "identifiers": [
2030
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
2031
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
2032
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
2033
+ ]
2034
+ }
2035
+ },
2036
+ "Delete": {
2037
+ "request": {
2038
+ "operation": "DeleteVolume",
2039
+ "params": [
2040
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2041
+ ]
2042
+ }
2043
+ },
2044
+ "DescribeAttribute": {
2045
+ "request": {
2046
+ "operation": "DescribeVolumeAttribute",
2047
+ "params": [
2048
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2049
+ ]
2050
+ }
2051
+ },
2052
+ "DescribeStatus": {
2053
+ "request": {
2054
+ "operation": "DescribeVolumeStatus",
2055
+ "params": [
2056
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
2057
+ ]
2058
+ }
2059
+ },
2060
+ "DetachFromInstance": {
2061
+ "request": {
2062
+ "operation": "DetachVolume",
2063
+ "params": [
2064
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2065
+ ]
2066
+ }
2067
+ },
2068
+ "EnableIo": {
2069
+ "request": {
2070
+ "operation": "EnableVolumeIO",
2071
+ "params": [
2072
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2073
+ ]
2074
+ }
2075
+ },
2076
+ "ModifyAttribute": {
2077
+ "request": {
2078
+ "operation": "ModifyVolumeAttribute",
2079
+ "params": [
2080
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2081
+ ]
2082
+ }
2083
+ }
2084
+ },
2085
+ "hasMany": {
2086
+ "Snapshots": {
2087
+ "request": {
2088
+ "operation": "DescribeSnapshots",
2089
+ "params": [
2090
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
2091
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2092
+ ]
2093
+ },
2094
+ "resource": {
2095
+ "type": "Snapshot",
2096
+ "identifiers": [
2097
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
2098
+ ],
2099
+ "path": "Snapshots[]"
2100
+ }
2101
+ }
2102
+ }
2103
+ },
2104
+ "Vpc": {
2105
+ "identifiers": [
2106
+ {
2107
+ "name": "Id",
2108
+ "memberName": "VpcId"
2109
+ }
2110
+ ],
2111
+ "shape": "Vpc",
2112
+ "load": {
2113
+ "request": {
2114
+ "operation": "DescribeVpcs",
2115
+ "params": [
2116
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
2117
+ ]
2118
+ },
2119
+ "path": "Vpcs[0]"
2120
+ },
2121
+ "actions": {
2122
+ "AssociateDhcpOptions": {
2123
+ "request": {
2124
+ "operation": "AssociateDhcpOptions",
2125
+ "params": [
2126
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2127
+ ]
2128
+ }
2129
+ },
2130
+ "AttachClassicLinkInstance": {
2131
+ "request": {
2132
+ "operation": "AttachClassicLinkVpc",
2133
+ "params": [
2134
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2135
+ ]
2136
+ }
2137
+ },
2138
+ "AttachInternetGateway": {
2139
+ "request": {
2140
+ "operation": "AttachInternetGateway",
2141
+ "params": [
2142
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2143
+ ]
2144
+ }
2145
+ },
2146
+ "CreateNetworkAcl": {
2147
+ "request": {
2148
+ "operation": "CreateNetworkAcl",
2149
+ "params": [
2150
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2151
+ ]
2152
+ },
2153
+ "resource": {
2154
+ "type": "NetworkAcl",
2155
+ "identifiers": [
2156
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
2157
+ ],
2158
+ "path": "NetworkAcl"
2159
+ }
2160
+ },
2161
+ "CreateRouteTable": {
2162
+ "request": {
2163
+ "operation": "CreateRouteTable",
2164
+ "params": [
2165
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2166
+ ]
2167
+ },
2168
+ "resource": {
2169
+ "type": "RouteTable",
2170
+ "identifiers": [
2171
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
2172
+ ],
2173
+ "path": "RouteTable"
2174
+ }
2175
+ },
2176
+ "CreateSecurityGroup": {
2177
+ "request": {
2178
+ "operation": "CreateSecurityGroup",
2179
+ "params": [
2180
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2181
+ ]
2182
+ },
2183
+ "resource": {
2184
+ "type": "SecurityGroup",
2185
+ "identifiers": [
2186
+ { "target": "Id", "source": "response", "path": "GroupId" }
2187
+ ]
2188
+ }
2189
+ },
2190
+ "CreateSubnet": {
2191
+ "request": {
2192
+ "operation": "CreateSubnet",
2193
+ "params": [
2194
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2195
+ ]
2196
+ },
2197
+ "resource": {
2198
+ "type": "Subnet",
2199
+ "identifiers": [
2200
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
2201
+ ],
2202
+ "path": "Subnet"
2203
+ }
2204
+ },
2205
+ "CreateTags": {
2206
+ "request": {
2207
+ "operation": "CreateTags",
2208
+ "params": [
2209
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
2210
+ ]
2211
+ },
2212
+ "resource": {
2213
+ "type": "Tag",
2214
+ "identifiers": [
2215
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
2216
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
2217
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
2218
+ ]
2219
+ }
2220
+ },
2221
+ "Delete": {
2222
+ "request": {
2223
+ "operation": "DeleteVpc",
2224
+ "params": [
2225
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2226
+ ]
2227
+ }
2228
+ },
2229
+ "DescribeAttribute": {
2230
+ "request": {
2231
+ "operation": "DescribeVpcAttribute",
2232
+ "params": [
2233
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2234
+ ]
2235
+ }
2236
+ },
2237
+ "DetachClassicLinkInstance": {
2238
+ "request": {
2239
+ "operation": "DetachClassicLinkVpc",
2240
+ "params": [
2241
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2242
+ ]
2243
+ }
2244
+ },
2245
+ "DetachInternetGateway": {
2246
+ "request": {
2247
+ "operation": "DetachInternetGateway",
2248
+ "params": [
2249
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2250
+ ]
2251
+ }
2252
+ },
2253
+ "DisableClassicLink": {
2254
+ "request": {
2255
+ "operation": "DisableVpcClassicLink",
2256
+ "params": [
2257
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2258
+ ]
2259
+ }
2260
+ },
2261
+ "EnableClassicLink": {
2262
+ "request": {
2263
+ "operation": "EnableVpcClassicLink",
2264
+ "params": [
2265
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2266
+ ]
2267
+ }
2268
+ },
2269
+ "ModifyAttribute": {
2270
+ "request": {
2271
+ "operation": "ModifyVpcAttribute",
2272
+ "params": [
2273
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2274
+ ]
2275
+ }
2276
+ },
2277
+ "RequestVpcPeeringConnection": {
2278
+ "request": {
2279
+ "operation": "CreateVpcPeeringConnection",
2280
+ "params": [
2281
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2282
+ ]
2283
+ },
2284
+ "resource": {
2285
+ "type": "VpcPeeringConnection",
2286
+ "identifiers": [
2287
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
2288
+ ],
2289
+ "path": "VpcPeeringConnection"
2290
+ }
2291
+ }
2292
+ },
2293
+ "has": {
2294
+ "DhcpOptions": {
2295
+ "resource": {
2296
+ "type": "DhcpOptions",
2297
+ "identifiers": [
2298
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
2299
+ ]
2300
+ }
2301
+ }
2302
+ },
2303
+ "hasMany": {
2304
+ "AcceptedVpcPeeringConnections": {
2305
+ "request": {
2306
+ "operation": "DescribeVpcPeeringConnections",
2307
+ "params": [
2308
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
2309
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2310
+ ]
2311
+ },
2312
+ "resource": {
2313
+ "type": "VpcPeeringConnection",
2314
+ "identifiers": [
2315
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2316
+ ],
2317
+ "path": "VpcPeeringConnections[]"
2318
+ }
2319
+ },
2320
+ "Instances": {
2321
+ "request": {
2322
+ "operation": "DescribeInstances",
2323
+ "params": [
2324
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2325
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2326
+ ]
2327
+ },
2328
+ "resource": {
2329
+ "type": "Instance",
2330
+ "identifiers": [
2331
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
2332
+ ],
2333
+ "path": "Reservations[].Instances[]"
2334
+ }
2335
+ },
2336
+ "InternetGateways": {
2337
+ "request": {
2338
+ "operation": "DescribeInternetGateways",
2339
+ "params": [
2340
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
2341
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2342
+ ]
2343
+ },
2344
+ "resource": {
2345
+ "type": "InternetGateway",
2346
+ "identifiers": [
2347
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
2348
+ ],
2349
+ "path": "InternetGateways[]"
2350
+ }
2351
+ },
2352
+ "NetworkAcls": {
2353
+ "request": {
2354
+ "operation": "DescribeNetworkAcls",
2355
+ "params": [
2356
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2357
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2358
+ ]
2359
+ },
2360
+ "resource": {
2361
+ "type": "NetworkAcl",
2362
+ "identifiers": [
2363
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
2364
+ ],
2365
+ "path": "NetworkAcls[]"
2366
+ }
2367
+ },
2368
+ "NetworkInterfaces": {
2369
+ "request": {
2370
+ "operation": "DescribeNetworkInterfaces",
2371
+ "params": [
2372
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2373
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2374
+ ]
2375
+ },
2376
+ "resource": {
2377
+ "type": "NetworkInterface",
2378
+ "identifiers": [
2379
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
2380
+ ],
2381
+ "path": "NetworkInterfaces[]"
2382
+ }
2383
+ },
2384
+ "RequestedVpcPeeringConnections": {
2385
+ "request": {
2386
+ "operation": "DescribeVpcPeeringConnections",
2387
+ "params": [
2388
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
2389
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2390
+ ]
2391
+ },
2392
+ "resource": {
2393
+ "type": "VpcPeeringConnection",
2394
+ "identifiers": [
2395
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2396
+ ],
2397
+ "path": "VpcPeeringConnections[]"
2398
+ }
2399
+ },
2400
+ "RouteTables": {
2401
+ "request": {
2402
+ "operation": "DescribeRouteTables",
2403
+ "params": [
2404
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2405
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2406
+ ]
2407
+ },
2408
+ "resource": {
2409
+ "type": "RouteTable",
2410
+ "identifiers": [
2411
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
2412
+ ],
2413
+ "path": "RouteTables[]"
2414
+ }
2415
+ },
2416
+ "SecurityGroups": {
2417
+ "request": {
2418
+ "operation": "DescribeSecurityGroups",
2419
+ "params": [
2420
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2421
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2422
+ ]
2423
+ },
2424
+ "resource": {
2425
+ "type": "SecurityGroup",
2426
+ "identifiers": [
2427
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
2428
+ ],
2429
+ "path": "SecurityGroups[]"
2430
+ }
2431
+ },
2432
+ "Subnets": {
2433
+ "request": {
2434
+ "operation": "DescribeSubnets",
2435
+ "params": [
2436
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2437
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2438
+ ]
2439
+ },
2440
+ "resource": {
2441
+ "type": "Subnet",
2442
+ "identifiers": [
2443
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
2444
+ ],
2445
+ "path": "Subnets[]"
2446
+ }
2447
+ }
2448
+ }
2449
+ },
2450
+ "VpcPeeringConnection": {
2451
+ "identifiers": [
2452
+ {
2453
+ "name": "Id",
2454
+ "memberName": "VpcPeeringConnectionId"
2455
+ }
2456
+ ],
2457
+ "shape": "VpcPeeringConnection",
2458
+ "load": {
2459
+ "request": {
2460
+ "operation": "DescribeVpcPeeringConnections",
2461
+ "params": [
2462
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
2463
+ ]
2464
+ },
2465
+ "path": "VpcPeeringConnections[0]"
2466
+ },
2467
+ "actions": {
2468
+ "Accept": {
2469
+ "request": {
2470
+ "operation": "AcceptVpcPeeringConnection",
2471
+ "params": [
2472
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2473
+ ]
2474
+ }
2475
+ },
2476
+ "Delete": {
2477
+ "request": {
2478
+ "operation": "DeleteVpcPeeringConnection",
2479
+ "params": [
2480
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2481
+ ]
2482
+ }
2483
+ },
2484
+ "Reject": {
2485
+ "request": {
2486
+ "operation": "RejectVpcPeeringConnection",
2487
+ "params": [
2488
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2489
+ ]
2490
+ }
2491
+ }
2492
+ },
2493
+ "waiters": {
2494
+ "Exists": {
2495
+ "waiterName": "VpcPeeringConnectionExists",
2496
+ "params": [
2497
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
2498
+ ],
2499
+ "path": "VpcPeeringConnections[0]"
2500
+ }
2501
+ },
2502
+ "has": {
2503
+ "AccepterVpc": {
2504
+ "resource": {
2505
+ "type": "Vpc",
2506
+ "identifiers": [
2507
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
2508
+ ]
2509
+ }
2510
+ },
2511
+ "RequesterVpc": {
2512
+ "resource": {
2513
+ "type": "Vpc",
2514
+ "identifiers": [
2515
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
2516
+ ]
2517
+ }
2518
+ }
2519
+ }
2520
+ },
2521
+ "VpcAddress": {
2522
+ "identifiers": [
2523
+ {
2524
+ "name": "AllocationId"
2525
+ }
2526
+ ],
2527
+ "shape": "Address",
2528
+ "load": {
2529
+ "request": {
2530
+ "operation": "DescribeAddresses",
2531
+ "params": [
2532
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
2533
+ ]
2534
+ },
2535
+ "path": "Addresses[0]"
2536
+ },
2537
+ "actions": {
2538
+ "Associate": {
2539
+ "request": {
2540
+ "operation": "AssociateAddress",
2541
+ "params": [
2542
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
2543
+ ]
2544
+ }
2545
+ },
2546
+ "Release": {
2547
+ "request": {
2548
+ "operation": "ReleaseAddress",
2549
+ "params": [
2550
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
2551
+ ]
2552
+ }
2553
+ }
2554
+ },
2555
+ "has": {
2556
+ "Association": {
2557
+ "resource": {
2558
+ "type": "NetworkInterfaceAssociation",
2559
+ "identifiers": [
2560
+ { "target": "Id", "source": "data", "path": "AssociationId" }
2561
+ ]
2562
+ }
2563
+ }
2564
+ }
2565
+ }
2566
+ }
2567
+ }
env/Lib/site-packages/boto3/data/ec2/2016-09-15/resources-1.json ADDED
@@ -0,0 +1,2567 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateDhcpOptions": {
5
+ "request": { "operation": "CreateDhcpOptions" },
6
+ "resource": {
7
+ "type": "DhcpOptions",
8
+ "identifiers": [
9
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
10
+ ],
11
+ "path": "DhcpOptions"
12
+ }
13
+ },
14
+ "CreateInstances": {
15
+ "request": { "operation": "RunInstances" },
16
+ "resource": {
17
+ "type": "Instance",
18
+ "identifiers": [
19
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
20
+ ],
21
+ "path": "Instances[]"
22
+ }
23
+ },
24
+ "CreateInternetGateway": {
25
+ "request": { "operation": "CreateInternetGateway" },
26
+ "resource": {
27
+ "type": "InternetGateway",
28
+ "identifiers": [
29
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
30
+ ],
31
+ "path": "InternetGateway"
32
+ }
33
+ },
34
+ "CreateKeyPair": {
35
+ "request": { "operation": "CreateKeyPair" },
36
+ "resource": {
37
+ "type": "KeyPair",
38
+ "identifiers": [
39
+ { "target": "Name", "source": "response", "path": "KeyName" }
40
+ ],
41
+ "path": "@"
42
+ }
43
+ },
44
+ "CreateNetworkAcl": {
45
+ "request": { "operation": "CreateNetworkAcl" },
46
+ "resource": {
47
+ "type": "NetworkAcl",
48
+ "identifiers": [
49
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
50
+ ],
51
+ "path": "NetworkAcl"
52
+ }
53
+ },
54
+ "CreateNetworkInterface": {
55
+ "request": { "operation": "CreateNetworkInterface" },
56
+ "resource": {
57
+ "type": "NetworkInterface",
58
+ "identifiers": [
59
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
60
+ ],
61
+ "path": "NetworkInterface"
62
+ }
63
+ },
64
+ "CreatePlacementGroup": {
65
+ "request": { "operation": "CreatePlacementGroup" },
66
+ "resource": {
67
+ "type": "PlacementGroup",
68
+ "identifiers": [
69
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
70
+ ]
71
+ }
72
+ },
73
+ "CreateRouteTable": {
74
+ "request": { "operation": "CreateRouteTable" },
75
+ "resource": {
76
+ "type": "RouteTable",
77
+ "identifiers": [
78
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
79
+ ],
80
+ "path": "RouteTable"
81
+ }
82
+ },
83
+ "CreateSecurityGroup": {
84
+ "request": { "operation": "CreateSecurityGroup" },
85
+ "resource": {
86
+ "type": "SecurityGroup",
87
+ "identifiers": [
88
+ { "target": "Id", "source": "response", "path": "GroupId" }
89
+ ]
90
+ }
91
+ },
92
+ "CreateSnapshot": {
93
+ "request": { "operation": "CreateSnapshot" },
94
+ "resource": {
95
+ "type": "Snapshot",
96
+ "identifiers": [
97
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
98
+ ],
99
+ "path": "@"
100
+ }
101
+ },
102
+ "CreateSubnet": {
103
+ "request": { "operation": "CreateSubnet" },
104
+ "resource": {
105
+ "type": "Subnet",
106
+ "identifiers": [
107
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
108
+ ],
109
+ "path": "Subnet"
110
+ }
111
+ },
112
+ "CreateTags": {
113
+ "request": { "operation": "CreateTags" }
114
+ },
115
+ "CreateVolume": {
116
+ "request": { "operation": "CreateVolume" },
117
+ "resource": {
118
+ "type": "Volume",
119
+ "identifiers": [
120
+ { "target": "Id", "source": "response", "path": "VolumeId" }
121
+ ],
122
+ "path": "@"
123
+ }
124
+ },
125
+ "CreateVpc": {
126
+ "request": { "operation": "CreateVpc" },
127
+ "resource": {
128
+ "type": "Vpc",
129
+ "identifiers": [
130
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
131
+ ],
132
+ "path": "Vpc"
133
+ }
134
+ },
135
+ "CreateVpcPeeringConnection": {
136
+ "request": { "operation": "CreateVpcPeeringConnection" },
137
+ "resource": {
138
+ "type": "VpcPeeringConnection",
139
+ "identifiers": [
140
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
141
+ ],
142
+ "path": "VpcPeeringConnection"
143
+ }
144
+ },
145
+ "DisassociateRouteTable": {
146
+ "request": { "operation": "DisassociateRouteTable" }
147
+ },
148
+ "ImportKeyPair": {
149
+ "request": { "operation": "ImportKeyPair" },
150
+ "resource": {
151
+ "type": "KeyPairInfo",
152
+ "identifiers": [
153
+ { "target": "Name", "source": "response", "path": "KeyName" }
154
+ ]
155
+ }
156
+ },
157
+ "RegisterImage": {
158
+ "request": { "operation": "RegisterImage" },
159
+ "resource": {
160
+ "type": "Image",
161
+ "identifiers": [
162
+ { "target": "Id", "source": "response", "path": "ImageId" }
163
+ ]
164
+ }
165
+ }
166
+ },
167
+ "has": {
168
+ "DhcpOptions": {
169
+ "resource": {
170
+ "type": "DhcpOptions",
171
+ "identifiers": [
172
+ { "target": "Id", "source": "input" }
173
+ ]
174
+ }
175
+ },
176
+ "Image": {
177
+ "resource": {
178
+ "type": "Image",
179
+ "identifiers": [
180
+ { "target": "Id", "source": "input" }
181
+ ]
182
+ }
183
+ },
184
+ "Instance": {
185
+ "resource": {
186
+ "type": "Instance",
187
+ "identifiers": [
188
+ { "target": "Id", "source": "input" }
189
+ ]
190
+ }
191
+ },
192
+ "InternetGateway": {
193
+ "resource": {
194
+ "type": "InternetGateway",
195
+ "identifiers": [
196
+ { "target": "Id", "source": "input" }
197
+ ]
198
+ }
199
+ },
200
+ "KeyPair": {
201
+ "resource": {
202
+ "type": "KeyPairInfo",
203
+ "identifiers": [
204
+ { "target": "Name", "source": "input" }
205
+ ]
206
+ }
207
+ },
208
+ "NetworkAcl": {
209
+ "resource": {
210
+ "type": "NetworkAcl",
211
+ "identifiers": [
212
+ { "target": "Id", "source": "input" }
213
+ ]
214
+ }
215
+ },
216
+ "NetworkInterface": {
217
+ "resource": {
218
+ "type": "NetworkInterface",
219
+ "identifiers": [
220
+ { "target": "Id", "source": "input" }
221
+ ]
222
+ }
223
+ },
224
+ "PlacementGroup": {
225
+ "resource": {
226
+ "type": "PlacementGroup",
227
+ "identifiers": [
228
+ { "target": "Name", "source": "input" }
229
+ ]
230
+ }
231
+ },
232
+ "RouteTable": {
233
+ "resource": {
234
+ "type": "RouteTable",
235
+ "identifiers": [
236
+ { "target": "Id", "source": "input" }
237
+ ]
238
+ }
239
+ },
240
+ "RouteTableAssociation": {
241
+ "resource": {
242
+ "type": "RouteTableAssociation",
243
+ "identifiers": [
244
+ { "target": "Id", "source": "input" }
245
+ ]
246
+ }
247
+ },
248
+ "SecurityGroup": {
249
+ "resource": {
250
+ "type": "SecurityGroup",
251
+ "identifiers": [
252
+ { "target": "Id", "source": "input" }
253
+ ]
254
+ }
255
+ },
256
+ "Snapshot": {
257
+ "resource": {
258
+ "type": "Snapshot",
259
+ "identifiers": [
260
+ { "target": "Id", "source": "input" }
261
+ ]
262
+ }
263
+ },
264
+ "Subnet": {
265
+ "resource": {
266
+ "type": "Subnet",
267
+ "identifiers": [
268
+ { "target": "Id", "source": "input" }
269
+ ]
270
+ }
271
+ },
272
+ "Volume": {
273
+ "resource": {
274
+ "type": "Volume",
275
+ "identifiers": [
276
+ { "target": "Id", "source": "input" }
277
+ ]
278
+ }
279
+ },
280
+ "Vpc": {
281
+ "resource": {
282
+ "type": "Vpc",
283
+ "identifiers": [
284
+ { "target": "Id", "source": "input" }
285
+ ]
286
+ }
287
+ },
288
+ "VpcPeeringConnection": {
289
+ "resource": {
290
+ "type": "VpcPeeringConnection",
291
+ "identifiers": [
292
+ { "target": "Id", "source": "input" }
293
+ ]
294
+ }
295
+ }
296
+ },
297
+ "hasMany": {
298
+ "ClassicAddresses": {
299
+ "request": {
300
+ "operation": "DescribeAddresses",
301
+ "params": [
302
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
303
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
304
+ ]
305
+ },
306
+ "resource": {
307
+ "type": "ClassicAddress",
308
+ "identifiers": [
309
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
310
+ ],
311
+ "path": "Addresses[]"
312
+ }
313
+ },
314
+ "DhcpOptionsSets": {
315
+ "request": { "operation": "DescribeDhcpOptions" },
316
+ "resource": {
317
+ "type": "DhcpOptions",
318
+ "identifiers": [
319
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
320
+ ],
321
+ "path": "DhcpOptions[]"
322
+ }
323
+ },
324
+ "Images": {
325
+ "request": { "operation": "DescribeImages" },
326
+ "resource": {
327
+ "type": "Image",
328
+ "identifiers": [
329
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
330
+ ],
331
+ "path": "Images[]"
332
+ }
333
+ },
334
+ "Instances": {
335
+ "request": { "operation": "DescribeInstances" },
336
+ "resource": {
337
+ "type": "Instance",
338
+ "identifiers": [
339
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
340
+ ],
341
+ "path": "Reservations[].Instances[]"
342
+ }
343
+ },
344
+ "InternetGateways": {
345
+ "request": { "operation": "DescribeInternetGateways" },
346
+ "resource": {
347
+ "type": "InternetGateway",
348
+ "identifiers": [
349
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
350
+ ],
351
+ "path": "InternetGateways[]"
352
+ }
353
+ },
354
+ "KeyPairs": {
355
+ "request": { "operation": "DescribeKeyPairs" },
356
+ "resource": {
357
+ "type": "KeyPairInfo",
358
+ "identifiers": [
359
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
360
+ ],
361
+ "path": "KeyPairs[]"
362
+ }
363
+ },
364
+ "NetworkAcls": {
365
+ "request": { "operation": "DescribeNetworkAcls" },
366
+ "resource": {
367
+ "type": "NetworkAcl",
368
+ "identifiers": [
369
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
370
+ ],
371
+ "path": "NetworkAcls[]"
372
+ }
373
+ },
374
+ "NetworkInterfaces": {
375
+ "request": { "operation": "DescribeNetworkInterfaces" },
376
+ "resource": {
377
+ "type": "NetworkInterface",
378
+ "identifiers": [
379
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
380
+ ],
381
+ "path": "NetworkInterfaces[]"
382
+ }
383
+ },
384
+ "PlacementGroups": {
385
+ "request": { "operation": "DescribePlacementGroups" },
386
+ "resource": {
387
+ "type": "PlacementGroup",
388
+ "identifiers": [
389
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
390
+ ],
391
+ "path": "PlacementGroups[]"
392
+ }
393
+ },
394
+ "RouteTables": {
395
+ "request": { "operation": "DescribeRouteTables" },
396
+ "resource": {
397
+ "type": "RouteTable",
398
+ "identifiers": [
399
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
400
+ ],
401
+ "path": "RouteTables[]"
402
+ }
403
+ },
404
+ "SecurityGroups": {
405
+ "request": { "operation": "DescribeSecurityGroups" },
406
+ "resource": {
407
+ "type": "SecurityGroup",
408
+ "identifiers": [
409
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
410
+ ],
411
+ "path": "SecurityGroups[]"
412
+ }
413
+ },
414
+ "Snapshots": {
415
+ "request": { "operation": "DescribeSnapshots" },
416
+ "resource": {
417
+ "type": "Snapshot",
418
+ "identifiers": [
419
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
420
+ ],
421
+ "path": "Snapshots[]"
422
+ }
423
+ },
424
+ "Subnets": {
425
+ "request": { "operation": "DescribeSubnets" },
426
+ "resource": {
427
+ "type": "Subnet",
428
+ "identifiers": [
429
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
430
+ ],
431
+ "path": "Subnets[]"
432
+ }
433
+ },
434
+ "Volumes": {
435
+ "request": { "operation": "DescribeVolumes" },
436
+ "resource": {
437
+ "type": "Volume",
438
+ "identifiers": [
439
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
440
+ ],
441
+ "path": "Volumes[]"
442
+ }
443
+ },
444
+ "VpcAddresses": {
445
+ "request": {
446
+ "operation": "DescribeAddresses",
447
+ "params": [
448
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
449
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
450
+ ]
451
+ },
452
+ "resource": {
453
+ "type": "VpcAddress",
454
+ "identifiers": [
455
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
456
+ ],
457
+ "path": "Addresses[]"
458
+ }
459
+ },
460
+ "VpcPeeringConnections": {
461
+ "request": { "operation": "DescribeVpcPeeringConnections" },
462
+ "resource": {
463
+ "type": "VpcPeeringConnection",
464
+ "identifiers": [
465
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
466
+ ],
467
+ "path": "VpcPeeringConnections[]"
468
+ }
469
+ },
470
+ "Vpcs": {
471
+ "request": { "operation": "DescribeVpcs" },
472
+ "resource": {
473
+ "type": "Vpc",
474
+ "identifiers": [
475
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
476
+ ],
477
+ "path": "Vpcs[]"
478
+ }
479
+ }
480
+ }
481
+ },
482
+ "resources": {
483
+ "ClassicAddress": {
484
+ "identifiers": [
485
+ {
486
+ "name": "PublicIp"
487
+ }
488
+ ],
489
+ "shape": "Address",
490
+ "load": {
491
+ "request": {
492
+ "operation": "DescribeAddresses",
493
+ "params": [
494
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
495
+ ]
496
+ },
497
+ "path": "Addresses[0]"
498
+ },
499
+ "actions": {
500
+ "Associate": {
501
+ "request": {
502
+ "operation": "AssociateAddress",
503
+ "params": [
504
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
505
+ ]
506
+ }
507
+ },
508
+ "Disassociate": {
509
+ "request": {
510
+ "operation": "DisassociateAddress",
511
+ "params": [
512
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
513
+ ]
514
+ }
515
+ },
516
+ "Release": {
517
+ "request": {
518
+ "operation": "ReleaseAddress",
519
+ "params": [
520
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
521
+ ]
522
+ }
523
+ }
524
+ }
525
+ },
526
+ "DhcpOptions": {
527
+ "identifiers": [
528
+ {
529
+ "name": "Id",
530
+ "memberName": "DhcpOptionsId"
531
+ }
532
+ ],
533
+ "shape": "DhcpOptions",
534
+ "load": {
535
+ "request": {
536
+ "operation": "DescribeDhcpOptions",
537
+ "params": [
538
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
539
+ ]
540
+ },
541
+ "path": "DhcpOptions[0]"
542
+ },
543
+ "actions": {
544
+ "AssociateWithVpc": {
545
+ "request": {
546
+ "operation": "AssociateDhcpOptions",
547
+ "params": [
548
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
549
+ ]
550
+ }
551
+ },
552
+ "CreateTags": {
553
+ "request": {
554
+ "operation": "CreateTags",
555
+ "params": [
556
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
557
+ ]
558
+ },
559
+ "resource": {
560
+ "type": "Tag",
561
+ "identifiers": [
562
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
563
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
564
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
565
+ ]
566
+ }
567
+ },
568
+ "Delete": {
569
+ "request": {
570
+ "operation": "DeleteDhcpOptions",
571
+ "params": [
572
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
573
+ ]
574
+ }
575
+ }
576
+ }
577
+ },
578
+ "Image": {
579
+ "identifiers": [
580
+ {
581
+ "name": "Id",
582
+ "memberName": "ImageId"
583
+ }
584
+ ],
585
+ "shape": "Image",
586
+ "load": {
587
+ "request": {
588
+ "operation": "DescribeImages",
589
+ "params": [
590
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
591
+ ]
592
+ },
593
+ "path": "Images[0]"
594
+ },
595
+ "actions": {
596
+ "CreateTags": {
597
+ "request": {
598
+ "operation": "CreateTags",
599
+ "params": [
600
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
601
+ ]
602
+ },
603
+ "resource": {
604
+ "type": "Tag",
605
+ "identifiers": [
606
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
607
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
608
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
609
+ ]
610
+ }
611
+ },
612
+ "Deregister": {
613
+ "request": {
614
+ "operation": "DeregisterImage",
615
+ "params": [
616
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
617
+ ]
618
+ }
619
+ },
620
+ "DescribeAttribute": {
621
+ "request": {
622
+ "operation": "DescribeImageAttribute",
623
+ "params": [
624
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
625
+ ]
626
+ }
627
+ },
628
+ "ModifyAttribute": {
629
+ "request": {
630
+ "operation": "ModifyImageAttribute",
631
+ "params": [
632
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
633
+ ]
634
+ }
635
+ },
636
+ "ResetAttribute": {
637
+ "request": {
638
+ "operation": "ResetImageAttribute",
639
+ "params": [
640
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
641
+ ]
642
+ }
643
+ }
644
+ }
645
+ },
646
+ "Instance": {
647
+ "identifiers": [
648
+ {
649
+ "name": "Id",
650
+ "memberName": "InstanceId"
651
+ }
652
+ ],
653
+ "shape": "Instance",
654
+ "load": {
655
+ "request": {
656
+ "operation": "DescribeInstances",
657
+ "params": [
658
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
659
+ ]
660
+ },
661
+ "path": "Reservations[0].Instances[0]"
662
+ },
663
+ "actions": {
664
+ "AttachClassicLinkVpc": {
665
+ "request": {
666
+ "operation": "AttachClassicLinkVpc",
667
+ "params": [
668
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
669
+ ]
670
+ }
671
+ },
672
+ "AttachVolume": {
673
+ "request": {
674
+ "operation": "AttachVolume",
675
+ "params": [
676
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
677
+ ]
678
+ }
679
+ },
680
+ "ConsoleOutput": {
681
+ "request": {
682
+ "operation": "GetConsoleOutput",
683
+ "params": [
684
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
685
+ ]
686
+ }
687
+ },
688
+ "CreateImage": {
689
+ "request": {
690
+ "operation": "CreateImage",
691
+ "params": [
692
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
693
+ ]
694
+ },
695
+ "resource": {
696
+ "type": "Image",
697
+ "identifiers": [
698
+ { "target": "Id", "source": "response", "path": "ImageId" }
699
+ ]
700
+ }
701
+ },
702
+ "CreateTags": {
703
+ "request": {
704
+ "operation": "CreateTags",
705
+ "params": [
706
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
707
+ ]
708
+ },
709
+ "resource": {
710
+ "type": "Tag",
711
+ "identifiers": [
712
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
713
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
714
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
715
+ ]
716
+ }
717
+ },
718
+ "DescribeAttribute": {
719
+ "request": {
720
+ "operation": "DescribeInstanceAttribute",
721
+ "params": [
722
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
723
+ ]
724
+ }
725
+ },
726
+ "DetachClassicLinkVpc": {
727
+ "request": {
728
+ "operation": "DetachClassicLinkVpc",
729
+ "params": [
730
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
731
+ ]
732
+ }
733
+ },
734
+ "DetachVolume": {
735
+ "request": {
736
+ "operation": "DetachVolume",
737
+ "params": [
738
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
739
+ ]
740
+ }
741
+ },
742
+ "ModifyAttribute": {
743
+ "request": {
744
+ "operation": "ModifyInstanceAttribute",
745
+ "params": [
746
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
747
+ ]
748
+ }
749
+ },
750
+ "Monitor": {
751
+ "request": {
752
+ "operation": "MonitorInstances",
753
+ "params": [
754
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
755
+ ]
756
+ }
757
+ },
758
+ "PasswordData": {
759
+ "request": {
760
+ "operation": "GetPasswordData",
761
+ "params": [
762
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
763
+ ]
764
+ }
765
+ },
766
+ "Reboot": {
767
+ "request": {
768
+ "operation": "RebootInstances",
769
+ "params": [
770
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
771
+ ]
772
+ }
773
+ },
774
+ "ReportStatus": {
775
+ "request": {
776
+ "operation": "ReportInstanceStatus",
777
+ "params": [
778
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
779
+ ]
780
+ }
781
+ },
782
+ "ResetAttribute": {
783
+ "request": {
784
+ "operation": "ResetInstanceAttribute",
785
+ "params": [
786
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
787
+ ]
788
+ }
789
+ },
790
+ "ResetKernel": {
791
+ "request": {
792
+ "operation": "ResetInstanceAttribute",
793
+ "params": [
794
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
795
+ { "target": "Attribute", "source": "string", "value": "kernel" }
796
+ ]
797
+ }
798
+ },
799
+ "ResetRamdisk": {
800
+ "request": {
801
+ "operation": "ResetInstanceAttribute",
802
+ "params": [
803
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
804
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
805
+ ]
806
+ }
807
+ },
808
+ "ResetSourceDestCheck": {
809
+ "request": {
810
+ "operation": "ResetInstanceAttribute",
811
+ "params": [
812
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
813
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
814
+ ]
815
+ }
816
+ },
817
+ "Start": {
818
+ "request": {
819
+ "operation": "StartInstances",
820
+ "params": [
821
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
822
+ ]
823
+ }
824
+ },
825
+ "Stop": {
826
+ "request": {
827
+ "operation": "StopInstances",
828
+ "params": [
829
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
830
+ ]
831
+ }
832
+ },
833
+ "Terminate": {
834
+ "request": {
835
+ "operation": "TerminateInstances",
836
+ "params": [
837
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
838
+ ]
839
+ }
840
+ },
841
+ "Unmonitor": {
842
+ "request": {
843
+ "operation": "UnmonitorInstances",
844
+ "params": [
845
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
846
+ ]
847
+ }
848
+ }
849
+ },
850
+ "batchActions": {
851
+ "CreateTags": {
852
+ "request": {
853
+ "operation": "CreateTags",
854
+ "params": [
855
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
856
+ ]
857
+ }
858
+ },
859
+ "Monitor": {
860
+ "request": {
861
+ "operation": "MonitorInstances",
862
+ "params": [
863
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
864
+ ]
865
+ }
866
+ },
867
+ "Reboot": {
868
+ "request": {
869
+ "operation": "RebootInstances",
870
+ "params": [
871
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
872
+ ]
873
+ }
874
+ },
875
+ "Start": {
876
+ "request": {
877
+ "operation": "StartInstances",
878
+ "params": [
879
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
880
+ ]
881
+ }
882
+ },
883
+ "Stop": {
884
+ "request": {
885
+ "operation": "StopInstances",
886
+ "params": [
887
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
888
+ ]
889
+ }
890
+ },
891
+ "Terminate": {
892
+ "request": {
893
+ "operation": "TerminateInstances",
894
+ "params": [
895
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
896
+ ]
897
+ }
898
+ },
899
+ "Unmonitor": {
900
+ "request": {
901
+ "operation": "UnmonitorInstances",
902
+ "params": [
903
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
904
+ ]
905
+ }
906
+ }
907
+ },
908
+ "waiters": {
909
+ "Exists": {
910
+ "waiterName": "InstanceExists",
911
+ "params": [
912
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
913
+ ],
914
+ "path": "Reservations[0].Instances[0]"
915
+ },
916
+ "Running": {
917
+ "waiterName": "InstanceRunning",
918
+ "params": [
919
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
920
+ ],
921
+ "path": "Reservations[0].Instances[0]"
922
+ },
923
+ "Stopped": {
924
+ "waiterName": "InstanceStopped",
925
+ "params": [
926
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
927
+ ],
928
+ "path": "Reservations[0].Instances[0]"
929
+ },
930
+ "Terminated": {
931
+ "waiterName": "InstanceTerminated",
932
+ "params": [
933
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
934
+ ],
935
+ "path": "Reservations[0].Instances[0]"
936
+ }
937
+ },
938
+ "has": {
939
+ "ClassicAddress": {
940
+ "resource": {
941
+ "type": "ClassicAddress",
942
+ "identifiers": [
943
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
944
+ ]
945
+ }
946
+ },
947
+ "Image": {
948
+ "resource": {
949
+ "type": "Image",
950
+ "identifiers": [
951
+ { "target": "Id", "source": "data", "path": "ImageId" }
952
+ ]
953
+ }
954
+ },
955
+ "KeyPair": {
956
+ "resource": {
957
+ "type": "KeyPairInfo",
958
+ "identifiers": [
959
+ { "target": "Name", "source": "data", "path": "KeyName" }
960
+ ]
961
+ }
962
+ },
963
+ "NetworkInterfaces": {
964
+ "resource": {
965
+ "type": "NetworkInterface",
966
+ "identifiers": [
967
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
968
+ ],
969
+ "path": "NetworkInterfaces[]"
970
+ }
971
+ },
972
+ "PlacementGroup": {
973
+ "resource": {
974
+ "type": "PlacementGroup",
975
+ "identifiers": [
976
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
977
+ ]
978
+ }
979
+ },
980
+ "Subnet": {
981
+ "resource": {
982
+ "type": "Subnet",
983
+ "identifiers": [
984
+ { "target": "Id", "source": "data", "path": "SubnetId" }
985
+ ]
986
+ }
987
+ },
988
+ "Vpc": {
989
+ "resource": {
990
+ "type": "Vpc",
991
+ "identifiers": [
992
+ { "target": "Id", "source": "data", "path": "VpcId" }
993
+ ]
994
+ }
995
+ }
996
+ },
997
+ "hasMany": {
998
+ "Volumes": {
999
+ "request": {
1000
+ "operation": "DescribeVolumes",
1001
+ "params": [
1002
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
1003
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1004
+ ]
1005
+ },
1006
+ "resource": {
1007
+ "type": "Volume",
1008
+ "identifiers": [
1009
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
1010
+ ],
1011
+ "path": "Volumes[]"
1012
+ }
1013
+ },
1014
+ "VpcAddresses": {
1015
+ "request": {
1016
+ "operation": "DescribeAddresses",
1017
+ "params": [
1018
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
1019
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1020
+ ]
1021
+ },
1022
+ "resource": {
1023
+ "type": "VpcAddress",
1024
+ "identifiers": [
1025
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
1026
+ ],
1027
+ "path": "Addresses[]"
1028
+ }
1029
+ }
1030
+ }
1031
+ },
1032
+ "InternetGateway": {
1033
+ "identifiers": [
1034
+ {
1035
+ "name": "Id",
1036
+ "memberName": "InternetGatewayId"
1037
+ }
1038
+ ],
1039
+ "shape": "InternetGateway",
1040
+ "load": {
1041
+ "request": {
1042
+ "operation": "DescribeInternetGateways",
1043
+ "params": [
1044
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
1045
+ ]
1046
+ },
1047
+ "path": "InternetGateways[0]"
1048
+ },
1049
+ "actions": {
1050
+ "AttachToVpc": {
1051
+ "request": {
1052
+ "operation": "AttachInternetGateway",
1053
+ "params": [
1054
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1055
+ ]
1056
+ }
1057
+ },
1058
+ "CreateTags": {
1059
+ "request": {
1060
+ "operation": "CreateTags",
1061
+ "params": [
1062
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1063
+ ]
1064
+ },
1065
+ "resource": {
1066
+ "type": "Tag",
1067
+ "identifiers": [
1068
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1069
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1070
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1071
+ ]
1072
+ }
1073
+ },
1074
+ "Delete": {
1075
+ "request": {
1076
+ "operation": "DeleteInternetGateway",
1077
+ "params": [
1078
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1079
+ ]
1080
+ }
1081
+ },
1082
+ "DetachFromVpc": {
1083
+ "request": {
1084
+ "operation": "DetachInternetGateway",
1085
+ "params": [
1086
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1087
+ ]
1088
+ }
1089
+ }
1090
+ }
1091
+ },
1092
+ "KeyPair": {
1093
+ "identifiers": [
1094
+ {
1095
+ "name": "Name",
1096
+ "memberName": "KeyName"
1097
+ }
1098
+ ],
1099
+ "shape": "KeyPair",
1100
+ "actions": {
1101
+ "Delete": {
1102
+ "request": {
1103
+ "operation": "DeleteKeyPair",
1104
+ "params": [
1105
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1106
+ ]
1107
+ }
1108
+ }
1109
+ }
1110
+ },
1111
+ "KeyPairInfo": {
1112
+ "identifiers": [
1113
+ {
1114
+ "name": "Name",
1115
+ "memberName": "KeyName"
1116
+ }
1117
+ ],
1118
+ "shape": "KeyPairInfo",
1119
+ "load": {
1120
+ "request": {
1121
+ "operation": "DescribeKeyPairs",
1122
+ "params": [
1123
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
1124
+ ]
1125
+ },
1126
+ "path": "KeyPairs[0]"
1127
+ },
1128
+ "actions": {
1129
+ "Delete": {
1130
+ "request": {
1131
+ "operation": "DeleteKeyPair",
1132
+ "params": [
1133
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1134
+ ]
1135
+ }
1136
+ }
1137
+ }
1138
+ },
1139
+ "NetworkAcl": {
1140
+ "identifiers": [
1141
+ {
1142
+ "name": "Id",
1143
+ "memberName": "NetworkAclId"
1144
+ }
1145
+ ],
1146
+ "shape": "NetworkAcl",
1147
+ "load": {
1148
+ "request": {
1149
+ "operation": "DescribeNetworkAcls",
1150
+ "params": [
1151
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
1152
+ ]
1153
+ },
1154
+ "path": "NetworkAcls[0]"
1155
+ },
1156
+ "actions": {
1157
+ "CreateEntry": {
1158
+ "request": {
1159
+ "operation": "CreateNetworkAclEntry",
1160
+ "params": [
1161
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1162
+ ]
1163
+ }
1164
+ },
1165
+ "CreateTags": {
1166
+ "request": {
1167
+ "operation": "CreateTags",
1168
+ "params": [
1169
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1170
+ ]
1171
+ },
1172
+ "resource": {
1173
+ "type": "Tag",
1174
+ "identifiers": [
1175
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1176
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1177
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1178
+ ]
1179
+ }
1180
+ },
1181
+ "Delete": {
1182
+ "request": {
1183
+ "operation": "DeleteNetworkAcl",
1184
+ "params": [
1185
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1186
+ ]
1187
+ }
1188
+ },
1189
+ "DeleteEntry": {
1190
+ "request": {
1191
+ "operation": "DeleteNetworkAclEntry",
1192
+ "params": [
1193
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1194
+ ]
1195
+ }
1196
+ },
1197
+ "ReplaceAssociation": {
1198
+ "request": {
1199
+ "operation": "ReplaceNetworkAclAssociation",
1200
+ "params": [
1201
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1202
+ ]
1203
+ }
1204
+ },
1205
+ "ReplaceEntry": {
1206
+ "request": {
1207
+ "operation": "ReplaceNetworkAclEntry",
1208
+ "params": [
1209
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1210
+ ]
1211
+ }
1212
+ }
1213
+ },
1214
+ "has": {
1215
+ "Vpc": {
1216
+ "resource": {
1217
+ "type": "Vpc",
1218
+ "identifiers": [
1219
+ { "target": "Id", "source": "data", "path": "VpcId" }
1220
+ ]
1221
+ }
1222
+ }
1223
+ }
1224
+ },
1225
+ "NetworkInterface": {
1226
+ "identifiers": [
1227
+ {
1228
+ "name": "Id",
1229
+ "memberName": "NetworkInterfaceId"
1230
+ }
1231
+ ],
1232
+ "shape": "NetworkInterface",
1233
+ "load": {
1234
+ "request": {
1235
+ "operation": "DescribeNetworkInterfaces",
1236
+ "params": [
1237
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
1238
+ ]
1239
+ },
1240
+ "path": "NetworkInterfaces[0]"
1241
+ },
1242
+ "actions": {
1243
+ "AssignPrivateIpAddresses": {
1244
+ "request": {
1245
+ "operation": "AssignPrivateIpAddresses",
1246
+ "params": [
1247
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1248
+ ]
1249
+ }
1250
+ },
1251
+ "Attach": {
1252
+ "request": {
1253
+ "operation": "AttachNetworkInterface",
1254
+ "params": [
1255
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1256
+ ]
1257
+ }
1258
+ },
1259
+ "CreateTags": {
1260
+ "request": {
1261
+ "operation": "CreateTags",
1262
+ "params": [
1263
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1264
+ ]
1265
+ },
1266
+ "resource": {
1267
+ "type": "Tag",
1268
+ "identifiers": [
1269
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1270
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1271
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1272
+ ]
1273
+ }
1274
+ },
1275
+ "Delete": {
1276
+ "request": {
1277
+ "operation": "DeleteNetworkInterface",
1278
+ "params": [
1279
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1280
+ ]
1281
+ }
1282
+ },
1283
+ "DescribeAttribute": {
1284
+ "request": {
1285
+ "operation": "DescribeNetworkInterfaceAttribute",
1286
+ "params": [
1287
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1288
+ ]
1289
+ }
1290
+ },
1291
+ "Detach": {
1292
+ "request": {
1293
+ "operation": "DetachNetworkInterface",
1294
+ "params": [
1295
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
1296
+ ]
1297
+ }
1298
+ },
1299
+ "ModifyAttribute": {
1300
+ "request": {
1301
+ "operation": "ModifyNetworkInterfaceAttribute",
1302
+ "params": [
1303
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1304
+ ]
1305
+ }
1306
+ },
1307
+ "ResetAttribute": {
1308
+ "request": {
1309
+ "operation": "ResetNetworkInterfaceAttribute",
1310
+ "params": [
1311
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1312
+ ]
1313
+ }
1314
+ },
1315
+ "UnassignPrivateIpAddresses": {
1316
+ "request": {
1317
+ "operation": "UnassignPrivateIpAddresses",
1318
+ "params": [
1319
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1320
+ ]
1321
+ }
1322
+ }
1323
+ },
1324
+ "has": {
1325
+ "Association": {
1326
+ "resource": {
1327
+ "type": "NetworkInterfaceAssociation",
1328
+ "identifiers": [
1329
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
1330
+ ],
1331
+ "path": "Association"
1332
+ }
1333
+ },
1334
+ "Subnet": {
1335
+ "resource": {
1336
+ "type": "Subnet",
1337
+ "identifiers": [
1338
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1339
+ ]
1340
+ }
1341
+ },
1342
+ "Vpc": {
1343
+ "resource": {
1344
+ "type": "Vpc",
1345
+ "identifiers": [
1346
+ { "target": "Id", "source": "data", "path": "VpcId" }
1347
+ ]
1348
+ }
1349
+ }
1350
+ }
1351
+ },
1352
+ "NetworkInterfaceAssociation": {
1353
+ "identifiers": [
1354
+ {
1355
+ "name": "Id"
1356
+ }
1357
+ ],
1358
+ "shape": "InstanceNetworkInterfaceAssociation",
1359
+ "load": {
1360
+ "request": {
1361
+ "operation": "DescribeNetworkInterfaces",
1362
+ "params": [
1363
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
1364
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1365
+ ]
1366
+ },
1367
+ "path": "NetworkInterfaces[0].Association"
1368
+ },
1369
+ "actions": {
1370
+ "Delete": {
1371
+ "request": {
1372
+ "operation": "DisassociateAddress",
1373
+ "params": [
1374
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1375
+ ]
1376
+ }
1377
+ }
1378
+ },
1379
+ "has": {
1380
+ "Address": {
1381
+ "resource": {
1382
+ "type": "VpcAddress",
1383
+ "identifiers": [
1384
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
1385
+ ]
1386
+ }
1387
+ }
1388
+ }
1389
+ },
1390
+ "PlacementGroup": {
1391
+ "identifiers": [
1392
+ {
1393
+ "name": "Name",
1394
+ "memberName": "GroupName"
1395
+ }
1396
+ ],
1397
+ "shape": "PlacementGroup",
1398
+ "load": {
1399
+ "request": {
1400
+ "operation": "DescribePlacementGroups",
1401
+ "params": [
1402
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
1403
+ ]
1404
+ },
1405
+ "path": "PlacementGroups[0]"
1406
+ },
1407
+ "actions": {
1408
+ "Delete": {
1409
+ "request": {
1410
+ "operation": "DeletePlacementGroup",
1411
+ "params": [
1412
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
1413
+ ]
1414
+ }
1415
+ }
1416
+ },
1417
+ "hasMany": {
1418
+ "Instances": {
1419
+ "request": {
1420
+ "operation": "DescribeInstances",
1421
+ "params": [
1422
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
1423
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
1424
+ ]
1425
+ },
1426
+ "resource": {
1427
+ "type": "Instance",
1428
+ "identifiers": [
1429
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1430
+ ],
1431
+ "path": "Reservations[].Instances[]"
1432
+ }
1433
+ }
1434
+ }
1435
+ },
1436
+ "Route": {
1437
+ "identifiers": [
1438
+ { "name": "RouteTableId" },
1439
+ {
1440
+ "name": "DestinationCidrBlock",
1441
+ "memberName": "DestinationCidrBlock"
1442
+ }
1443
+ ],
1444
+ "shape": "Route",
1445
+ "actions": {
1446
+ "Delete": {
1447
+ "request": {
1448
+ "operation": "DeleteRoute",
1449
+ "params": [
1450
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
1451
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
1452
+ ]
1453
+ }
1454
+ },
1455
+ "Replace": {
1456
+ "request": {
1457
+ "operation": "ReplaceRoute",
1458
+ "params": [
1459
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
1460
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
1461
+ ]
1462
+ }
1463
+ }
1464
+ },
1465
+ "has": {
1466
+ "RouteTable": {
1467
+ "resource": {
1468
+ "type": "RouteTable",
1469
+ "identifiers": [
1470
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
1471
+ ]
1472
+ }
1473
+ }
1474
+ }
1475
+ },
1476
+ "RouteTable": {
1477
+ "identifiers": [
1478
+ {
1479
+ "name": "Id",
1480
+ "memberName": "RouteTableId"
1481
+ }
1482
+ ],
1483
+ "shape": "RouteTable",
1484
+ "load": {
1485
+ "request": {
1486
+ "operation": "DescribeRouteTables",
1487
+ "params": [
1488
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1489
+ ]
1490
+ },
1491
+ "path": "RouteTables[0]"
1492
+ },
1493
+ "actions": {
1494
+ "AssociateWithSubnet": {
1495
+ "request": {
1496
+ "operation": "AssociateRouteTable",
1497
+ "params": [
1498
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1499
+ ]
1500
+ },
1501
+ "resource": {
1502
+ "type": "RouteTableAssociation",
1503
+ "identifiers": [
1504
+ { "target": "Id", "source": "response", "path": "AssociationId" }
1505
+ ]
1506
+ }
1507
+ },
1508
+ "CreateRoute": {
1509
+ "request": {
1510
+ "operation": "CreateRoute",
1511
+ "params": [
1512
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1513
+ ]
1514
+ },
1515
+ "resource": {
1516
+ "type": "Route",
1517
+ "identifiers": [
1518
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
1519
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
1520
+ ]
1521
+ }
1522
+ },
1523
+ "CreateTags": {
1524
+ "request": {
1525
+ "operation": "CreateTags",
1526
+ "params": [
1527
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1528
+ ]
1529
+ },
1530
+ "resource": {
1531
+ "type": "Tag",
1532
+ "identifiers": [
1533
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1534
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1535
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1536
+ ]
1537
+ }
1538
+ },
1539
+ "Delete": {
1540
+ "request": {
1541
+ "operation": "DeleteRouteTable",
1542
+ "params": [
1543
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1544
+ ]
1545
+ }
1546
+ }
1547
+ },
1548
+ "has": {
1549
+ "Routes": {
1550
+ "resource": {
1551
+ "type": "Route",
1552
+ "identifiers": [
1553
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
1554
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
1555
+ ],
1556
+ "path": "Routes[]"
1557
+ }
1558
+ },
1559
+ "Vpc": {
1560
+ "resource": {
1561
+ "type": "Vpc",
1562
+ "identifiers": [
1563
+ { "target": "Id", "source": "data", "path": "VpcId" }
1564
+ ]
1565
+ }
1566
+ }
1567
+ },
1568
+ "hasMany": {
1569
+ "Associations": {
1570
+ "request": {
1571
+ "operation": "DescribeRouteTables",
1572
+ "params": [
1573
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1574
+ ]
1575
+ },
1576
+ "resource": {
1577
+ "type": "RouteTableAssociation",
1578
+ "identifiers": [
1579
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
1580
+ ],
1581
+ "path": "RouteTables[0].Associations[]"
1582
+ }
1583
+ }
1584
+ }
1585
+ },
1586
+ "RouteTableAssociation": {
1587
+ "identifiers": [
1588
+ {
1589
+ "name": "Id",
1590
+ "memberName": "RouteTableAssociationId"
1591
+ }
1592
+ ],
1593
+ "shape": "RouteTableAssociation",
1594
+ "actions": {
1595
+ "Delete": {
1596
+ "request": {
1597
+ "operation": "DisassociateRouteTable",
1598
+ "params": [
1599
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1600
+ ]
1601
+ }
1602
+ },
1603
+ "ReplaceSubnet": {
1604
+ "request": {
1605
+ "operation": "ReplaceRouteTableAssociation",
1606
+ "params": [
1607
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1608
+ ]
1609
+ },
1610
+ "resource": {
1611
+ "type": "RouteTableAssociation",
1612
+ "identifiers": [
1613
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
1614
+ ]
1615
+ }
1616
+ }
1617
+ },
1618
+ "has": {
1619
+ "RouteTable": {
1620
+ "resource": {
1621
+ "type": "RouteTable",
1622
+ "identifiers": [
1623
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
1624
+ ]
1625
+ }
1626
+ },
1627
+ "Subnet": {
1628
+ "resource": {
1629
+ "type": "Subnet",
1630
+ "identifiers": [
1631
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1632
+ ]
1633
+ }
1634
+ }
1635
+ }
1636
+ },
1637
+ "SecurityGroup": {
1638
+ "identifiers": [
1639
+ {
1640
+ "name": "Id",
1641
+ "memberName": "GroupId"
1642
+ }
1643
+ ],
1644
+ "shape": "SecurityGroup",
1645
+ "load": {
1646
+ "request": {
1647
+ "operation": "DescribeSecurityGroups",
1648
+ "params": [
1649
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
1650
+ ]
1651
+ },
1652
+ "path": "SecurityGroups[0]"
1653
+ },
1654
+ "actions": {
1655
+ "AuthorizeEgress": {
1656
+ "request": {
1657
+ "operation": "AuthorizeSecurityGroupEgress",
1658
+ "params": [
1659
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1660
+ ]
1661
+ }
1662
+ },
1663
+ "AuthorizeIngress": {
1664
+ "request": {
1665
+ "operation": "AuthorizeSecurityGroupIngress",
1666
+ "params": [
1667
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1668
+ ]
1669
+ }
1670
+ },
1671
+ "CreateTags": {
1672
+ "request": {
1673
+ "operation": "CreateTags",
1674
+ "params": [
1675
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1676
+ ]
1677
+ },
1678
+ "resource": {
1679
+ "type": "Tag",
1680
+ "identifiers": [
1681
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1682
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1683
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1684
+ ]
1685
+ }
1686
+ },
1687
+ "Delete": {
1688
+ "request": {
1689
+ "operation": "DeleteSecurityGroup",
1690
+ "params": [
1691
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1692
+ ]
1693
+ }
1694
+ },
1695
+ "RevokeEgress": {
1696
+ "request": {
1697
+ "operation": "RevokeSecurityGroupEgress",
1698
+ "params": [
1699
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1700
+ ]
1701
+ }
1702
+ },
1703
+ "RevokeIngress": {
1704
+ "request": {
1705
+ "operation": "RevokeSecurityGroupIngress",
1706
+ "params": [
1707
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1708
+ ]
1709
+ }
1710
+ }
1711
+ }
1712
+ },
1713
+ "Snapshot": {
1714
+ "identifiers": [
1715
+ {
1716
+ "name": "Id",
1717
+ "memberName": "SnapshotId"
1718
+ }
1719
+ ],
1720
+ "shape": "Snapshot",
1721
+ "load": {
1722
+ "request": {
1723
+ "operation": "DescribeSnapshots",
1724
+ "params": [
1725
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
1726
+ ]
1727
+ },
1728
+ "path": "Snapshots[0]"
1729
+ },
1730
+ "actions": {
1731
+ "Copy": {
1732
+ "request": {
1733
+ "operation": "CopySnapshot",
1734
+ "params": [
1735
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
1736
+ ]
1737
+ }
1738
+ },
1739
+ "CreateTags": {
1740
+ "request": {
1741
+ "operation": "CreateTags",
1742
+ "params": [
1743
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1744
+ ]
1745
+ },
1746
+ "resource": {
1747
+ "type": "Tag",
1748
+ "identifiers": [
1749
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1750
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1751
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1752
+ ]
1753
+ }
1754
+ },
1755
+ "Delete": {
1756
+ "request": {
1757
+ "operation": "DeleteSnapshot",
1758
+ "params": [
1759
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1760
+ ]
1761
+ }
1762
+ },
1763
+ "DescribeAttribute": {
1764
+ "request": {
1765
+ "operation": "DescribeSnapshotAttribute",
1766
+ "params": [
1767
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1768
+ ]
1769
+ }
1770
+ },
1771
+ "ModifyAttribute": {
1772
+ "request": {
1773
+ "operation": "ModifySnapshotAttribute",
1774
+ "params": [
1775
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1776
+ ]
1777
+ }
1778
+ },
1779
+ "ResetAttribute": {
1780
+ "request": {
1781
+ "operation": "ResetSnapshotAttribute",
1782
+ "params": [
1783
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1784
+ ]
1785
+ }
1786
+ }
1787
+ },
1788
+ "waiters": {
1789
+ "Completed": {
1790
+ "waiterName": "SnapshotCompleted",
1791
+ "params": [
1792
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
1793
+ ],
1794
+ "path": "Snapshots[]"
1795
+ }
1796
+ },
1797
+ "has": {
1798
+ "Volume": {
1799
+ "resource": {
1800
+ "type": "Volume",
1801
+ "identifiers": [
1802
+ { "target": "Id", "source": "data", "path": "VolumeId" }
1803
+ ]
1804
+ }
1805
+ }
1806
+ }
1807
+ },
1808
+ "Subnet": {
1809
+ "identifiers": [
1810
+ {
1811
+ "name": "Id",
1812
+ "memberName": "SubnetId"
1813
+ }
1814
+ ],
1815
+ "shape": "Subnet",
1816
+ "load": {
1817
+ "request": {
1818
+ "operation": "DescribeSubnets",
1819
+ "params": [
1820
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
1821
+ ]
1822
+ },
1823
+ "path": "Subnets[0]"
1824
+ },
1825
+ "actions": {
1826
+ "CreateInstances": {
1827
+ "request": {
1828
+ "operation": "RunInstances",
1829
+ "params": [
1830
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1831
+ ]
1832
+ },
1833
+ "resource": {
1834
+ "type": "Instance",
1835
+ "identifiers": [
1836
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
1837
+ ],
1838
+ "path": "Instances[]"
1839
+ }
1840
+ },
1841
+ "CreateNetworkInterface": {
1842
+ "request": {
1843
+ "operation": "CreateNetworkInterface",
1844
+ "params": [
1845
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1846
+ ]
1847
+ },
1848
+ "resource": {
1849
+ "type": "NetworkInterface",
1850
+ "identifiers": [
1851
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
1852
+ ],
1853
+ "path": "NetworkInterface"
1854
+ }
1855
+ },
1856
+ "CreateTags": {
1857
+ "request": {
1858
+ "operation": "CreateTags",
1859
+ "params": [
1860
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1861
+ ]
1862
+ },
1863
+ "resource": {
1864
+ "type": "Tag",
1865
+ "identifiers": [
1866
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1867
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1868
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1869
+ ]
1870
+ }
1871
+ },
1872
+ "Delete": {
1873
+ "request": {
1874
+ "operation": "DeleteSubnet",
1875
+ "params": [
1876
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1877
+ ]
1878
+ }
1879
+ }
1880
+ },
1881
+ "has": {
1882
+ "Vpc": {
1883
+ "resource": {
1884
+ "type": "Vpc",
1885
+ "identifiers": [
1886
+ { "target": "Id", "source": "data", "path": "VpcId" }
1887
+ ]
1888
+ }
1889
+ }
1890
+ },
1891
+ "hasMany": {
1892
+ "Instances": {
1893
+ "request": {
1894
+ "operation": "DescribeInstances",
1895
+ "params": [
1896
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1897
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1898
+ ]
1899
+ },
1900
+ "resource": {
1901
+ "type": "Instance",
1902
+ "identifiers": [
1903
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1904
+ ],
1905
+ "path": "Reservations[].Instances[]"
1906
+ }
1907
+ },
1908
+ "NetworkInterfaces": {
1909
+ "request": {
1910
+ "operation": "DescribeNetworkInterfaces",
1911
+ "params": [
1912
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1913
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1914
+ ]
1915
+ },
1916
+ "resource": {
1917
+ "type": "NetworkInterface",
1918
+ "identifiers": [
1919
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
1920
+ ],
1921
+ "path": "NetworkInterfaces[]"
1922
+ }
1923
+ }
1924
+ }
1925
+ },
1926
+ "Tag": {
1927
+ "identifiers": [
1928
+ {
1929
+ "name": "ResourceId",
1930
+ "memberName": "ResourceId"
1931
+ },
1932
+ {
1933
+ "name": "Key",
1934
+ "memberName": "Key"
1935
+ },
1936
+ {
1937
+ "name": "Value",
1938
+ "memberName": "Value"
1939
+ }
1940
+ ],
1941
+ "shape": "TagDescription",
1942
+ "load": {
1943
+ "request": {
1944
+ "operation": "DescribeTags",
1945
+ "params": [
1946
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
1947
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
1948
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
1949
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
1950
+ ]
1951
+ },
1952
+ "path": "Tags[0]"
1953
+ },
1954
+ "actions": {
1955
+ "Delete": {
1956
+ "request": {
1957
+ "operation": "DeleteTags",
1958
+ "params": [
1959
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
1960
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
1961
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
1962
+ ]
1963
+ }
1964
+ }
1965
+ },
1966
+ "batchActions": {
1967
+ "Delete": {
1968
+ "request": {
1969
+ "operation": "DeleteTags",
1970
+ "params": [
1971
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
1972
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
1973
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
1974
+ ]
1975
+ }
1976
+ }
1977
+ }
1978
+ },
1979
+ "Volume": {
1980
+ "identifiers": [
1981
+ {
1982
+ "name": "Id",
1983
+ "memberName": "VolumeId"
1984
+ }
1985
+ ],
1986
+ "shape": "Volume",
1987
+ "load": {
1988
+ "request": {
1989
+ "operation": "DescribeVolumes",
1990
+ "params": [
1991
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1992
+ ]
1993
+ },
1994
+ "path": "Volumes[0]"
1995
+ },
1996
+ "actions": {
1997
+ "AttachToInstance": {
1998
+ "request": {
1999
+ "operation": "AttachVolume",
2000
+ "params": [
2001
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2002
+ ]
2003
+ }
2004
+ },
2005
+ "CreateSnapshot": {
2006
+ "request": {
2007
+ "operation": "CreateSnapshot",
2008
+ "params": [
2009
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2010
+ ]
2011
+ },
2012
+ "resource": {
2013
+ "type": "Snapshot",
2014
+ "identifiers": [
2015
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
2016
+ ],
2017
+ "path": "@"
2018
+ }
2019
+ },
2020
+ "CreateTags": {
2021
+ "request": {
2022
+ "operation": "CreateTags",
2023
+ "params": [
2024
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
2025
+ ]
2026
+ },
2027
+ "resource": {
2028
+ "type": "Tag",
2029
+ "identifiers": [
2030
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
2031
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
2032
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
2033
+ ]
2034
+ }
2035
+ },
2036
+ "Delete": {
2037
+ "request": {
2038
+ "operation": "DeleteVolume",
2039
+ "params": [
2040
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2041
+ ]
2042
+ }
2043
+ },
2044
+ "DescribeAttribute": {
2045
+ "request": {
2046
+ "operation": "DescribeVolumeAttribute",
2047
+ "params": [
2048
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2049
+ ]
2050
+ }
2051
+ },
2052
+ "DescribeStatus": {
2053
+ "request": {
2054
+ "operation": "DescribeVolumeStatus",
2055
+ "params": [
2056
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
2057
+ ]
2058
+ }
2059
+ },
2060
+ "DetachFromInstance": {
2061
+ "request": {
2062
+ "operation": "DetachVolume",
2063
+ "params": [
2064
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2065
+ ]
2066
+ }
2067
+ },
2068
+ "EnableIo": {
2069
+ "request": {
2070
+ "operation": "EnableVolumeIO",
2071
+ "params": [
2072
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2073
+ ]
2074
+ }
2075
+ },
2076
+ "ModifyAttribute": {
2077
+ "request": {
2078
+ "operation": "ModifyVolumeAttribute",
2079
+ "params": [
2080
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2081
+ ]
2082
+ }
2083
+ }
2084
+ },
2085
+ "hasMany": {
2086
+ "Snapshots": {
2087
+ "request": {
2088
+ "operation": "DescribeSnapshots",
2089
+ "params": [
2090
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
2091
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2092
+ ]
2093
+ },
2094
+ "resource": {
2095
+ "type": "Snapshot",
2096
+ "identifiers": [
2097
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
2098
+ ],
2099
+ "path": "Snapshots[]"
2100
+ }
2101
+ }
2102
+ }
2103
+ },
2104
+ "Vpc": {
2105
+ "identifiers": [
2106
+ {
2107
+ "name": "Id",
2108
+ "memberName": "VpcId"
2109
+ }
2110
+ ],
2111
+ "shape": "Vpc",
2112
+ "load": {
2113
+ "request": {
2114
+ "operation": "DescribeVpcs",
2115
+ "params": [
2116
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
2117
+ ]
2118
+ },
2119
+ "path": "Vpcs[0]"
2120
+ },
2121
+ "actions": {
2122
+ "AssociateDhcpOptions": {
2123
+ "request": {
2124
+ "operation": "AssociateDhcpOptions",
2125
+ "params": [
2126
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2127
+ ]
2128
+ }
2129
+ },
2130
+ "AttachClassicLinkInstance": {
2131
+ "request": {
2132
+ "operation": "AttachClassicLinkVpc",
2133
+ "params": [
2134
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2135
+ ]
2136
+ }
2137
+ },
2138
+ "AttachInternetGateway": {
2139
+ "request": {
2140
+ "operation": "AttachInternetGateway",
2141
+ "params": [
2142
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2143
+ ]
2144
+ }
2145
+ },
2146
+ "CreateNetworkAcl": {
2147
+ "request": {
2148
+ "operation": "CreateNetworkAcl",
2149
+ "params": [
2150
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2151
+ ]
2152
+ },
2153
+ "resource": {
2154
+ "type": "NetworkAcl",
2155
+ "identifiers": [
2156
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
2157
+ ],
2158
+ "path": "NetworkAcl"
2159
+ }
2160
+ },
2161
+ "CreateRouteTable": {
2162
+ "request": {
2163
+ "operation": "CreateRouteTable",
2164
+ "params": [
2165
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2166
+ ]
2167
+ },
2168
+ "resource": {
2169
+ "type": "RouteTable",
2170
+ "identifiers": [
2171
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
2172
+ ],
2173
+ "path": "RouteTable"
2174
+ }
2175
+ },
2176
+ "CreateSecurityGroup": {
2177
+ "request": {
2178
+ "operation": "CreateSecurityGroup",
2179
+ "params": [
2180
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2181
+ ]
2182
+ },
2183
+ "resource": {
2184
+ "type": "SecurityGroup",
2185
+ "identifiers": [
2186
+ { "target": "Id", "source": "response", "path": "GroupId" }
2187
+ ]
2188
+ }
2189
+ },
2190
+ "CreateSubnet": {
2191
+ "request": {
2192
+ "operation": "CreateSubnet",
2193
+ "params": [
2194
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2195
+ ]
2196
+ },
2197
+ "resource": {
2198
+ "type": "Subnet",
2199
+ "identifiers": [
2200
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
2201
+ ],
2202
+ "path": "Subnet"
2203
+ }
2204
+ },
2205
+ "CreateTags": {
2206
+ "request": {
2207
+ "operation": "CreateTags",
2208
+ "params": [
2209
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
2210
+ ]
2211
+ },
2212
+ "resource": {
2213
+ "type": "Tag",
2214
+ "identifiers": [
2215
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
2216
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
2217
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
2218
+ ]
2219
+ }
2220
+ },
2221
+ "Delete": {
2222
+ "request": {
2223
+ "operation": "DeleteVpc",
2224
+ "params": [
2225
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2226
+ ]
2227
+ }
2228
+ },
2229
+ "DescribeAttribute": {
2230
+ "request": {
2231
+ "operation": "DescribeVpcAttribute",
2232
+ "params": [
2233
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2234
+ ]
2235
+ }
2236
+ },
2237
+ "DetachClassicLinkInstance": {
2238
+ "request": {
2239
+ "operation": "DetachClassicLinkVpc",
2240
+ "params": [
2241
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2242
+ ]
2243
+ }
2244
+ },
2245
+ "DetachInternetGateway": {
2246
+ "request": {
2247
+ "operation": "DetachInternetGateway",
2248
+ "params": [
2249
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2250
+ ]
2251
+ }
2252
+ },
2253
+ "DisableClassicLink": {
2254
+ "request": {
2255
+ "operation": "DisableVpcClassicLink",
2256
+ "params": [
2257
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2258
+ ]
2259
+ }
2260
+ },
2261
+ "EnableClassicLink": {
2262
+ "request": {
2263
+ "operation": "EnableVpcClassicLink",
2264
+ "params": [
2265
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2266
+ ]
2267
+ }
2268
+ },
2269
+ "ModifyAttribute": {
2270
+ "request": {
2271
+ "operation": "ModifyVpcAttribute",
2272
+ "params": [
2273
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2274
+ ]
2275
+ }
2276
+ },
2277
+ "RequestVpcPeeringConnection": {
2278
+ "request": {
2279
+ "operation": "CreateVpcPeeringConnection",
2280
+ "params": [
2281
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2282
+ ]
2283
+ },
2284
+ "resource": {
2285
+ "type": "VpcPeeringConnection",
2286
+ "identifiers": [
2287
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
2288
+ ],
2289
+ "path": "VpcPeeringConnection"
2290
+ }
2291
+ }
2292
+ },
2293
+ "has": {
2294
+ "DhcpOptions": {
2295
+ "resource": {
2296
+ "type": "DhcpOptions",
2297
+ "identifiers": [
2298
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
2299
+ ]
2300
+ }
2301
+ }
2302
+ },
2303
+ "hasMany": {
2304
+ "AcceptedVpcPeeringConnections": {
2305
+ "request": {
2306
+ "operation": "DescribeVpcPeeringConnections",
2307
+ "params": [
2308
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
2309
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2310
+ ]
2311
+ },
2312
+ "resource": {
2313
+ "type": "VpcPeeringConnection",
2314
+ "identifiers": [
2315
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2316
+ ],
2317
+ "path": "VpcPeeringConnections[]"
2318
+ }
2319
+ },
2320
+ "Instances": {
2321
+ "request": {
2322
+ "operation": "DescribeInstances",
2323
+ "params": [
2324
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2325
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2326
+ ]
2327
+ },
2328
+ "resource": {
2329
+ "type": "Instance",
2330
+ "identifiers": [
2331
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
2332
+ ],
2333
+ "path": "Reservations[].Instances[]"
2334
+ }
2335
+ },
2336
+ "InternetGateways": {
2337
+ "request": {
2338
+ "operation": "DescribeInternetGateways",
2339
+ "params": [
2340
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
2341
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2342
+ ]
2343
+ },
2344
+ "resource": {
2345
+ "type": "InternetGateway",
2346
+ "identifiers": [
2347
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
2348
+ ],
2349
+ "path": "InternetGateways[]"
2350
+ }
2351
+ },
2352
+ "NetworkAcls": {
2353
+ "request": {
2354
+ "operation": "DescribeNetworkAcls",
2355
+ "params": [
2356
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2357
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2358
+ ]
2359
+ },
2360
+ "resource": {
2361
+ "type": "NetworkAcl",
2362
+ "identifiers": [
2363
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
2364
+ ],
2365
+ "path": "NetworkAcls[]"
2366
+ }
2367
+ },
2368
+ "NetworkInterfaces": {
2369
+ "request": {
2370
+ "operation": "DescribeNetworkInterfaces",
2371
+ "params": [
2372
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2373
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2374
+ ]
2375
+ },
2376
+ "resource": {
2377
+ "type": "NetworkInterface",
2378
+ "identifiers": [
2379
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
2380
+ ],
2381
+ "path": "NetworkInterfaces[]"
2382
+ }
2383
+ },
2384
+ "RequestedVpcPeeringConnections": {
2385
+ "request": {
2386
+ "operation": "DescribeVpcPeeringConnections",
2387
+ "params": [
2388
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
2389
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2390
+ ]
2391
+ },
2392
+ "resource": {
2393
+ "type": "VpcPeeringConnection",
2394
+ "identifiers": [
2395
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2396
+ ],
2397
+ "path": "VpcPeeringConnections[]"
2398
+ }
2399
+ },
2400
+ "RouteTables": {
2401
+ "request": {
2402
+ "operation": "DescribeRouteTables",
2403
+ "params": [
2404
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2405
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2406
+ ]
2407
+ },
2408
+ "resource": {
2409
+ "type": "RouteTable",
2410
+ "identifiers": [
2411
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
2412
+ ],
2413
+ "path": "RouteTables[]"
2414
+ }
2415
+ },
2416
+ "SecurityGroups": {
2417
+ "request": {
2418
+ "operation": "DescribeSecurityGroups",
2419
+ "params": [
2420
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2421
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2422
+ ]
2423
+ },
2424
+ "resource": {
2425
+ "type": "SecurityGroup",
2426
+ "identifiers": [
2427
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
2428
+ ],
2429
+ "path": "SecurityGroups[]"
2430
+ }
2431
+ },
2432
+ "Subnets": {
2433
+ "request": {
2434
+ "operation": "DescribeSubnets",
2435
+ "params": [
2436
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2437
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2438
+ ]
2439
+ },
2440
+ "resource": {
2441
+ "type": "Subnet",
2442
+ "identifiers": [
2443
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
2444
+ ],
2445
+ "path": "Subnets[]"
2446
+ }
2447
+ }
2448
+ }
2449
+ },
2450
+ "VpcPeeringConnection": {
2451
+ "identifiers": [
2452
+ {
2453
+ "name": "Id",
2454
+ "memberName": "VpcPeeringConnectionId"
2455
+ }
2456
+ ],
2457
+ "shape": "VpcPeeringConnection",
2458
+ "load": {
2459
+ "request": {
2460
+ "operation": "DescribeVpcPeeringConnections",
2461
+ "params": [
2462
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
2463
+ ]
2464
+ },
2465
+ "path": "VpcPeeringConnections[0]"
2466
+ },
2467
+ "actions": {
2468
+ "Accept": {
2469
+ "request": {
2470
+ "operation": "AcceptVpcPeeringConnection",
2471
+ "params": [
2472
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2473
+ ]
2474
+ }
2475
+ },
2476
+ "Delete": {
2477
+ "request": {
2478
+ "operation": "DeleteVpcPeeringConnection",
2479
+ "params": [
2480
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2481
+ ]
2482
+ }
2483
+ },
2484
+ "Reject": {
2485
+ "request": {
2486
+ "operation": "RejectVpcPeeringConnection",
2487
+ "params": [
2488
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2489
+ ]
2490
+ }
2491
+ }
2492
+ },
2493
+ "waiters": {
2494
+ "Exists": {
2495
+ "waiterName": "VpcPeeringConnectionExists",
2496
+ "params": [
2497
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
2498
+ ],
2499
+ "path": "VpcPeeringConnections[0]"
2500
+ }
2501
+ },
2502
+ "has": {
2503
+ "AccepterVpc": {
2504
+ "resource": {
2505
+ "type": "Vpc",
2506
+ "identifiers": [
2507
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
2508
+ ]
2509
+ }
2510
+ },
2511
+ "RequesterVpc": {
2512
+ "resource": {
2513
+ "type": "Vpc",
2514
+ "identifiers": [
2515
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
2516
+ ]
2517
+ }
2518
+ }
2519
+ }
2520
+ },
2521
+ "VpcAddress": {
2522
+ "identifiers": [
2523
+ {
2524
+ "name": "AllocationId"
2525
+ }
2526
+ ],
2527
+ "shape": "Address",
2528
+ "load": {
2529
+ "request": {
2530
+ "operation": "DescribeAddresses",
2531
+ "params": [
2532
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
2533
+ ]
2534
+ },
2535
+ "path": "Addresses[0]"
2536
+ },
2537
+ "actions": {
2538
+ "Associate": {
2539
+ "request": {
2540
+ "operation": "AssociateAddress",
2541
+ "params": [
2542
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
2543
+ ]
2544
+ }
2545
+ },
2546
+ "Release": {
2547
+ "request": {
2548
+ "operation": "ReleaseAddress",
2549
+ "params": [
2550
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
2551
+ ]
2552
+ }
2553
+ }
2554
+ },
2555
+ "has": {
2556
+ "Association": {
2557
+ "resource": {
2558
+ "type": "NetworkInterfaceAssociation",
2559
+ "identifiers": [
2560
+ { "target": "Id", "source": "data", "path": "AssociationId" }
2561
+ ]
2562
+ }
2563
+ }
2564
+ }
2565
+ }
2566
+ }
2567
+ }
env/Lib/site-packages/boto3/data/ec2/2016-11-15/resources-1.json ADDED
@@ -0,0 +1,2582 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateDhcpOptions": {
5
+ "request": { "operation": "CreateDhcpOptions" },
6
+ "resource": {
7
+ "type": "DhcpOptions",
8
+ "identifiers": [
9
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
10
+ ],
11
+ "path": "DhcpOptions"
12
+ }
13
+ },
14
+ "CreateInstances": {
15
+ "request": { "operation": "RunInstances" },
16
+ "resource": {
17
+ "type": "Instance",
18
+ "identifiers": [
19
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
20
+ ],
21
+ "path": "Instances[]"
22
+ }
23
+ },
24
+ "CreateInternetGateway": {
25
+ "request": { "operation": "CreateInternetGateway" },
26
+ "resource": {
27
+ "type": "InternetGateway",
28
+ "identifiers": [
29
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
30
+ ],
31
+ "path": "InternetGateway"
32
+ }
33
+ },
34
+ "CreateKeyPair": {
35
+ "request": { "operation": "CreateKeyPair" },
36
+ "resource": {
37
+ "type": "KeyPair",
38
+ "identifiers": [
39
+ { "target": "Name", "source": "response", "path": "KeyName" }
40
+ ],
41
+ "path": "@"
42
+ }
43
+ },
44
+ "CreateNetworkAcl": {
45
+ "request": { "operation": "CreateNetworkAcl" },
46
+ "resource": {
47
+ "type": "NetworkAcl",
48
+ "identifiers": [
49
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
50
+ ],
51
+ "path": "NetworkAcl"
52
+ }
53
+ },
54
+ "CreateNetworkInterface": {
55
+ "request": { "operation": "CreateNetworkInterface" },
56
+ "resource": {
57
+ "type": "NetworkInterface",
58
+ "identifiers": [
59
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
60
+ ],
61
+ "path": "NetworkInterface"
62
+ }
63
+ },
64
+ "CreatePlacementGroup": {
65
+ "request": { "operation": "CreatePlacementGroup" },
66
+ "resource": {
67
+ "type": "PlacementGroup",
68
+ "identifiers": [
69
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
70
+ ]
71
+ }
72
+ },
73
+ "CreateRouteTable": {
74
+ "request": { "operation": "CreateRouteTable" },
75
+ "resource": {
76
+ "type": "RouteTable",
77
+ "identifiers": [
78
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
79
+ ],
80
+ "path": "RouteTable"
81
+ }
82
+ },
83
+ "CreateSecurityGroup": {
84
+ "request": { "operation": "CreateSecurityGroup" },
85
+ "resource": {
86
+ "type": "SecurityGroup",
87
+ "identifiers": [
88
+ { "target": "Id", "source": "response", "path": "GroupId" }
89
+ ]
90
+ }
91
+ },
92
+ "CreateSnapshot": {
93
+ "request": { "operation": "CreateSnapshot" },
94
+ "resource": {
95
+ "type": "Snapshot",
96
+ "identifiers": [
97
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
98
+ ],
99
+ "path": "@"
100
+ }
101
+ },
102
+ "CreateSubnet": {
103
+ "request": { "operation": "CreateSubnet" },
104
+ "resource": {
105
+ "type": "Subnet",
106
+ "identifiers": [
107
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
108
+ ],
109
+ "path": "Subnet"
110
+ }
111
+ },
112
+ "CreateTags": {
113
+ "request": { "operation": "CreateTags" }
114
+ },
115
+ "CreateVolume": {
116
+ "request": { "operation": "CreateVolume" },
117
+ "resource": {
118
+ "type": "Volume",
119
+ "identifiers": [
120
+ { "target": "Id", "source": "response", "path": "VolumeId" }
121
+ ],
122
+ "path": "@"
123
+ }
124
+ },
125
+ "CreateVpc": {
126
+ "request": { "operation": "CreateVpc" },
127
+ "resource": {
128
+ "type": "Vpc",
129
+ "identifiers": [
130
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
131
+ ],
132
+ "path": "Vpc"
133
+ }
134
+ },
135
+ "CreateVpcPeeringConnection": {
136
+ "request": { "operation": "CreateVpcPeeringConnection" },
137
+ "resource": {
138
+ "type": "VpcPeeringConnection",
139
+ "identifiers": [
140
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
141
+ ],
142
+ "path": "VpcPeeringConnection"
143
+ }
144
+ },
145
+ "DisassociateRouteTable": {
146
+ "request": { "operation": "DisassociateRouteTable" }
147
+ },
148
+ "ImportKeyPair": {
149
+ "request": { "operation": "ImportKeyPair" },
150
+ "resource": {
151
+ "type": "KeyPairInfo",
152
+ "identifiers": [
153
+ { "target": "Name", "source": "response", "path": "KeyName" }
154
+ ]
155
+ }
156
+ },
157
+ "RegisterImage": {
158
+ "request": { "operation": "RegisterImage" },
159
+ "resource": {
160
+ "type": "Image",
161
+ "identifiers": [
162
+ { "target": "Id", "source": "response", "path": "ImageId" }
163
+ ]
164
+ }
165
+ }
166
+ },
167
+ "has": {
168
+ "DhcpOptions": {
169
+ "resource": {
170
+ "type": "DhcpOptions",
171
+ "identifiers": [
172
+ { "target": "Id", "source": "input" }
173
+ ]
174
+ }
175
+ },
176
+ "Image": {
177
+ "resource": {
178
+ "type": "Image",
179
+ "identifiers": [
180
+ { "target": "Id", "source": "input" }
181
+ ]
182
+ }
183
+ },
184
+ "Instance": {
185
+ "resource": {
186
+ "type": "Instance",
187
+ "identifiers": [
188
+ { "target": "Id", "source": "input" }
189
+ ]
190
+ }
191
+ },
192
+ "InternetGateway": {
193
+ "resource": {
194
+ "type": "InternetGateway",
195
+ "identifiers": [
196
+ { "target": "Id", "source": "input" }
197
+ ]
198
+ }
199
+ },
200
+ "KeyPair": {
201
+ "resource": {
202
+ "type": "KeyPairInfo",
203
+ "identifiers": [
204
+ { "target": "Name", "source": "input" }
205
+ ]
206
+ }
207
+ },
208
+ "NetworkAcl": {
209
+ "resource": {
210
+ "type": "NetworkAcl",
211
+ "identifiers": [
212
+ { "target": "Id", "source": "input" }
213
+ ]
214
+ }
215
+ },
216
+ "NetworkInterface": {
217
+ "resource": {
218
+ "type": "NetworkInterface",
219
+ "identifiers": [
220
+ { "target": "Id", "source": "input" }
221
+ ]
222
+ }
223
+ },
224
+ "PlacementGroup": {
225
+ "resource": {
226
+ "type": "PlacementGroup",
227
+ "identifiers": [
228
+ { "target": "Name", "source": "input" }
229
+ ]
230
+ }
231
+ },
232
+ "RouteTable": {
233
+ "resource": {
234
+ "type": "RouteTable",
235
+ "identifiers": [
236
+ { "target": "Id", "source": "input" }
237
+ ]
238
+ }
239
+ },
240
+ "RouteTableAssociation": {
241
+ "resource": {
242
+ "type": "RouteTableAssociation",
243
+ "identifiers": [
244
+ { "target": "Id", "source": "input" }
245
+ ]
246
+ }
247
+ },
248
+ "SecurityGroup": {
249
+ "resource": {
250
+ "type": "SecurityGroup",
251
+ "identifiers": [
252
+ { "target": "Id", "source": "input" }
253
+ ]
254
+ }
255
+ },
256
+ "Snapshot": {
257
+ "resource": {
258
+ "type": "Snapshot",
259
+ "identifiers": [
260
+ { "target": "Id", "source": "input" }
261
+ ]
262
+ }
263
+ },
264
+ "Subnet": {
265
+ "resource": {
266
+ "type": "Subnet",
267
+ "identifiers": [
268
+ { "target": "Id", "source": "input" }
269
+ ]
270
+ }
271
+ },
272
+ "Volume": {
273
+ "resource": {
274
+ "type": "Volume",
275
+ "identifiers": [
276
+ { "target": "Id", "source": "input" }
277
+ ]
278
+ }
279
+ },
280
+ "Vpc": {
281
+ "resource": {
282
+ "type": "Vpc",
283
+ "identifiers": [
284
+ { "target": "Id", "source": "input" }
285
+ ]
286
+ }
287
+ },
288
+ "VpcPeeringConnection": {
289
+ "resource": {
290
+ "type": "VpcPeeringConnection",
291
+ "identifiers": [
292
+ { "target": "Id", "source": "input" }
293
+ ]
294
+ }
295
+ }
296
+ },
297
+ "hasMany": {
298
+ "ClassicAddresses": {
299
+ "request": {
300
+ "operation": "DescribeAddresses",
301
+ "params": [
302
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
303
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
304
+ ]
305
+ },
306
+ "resource": {
307
+ "type": "ClassicAddress",
308
+ "identifiers": [
309
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
310
+ ],
311
+ "path": "Addresses[]"
312
+ }
313
+ },
314
+ "DhcpOptionsSets": {
315
+ "request": { "operation": "DescribeDhcpOptions" },
316
+ "resource": {
317
+ "type": "DhcpOptions",
318
+ "identifiers": [
319
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
320
+ ],
321
+ "path": "DhcpOptions[]"
322
+ }
323
+ },
324
+ "Images": {
325
+ "request": { "operation": "DescribeImages" },
326
+ "resource": {
327
+ "type": "Image",
328
+ "identifiers": [
329
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
330
+ ],
331
+ "path": "Images[]"
332
+ }
333
+ },
334
+ "Instances": {
335
+ "request": { "operation": "DescribeInstances" },
336
+ "resource": {
337
+ "type": "Instance",
338
+ "identifiers": [
339
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
340
+ ],
341
+ "path": "Reservations[].Instances[]"
342
+ }
343
+ },
344
+ "InternetGateways": {
345
+ "request": { "operation": "DescribeInternetGateways" },
346
+ "resource": {
347
+ "type": "InternetGateway",
348
+ "identifiers": [
349
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
350
+ ],
351
+ "path": "InternetGateways[]"
352
+ }
353
+ },
354
+ "KeyPairs": {
355
+ "request": { "operation": "DescribeKeyPairs" },
356
+ "resource": {
357
+ "type": "KeyPairInfo",
358
+ "identifiers": [
359
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
360
+ ],
361
+ "path": "KeyPairs[]"
362
+ }
363
+ },
364
+ "NetworkAcls": {
365
+ "request": { "operation": "DescribeNetworkAcls" },
366
+ "resource": {
367
+ "type": "NetworkAcl",
368
+ "identifiers": [
369
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
370
+ ],
371
+ "path": "NetworkAcls[]"
372
+ }
373
+ },
374
+ "NetworkInterfaces": {
375
+ "request": { "operation": "DescribeNetworkInterfaces" },
376
+ "resource": {
377
+ "type": "NetworkInterface",
378
+ "identifiers": [
379
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
380
+ ],
381
+ "path": "NetworkInterfaces[]"
382
+ }
383
+ },
384
+ "PlacementGroups": {
385
+ "request": { "operation": "DescribePlacementGroups" },
386
+ "resource": {
387
+ "type": "PlacementGroup",
388
+ "identifiers": [
389
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
390
+ ],
391
+ "path": "PlacementGroups[]"
392
+ }
393
+ },
394
+ "RouteTables": {
395
+ "request": { "operation": "DescribeRouteTables" },
396
+ "resource": {
397
+ "type": "RouteTable",
398
+ "identifiers": [
399
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
400
+ ],
401
+ "path": "RouteTables[]"
402
+ }
403
+ },
404
+ "SecurityGroups": {
405
+ "request": { "operation": "DescribeSecurityGroups" },
406
+ "resource": {
407
+ "type": "SecurityGroup",
408
+ "identifiers": [
409
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
410
+ ],
411
+ "path": "SecurityGroups[]"
412
+ }
413
+ },
414
+ "Snapshots": {
415
+ "request": { "operation": "DescribeSnapshots" },
416
+ "resource": {
417
+ "type": "Snapshot",
418
+ "identifiers": [
419
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
420
+ ],
421
+ "path": "Snapshots[]"
422
+ }
423
+ },
424
+ "Subnets": {
425
+ "request": { "operation": "DescribeSubnets" },
426
+ "resource": {
427
+ "type": "Subnet",
428
+ "identifiers": [
429
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
430
+ ],
431
+ "path": "Subnets[]"
432
+ }
433
+ },
434
+ "Volumes": {
435
+ "request": { "operation": "DescribeVolumes" },
436
+ "resource": {
437
+ "type": "Volume",
438
+ "identifiers": [
439
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
440
+ ],
441
+ "path": "Volumes[]"
442
+ }
443
+ },
444
+ "VpcAddresses": {
445
+ "request": {
446
+ "operation": "DescribeAddresses",
447
+ "params": [
448
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
449
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
450
+ ]
451
+ },
452
+ "resource": {
453
+ "type": "VpcAddress",
454
+ "identifiers": [
455
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
456
+ ],
457
+ "path": "Addresses[]"
458
+ }
459
+ },
460
+ "VpcPeeringConnections": {
461
+ "request": { "operation": "DescribeVpcPeeringConnections" },
462
+ "resource": {
463
+ "type": "VpcPeeringConnection",
464
+ "identifiers": [
465
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
466
+ ],
467
+ "path": "VpcPeeringConnections[]"
468
+ }
469
+ },
470
+ "Vpcs": {
471
+ "request": { "operation": "DescribeVpcs" },
472
+ "resource": {
473
+ "type": "Vpc",
474
+ "identifiers": [
475
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
476
+ ],
477
+ "path": "Vpcs[]"
478
+ }
479
+ }
480
+ }
481
+ },
482
+ "resources": {
483
+ "ClassicAddress": {
484
+ "identifiers": [
485
+ {
486
+ "name": "PublicIp"
487
+ }
488
+ ],
489
+ "shape": "Address",
490
+ "load": {
491
+ "request": {
492
+ "operation": "DescribeAddresses",
493
+ "params": [
494
+ { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" }
495
+ ]
496
+ },
497
+ "path": "Addresses[0]"
498
+ },
499
+ "actions": {
500
+ "Associate": {
501
+ "request": {
502
+ "operation": "AssociateAddress",
503
+ "params": [
504
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
505
+ ]
506
+ }
507
+ },
508
+ "Disassociate": {
509
+ "request": {
510
+ "operation": "DisassociateAddress",
511
+ "params": [
512
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
513
+ ]
514
+ }
515
+ },
516
+ "Release": {
517
+ "request": {
518
+ "operation": "ReleaseAddress",
519
+ "params": [
520
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
521
+ ]
522
+ }
523
+ }
524
+ }
525
+ },
526
+ "DhcpOptions": {
527
+ "identifiers": [
528
+ {
529
+ "name": "Id",
530
+ "memberName": "DhcpOptionsId"
531
+ }
532
+ ],
533
+ "shape": "DhcpOptions",
534
+ "load": {
535
+ "request": {
536
+ "operation": "DescribeDhcpOptions",
537
+ "params": [
538
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
539
+ ]
540
+ },
541
+ "path": "DhcpOptions[0]"
542
+ },
543
+ "actions": {
544
+ "AssociateWithVpc": {
545
+ "request": {
546
+ "operation": "AssociateDhcpOptions",
547
+ "params": [
548
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
549
+ ]
550
+ }
551
+ },
552
+ "CreateTags": {
553
+ "request": {
554
+ "operation": "CreateTags",
555
+ "params": [
556
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
557
+ ]
558
+ },
559
+ "resource": {
560
+ "type": "Tag",
561
+ "identifiers": [
562
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
563
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
564
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
565
+ ]
566
+ }
567
+ },
568
+ "Delete": {
569
+ "request": {
570
+ "operation": "DeleteDhcpOptions",
571
+ "params": [
572
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
573
+ ]
574
+ }
575
+ }
576
+ }
577
+ },
578
+ "Image": {
579
+ "identifiers": [
580
+ {
581
+ "name": "Id",
582
+ "memberName": "ImageId"
583
+ }
584
+ ],
585
+ "shape": "Image",
586
+ "load": {
587
+ "request": {
588
+ "operation": "DescribeImages",
589
+ "params": [
590
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
591
+ ]
592
+ },
593
+ "path": "Images[0]"
594
+ },
595
+ "actions": {
596
+ "CreateTags": {
597
+ "request": {
598
+ "operation": "CreateTags",
599
+ "params": [
600
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
601
+ ]
602
+ },
603
+ "resource": {
604
+ "type": "Tag",
605
+ "identifiers": [
606
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
607
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
608
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
609
+ ]
610
+ }
611
+ },
612
+ "Deregister": {
613
+ "request": {
614
+ "operation": "DeregisterImage",
615
+ "params": [
616
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
617
+ ]
618
+ }
619
+ },
620
+ "DescribeAttribute": {
621
+ "request": {
622
+ "operation": "DescribeImageAttribute",
623
+ "params": [
624
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
625
+ ]
626
+ }
627
+ },
628
+ "ModifyAttribute": {
629
+ "request": {
630
+ "operation": "ModifyImageAttribute",
631
+ "params": [
632
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
633
+ ]
634
+ }
635
+ },
636
+ "ResetAttribute": {
637
+ "request": {
638
+ "operation": "ResetImageAttribute",
639
+ "params": [
640
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
641
+ ]
642
+ }
643
+ }
644
+ },
645
+ "waiters": {
646
+ "Exists": {
647
+ "waiterName": "ImageExists",
648
+ "params": [
649
+ { "target": "ImageIds[]", "source": "identifier", "name": "Id" }
650
+ ],
651
+ "path": "Images[0]"
652
+ }
653
+ }
654
+ },
655
+ "Instance": {
656
+ "identifiers": [
657
+ {
658
+ "name": "Id",
659
+ "memberName": "InstanceId"
660
+ }
661
+ ],
662
+ "shape": "Instance",
663
+ "load": {
664
+ "request": {
665
+ "operation": "DescribeInstances",
666
+ "params": [
667
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
668
+ ]
669
+ },
670
+ "path": "Reservations[0].Instances[0]"
671
+ },
672
+ "actions": {
673
+ "AttachClassicLinkVpc": {
674
+ "request": {
675
+ "operation": "AttachClassicLinkVpc",
676
+ "params": [
677
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
678
+ ]
679
+ }
680
+ },
681
+ "AttachVolume": {
682
+ "request": {
683
+ "operation": "AttachVolume",
684
+ "params": [
685
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
686
+ ]
687
+ }
688
+ },
689
+ "ConsoleOutput": {
690
+ "request": {
691
+ "operation": "GetConsoleOutput",
692
+ "params": [
693
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
694
+ ]
695
+ }
696
+ },
697
+ "CreateImage": {
698
+ "request": {
699
+ "operation": "CreateImage",
700
+ "params": [
701
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
702
+ ]
703
+ },
704
+ "resource": {
705
+ "type": "Image",
706
+ "identifiers": [
707
+ { "target": "Id", "source": "response", "path": "ImageId" }
708
+ ]
709
+ }
710
+ },
711
+ "CreateTags": {
712
+ "request": {
713
+ "operation": "CreateTags",
714
+ "params": [
715
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
716
+ ]
717
+ },
718
+ "resource": {
719
+ "type": "Tag",
720
+ "identifiers": [
721
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
722
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
723
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
724
+ ]
725
+ }
726
+ },
727
+ "DescribeAttribute": {
728
+ "request": {
729
+ "operation": "DescribeInstanceAttribute",
730
+ "params": [
731
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
732
+ ]
733
+ }
734
+ },
735
+ "DetachClassicLinkVpc": {
736
+ "request": {
737
+ "operation": "DetachClassicLinkVpc",
738
+ "params": [
739
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
740
+ ]
741
+ }
742
+ },
743
+ "DetachVolume": {
744
+ "request": {
745
+ "operation": "DetachVolume",
746
+ "params": [
747
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
748
+ ]
749
+ }
750
+ },
751
+ "ModifyAttribute": {
752
+ "request": {
753
+ "operation": "ModifyInstanceAttribute",
754
+ "params": [
755
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
756
+ ]
757
+ }
758
+ },
759
+ "Monitor": {
760
+ "request": {
761
+ "operation": "MonitorInstances",
762
+ "params": [
763
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
764
+ ]
765
+ }
766
+ },
767
+ "PasswordData": {
768
+ "request": {
769
+ "operation": "GetPasswordData",
770
+ "params": [
771
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
772
+ ]
773
+ }
774
+ },
775
+ "Reboot": {
776
+ "request": {
777
+ "operation": "RebootInstances",
778
+ "params": [
779
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
780
+ ]
781
+ }
782
+ },
783
+ "ReportStatus": {
784
+ "request": {
785
+ "operation": "ReportInstanceStatus",
786
+ "params": [
787
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
788
+ ]
789
+ }
790
+ },
791
+ "ResetAttribute": {
792
+ "request": {
793
+ "operation": "ResetInstanceAttribute",
794
+ "params": [
795
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
796
+ ]
797
+ }
798
+ },
799
+ "ResetKernel": {
800
+ "request": {
801
+ "operation": "ResetInstanceAttribute",
802
+ "params": [
803
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
804
+ { "target": "Attribute", "source": "string", "value": "kernel" }
805
+ ]
806
+ }
807
+ },
808
+ "ResetRamdisk": {
809
+ "request": {
810
+ "operation": "ResetInstanceAttribute",
811
+ "params": [
812
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
813
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
814
+ ]
815
+ }
816
+ },
817
+ "ResetSourceDestCheck": {
818
+ "request": {
819
+ "operation": "ResetInstanceAttribute",
820
+ "params": [
821
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
822
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
823
+ ]
824
+ }
825
+ },
826
+ "Start": {
827
+ "request": {
828
+ "operation": "StartInstances",
829
+ "params": [
830
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
831
+ ]
832
+ }
833
+ },
834
+ "Stop": {
835
+ "request": {
836
+ "operation": "StopInstances",
837
+ "params": [
838
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
839
+ ]
840
+ }
841
+ },
842
+ "Terminate": {
843
+ "request": {
844
+ "operation": "TerminateInstances",
845
+ "params": [
846
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
847
+ ]
848
+ }
849
+ },
850
+ "Unmonitor": {
851
+ "request": {
852
+ "operation": "UnmonitorInstances",
853
+ "params": [
854
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
855
+ ]
856
+ }
857
+ }
858
+ },
859
+ "batchActions": {
860
+ "CreateTags": {
861
+ "request": {
862
+ "operation": "CreateTags",
863
+ "params": [
864
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
865
+ ]
866
+ }
867
+ },
868
+ "Monitor": {
869
+ "request": {
870
+ "operation": "MonitorInstances",
871
+ "params": [
872
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
873
+ ]
874
+ }
875
+ },
876
+ "Reboot": {
877
+ "request": {
878
+ "operation": "RebootInstances",
879
+ "params": [
880
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
881
+ ]
882
+ }
883
+ },
884
+ "Start": {
885
+ "request": {
886
+ "operation": "StartInstances",
887
+ "params": [
888
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
889
+ ]
890
+ }
891
+ },
892
+ "Stop": {
893
+ "request": {
894
+ "operation": "StopInstances",
895
+ "params": [
896
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
897
+ ]
898
+ }
899
+ },
900
+ "Terminate": {
901
+ "request": {
902
+ "operation": "TerminateInstances",
903
+ "params": [
904
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
905
+ ]
906
+ }
907
+ },
908
+ "Unmonitor": {
909
+ "request": {
910
+ "operation": "UnmonitorInstances",
911
+ "params": [
912
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
913
+ ]
914
+ }
915
+ }
916
+ },
917
+ "waiters": {
918
+ "Exists": {
919
+ "waiterName": "InstanceExists",
920
+ "params": [
921
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
922
+ ],
923
+ "path": "Reservations[0].Instances[0]"
924
+ },
925
+ "Running": {
926
+ "waiterName": "InstanceRunning",
927
+ "params": [
928
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
929
+ ],
930
+ "path": "Reservations[0].Instances[0]"
931
+ },
932
+ "Stopped": {
933
+ "waiterName": "InstanceStopped",
934
+ "params": [
935
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
936
+ ],
937
+ "path": "Reservations[0].Instances[0]"
938
+ },
939
+ "Terminated": {
940
+ "waiterName": "InstanceTerminated",
941
+ "params": [
942
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
943
+ ],
944
+ "path": "Reservations[0].Instances[0]"
945
+ }
946
+ },
947
+ "has": {
948
+ "ClassicAddress": {
949
+ "resource": {
950
+ "type": "ClassicAddress",
951
+ "identifiers": [
952
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
953
+ ]
954
+ }
955
+ },
956
+ "Image": {
957
+ "resource": {
958
+ "type": "Image",
959
+ "identifiers": [
960
+ { "target": "Id", "source": "data", "path": "ImageId" }
961
+ ]
962
+ }
963
+ },
964
+ "KeyPair": {
965
+ "resource": {
966
+ "type": "KeyPairInfo",
967
+ "identifiers": [
968
+ { "target": "Name", "source": "data", "path": "KeyName" }
969
+ ]
970
+ }
971
+ },
972
+ "NetworkInterfaces": {
973
+ "resource": {
974
+ "type": "NetworkInterface",
975
+ "identifiers": [
976
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
977
+ ],
978
+ "path": "NetworkInterfaces[]"
979
+ }
980
+ },
981
+ "PlacementGroup": {
982
+ "resource": {
983
+ "type": "PlacementGroup",
984
+ "identifiers": [
985
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
986
+ ]
987
+ }
988
+ },
989
+ "Subnet": {
990
+ "resource": {
991
+ "type": "Subnet",
992
+ "identifiers": [
993
+ { "target": "Id", "source": "data", "path": "SubnetId" }
994
+ ]
995
+ }
996
+ },
997
+ "Vpc": {
998
+ "resource": {
999
+ "type": "Vpc",
1000
+ "identifiers": [
1001
+ { "target": "Id", "source": "data", "path": "VpcId" }
1002
+ ]
1003
+ }
1004
+ }
1005
+ },
1006
+ "hasMany": {
1007
+ "Volumes": {
1008
+ "request": {
1009
+ "operation": "DescribeVolumes",
1010
+ "params": [
1011
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
1012
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1013
+ ]
1014
+ },
1015
+ "resource": {
1016
+ "type": "Volume",
1017
+ "identifiers": [
1018
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
1019
+ ],
1020
+ "path": "Volumes[]"
1021
+ }
1022
+ },
1023
+ "VpcAddresses": {
1024
+ "request": {
1025
+ "operation": "DescribeAddresses",
1026
+ "params": [
1027
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
1028
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1029
+ ]
1030
+ },
1031
+ "resource": {
1032
+ "type": "VpcAddress",
1033
+ "identifiers": [
1034
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
1035
+ ],
1036
+ "path": "Addresses[]"
1037
+ }
1038
+ }
1039
+ }
1040
+ },
1041
+ "InternetGateway": {
1042
+ "identifiers": [
1043
+ {
1044
+ "name": "Id",
1045
+ "memberName": "InternetGatewayId"
1046
+ }
1047
+ ],
1048
+ "shape": "InternetGateway",
1049
+ "load": {
1050
+ "request": {
1051
+ "operation": "DescribeInternetGateways",
1052
+ "params": [
1053
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
1054
+ ]
1055
+ },
1056
+ "path": "InternetGateways[0]"
1057
+ },
1058
+ "actions": {
1059
+ "AttachToVpc": {
1060
+ "request": {
1061
+ "operation": "AttachInternetGateway",
1062
+ "params": [
1063
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1064
+ ]
1065
+ }
1066
+ },
1067
+ "CreateTags": {
1068
+ "request": {
1069
+ "operation": "CreateTags",
1070
+ "params": [
1071
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1072
+ ]
1073
+ },
1074
+ "resource": {
1075
+ "type": "Tag",
1076
+ "identifiers": [
1077
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1078
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1079
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1080
+ ]
1081
+ }
1082
+ },
1083
+ "Delete": {
1084
+ "request": {
1085
+ "operation": "DeleteInternetGateway",
1086
+ "params": [
1087
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1088
+ ]
1089
+ }
1090
+ },
1091
+ "DetachFromVpc": {
1092
+ "request": {
1093
+ "operation": "DetachInternetGateway",
1094
+ "params": [
1095
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1096
+ ]
1097
+ }
1098
+ }
1099
+ }
1100
+ },
1101
+ "KeyPair": {
1102
+ "identifiers": [
1103
+ {
1104
+ "name": "Name",
1105
+ "memberName": "KeyName"
1106
+ }
1107
+ ],
1108
+ "shape": "KeyPair",
1109
+ "actions": {
1110
+ "Delete": {
1111
+ "request": {
1112
+ "operation": "DeleteKeyPair",
1113
+ "params": [
1114
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1115
+ ]
1116
+ }
1117
+ }
1118
+ }
1119
+ },
1120
+ "KeyPairInfo": {
1121
+ "identifiers": [
1122
+ {
1123
+ "name": "Name",
1124
+ "memberName": "KeyName"
1125
+ }
1126
+ ],
1127
+ "shape": "KeyPairInfo",
1128
+ "load": {
1129
+ "request": {
1130
+ "operation": "DescribeKeyPairs",
1131
+ "params": [
1132
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
1133
+ ]
1134
+ },
1135
+ "path": "KeyPairs[0]"
1136
+ },
1137
+ "actions": {
1138
+ "Delete": {
1139
+ "request": {
1140
+ "operation": "DeleteKeyPair",
1141
+ "params": [
1142
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1143
+ ]
1144
+ }
1145
+ }
1146
+ }
1147
+ },
1148
+ "NetworkAcl": {
1149
+ "identifiers": [
1150
+ {
1151
+ "name": "Id",
1152
+ "memberName": "NetworkAclId"
1153
+ }
1154
+ ],
1155
+ "shape": "NetworkAcl",
1156
+ "load": {
1157
+ "request": {
1158
+ "operation": "DescribeNetworkAcls",
1159
+ "params": [
1160
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
1161
+ ]
1162
+ },
1163
+ "path": "NetworkAcls[0]"
1164
+ },
1165
+ "actions": {
1166
+ "CreateEntry": {
1167
+ "request": {
1168
+ "operation": "CreateNetworkAclEntry",
1169
+ "params": [
1170
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1171
+ ]
1172
+ }
1173
+ },
1174
+ "CreateTags": {
1175
+ "request": {
1176
+ "operation": "CreateTags",
1177
+ "params": [
1178
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1179
+ ]
1180
+ },
1181
+ "resource": {
1182
+ "type": "Tag",
1183
+ "identifiers": [
1184
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1185
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1186
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1187
+ ]
1188
+ }
1189
+ },
1190
+ "Delete": {
1191
+ "request": {
1192
+ "operation": "DeleteNetworkAcl",
1193
+ "params": [
1194
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1195
+ ]
1196
+ }
1197
+ },
1198
+ "DeleteEntry": {
1199
+ "request": {
1200
+ "operation": "DeleteNetworkAclEntry",
1201
+ "params": [
1202
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1203
+ ]
1204
+ }
1205
+ },
1206
+ "ReplaceAssociation": {
1207
+ "request": {
1208
+ "operation": "ReplaceNetworkAclAssociation",
1209
+ "params": [
1210
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1211
+ ]
1212
+ }
1213
+ },
1214
+ "ReplaceEntry": {
1215
+ "request": {
1216
+ "operation": "ReplaceNetworkAclEntry",
1217
+ "params": [
1218
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1219
+ ]
1220
+ }
1221
+ }
1222
+ },
1223
+ "has": {
1224
+ "Vpc": {
1225
+ "resource": {
1226
+ "type": "Vpc",
1227
+ "identifiers": [
1228
+ { "target": "Id", "source": "data", "path": "VpcId" }
1229
+ ]
1230
+ }
1231
+ }
1232
+ }
1233
+ },
1234
+ "NetworkInterface": {
1235
+ "identifiers": [
1236
+ {
1237
+ "name": "Id",
1238
+ "memberName": "NetworkInterfaceId"
1239
+ }
1240
+ ],
1241
+ "shape": "NetworkInterface",
1242
+ "load": {
1243
+ "request": {
1244
+ "operation": "DescribeNetworkInterfaces",
1245
+ "params": [
1246
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
1247
+ ]
1248
+ },
1249
+ "path": "NetworkInterfaces[0]"
1250
+ },
1251
+ "actions": {
1252
+ "AssignPrivateIpAddresses": {
1253
+ "request": {
1254
+ "operation": "AssignPrivateIpAddresses",
1255
+ "params": [
1256
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1257
+ ]
1258
+ }
1259
+ },
1260
+ "Attach": {
1261
+ "request": {
1262
+ "operation": "AttachNetworkInterface",
1263
+ "params": [
1264
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1265
+ ]
1266
+ }
1267
+ },
1268
+ "CreateTags": {
1269
+ "request": {
1270
+ "operation": "CreateTags",
1271
+ "params": [
1272
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1273
+ ]
1274
+ },
1275
+ "resource": {
1276
+ "type": "Tag",
1277
+ "identifiers": [
1278
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1279
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1280
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1281
+ ]
1282
+ }
1283
+ },
1284
+ "Delete": {
1285
+ "request": {
1286
+ "operation": "DeleteNetworkInterface",
1287
+ "params": [
1288
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1289
+ ]
1290
+ }
1291
+ },
1292
+ "DescribeAttribute": {
1293
+ "request": {
1294
+ "operation": "DescribeNetworkInterfaceAttribute",
1295
+ "params": [
1296
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1297
+ ]
1298
+ }
1299
+ },
1300
+ "Detach": {
1301
+ "request": {
1302
+ "operation": "DetachNetworkInterface",
1303
+ "params": [
1304
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
1305
+ ]
1306
+ }
1307
+ },
1308
+ "ModifyAttribute": {
1309
+ "request": {
1310
+ "operation": "ModifyNetworkInterfaceAttribute",
1311
+ "params": [
1312
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1313
+ ]
1314
+ }
1315
+ },
1316
+ "ResetAttribute": {
1317
+ "request": {
1318
+ "operation": "ResetNetworkInterfaceAttribute",
1319
+ "params": [
1320
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1321
+ ]
1322
+ }
1323
+ },
1324
+ "UnassignPrivateIpAddresses": {
1325
+ "request": {
1326
+ "operation": "UnassignPrivateIpAddresses",
1327
+ "params": [
1328
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1329
+ ]
1330
+ }
1331
+ }
1332
+ },
1333
+ "has": {
1334
+ "Association": {
1335
+ "resource": {
1336
+ "type": "NetworkInterfaceAssociation",
1337
+ "identifiers": [
1338
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
1339
+ ],
1340
+ "path": "Association"
1341
+ }
1342
+ },
1343
+ "Subnet": {
1344
+ "resource": {
1345
+ "type": "Subnet",
1346
+ "identifiers": [
1347
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1348
+ ]
1349
+ }
1350
+ },
1351
+ "Vpc": {
1352
+ "resource": {
1353
+ "type": "Vpc",
1354
+ "identifiers": [
1355
+ { "target": "Id", "source": "data", "path": "VpcId" }
1356
+ ]
1357
+ }
1358
+ }
1359
+ }
1360
+ },
1361
+ "NetworkInterfaceAssociation": {
1362
+ "identifiers": [
1363
+ {
1364
+ "name": "Id"
1365
+ }
1366
+ ],
1367
+ "shape": "InstanceNetworkInterfaceAssociation",
1368
+ "load": {
1369
+ "request": {
1370
+ "operation": "DescribeNetworkInterfaces",
1371
+ "params": [
1372
+ { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" },
1373
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1374
+ ]
1375
+ },
1376
+ "path": "NetworkInterfaces[0].Association"
1377
+ },
1378
+ "actions": {
1379
+ "Delete": {
1380
+ "request": {
1381
+ "operation": "DisassociateAddress",
1382
+ "params": [
1383
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1384
+ ]
1385
+ }
1386
+ }
1387
+ },
1388
+ "has": {
1389
+ "Address": {
1390
+ "resource": {
1391
+ "type": "VpcAddress",
1392
+ "identifiers": [
1393
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
1394
+ ]
1395
+ }
1396
+ }
1397
+ }
1398
+ },
1399
+ "PlacementGroup": {
1400
+ "identifiers": [
1401
+ {
1402
+ "name": "Name",
1403
+ "memberName": "GroupName"
1404
+ }
1405
+ ],
1406
+ "shape": "PlacementGroup",
1407
+ "load": {
1408
+ "request": {
1409
+ "operation": "DescribePlacementGroups",
1410
+ "params": [
1411
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
1412
+ ]
1413
+ },
1414
+ "path": "PlacementGroups[0]"
1415
+ },
1416
+ "actions": {
1417
+ "Delete": {
1418
+ "request": {
1419
+ "operation": "DeletePlacementGroup",
1420
+ "params": [
1421
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
1422
+ ]
1423
+ }
1424
+ }
1425
+ },
1426
+ "hasMany": {
1427
+ "Instances": {
1428
+ "request": {
1429
+ "operation": "DescribeInstances",
1430
+ "params": [
1431
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
1432
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
1433
+ ]
1434
+ },
1435
+ "resource": {
1436
+ "type": "Instance",
1437
+ "identifiers": [
1438
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1439
+ ],
1440
+ "path": "Reservations[].Instances[]"
1441
+ }
1442
+ }
1443
+ }
1444
+ },
1445
+ "Route": {
1446
+ "identifiers": [
1447
+ { "name": "RouteTableId" },
1448
+ {
1449
+ "name": "DestinationCidrBlock",
1450
+ "memberName": "DestinationCidrBlock"
1451
+ }
1452
+ ],
1453
+ "shape": "Route",
1454
+ "actions": {
1455
+ "Delete": {
1456
+ "request": {
1457
+ "operation": "DeleteRoute",
1458
+ "params": [
1459
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
1460
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
1461
+ ]
1462
+ }
1463
+ },
1464
+ "Replace": {
1465
+ "request": {
1466
+ "operation": "ReplaceRoute",
1467
+ "params": [
1468
+ { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" },
1469
+ { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" }
1470
+ ]
1471
+ }
1472
+ }
1473
+ },
1474
+ "has": {
1475
+ "RouteTable": {
1476
+ "resource": {
1477
+ "type": "RouteTable",
1478
+ "identifiers": [
1479
+ { "target": "Id", "source": "identifier", "name": "RouteTableId" }
1480
+ ]
1481
+ }
1482
+ }
1483
+ }
1484
+ },
1485
+ "RouteTable": {
1486
+ "identifiers": [
1487
+ {
1488
+ "name": "Id",
1489
+ "memberName": "RouteTableId"
1490
+ }
1491
+ ],
1492
+ "shape": "RouteTable",
1493
+ "load": {
1494
+ "request": {
1495
+ "operation": "DescribeRouteTables",
1496
+ "params": [
1497
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1498
+ ]
1499
+ },
1500
+ "path": "RouteTables[0]"
1501
+ },
1502
+ "actions": {
1503
+ "AssociateWithSubnet": {
1504
+ "request": {
1505
+ "operation": "AssociateRouteTable",
1506
+ "params": [
1507
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1508
+ ]
1509
+ },
1510
+ "resource": {
1511
+ "type": "RouteTableAssociation",
1512
+ "identifiers": [
1513
+ { "target": "Id", "source": "response", "path": "AssociationId" }
1514
+ ]
1515
+ }
1516
+ },
1517
+ "CreateRoute": {
1518
+ "request": {
1519
+ "operation": "CreateRoute",
1520
+ "params": [
1521
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1522
+ ]
1523
+ },
1524
+ "resource": {
1525
+ "type": "Route",
1526
+ "identifiers": [
1527
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
1528
+ { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" }
1529
+ ]
1530
+ }
1531
+ },
1532
+ "CreateTags": {
1533
+ "request": {
1534
+ "operation": "CreateTags",
1535
+ "params": [
1536
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1537
+ ]
1538
+ },
1539
+ "resource": {
1540
+ "type": "Tag",
1541
+ "identifiers": [
1542
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1543
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1544
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1545
+ ]
1546
+ }
1547
+ },
1548
+ "Delete": {
1549
+ "request": {
1550
+ "operation": "DeleteRouteTable",
1551
+ "params": [
1552
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1553
+ ]
1554
+ }
1555
+ }
1556
+ },
1557
+ "has": {
1558
+ "Associations": {
1559
+ "resource": {
1560
+ "type": "RouteTableAssociation",
1561
+ "identifiers": [
1562
+ { "target": "Id", "source": "data", "path": "Associations[].RouteTableAssociationId" }
1563
+ ],
1564
+ "path": "Associations[]"
1565
+ }
1566
+ },
1567
+ "Routes": {
1568
+ "resource": {
1569
+ "type": "Route",
1570
+ "identifiers": [
1571
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" },
1572
+ { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" }
1573
+ ],
1574
+ "path": "Routes[]"
1575
+ }
1576
+ },
1577
+ "Vpc": {
1578
+ "resource": {
1579
+ "type": "Vpc",
1580
+ "identifiers": [
1581
+ { "target": "Id", "source": "data", "path": "VpcId" }
1582
+ ]
1583
+ }
1584
+ }
1585
+ }
1586
+ },
1587
+ "RouteTableAssociation": {
1588
+ "identifiers": [
1589
+ {
1590
+ "name": "Id",
1591
+ "memberName": "RouteTableAssociationId"
1592
+ }
1593
+ ],
1594
+ "shape": "RouteTableAssociation",
1595
+ "actions": {
1596
+ "Delete": {
1597
+ "request": {
1598
+ "operation": "DisassociateRouteTable",
1599
+ "params": [
1600
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1601
+ ]
1602
+ }
1603
+ },
1604
+ "ReplaceSubnet": {
1605
+ "request": {
1606
+ "operation": "ReplaceRouteTableAssociation",
1607
+ "params": [
1608
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1609
+ ]
1610
+ },
1611
+ "resource": {
1612
+ "type": "RouteTableAssociation",
1613
+ "identifiers": [
1614
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
1615
+ ]
1616
+ }
1617
+ }
1618
+ },
1619
+ "has": {
1620
+ "RouteTable": {
1621
+ "resource": {
1622
+ "type": "RouteTable",
1623
+ "identifiers": [
1624
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
1625
+ ]
1626
+ }
1627
+ },
1628
+ "Subnet": {
1629
+ "resource": {
1630
+ "type": "Subnet",
1631
+ "identifiers": [
1632
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1633
+ ]
1634
+ }
1635
+ }
1636
+ }
1637
+ },
1638
+ "SecurityGroup": {
1639
+ "identifiers": [
1640
+ {
1641
+ "name": "Id",
1642
+ "memberName": "GroupId"
1643
+ }
1644
+ ],
1645
+ "shape": "SecurityGroup",
1646
+ "load": {
1647
+ "request": {
1648
+ "operation": "DescribeSecurityGroups",
1649
+ "params": [
1650
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
1651
+ ]
1652
+ },
1653
+ "path": "SecurityGroups[0]"
1654
+ },
1655
+ "actions": {
1656
+ "AuthorizeEgress": {
1657
+ "request": {
1658
+ "operation": "AuthorizeSecurityGroupEgress",
1659
+ "params": [
1660
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1661
+ ]
1662
+ }
1663
+ },
1664
+ "AuthorizeIngress": {
1665
+ "request": {
1666
+ "operation": "AuthorizeSecurityGroupIngress",
1667
+ "params": [
1668
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1669
+ ]
1670
+ }
1671
+ },
1672
+ "CreateTags": {
1673
+ "request": {
1674
+ "operation": "CreateTags",
1675
+ "params": [
1676
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1677
+ ]
1678
+ },
1679
+ "resource": {
1680
+ "type": "Tag",
1681
+ "identifiers": [
1682
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1683
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1684
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1685
+ ]
1686
+ }
1687
+ },
1688
+ "Delete": {
1689
+ "request": {
1690
+ "operation": "DeleteSecurityGroup",
1691
+ "params": [
1692
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1693
+ ]
1694
+ }
1695
+ },
1696
+ "RevokeEgress": {
1697
+ "request": {
1698
+ "operation": "RevokeSecurityGroupEgress",
1699
+ "params": [
1700
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1701
+ ]
1702
+ }
1703
+ },
1704
+ "RevokeIngress": {
1705
+ "request": {
1706
+ "operation": "RevokeSecurityGroupIngress",
1707
+ "params": [
1708
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1709
+ ]
1710
+ }
1711
+ }
1712
+ }
1713
+ },
1714
+ "Snapshot": {
1715
+ "identifiers": [
1716
+ {
1717
+ "name": "Id",
1718
+ "memberName": "SnapshotId"
1719
+ }
1720
+ ],
1721
+ "shape": "Snapshot",
1722
+ "load": {
1723
+ "request": {
1724
+ "operation": "DescribeSnapshots",
1725
+ "params": [
1726
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
1727
+ ]
1728
+ },
1729
+ "path": "Snapshots[0]"
1730
+ },
1731
+ "actions": {
1732
+ "Copy": {
1733
+ "request": {
1734
+ "operation": "CopySnapshot",
1735
+ "params": [
1736
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
1737
+ ]
1738
+ }
1739
+ },
1740
+ "CreateTags": {
1741
+ "request": {
1742
+ "operation": "CreateTags",
1743
+ "params": [
1744
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1745
+ ]
1746
+ },
1747
+ "resource": {
1748
+ "type": "Tag",
1749
+ "identifiers": [
1750
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1751
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1752
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1753
+ ]
1754
+ }
1755
+ },
1756
+ "Delete": {
1757
+ "request": {
1758
+ "operation": "DeleteSnapshot",
1759
+ "params": [
1760
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1761
+ ]
1762
+ }
1763
+ },
1764
+ "DescribeAttribute": {
1765
+ "request": {
1766
+ "operation": "DescribeSnapshotAttribute",
1767
+ "params": [
1768
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1769
+ ]
1770
+ }
1771
+ },
1772
+ "ModifyAttribute": {
1773
+ "request": {
1774
+ "operation": "ModifySnapshotAttribute",
1775
+ "params": [
1776
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1777
+ ]
1778
+ }
1779
+ },
1780
+ "ResetAttribute": {
1781
+ "request": {
1782
+ "operation": "ResetSnapshotAttribute",
1783
+ "params": [
1784
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1785
+ ]
1786
+ }
1787
+ }
1788
+ },
1789
+ "waiters": {
1790
+ "Completed": {
1791
+ "waiterName": "SnapshotCompleted",
1792
+ "params": [
1793
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
1794
+ ],
1795
+ "path": "Snapshots[]"
1796
+ }
1797
+ },
1798
+ "has": {
1799
+ "Volume": {
1800
+ "resource": {
1801
+ "type": "Volume",
1802
+ "identifiers": [
1803
+ { "target": "Id", "source": "data", "path": "VolumeId" }
1804
+ ]
1805
+ }
1806
+ }
1807
+ }
1808
+ },
1809
+ "Subnet": {
1810
+ "identifiers": [
1811
+ {
1812
+ "name": "Id",
1813
+ "memberName": "SubnetId"
1814
+ }
1815
+ ],
1816
+ "shape": "Subnet",
1817
+ "load": {
1818
+ "request": {
1819
+ "operation": "DescribeSubnets",
1820
+ "params": [
1821
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
1822
+ ]
1823
+ },
1824
+ "path": "Subnets[0]"
1825
+ },
1826
+ "actions": {
1827
+ "CreateInstances": {
1828
+ "request": {
1829
+ "operation": "RunInstances",
1830
+ "params": [
1831
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1832
+ ]
1833
+ },
1834
+ "resource": {
1835
+ "type": "Instance",
1836
+ "identifiers": [
1837
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
1838
+ ],
1839
+ "path": "Instances[]"
1840
+ }
1841
+ },
1842
+ "CreateNetworkInterface": {
1843
+ "request": {
1844
+ "operation": "CreateNetworkInterface",
1845
+ "params": [
1846
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1847
+ ]
1848
+ },
1849
+ "resource": {
1850
+ "type": "NetworkInterface",
1851
+ "identifiers": [
1852
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
1853
+ ],
1854
+ "path": "NetworkInterface"
1855
+ }
1856
+ },
1857
+ "CreateTags": {
1858
+ "request": {
1859
+ "operation": "CreateTags",
1860
+ "params": [
1861
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1862
+ ]
1863
+ },
1864
+ "resource": {
1865
+ "type": "Tag",
1866
+ "identifiers": [
1867
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1868
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1869
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1870
+ ]
1871
+ }
1872
+ },
1873
+ "Delete": {
1874
+ "request": {
1875
+ "operation": "DeleteSubnet",
1876
+ "params": [
1877
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1878
+ ]
1879
+ }
1880
+ }
1881
+ },
1882
+ "has": {
1883
+ "Vpc": {
1884
+ "resource": {
1885
+ "type": "Vpc",
1886
+ "identifiers": [
1887
+ { "target": "Id", "source": "data", "path": "VpcId" }
1888
+ ]
1889
+ }
1890
+ }
1891
+ },
1892
+ "hasMany": {
1893
+ "Instances": {
1894
+ "request": {
1895
+ "operation": "DescribeInstances",
1896
+ "params": [
1897
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1898
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1899
+ ]
1900
+ },
1901
+ "resource": {
1902
+ "type": "Instance",
1903
+ "identifiers": [
1904
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1905
+ ],
1906
+ "path": "Reservations[].Instances[]"
1907
+ }
1908
+ },
1909
+ "NetworkInterfaces": {
1910
+ "request": {
1911
+ "operation": "DescribeNetworkInterfaces",
1912
+ "params": [
1913
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1914
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1915
+ ]
1916
+ },
1917
+ "resource": {
1918
+ "type": "NetworkInterface",
1919
+ "identifiers": [
1920
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
1921
+ ],
1922
+ "path": "NetworkInterfaces[]"
1923
+ }
1924
+ }
1925
+ }
1926
+ },
1927
+ "Tag": {
1928
+ "identifiers": [
1929
+ {
1930
+ "name": "ResourceId",
1931
+ "memberName": "ResourceId"
1932
+ },
1933
+ {
1934
+ "name": "Key",
1935
+ "memberName": "Key"
1936
+ },
1937
+ {
1938
+ "name": "Value",
1939
+ "memberName": "Value"
1940
+ }
1941
+ ],
1942
+ "shape": "TagDescription",
1943
+ "load": {
1944
+ "request": {
1945
+ "operation": "DescribeTags",
1946
+ "params": [
1947
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
1948
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
1949
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
1950
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
1951
+ ]
1952
+ },
1953
+ "path": "Tags[0]"
1954
+ },
1955
+ "actions": {
1956
+ "Delete": {
1957
+ "request": {
1958
+ "operation": "DeleteTags",
1959
+ "params": [
1960
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
1961
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
1962
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
1963
+ ]
1964
+ }
1965
+ }
1966
+ },
1967
+ "batchActions": {
1968
+ "Delete": {
1969
+ "request": {
1970
+ "operation": "DeleteTags",
1971
+ "params": [
1972
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
1973
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
1974
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
1975
+ ]
1976
+ }
1977
+ }
1978
+ }
1979
+ },
1980
+ "Volume": {
1981
+ "identifiers": [
1982
+ {
1983
+ "name": "Id",
1984
+ "memberName": "VolumeId"
1985
+ }
1986
+ ],
1987
+ "shape": "Volume",
1988
+ "load": {
1989
+ "request": {
1990
+ "operation": "DescribeVolumes",
1991
+ "params": [
1992
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1993
+ ]
1994
+ },
1995
+ "path": "Volumes[0]"
1996
+ },
1997
+ "actions": {
1998
+ "AttachToInstance": {
1999
+ "request": {
2000
+ "operation": "AttachVolume",
2001
+ "params": [
2002
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2003
+ ]
2004
+ }
2005
+ },
2006
+ "CreateSnapshot": {
2007
+ "request": {
2008
+ "operation": "CreateSnapshot",
2009
+ "params": [
2010
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2011
+ ]
2012
+ },
2013
+ "resource": {
2014
+ "type": "Snapshot",
2015
+ "identifiers": [
2016
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
2017
+ ],
2018
+ "path": "@"
2019
+ }
2020
+ },
2021
+ "CreateTags": {
2022
+ "request": {
2023
+ "operation": "CreateTags",
2024
+ "params": [
2025
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
2026
+ ]
2027
+ },
2028
+ "resource": {
2029
+ "type": "Tag",
2030
+ "identifiers": [
2031
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
2032
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
2033
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
2034
+ ]
2035
+ }
2036
+ },
2037
+ "Delete": {
2038
+ "request": {
2039
+ "operation": "DeleteVolume",
2040
+ "params": [
2041
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2042
+ ]
2043
+ }
2044
+ },
2045
+ "DescribeAttribute": {
2046
+ "request": {
2047
+ "operation": "DescribeVolumeAttribute",
2048
+ "params": [
2049
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2050
+ ]
2051
+ }
2052
+ },
2053
+ "DescribeStatus": {
2054
+ "request": {
2055
+ "operation": "DescribeVolumeStatus",
2056
+ "params": [
2057
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
2058
+ ]
2059
+ }
2060
+ },
2061
+ "DetachFromInstance": {
2062
+ "request": {
2063
+ "operation": "DetachVolume",
2064
+ "params": [
2065
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2066
+ ]
2067
+ }
2068
+ },
2069
+ "EnableIo": {
2070
+ "request": {
2071
+ "operation": "EnableVolumeIO",
2072
+ "params": [
2073
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2074
+ ]
2075
+ }
2076
+ },
2077
+ "ModifyAttribute": {
2078
+ "request": {
2079
+ "operation": "ModifyVolumeAttribute",
2080
+ "params": [
2081
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2082
+ ]
2083
+ }
2084
+ }
2085
+ },
2086
+ "hasMany": {
2087
+ "Snapshots": {
2088
+ "request": {
2089
+ "operation": "DescribeSnapshots",
2090
+ "params": [
2091
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
2092
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2093
+ ]
2094
+ },
2095
+ "resource": {
2096
+ "type": "Snapshot",
2097
+ "identifiers": [
2098
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
2099
+ ],
2100
+ "path": "Snapshots[]"
2101
+ }
2102
+ }
2103
+ }
2104
+ },
2105
+ "Vpc": {
2106
+ "identifiers": [
2107
+ {
2108
+ "name": "Id",
2109
+ "memberName": "VpcId"
2110
+ }
2111
+ ],
2112
+ "shape": "Vpc",
2113
+ "load": {
2114
+ "request": {
2115
+ "operation": "DescribeVpcs",
2116
+ "params": [
2117
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
2118
+ ]
2119
+ },
2120
+ "path": "Vpcs[0]"
2121
+ },
2122
+ "actions": {
2123
+ "AssociateDhcpOptions": {
2124
+ "request": {
2125
+ "operation": "AssociateDhcpOptions",
2126
+ "params": [
2127
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2128
+ ]
2129
+ }
2130
+ },
2131
+ "AttachClassicLinkInstance": {
2132
+ "request": {
2133
+ "operation": "AttachClassicLinkVpc",
2134
+ "params": [
2135
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2136
+ ]
2137
+ }
2138
+ },
2139
+ "AttachInternetGateway": {
2140
+ "request": {
2141
+ "operation": "AttachInternetGateway",
2142
+ "params": [
2143
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2144
+ ]
2145
+ }
2146
+ },
2147
+ "CreateNetworkAcl": {
2148
+ "request": {
2149
+ "operation": "CreateNetworkAcl",
2150
+ "params": [
2151
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2152
+ ]
2153
+ },
2154
+ "resource": {
2155
+ "type": "NetworkAcl",
2156
+ "identifiers": [
2157
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
2158
+ ],
2159
+ "path": "NetworkAcl"
2160
+ }
2161
+ },
2162
+ "CreateRouteTable": {
2163
+ "request": {
2164
+ "operation": "CreateRouteTable",
2165
+ "params": [
2166
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2167
+ ]
2168
+ },
2169
+ "resource": {
2170
+ "type": "RouteTable",
2171
+ "identifiers": [
2172
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
2173
+ ],
2174
+ "path": "RouteTable"
2175
+ }
2176
+ },
2177
+ "CreateSecurityGroup": {
2178
+ "request": {
2179
+ "operation": "CreateSecurityGroup",
2180
+ "params": [
2181
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2182
+ ]
2183
+ },
2184
+ "resource": {
2185
+ "type": "SecurityGroup",
2186
+ "identifiers": [
2187
+ { "target": "Id", "source": "response", "path": "GroupId" }
2188
+ ]
2189
+ }
2190
+ },
2191
+ "CreateSubnet": {
2192
+ "request": {
2193
+ "operation": "CreateSubnet",
2194
+ "params": [
2195
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2196
+ ]
2197
+ },
2198
+ "resource": {
2199
+ "type": "Subnet",
2200
+ "identifiers": [
2201
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
2202
+ ],
2203
+ "path": "Subnet"
2204
+ }
2205
+ },
2206
+ "CreateTags": {
2207
+ "request": {
2208
+ "operation": "CreateTags",
2209
+ "params": [
2210
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
2211
+ ]
2212
+ },
2213
+ "resource": {
2214
+ "type": "Tag",
2215
+ "identifiers": [
2216
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
2217
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
2218
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
2219
+ ]
2220
+ }
2221
+ },
2222
+ "Delete": {
2223
+ "request": {
2224
+ "operation": "DeleteVpc",
2225
+ "params": [
2226
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2227
+ ]
2228
+ }
2229
+ },
2230
+ "DescribeAttribute": {
2231
+ "request": {
2232
+ "operation": "DescribeVpcAttribute",
2233
+ "params": [
2234
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2235
+ ]
2236
+ }
2237
+ },
2238
+ "DetachClassicLinkInstance": {
2239
+ "request": {
2240
+ "operation": "DetachClassicLinkVpc",
2241
+ "params": [
2242
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2243
+ ]
2244
+ }
2245
+ },
2246
+ "DetachInternetGateway": {
2247
+ "request": {
2248
+ "operation": "DetachInternetGateway",
2249
+ "params": [
2250
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2251
+ ]
2252
+ }
2253
+ },
2254
+ "DisableClassicLink": {
2255
+ "request": {
2256
+ "operation": "DisableVpcClassicLink",
2257
+ "params": [
2258
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2259
+ ]
2260
+ }
2261
+ },
2262
+ "EnableClassicLink": {
2263
+ "request": {
2264
+ "operation": "EnableVpcClassicLink",
2265
+ "params": [
2266
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2267
+ ]
2268
+ }
2269
+ },
2270
+ "ModifyAttribute": {
2271
+ "request": {
2272
+ "operation": "ModifyVpcAttribute",
2273
+ "params": [
2274
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2275
+ ]
2276
+ }
2277
+ },
2278
+ "RequestVpcPeeringConnection": {
2279
+ "request": {
2280
+ "operation": "CreateVpcPeeringConnection",
2281
+ "params": [
2282
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2283
+ ]
2284
+ },
2285
+ "resource": {
2286
+ "type": "VpcPeeringConnection",
2287
+ "identifiers": [
2288
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
2289
+ ],
2290
+ "path": "VpcPeeringConnection"
2291
+ }
2292
+ }
2293
+ },
2294
+ "waiters": {
2295
+ "Available": {
2296
+ "waiterName": "VpcAvailable",
2297
+ "params": [
2298
+ { "target": "VpcIds[]", "source": "identifier", "name": "Id" }
2299
+ ]
2300
+ },
2301
+ "Exists": {
2302
+ "waiterName": "VpcExists",
2303
+ "params": [
2304
+ { "target": "VpcIds[]", "source": "identifier", "name": "Id" }
2305
+ ]
2306
+ }
2307
+ },
2308
+ "has": {
2309
+ "DhcpOptions": {
2310
+ "resource": {
2311
+ "type": "DhcpOptions",
2312
+ "identifiers": [
2313
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
2314
+ ]
2315
+ }
2316
+ }
2317
+ },
2318
+ "hasMany": {
2319
+ "AcceptedVpcPeeringConnections": {
2320
+ "request": {
2321
+ "operation": "DescribeVpcPeeringConnections",
2322
+ "params": [
2323
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
2324
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2325
+ ]
2326
+ },
2327
+ "resource": {
2328
+ "type": "VpcPeeringConnection",
2329
+ "identifiers": [
2330
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2331
+ ],
2332
+ "path": "VpcPeeringConnections[]"
2333
+ }
2334
+ },
2335
+ "Instances": {
2336
+ "request": {
2337
+ "operation": "DescribeInstances",
2338
+ "params": [
2339
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2340
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2341
+ ]
2342
+ },
2343
+ "resource": {
2344
+ "type": "Instance",
2345
+ "identifiers": [
2346
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
2347
+ ],
2348
+ "path": "Reservations[].Instances[]"
2349
+ }
2350
+ },
2351
+ "InternetGateways": {
2352
+ "request": {
2353
+ "operation": "DescribeInternetGateways",
2354
+ "params": [
2355
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
2356
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2357
+ ]
2358
+ },
2359
+ "resource": {
2360
+ "type": "InternetGateway",
2361
+ "identifiers": [
2362
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
2363
+ ],
2364
+ "path": "InternetGateways[]"
2365
+ }
2366
+ },
2367
+ "NetworkAcls": {
2368
+ "request": {
2369
+ "operation": "DescribeNetworkAcls",
2370
+ "params": [
2371
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2372
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2373
+ ]
2374
+ },
2375
+ "resource": {
2376
+ "type": "NetworkAcl",
2377
+ "identifiers": [
2378
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
2379
+ ],
2380
+ "path": "NetworkAcls[]"
2381
+ }
2382
+ },
2383
+ "NetworkInterfaces": {
2384
+ "request": {
2385
+ "operation": "DescribeNetworkInterfaces",
2386
+ "params": [
2387
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2388
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2389
+ ]
2390
+ },
2391
+ "resource": {
2392
+ "type": "NetworkInterface",
2393
+ "identifiers": [
2394
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
2395
+ ],
2396
+ "path": "NetworkInterfaces[]"
2397
+ }
2398
+ },
2399
+ "RequestedVpcPeeringConnections": {
2400
+ "request": {
2401
+ "operation": "DescribeVpcPeeringConnections",
2402
+ "params": [
2403
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
2404
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2405
+ ]
2406
+ },
2407
+ "resource": {
2408
+ "type": "VpcPeeringConnection",
2409
+ "identifiers": [
2410
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2411
+ ],
2412
+ "path": "VpcPeeringConnections[]"
2413
+ }
2414
+ },
2415
+ "RouteTables": {
2416
+ "request": {
2417
+ "operation": "DescribeRouteTables",
2418
+ "params": [
2419
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2420
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2421
+ ]
2422
+ },
2423
+ "resource": {
2424
+ "type": "RouteTable",
2425
+ "identifiers": [
2426
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
2427
+ ],
2428
+ "path": "RouteTables[]"
2429
+ }
2430
+ },
2431
+ "SecurityGroups": {
2432
+ "request": {
2433
+ "operation": "DescribeSecurityGroups",
2434
+ "params": [
2435
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2436
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2437
+ ]
2438
+ },
2439
+ "resource": {
2440
+ "type": "SecurityGroup",
2441
+ "identifiers": [
2442
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
2443
+ ],
2444
+ "path": "SecurityGroups[]"
2445
+ }
2446
+ },
2447
+ "Subnets": {
2448
+ "request": {
2449
+ "operation": "DescribeSubnets",
2450
+ "params": [
2451
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2452
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2453
+ ]
2454
+ },
2455
+ "resource": {
2456
+ "type": "Subnet",
2457
+ "identifiers": [
2458
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
2459
+ ],
2460
+ "path": "Subnets[]"
2461
+ }
2462
+ }
2463
+ }
2464
+ },
2465
+ "VpcPeeringConnection": {
2466
+ "identifiers": [
2467
+ {
2468
+ "name": "Id",
2469
+ "memberName": "VpcPeeringConnectionId"
2470
+ }
2471
+ ],
2472
+ "shape": "VpcPeeringConnection",
2473
+ "load": {
2474
+ "request": {
2475
+ "operation": "DescribeVpcPeeringConnections",
2476
+ "params": [
2477
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
2478
+ ]
2479
+ },
2480
+ "path": "VpcPeeringConnections[0]"
2481
+ },
2482
+ "actions": {
2483
+ "Accept": {
2484
+ "request": {
2485
+ "operation": "AcceptVpcPeeringConnection",
2486
+ "params": [
2487
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2488
+ ]
2489
+ }
2490
+ },
2491
+ "Delete": {
2492
+ "request": {
2493
+ "operation": "DeleteVpcPeeringConnection",
2494
+ "params": [
2495
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2496
+ ]
2497
+ }
2498
+ },
2499
+ "Reject": {
2500
+ "request": {
2501
+ "operation": "RejectVpcPeeringConnection",
2502
+ "params": [
2503
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2504
+ ]
2505
+ }
2506
+ }
2507
+ },
2508
+ "waiters": {
2509
+ "Exists": {
2510
+ "waiterName": "VpcPeeringConnectionExists",
2511
+ "params": [
2512
+ { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" }
2513
+ ],
2514
+ "path": "VpcPeeringConnections[0]"
2515
+ }
2516
+ },
2517
+ "has": {
2518
+ "AccepterVpc": {
2519
+ "resource": {
2520
+ "type": "Vpc",
2521
+ "identifiers": [
2522
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
2523
+ ]
2524
+ }
2525
+ },
2526
+ "RequesterVpc": {
2527
+ "resource": {
2528
+ "type": "Vpc",
2529
+ "identifiers": [
2530
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
2531
+ ]
2532
+ }
2533
+ }
2534
+ }
2535
+ },
2536
+ "VpcAddress": {
2537
+ "identifiers": [
2538
+ {
2539
+ "name": "AllocationId"
2540
+ }
2541
+ ],
2542
+ "shape": "Address",
2543
+ "load": {
2544
+ "request": {
2545
+ "operation": "DescribeAddresses",
2546
+ "params": [
2547
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
2548
+ ]
2549
+ },
2550
+ "path": "Addresses[0]"
2551
+ },
2552
+ "actions": {
2553
+ "Associate": {
2554
+ "request": {
2555
+ "operation": "AssociateAddress",
2556
+ "params": [
2557
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
2558
+ ]
2559
+ }
2560
+ },
2561
+ "Release": {
2562
+ "request": {
2563
+ "operation": "ReleaseAddress",
2564
+ "params": [
2565
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
2566
+ ]
2567
+ }
2568
+ }
2569
+ },
2570
+ "has": {
2571
+ "Association": {
2572
+ "resource": {
2573
+ "type": "NetworkInterfaceAssociation",
2574
+ "identifiers": [
2575
+ { "target": "Id", "source": "data", "path": "AssociationId" }
2576
+ ]
2577
+ }
2578
+ }
2579
+ }
2580
+ }
2581
+ }
2582
+ }
env/Lib/site-packages/boto3/data/glacier/2012-06-01/resources-1.json ADDED
@@ -0,0 +1,581 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateVault": {
5
+ "request": {
6
+ "operation": "CreateVault",
7
+ "params": [
8
+ { "target": "accountId", "source": "string", "value": "-" }
9
+ ]
10
+ },
11
+ "resource": {
12
+ "type": "Vault",
13
+ "identifiers": [
14
+ { "target": "AccountId", "source": "requestParameter", "path": "accountId" },
15
+ { "target": "Name", "source": "requestParameter", "path": "vaultName" }
16
+ ]
17
+ }
18
+ }
19
+ },
20
+ "has": {
21
+ "Account": {
22
+ "resource": {
23
+ "type": "Account",
24
+ "identifiers": [
25
+ { "target": "Id", "source": "input" }
26
+ ]
27
+ }
28
+ }
29
+ },
30
+ "hasMany": {
31
+ "Vaults": {
32
+ "request": {
33
+ "operation": "ListVaults",
34
+ "params": [
35
+ { "target": "accountId", "source": "string", "value": "-" }
36
+ ]
37
+ },
38
+ "resource": {
39
+ "type": "Vault",
40
+ "identifiers": [
41
+ { "target": "AccountId", "source": "requestParameter", "path": "accountId" },
42
+ { "target": "Name", "source": "response", "path": "VaultList[].VaultName" }
43
+ ],
44
+ "path": "VaultList[]"
45
+ }
46
+ }
47
+ }
48
+ },
49
+ "resources": {
50
+ "Account": {
51
+ "identifiers": [
52
+ { "name": "Id" }
53
+ ],
54
+ "actions": {
55
+ "CreateVault": {
56
+ "request": {
57
+ "operation": "CreateVault",
58
+ "params": [
59
+ { "target": "accountId", "source": "identifier", "name": "Id" }
60
+ ]
61
+ },
62
+ "resource": {
63
+ "type": "Vault",
64
+ "identifiers": [
65
+ { "target": "AccountId", "source": "identifier", "name": "Id" },
66
+ { "target": "Name", "source": "requestParameter", "path": "vaultName" }
67
+ ]
68
+ }
69
+ }
70
+ },
71
+ "has": {
72
+ "Vault": {
73
+ "resource": {
74
+ "type": "Vault",
75
+ "identifiers": [
76
+ { "target": "AccountId", "source": "identifier", "name": "Id" },
77
+ { "target": "Name", "source": "input" }
78
+ ]
79
+ }
80
+ }
81
+ },
82
+ "hasMany": {
83
+ "Vaults": {
84
+ "request": {
85
+ "operation": "ListVaults",
86
+ "params": [
87
+ { "target": "accountId", "source": "identifier", "name": "Id" }
88
+ ]
89
+ },
90
+ "resource": {
91
+ "type": "Vault",
92
+ "identifiers": [
93
+ { "target": "AccountId", "source": "identifier", "name": "Id" },
94
+ { "target": "Name", "source": "response", "path": "VaultList[].VaultName" }
95
+ ],
96
+ "path": "VaultList[]"
97
+ }
98
+ }
99
+ }
100
+ },
101
+ "Archive": {
102
+ "identifiers": [
103
+ { "name": "AccountId" },
104
+ { "name": "VaultName" },
105
+ { "name": "Id" }
106
+ ],
107
+ "actions": {
108
+ "Delete": {
109
+ "request": {
110
+ "operation": "DeleteArchive",
111
+ "params": [
112
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
113
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
114
+ { "target": "archiveId", "source": "identifier", "name": "Id" }
115
+ ]
116
+ }
117
+ },
118
+ "InitiateArchiveRetrieval": {
119
+ "request": {
120
+ "operation": "InitiateJob",
121
+ "params": [
122
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
123
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
124
+ { "target": "jobParameters.Type", "source": "string", "value": "archive-retrieval" },
125
+ { "target": "jobParameters.ArchiveId", "source": "identifier", "name": "Id" }
126
+ ]
127
+ },
128
+ "resource": {
129
+ "type": "Job",
130
+ "identifiers": [
131
+ { "target": "Id", "source": "response", "path": "jobId" },
132
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
133
+ { "target": "VaultName", "source": "identifier", "name": "VaultName" }
134
+ ]
135
+ }
136
+ }
137
+ },
138
+ "has": {
139
+ "Vault": {
140
+ "resource": {
141
+ "type": "Vault",
142
+ "identifiers": [
143
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
144
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
145
+ ]
146
+ }
147
+ }
148
+ }
149
+ },
150
+ "Job": {
151
+ "identifiers": [
152
+ { "name": "AccountId" },
153
+ { "name": "VaultName" },
154
+ {
155
+ "name": "Id",
156
+ "memberName": "JobId"
157
+ }
158
+ ],
159
+ "shape": "GlacierJobDescription",
160
+ "load": {
161
+ "request": {
162
+ "operation": "DescribeJob",
163
+ "params": [
164
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
165
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
166
+ { "target": "jobId", "source": "identifier", "name": "Id" }
167
+ ]
168
+ },
169
+ "path": "@"
170
+ },
171
+ "actions": {
172
+ "GetOutput": {
173
+ "request": {
174
+ "operation": "GetJobOutput",
175
+ "params": [
176
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
177
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
178
+ { "target": "jobId", "source": "identifier", "name": "Id" }
179
+ ]
180
+ }
181
+ }
182
+ },
183
+ "has": {
184
+ "Vault": {
185
+ "resource": {
186
+ "type": "Vault",
187
+ "identifiers": [
188
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
189
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
190
+ ]
191
+ }
192
+ }
193
+ }
194
+ },
195
+ "MultipartUpload": {
196
+ "identifiers": [
197
+ { "name": "AccountId" },
198
+ { "name": "VaultName" },
199
+ {
200
+ "name": "Id",
201
+ "memberName": "MultipartUploadId"
202
+ }
203
+ ],
204
+ "shape": "UploadListElement",
205
+ "actions": {
206
+ "Abort": {
207
+ "request": {
208
+ "operation": "AbortMultipartUpload",
209
+ "params": [
210
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
211
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
212
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
213
+ ]
214
+ }
215
+ },
216
+ "Complete": {
217
+ "request": {
218
+ "operation": "CompleteMultipartUpload",
219
+ "params": [
220
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
221
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
222
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
223
+ ]
224
+ }
225
+ },
226
+ "Parts": {
227
+ "request": {
228
+ "operation": "ListParts",
229
+ "params": [
230
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
231
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
232
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
233
+ ]
234
+ }
235
+ },
236
+ "UploadPart": {
237
+ "request": {
238
+ "operation": "UploadMultipartPart",
239
+ "params": [
240
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
241
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" },
242
+ { "target": "uploadId", "source": "identifier", "name": "Id" }
243
+ ]
244
+ }
245
+ }
246
+ },
247
+ "has": {
248
+ "Vault": {
249
+ "resource": {
250
+ "type": "Vault",
251
+ "identifiers": [
252
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
253
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
254
+ ]
255
+ }
256
+ }
257
+ }
258
+ },
259
+ "Notification": {
260
+ "identifiers": [
261
+ { "name": "AccountId" },
262
+ { "name": "VaultName" }
263
+ ],
264
+ "shape": "VaultNotificationConfig",
265
+ "load": {
266
+ "request": {
267
+ "operation": "GetVaultNotifications",
268
+ "params": [
269
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
270
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" }
271
+ ]
272
+ },
273
+ "path": "vaultNotificationConfig"
274
+ },
275
+ "actions": {
276
+ "Delete": {
277
+ "request": {
278
+ "operation": "DeleteVaultNotifications",
279
+ "params": [
280
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
281
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" }
282
+ ]
283
+ }
284
+ },
285
+ "Set": {
286
+ "request": {
287
+ "operation": "SetVaultNotifications",
288
+ "params": [
289
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
290
+ { "target": "vaultName", "source": "identifier", "name": "VaultName" }
291
+ ]
292
+ }
293
+ }
294
+ },
295
+ "has": {
296
+ "Vault": {
297
+ "resource": {
298
+ "type": "Vault",
299
+ "identifiers": [
300
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
301
+ { "target": "Name", "source": "identifier", "name": "VaultName" }
302
+ ]
303
+ }
304
+ }
305
+ }
306
+ },
307
+ "Vault": {
308
+ "identifiers": [
309
+ { "name": "AccountId" },
310
+ {
311
+ "name": "Name",
312
+ "memberName": "VaultName"
313
+ }
314
+ ],
315
+ "shape": "DescribeVaultOutput",
316
+ "load": {
317
+ "request": {
318
+ "operation": "DescribeVault",
319
+ "params": [
320
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
321
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
322
+ ]
323
+ },
324
+ "path": "@"
325
+ },
326
+ "actions": {
327
+ "Create": {
328
+ "request": {
329
+ "operation": "CreateVault",
330
+ "params": [
331
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
332
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
333
+ ]
334
+ }
335
+ },
336
+ "Delete": {
337
+ "request": {
338
+ "operation": "DeleteVault",
339
+ "params": [
340
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
341
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
342
+ ]
343
+ }
344
+ },
345
+ "InitiateInventoryRetrieval": {
346
+ "request": {
347
+ "operation": "InitiateJob",
348
+ "params": [
349
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
350
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
351
+ { "target": "jobParameters.Type", "source": "string", "value": "inventory-retrieval" }
352
+ ]
353
+ },
354
+ "resource": {
355
+ "type": "Job",
356
+ "identifiers": [
357
+ { "target": "Id", "source": "response", "path": "jobId" },
358
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
359
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
360
+ ]
361
+ }
362
+ },
363
+ "InitiateMultipartUpload": {
364
+ "request": {
365
+ "operation": "InitiateMultipartUpload",
366
+ "params": [
367
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
368
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
369
+ ]
370
+ },
371
+ "resource": {
372
+ "type": "MultipartUpload",
373
+ "identifiers": [
374
+ { "target": "Id", "source": "response", "path": "uploadId" },
375
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
376
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
377
+ ]
378
+ }
379
+ },
380
+ "UploadArchive": {
381
+ "request": {
382
+ "operation": "UploadArchive",
383
+ "params": [
384
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
385
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
386
+ ]
387
+ },
388
+ "resource": {
389
+ "type": "Archive",
390
+ "identifiers": [
391
+ { "target": "Id", "source": "response", "path": "archiveId" },
392
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
393
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
394
+ ]
395
+ }
396
+ }
397
+ },
398
+ "has": {
399
+ "Account": {
400
+ "resource": {
401
+ "type": "Account",
402
+ "identifiers": [
403
+ { "target": "Id", "source": "identifier", "name": "AccountId" }
404
+ ]
405
+ }
406
+ },
407
+ "Archive": {
408
+ "resource": {
409
+ "type": "Archive",
410
+ "identifiers": [
411
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
412
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
413
+ { "target": "Id", "source": "input" }
414
+ ]
415
+ }
416
+ },
417
+ "Job": {
418
+ "resource": {
419
+ "type": "Job",
420
+ "identifiers": [
421
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
422
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
423
+ { "target": "Id", "source": "input" }
424
+ ]
425
+ }
426
+ },
427
+ "MultipartUpload": {
428
+ "resource": {
429
+ "type": "MultipartUpload",
430
+ "identifiers": [
431
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
432
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
433
+ { "target": "Id", "source": "input" }
434
+ ]
435
+ }
436
+ },
437
+ "Notification": {
438
+ "resource": {
439
+ "type": "Notification",
440
+ "identifiers": [
441
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
442
+ { "target": "VaultName", "source": "identifier", "name": "Name" }
443
+ ]
444
+ }
445
+ }
446
+ },
447
+ "hasMany": {
448
+ "CompletedJobs": {
449
+ "request": {
450
+ "operation": "ListJobs",
451
+ "params": [
452
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
453
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
454
+ { "target": "completed", "source": "string", "value": "true" }
455
+ ]
456
+ },
457
+ "resource": {
458
+ "type": "Job",
459
+ "identifiers": [
460
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
461
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
462
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
463
+ ],
464
+ "path": "JobList[]"
465
+ }
466
+ },
467
+ "FailedJobs": {
468
+ "request": {
469
+ "operation": "ListJobs",
470
+ "params": [
471
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
472
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
473
+ { "target": "statuscode", "source": "string", "value": "Failed" }
474
+ ]
475
+ },
476
+ "resource": {
477
+ "type": "Job",
478
+ "identifiers": [
479
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
480
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
481
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
482
+ ],
483
+ "path": "JobList[]"
484
+ }
485
+ },
486
+ "Jobs": {
487
+ "request": {
488
+ "operation": "ListJobs",
489
+ "params": [
490
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
491
+ { "target": "vaultName", "source": "identifier", "name": "Name" }
492
+ ]
493
+ },
494
+ "resource": {
495
+ "type": "Job",
496
+ "identifiers": [
497
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
498
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
499
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
500
+ ],
501
+ "path": "JobList[]"
502
+ }
503
+ },
504
+ "JobsInProgress": {
505
+ "request": {
506
+ "operation": "ListJobs",
507
+ "params": [
508
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
509
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
510
+ { "target": "statuscode", "source": "string", "value": "InProgress" }
511
+ ]
512
+ },
513
+ "resource": {
514
+ "type": "Job",
515
+ "identifiers": [
516
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
517
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
518
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
519
+ ],
520
+ "path": "JobList[]"
521
+ }
522
+ },
523
+ "MultipartUplaods": {
524
+ "request": {
525
+ "operation": "ListMultipartUploads",
526
+ "params": [
527
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
528
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
529
+ ]
530
+ },
531
+ "resource": {
532
+ "type": "MultipartUpload",
533
+ "identifiers": [
534
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
535
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
536
+ { "target": "Id", "source": "response", "path": "UploadsList[].MultipartUploadId" }
537
+ ],
538
+ "path": "UploadsList[]"
539
+ }
540
+ },
541
+ "MultipartUploads": {
542
+ "request": {
543
+ "operation": "ListMultipartUploads",
544
+ "params": [
545
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
546
+ { "target": "accountId", "source": "identifier", "name": "AccountId" }
547
+ ]
548
+ },
549
+ "resource": {
550
+ "type": "MultipartUpload",
551
+ "identifiers": [
552
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
553
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
554
+ { "target": "Id", "source": "response", "path": "UploadsList[].MultipartUploadId" }
555
+ ],
556
+ "path": "UploadsList[]"
557
+ }
558
+ },
559
+ "SucceededJobs": {
560
+ "request": {
561
+ "operation": "ListJobs",
562
+ "params": [
563
+ { "target": "accountId", "source": "identifier", "name": "AccountId" },
564
+ { "target": "vaultName", "source": "identifier", "name": "Name" },
565
+ { "target": "statuscode", "source": "string", "value": "Succeeded" }
566
+ ]
567
+ },
568
+ "resource": {
569
+ "type": "Job",
570
+ "identifiers": [
571
+ { "target": "AccountId", "source": "identifier", "name": "AccountId" },
572
+ { "target": "VaultName", "source": "identifier", "name": "Name" },
573
+ { "target": "Id", "source": "response", "path": "JobList[].JobId" }
574
+ ],
575
+ "path": "JobList[]"
576
+ }
577
+ }
578
+ }
579
+ }
580
+ }
581
+ }
env/Lib/site-packages/boto3/data/iam/2010-05-08/resources-1.json ADDED
@@ -0,0 +1,1721 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "ChangePassword": {
5
+ "request": { "operation": "ChangePassword" }
6
+ },
7
+ "CreateAccountAlias": {
8
+ "request": { "operation": "CreateAccountAlias" }
9
+ },
10
+ "CreateAccountPasswordPolicy": {
11
+ "request": { "operation": "UpdateAccountPasswordPolicy" },
12
+ "resource": {
13
+ "type": "AccountPasswordPolicy",
14
+ "identifiers": [ ]
15
+ }
16
+ },
17
+ "CreateGroup": {
18
+ "request": { "operation": "CreateGroup" },
19
+ "resource": {
20
+ "type": "Group",
21
+ "identifiers": [
22
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
23
+ ],
24
+ "path": "Group"
25
+ }
26
+ },
27
+ "CreateInstanceProfile": {
28
+ "request": { "operation": "CreateInstanceProfile" },
29
+ "resource": {
30
+ "type": "InstanceProfile",
31
+ "identifiers": [
32
+ { "target": "Name", "source": "requestParameter", "path": "InstanceProfileName" }
33
+ ],
34
+ "path": "InstanceProfile"
35
+ }
36
+ },
37
+ "CreatePolicy": {
38
+ "request": { "operation": "CreatePolicy" },
39
+ "resource": {
40
+ "type": "Policy",
41
+ "identifiers": [
42
+ { "target": "Arn", "source": "response", "path": "Policy.Arn" }
43
+ ]
44
+ }
45
+ },
46
+ "CreateRole": {
47
+ "request": { "operation": "CreateRole" },
48
+ "resource": {
49
+ "type": "Role",
50
+ "identifiers": [
51
+ { "target": "Name", "source": "requestParameter", "path": "RoleName" }
52
+ ],
53
+ "path": "Role"
54
+ }
55
+ },
56
+ "CreateSamlProvider": {
57
+ "request": { "operation": "CreateSAMLProvider" },
58
+ "resource": {
59
+ "type": "SamlProvider",
60
+ "identifiers": [
61
+ { "target": "Arn", "source": "response", "path": "SAMLProviderArn" }
62
+ ]
63
+ }
64
+ },
65
+ "CreateServerCertificate": {
66
+ "request": { "operation": "UploadServerCertificate" },
67
+ "resource": {
68
+ "type": "ServerCertificate",
69
+ "identifiers": [
70
+ { "target": "Name", "source": "requestParameter", "path": "ServerCertificateName" }
71
+ ]
72
+ }
73
+ },
74
+ "CreateSigningCertificate": {
75
+ "request": { "operation": "UploadSigningCertificate" },
76
+ "resource": {
77
+ "type": "SigningCertificate",
78
+ "identifiers": [
79
+ { "target": "Id", "source": "response", "path": "Certificate.CertificateId" }
80
+ ],
81
+ "path": "Certificate"
82
+ }
83
+ },
84
+ "CreateUser": {
85
+ "request": { "operation": "CreateUser" },
86
+ "resource": {
87
+ "type": "User",
88
+ "identifiers": [
89
+ { "target": "Name", "source": "requestParameter", "path": "UserName" }
90
+ ],
91
+ "path": "User"
92
+ }
93
+ },
94
+ "CreateVirtualMfaDevice": {
95
+ "request": { "operation": "CreateVirtualMFADevice" },
96
+ "resource": {
97
+ "type": "VirtualMfaDevice",
98
+ "identifiers": [
99
+ { "target": "SerialNumber", "source": "response", "path": "VirtualMFADevice.SerialNumber" }
100
+ ],
101
+ "path": "VirtualMFADevice"
102
+ }
103
+ }
104
+ },
105
+ "has": {
106
+ "AccountPasswordPolicy": {
107
+ "resource": {
108
+ "type": "AccountPasswordPolicy",
109
+ "identifiers": [ ]
110
+ }
111
+ },
112
+ "AccountSummary": {
113
+ "resource": {
114
+ "type": "AccountSummary",
115
+ "identifiers": [ ]
116
+ }
117
+ },
118
+ "CurrentUser": {
119
+ "resource": {
120
+ "type": "CurrentUser",
121
+ "identifiers": [ ]
122
+ }
123
+ },
124
+ "Group": {
125
+ "resource": {
126
+ "type": "Group",
127
+ "identifiers": [
128
+ { "target": "Name", "source": "input" }
129
+ ]
130
+ }
131
+ },
132
+ "InstanceProfile": {
133
+ "resource": {
134
+ "type": "InstanceProfile",
135
+ "identifiers": [
136
+ { "target": "Name", "source": "input" }
137
+ ]
138
+ }
139
+ },
140
+ "Policy": {
141
+ "resource": {
142
+ "type": "Policy",
143
+ "identifiers": [
144
+ { "target": "PolicyArn", "source": "input" }
145
+ ]
146
+ }
147
+ },
148
+ "Role": {
149
+ "resource": {
150
+ "type": "Role",
151
+ "identifiers": [
152
+ { "target": "Name", "source": "input" }
153
+ ]
154
+ }
155
+ },
156
+ "SamlProvider": {
157
+ "resource": {
158
+ "type": "SamlProvider",
159
+ "identifiers": [
160
+ { "target": "Arn", "source": "input" }
161
+ ]
162
+ }
163
+ },
164
+ "ServerCertificate": {
165
+ "resource": {
166
+ "type": "ServerCertificate",
167
+ "identifiers": [
168
+ { "target": "Name", "source": "input" }
169
+ ]
170
+ }
171
+ },
172
+ "User": {
173
+ "resource": {
174
+ "type": "User",
175
+ "identifiers": [
176
+ { "target": "Name", "source": "input" }
177
+ ]
178
+ }
179
+ },
180
+ "VirtualMfaDevice": {
181
+ "resource": {
182
+ "type": "VirtualMfaDevice",
183
+ "identifiers": [
184
+ { "target": "SerialNumber", "source": "input" }
185
+ ]
186
+ }
187
+ }
188
+ },
189
+ "hasMany": {
190
+ "Groups": {
191
+ "request": { "operation": "ListGroups" },
192
+ "resource": {
193
+ "type": "Group",
194
+ "identifiers": [
195
+ { "target": "Name", "source": "response", "path": "Groups[].GroupName" }
196
+ ],
197
+ "path": "Groups[]"
198
+ }
199
+ },
200
+ "InstanceProfiles": {
201
+ "request": { "operation": "ListInstanceProfiles" },
202
+ "resource": {
203
+ "type": "InstanceProfile",
204
+ "identifiers": [
205
+ { "target": "Name", "source": "response", "path": "InstanceProfiles[].InstanceProfileName" }
206
+ ],
207
+ "path": "InstanceProfiles[]"
208
+ }
209
+ },
210
+ "Policies": {
211
+ "request": { "operation": "ListPolicies" },
212
+ "resource": {
213
+ "type": "Policy",
214
+ "identifiers": [
215
+ { "target": "Arn", "source": "response", "path": "Policies[].Arn" }
216
+ ],
217
+ "path": "Policies[]"
218
+ }
219
+ },
220
+ "Roles": {
221
+ "request": { "operation": "ListRoles" },
222
+ "resource": {
223
+ "type": "Role",
224
+ "identifiers": [
225
+ { "target": "Name", "source": "response", "path": "Roles[].RoleName" }
226
+ ],
227
+ "path": "Roles[]"
228
+ }
229
+ },
230
+ "SamlProviders": {
231
+ "request": { "operation": "ListSAMLProviders" },
232
+ "resource": {
233
+ "type": "SamlProvider",
234
+ "identifiers": [
235
+ { "target": "Arn", "source": "response", "path": "SAMLProviderList[].Arn" }
236
+ ]
237
+ }
238
+ },
239
+ "ServerCertificates": {
240
+ "request": { "operation": "ListServerCertificates" },
241
+ "resource": {
242
+ "type": "ServerCertificate",
243
+ "identifiers": [
244
+ { "target": "Name", "source": "response", "path": "ServerCertificateMetadataList[].ServerCertificateName" }
245
+ ]
246
+ }
247
+ },
248
+ "Users": {
249
+ "request": { "operation": "ListUsers" },
250
+ "resource": {
251
+ "type": "User",
252
+ "identifiers": [
253
+ { "target": "Name", "source": "response", "path": "Users[].UserName" }
254
+ ],
255
+ "path": "Users[]"
256
+ }
257
+ },
258
+ "VirtualMfaDevices": {
259
+ "request": { "operation": "ListVirtualMFADevices" },
260
+ "resource": {
261
+ "type": "VirtualMfaDevice",
262
+ "identifiers": [
263
+ { "target": "SerialNumber", "source": "response", "path": "VirtualMFADevices[].SerialNumber" }
264
+ ],
265
+ "path": "VirtualMFADevices[]"
266
+ }
267
+ }
268
+ }
269
+ },
270
+ "resources": {
271
+ "AccessKey": {
272
+ "identifiers": [
273
+ {
274
+ "name": "UserName",
275
+ "memberName": "UserName"
276
+ },
277
+ {
278
+ "name": "Id",
279
+ "memberName": "AccessKeyId"
280
+ }
281
+ ],
282
+ "shape": "AccessKeyMetadata",
283
+ "actions": {
284
+ "Activate": {
285
+ "request": {
286
+ "operation": "UpdateAccessKey",
287
+ "params": [
288
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
289
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
290
+ { "target": "Status", "source": "string", "value": "Active" }
291
+ ]
292
+ }
293
+ },
294
+ "Deactivate": {
295
+ "request": {
296
+ "operation": "UpdateAccessKey",
297
+ "params": [
298
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
299
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
300
+ { "target": "Status", "source": "string", "value": "Inactive" }
301
+ ]
302
+ }
303
+ },
304
+ "Delete": {
305
+ "request": {
306
+ "operation": "DeleteAccessKey",
307
+ "params": [
308
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
309
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" }
310
+ ]
311
+ }
312
+ }
313
+ },
314
+ "has": {
315
+ "User": {
316
+ "resource": {
317
+ "type": "User",
318
+ "identifiers": [
319
+ { "target": "Name", "source": "identifier", "name": "UserName" }
320
+ ]
321
+ }
322
+ }
323
+ }
324
+ },
325
+ "AccessKeyPair": {
326
+ "identifiers": [
327
+ {
328
+ "name": "UserName",
329
+ "memberName": "UserName"
330
+ },
331
+ {
332
+ "name": "Id",
333
+ "memberName": "AccessKeyId"
334
+ },
335
+ {
336
+ "name": "Secret",
337
+ "memberName": "SecretAccessKey"
338
+ }
339
+ ],
340
+ "shape": "AccessKey",
341
+ "actions": {
342
+ "Activate": {
343
+ "request": {
344
+ "operation": "UpdateAccessKey",
345
+ "params": [
346
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
347
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
348
+ { "target": "Status", "source": "string", "value": "Active" }
349
+ ]
350
+ }
351
+ },
352
+ "Deactivate": {
353
+ "request": {
354
+ "operation": "UpdateAccessKey",
355
+ "params": [
356
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
357
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" },
358
+ { "target": "Status", "source": "string", "value": "Inactive" }
359
+ ]
360
+ }
361
+ },
362
+ "Delete": {
363
+ "request": {
364
+ "operation": "DeleteAccessKey",
365
+ "params": [
366
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
367
+ { "target": "AccessKeyId", "source": "identifier", "name": "Id" }
368
+ ]
369
+ }
370
+ }
371
+ }
372
+ },
373
+ "AccountPasswordPolicy": {
374
+ "identifiers": [ ],
375
+ "shape": "PasswordPolicy",
376
+ "load": {
377
+ "request": { "operation": "GetAccountPasswordPolicy" },
378
+ "path": "PasswordPolicy"
379
+ },
380
+ "actions": {
381
+ "Delete": {
382
+ "request": { "operation": "DeleteAccountPasswordPolicy" }
383
+ },
384
+ "Update": {
385
+ "request": { "operation": "UpdateAccountPasswordPolicy" }
386
+ }
387
+ }
388
+ },
389
+ "AccountSummary": {
390
+ "identifiers": [ ],
391
+ "shape": "GetAccountSummaryResponse",
392
+ "load": {
393
+ "request": { "operation": "GetAccountSummary" },
394
+ "path": "@"
395
+ }
396
+ },
397
+ "AssumeRolePolicy": {
398
+ "identifiers": [
399
+ { "name": "RoleName" }
400
+ ],
401
+ "actions": {
402
+ "Update": {
403
+ "request": {
404
+ "operation": "UpdateAssumeRolePolicy",
405
+ "params": [
406
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" }
407
+ ]
408
+ }
409
+ }
410
+ },
411
+ "has": {
412
+ "Role": {
413
+ "resource": {
414
+ "type": "Role",
415
+ "identifiers": [
416
+ { "target": "Name", "source": "identifier", "name": "RoleName" }
417
+ ]
418
+ }
419
+ }
420
+ }
421
+ },
422
+ "CurrentUser": {
423
+ "identifiers": [ ],
424
+ "shape": "User",
425
+ "load": {
426
+ "request": { "operation": "GetUser" },
427
+ "path": "User"
428
+ },
429
+ "has": {
430
+ "User": {
431
+ "resource": {
432
+ "type": "User",
433
+ "identifiers": [
434
+ { "target": "Name", "source": "data", "path": "UserName" }
435
+ ]
436
+ }
437
+ }
438
+ },
439
+ "hasMany": {
440
+ "AccessKeys": {
441
+ "request": { "operation": "ListAccessKeys" },
442
+ "resource": {
443
+ "type": "AccessKey",
444
+ "identifiers": [
445
+ { "target": "UserName", "source": "response", "path": "AccessKeyMetadata[].UserName" },
446
+ { "target": "Id", "source": "response", "path": "AccessKeyMetadata[].AccessKeyId" }
447
+ ],
448
+ "path": "AccessKeyMetadata[]"
449
+ }
450
+ },
451
+ "MfaDevices": {
452
+ "request": { "operation": "ListMFADevices" },
453
+ "resource": {
454
+ "type": "MfaDevice",
455
+ "identifiers": [
456
+ { "target": "UserName", "source": "response", "path": "MFADevices[].UserName" },
457
+ { "target": "SerialNumber", "source": "response", "path": "MFADevices[].SerialNumber" }
458
+ ],
459
+ "path": "MFADevices[]"
460
+ }
461
+ },
462
+ "SigningCertificates": {
463
+ "request": { "operation": "ListSigningCertificates" },
464
+ "resource": {
465
+ "type": "SigningCertificate",
466
+ "identifiers": [
467
+ { "target": "UserName", "source": "response", "path": "Certificates[].UserName" },
468
+ { "target": "Id", "source": "response", "path": "Certificates[].CertificateId" }
469
+ ],
470
+ "path": "Certificates[]"
471
+ }
472
+ }
473
+ }
474
+ },
475
+ "Group": {
476
+ "identifiers": [
477
+ {
478
+ "name": "Name",
479
+ "memberName": "GroupName"
480
+ }
481
+ ],
482
+ "shape": "Group",
483
+ "load": {
484
+ "request": {
485
+ "operation": "GetGroup",
486
+ "params": [
487
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
488
+ ]
489
+ },
490
+ "path": "Group"
491
+ },
492
+ "actions": {
493
+ "AddUser": {
494
+ "request": {
495
+ "operation": "AddUserToGroup",
496
+ "params": [
497
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
498
+ ]
499
+ }
500
+ },
501
+ "AttachPolicy": {
502
+ "request": {
503
+ "operation": "AttachGroupPolicy",
504
+ "params": [
505
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
506
+ ]
507
+ }
508
+ },
509
+ "Create": {
510
+ "request": {
511
+ "operation": "CreateGroup",
512
+ "params": [
513
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
514
+ ]
515
+ },
516
+ "resource": {
517
+ "type": "Group",
518
+ "identifiers": [
519
+ { "target": "Name", "source": "requestParameter", "path": "GroupName" }
520
+ ],
521
+ "path": "Group"
522
+ }
523
+ },
524
+ "CreatePolicy": {
525
+ "request": {
526
+ "operation": "PutGroupPolicy",
527
+ "params": [
528
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
529
+ ]
530
+ },
531
+ "resource": {
532
+ "type": "GroupPolicy",
533
+ "identifiers": [
534
+ { "target": "GroupName", "source": "identifier", "name": "Name" },
535
+ { "target": "Name", "source": "requestParameter", "path": "PolicyName" }
536
+ ]
537
+ }
538
+ },
539
+ "Delete": {
540
+ "request": {
541
+ "operation": "DeleteGroup",
542
+ "params": [
543
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
544
+ ]
545
+ }
546
+ },
547
+ "DetachPolicy": {
548
+ "request": {
549
+ "operation": "DetachGroupPolicy",
550
+ "params": [
551
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
552
+ ]
553
+ }
554
+ },
555
+ "RemoveUser": {
556
+ "request": {
557
+ "operation": "RemoveUserFromGroup",
558
+ "params": [
559
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
560
+ ]
561
+ }
562
+ },
563
+ "Update": {
564
+ "request": {
565
+ "operation": "UpdateGroup",
566
+ "params": [
567
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
568
+ ]
569
+ },
570
+ "resource": {
571
+ "type": "Group",
572
+ "identifiers": [
573
+ { "target": "Name", "source": "requestParameter", "path": "NewGroupName" }
574
+ ]
575
+ }
576
+ }
577
+ },
578
+ "has": {
579
+ "Policy": {
580
+ "resource": {
581
+ "type": "GroupPolicy",
582
+ "identifiers": [
583
+ { "target": "GroupName", "source": "identifier", "name": "Name" },
584
+ { "target": "Name", "source": "input" }
585
+ ]
586
+ }
587
+ }
588
+ },
589
+ "hasMany": {
590
+ "AttachedPolicies": {
591
+ "request": {
592
+ "operation": "ListAttachedGroupPolicies",
593
+ "params": [
594
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
595
+ ]
596
+ },
597
+ "resource": {
598
+ "type": "Policy",
599
+ "identifiers": [
600
+ { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
601
+ ]
602
+ }
603
+ },
604
+ "Policies": {
605
+ "request": {
606
+ "operation": "ListGroupPolicies",
607
+ "params": [
608
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
609
+ ]
610
+ },
611
+ "resource": {
612
+ "type": "GroupPolicy",
613
+ "identifiers": [
614
+ { "target": "GroupName", "source": "identifier", "name": "Name" },
615
+ { "target": "Name", "source": "response", "path": "PolicyNames[]" }
616
+ ]
617
+ }
618
+ },
619
+ "Users": {
620
+ "request": {
621
+ "operation": "GetGroup",
622
+ "params": [
623
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
624
+ ]
625
+ },
626
+ "resource": {
627
+ "type": "User",
628
+ "identifiers": [
629
+ { "target": "Name", "source": "response", "path": "Users[].UserName" }
630
+ ],
631
+ "path": "Users[]"
632
+ }
633
+ }
634
+ }
635
+ },
636
+ "GroupPolicy": {
637
+ "identifiers": [
638
+ {
639
+ "name": "GroupName",
640
+ "memberName": "GroupName"
641
+ },
642
+ {
643
+ "name": "Name",
644
+ "memberName": "PolicyName"
645
+ }
646
+ ],
647
+ "shape": "GetGroupPolicyResponse",
648
+ "load": {
649
+ "request": {
650
+ "operation": "GetGroupPolicy",
651
+ "params": [
652
+ { "target": "GroupName", "source": "identifier", "name": "GroupName" },
653
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
654
+ ]
655
+ },
656
+ "path": "@"
657
+ },
658
+ "actions": {
659
+ "Delete": {
660
+ "request": {
661
+ "operation": "DeleteGroupPolicy",
662
+ "params": [
663
+ { "target": "GroupName", "source": "identifier", "name": "GroupName" },
664
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
665
+ ]
666
+ }
667
+ },
668
+ "Put": {
669
+ "request": {
670
+ "operation": "PutGroupPolicy",
671
+ "params": [
672
+ { "target": "GroupName", "source": "identifier", "name": "GroupName" },
673
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
674
+ ]
675
+ }
676
+ }
677
+ },
678
+ "has": {
679
+ "Group": {
680
+ "resource": {
681
+ "type": "Group",
682
+ "identifiers": [
683
+ { "target": "Name", "source": "identifier", "name": "GroupName" }
684
+ ]
685
+ }
686
+ }
687
+ }
688
+ },
689
+ "InstanceProfile": {
690
+ "identifiers": [
691
+ {
692
+ "name": "Name",
693
+ "memberName": "InstanceProfileName"
694
+ }
695
+ ],
696
+ "shape": "InstanceProfile",
697
+ "load": {
698
+ "request": {
699
+ "operation": "GetInstanceProfile",
700
+ "params": [
701
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
702
+ ]
703
+ },
704
+ "path": "InstanceProfile"
705
+ },
706
+ "actions": {
707
+ "AddRole": {
708
+ "request": {
709
+ "operation": "AddRoleToInstanceProfile",
710
+ "params": [
711
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
712
+ ]
713
+ }
714
+ },
715
+ "Delete": {
716
+ "request": {
717
+ "operation": "DeleteInstanceProfile",
718
+ "params": [
719
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
720
+ ]
721
+ }
722
+ },
723
+ "RemoveRole": {
724
+ "request": {
725
+ "operation": "RemoveRoleFromInstanceProfile",
726
+ "params": [
727
+ { "target": "InstanceProfileName", "source": "identifier", "name": "Name" }
728
+ ]
729
+ }
730
+ }
731
+ },
732
+ "has": {
733
+ "Roles": {
734
+ "resource": {
735
+ "type": "Role",
736
+ "identifiers": [
737
+ { "target": "Name", "source": "data", "path": "Roles[].RoleName" }
738
+ ],
739
+ "path": "Roles[]"
740
+ }
741
+ }
742
+ }
743
+ },
744
+ "LoginProfile": {
745
+ "identifiers": [
746
+ {
747
+ "name": "UserName",
748
+ "memberName": "UserName"
749
+ }
750
+ ],
751
+ "shape": "LoginProfile",
752
+ "load": {
753
+ "request": {
754
+ "operation": "GetLoginProfile",
755
+ "params": [
756
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
757
+ ]
758
+ },
759
+ "path": "LoginProfile"
760
+ },
761
+ "actions": {
762
+ "Create": {
763
+ "request": {
764
+ "operation": "CreateLoginProfile",
765
+ "params": [
766
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
767
+ ]
768
+ },
769
+ "resource": {
770
+ "type": "LoginProfile",
771
+ "identifiers": [
772
+ { "target": "UserName", "source": "response", "path": "LoginProfile.UserName" }
773
+ ],
774
+ "path": "LoginProfile"
775
+ }
776
+ },
777
+ "Delete": {
778
+ "request": {
779
+ "operation": "DeleteLoginProfile",
780
+ "params": [
781
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
782
+ ]
783
+ }
784
+ },
785
+ "Update": {
786
+ "request": {
787
+ "operation": "UpdateLoginProfile",
788
+ "params": [
789
+ { "target": "UserName", "source": "identifier", "name": "UserName" }
790
+ ]
791
+ }
792
+ }
793
+ },
794
+ "has": {
795
+ "User": {
796
+ "resource": {
797
+ "type": "User",
798
+ "identifiers": [
799
+ { "target": "Name", "source": "identifier", "name": "UserName" }
800
+ ]
801
+ }
802
+ }
803
+ }
804
+ },
805
+ "MfaDevice": {
806
+ "identifiers": [
807
+ {
808
+ "name": "UserName",
809
+ "memberName": "UserName"
810
+ },
811
+ {
812
+ "name": "SerialNumber",
813
+ "memberName": "SerialNumber"
814
+ }
815
+ ],
816
+ "shape": "MFADevice",
817
+ "actions": {
818
+ "Associate": {
819
+ "request": {
820
+ "operation": "EnableMFADevice",
821
+ "params": [
822
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
823
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
824
+ ]
825
+ }
826
+ },
827
+ "Disassociate": {
828
+ "request": {
829
+ "operation": "DeactivateMFADevice",
830
+ "params": [
831
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
832
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
833
+ ]
834
+ }
835
+ },
836
+ "Resync": {
837
+ "request": {
838
+ "operation": "ResyncMFADevice",
839
+ "params": [
840
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
841
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
842
+ ]
843
+ }
844
+ }
845
+ },
846
+ "has": {
847
+ "User": {
848
+ "resource": {
849
+ "type": "User",
850
+ "identifiers": [
851
+ { "target": "Name", "source": "identifier", "name": "UserName" }
852
+ ]
853
+ }
854
+ }
855
+ }
856
+ },
857
+ "Policy": {
858
+ "identifiers": [
859
+ {
860
+ "name": "Arn",
861
+ "memberName": "Arn"
862
+ }
863
+ ],
864
+ "shape": "Policy",
865
+ "load": {
866
+ "request": {
867
+ "operation": "GetPolicy",
868
+ "params": [
869
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
870
+ ]
871
+ },
872
+ "path": "Policy"
873
+ },
874
+ "actions": {
875
+ "AttachGroup": {
876
+ "request": {
877
+ "operation": "AttachGroupPolicy",
878
+ "params": [
879
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
880
+ ]
881
+ }
882
+ },
883
+ "AttachRole": {
884
+ "request": {
885
+ "operation": "AttachRolePolicy",
886
+ "params": [
887
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
888
+ ]
889
+ }
890
+ },
891
+ "AttachUser": {
892
+ "request": {
893
+ "operation": "AttachUserPolicy",
894
+ "params": [
895
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
896
+ ]
897
+ }
898
+ },
899
+ "CreateVersion": {
900
+ "request": {
901
+ "operation": "CreatePolicyVersion",
902
+ "params": [
903
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
904
+ ]
905
+ },
906
+ "resource": {
907
+ "type": "PolicyVersion",
908
+ "identifiers": [
909
+ { "target": "Arn", "source": "identifier", "name": "Arn" },
910
+ { "target": "VersionId", "source": "response", "path": "PolicyVersion.VersionId" }
911
+ ]
912
+ }
913
+ },
914
+ "Delete": {
915
+ "request": {
916
+ "operation": "DeletePolicy",
917
+ "params": [
918
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
919
+ ]
920
+ }
921
+ },
922
+ "DetachGroup": {
923
+ "request": {
924
+ "operation": "DetachGroupPolicy",
925
+ "params": [
926
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
927
+ ]
928
+ }
929
+ },
930
+ "DetachRole": {
931
+ "request": {
932
+ "operation": "DetachRolePolicy",
933
+ "params": [
934
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
935
+ ]
936
+ }
937
+ },
938
+ "DetachUser": {
939
+ "request": {
940
+ "operation": "DetachUserPolicy",
941
+ "params": [
942
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
943
+ ]
944
+ }
945
+ }
946
+ },
947
+ "has": {
948
+ "DefaultVersion": {
949
+ "resource": {
950
+ "type": "PolicyVersion",
951
+ "identifiers": [
952
+ { "target": "Arn", "source": "identifier", "name": "Arn" },
953
+ { "target": "VersionId", "source": "data", "path": "DefaultVersionId" }
954
+ ]
955
+ }
956
+ }
957
+ },
958
+ "hasMany": {
959
+ "AttachedGroups": {
960
+ "request": {
961
+ "operation": "ListEntitiesForPolicy",
962
+ "params": [
963
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
964
+ { "target": "EntityFilter", "source": "string", "value": "Group" }
965
+ ]
966
+ },
967
+ "resource": {
968
+ "type": "Group",
969
+ "identifiers": [
970
+ { "target": "Name", "source": "response", "path": "PolicyGroups[].GroupName" }
971
+ ]
972
+ }
973
+ },
974
+ "AttachedRoles": {
975
+ "request": {
976
+ "operation": "ListEntitiesForPolicy",
977
+ "params": [
978
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
979
+ { "target": "EntityFilter", "source": "string", "value": "Role" }
980
+ ]
981
+ },
982
+ "resource": {
983
+ "type": "Role",
984
+ "identifiers": [
985
+ { "target": "Name", "source": "response", "path": "PolicyRoles[].RoleName" }
986
+ ]
987
+ }
988
+ },
989
+ "AttachedUsers": {
990
+ "request": {
991
+ "operation": "ListEntitiesForPolicy",
992
+ "params": [
993
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
994
+ { "target": "EntityFilter", "source": "string", "value": "User" }
995
+ ]
996
+ },
997
+ "resource": {
998
+ "type": "User",
999
+ "identifiers": [
1000
+ { "target": "Name", "source": "response", "path": "PolicyUsers[].UserName" }
1001
+ ]
1002
+ }
1003
+ },
1004
+ "Versions": {
1005
+ "request": {
1006
+ "operation": "ListPolicyVersions",
1007
+ "params": [
1008
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" }
1009
+ ]
1010
+ },
1011
+ "resource": {
1012
+ "type": "PolicyVersion",
1013
+ "identifiers": [
1014
+ { "target": "Arn", "source": "identifier", "name": "Arn" },
1015
+ { "target": "VersionId", "source": "response", "path": "Versions[].VersionId" }
1016
+ ],
1017
+ "path": "Versions[]"
1018
+ }
1019
+ }
1020
+ }
1021
+ },
1022
+ "PolicyVersion": {
1023
+ "identifiers": [
1024
+ { "name": "Arn" },
1025
+ { "name": "VersionId" }
1026
+ ],
1027
+ "shape": "PolicyVersion",
1028
+ "load": {
1029
+ "request": {
1030
+ "operation": "GetPolicyVersion",
1031
+ "params": [
1032
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
1033
+ { "target": "VersionId", "source": "identifier", "name": "VersionId" }
1034
+ ]
1035
+ },
1036
+ "path": "PolicyVersion"
1037
+ },
1038
+ "actions": {
1039
+ "Delete": {
1040
+ "request": {
1041
+ "operation": "DeletePolicyVersion",
1042
+ "params": [
1043
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
1044
+ { "target": "VersionId", "source": "identifier", "name": "VersionId" }
1045
+ ]
1046
+ }
1047
+ },
1048
+ "SetAsDefault": {
1049
+ "request": {
1050
+ "operation": "SetDefaultPolicyVersion",
1051
+ "params": [
1052
+ { "target": "PolicyArn", "source": "identifier", "name": "Arn" },
1053
+ { "target": "VersionId", "source": "identifier", "name": "VersionId" }
1054
+ ]
1055
+ }
1056
+ }
1057
+ }
1058
+ },
1059
+ "Role": {
1060
+ "identifiers": [
1061
+ {
1062
+ "name": "Name",
1063
+ "memberName": "RoleName"
1064
+ }
1065
+ ],
1066
+ "shape": "Role",
1067
+ "load": {
1068
+ "request": {
1069
+ "operation": "GetRole",
1070
+ "params": [
1071
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
1072
+ ]
1073
+ },
1074
+ "path": "Role"
1075
+ },
1076
+ "actions": {
1077
+ "AttachPolicy": {
1078
+ "request": {
1079
+ "operation": "AttachRolePolicy",
1080
+ "params": [
1081
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
1082
+ ]
1083
+ }
1084
+ },
1085
+ "Delete": {
1086
+ "request": {
1087
+ "operation": "DeleteRole",
1088
+ "params": [
1089
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
1090
+ ]
1091
+ }
1092
+ },
1093
+ "DetachPolicy": {
1094
+ "request": {
1095
+ "operation": "DetachRolePolicy",
1096
+ "params": [
1097
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
1098
+ ]
1099
+ }
1100
+ }
1101
+ },
1102
+ "has": {
1103
+ "AssumeRolePolicy": {
1104
+ "resource": {
1105
+ "type": "AssumeRolePolicy",
1106
+ "identifiers": [
1107
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
1108
+ ]
1109
+ }
1110
+ },
1111
+ "Policy": {
1112
+ "resource": {
1113
+ "type": "RolePolicy",
1114
+ "identifiers": [
1115
+ { "target": "RoleName", "source": "identifier", "name": "Name" },
1116
+ { "target": "Name", "source": "input" }
1117
+ ]
1118
+ }
1119
+ }
1120
+ },
1121
+ "hasMany": {
1122
+ "AttachedPolicies": {
1123
+ "request": {
1124
+ "operation": "ListAttachedRolePolicies",
1125
+ "params": [
1126
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
1127
+ ]
1128
+ },
1129
+ "resource": {
1130
+ "type": "Policy",
1131
+ "identifiers": [
1132
+ { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
1133
+ ]
1134
+ }
1135
+ },
1136
+ "InstanceProfiles": {
1137
+ "request": {
1138
+ "operation": "ListInstanceProfilesForRole",
1139
+ "params": [
1140
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
1141
+ ]
1142
+ },
1143
+ "resource": {
1144
+ "type": "InstanceProfile",
1145
+ "identifiers": [
1146
+ { "target": "Name", "source": "response", "path": "InstanceProfiles[].InstanceProfileName" }
1147
+ ],
1148
+ "path": "InstanceProfiles[]"
1149
+ }
1150
+ },
1151
+ "Policies": {
1152
+ "request": {
1153
+ "operation": "ListRolePolicies",
1154
+ "params": [
1155
+ { "target": "RoleName", "source": "identifier", "name": "Name" }
1156
+ ]
1157
+ },
1158
+ "resource": {
1159
+ "type": "RolePolicy",
1160
+ "identifiers": [
1161
+ { "target": "RoleName", "source": "identifier", "name": "Name" },
1162
+ { "target": "Name", "source": "response", "path": "PolicyNames[]" }
1163
+ ]
1164
+ }
1165
+ }
1166
+ }
1167
+ },
1168
+ "RolePolicy": {
1169
+ "identifiers": [
1170
+ {
1171
+ "name": "RoleName",
1172
+ "memberName": "RoleName"
1173
+ },
1174
+ {
1175
+ "name": "Name",
1176
+ "memberName": "PolicyName"
1177
+ }
1178
+ ],
1179
+ "shape": "GetRolePolicyResponse",
1180
+ "load": {
1181
+ "request": {
1182
+ "operation": "GetRolePolicy",
1183
+ "params": [
1184
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" },
1185
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
1186
+ ]
1187
+ },
1188
+ "path": "@"
1189
+ },
1190
+ "actions": {
1191
+ "Delete": {
1192
+ "request": {
1193
+ "operation": "DeleteRolePolicy",
1194
+ "params": [
1195
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" },
1196
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
1197
+ ]
1198
+ }
1199
+ },
1200
+ "Put": {
1201
+ "request": {
1202
+ "operation": "PutRolePolicy",
1203
+ "params": [
1204
+ { "target": "RoleName", "source": "identifier", "name": "RoleName" },
1205
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
1206
+ ]
1207
+ }
1208
+ }
1209
+ },
1210
+ "has": {
1211
+ "Role": {
1212
+ "resource": {
1213
+ "type": "Role",
1214
+ "identifiers": [
1215
+ { "target": "Name", "source": "identifier", "name": "RoleName" }
1216
+ ]
1217
+ }
1218
+ }
1219
+ }
1220
+ },
1221
+ "SamlProvider": {
1222
+ "identifiers": [
1223
+ { "name": "Arn" }
1224
+ ],
1225
+ "shape": "GetSAMLProviderResponse",
1226
+ "load": {
1227
+ "request": {
1228
+ "operation": "GetSAMLProvider",
1229
+ "params": [
1230
+ { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
1231
+ ]
1232
+ },
1233
+ "path": "@"
1234
+ },
1235
+ "actions": {
1236
+ "Delete": {
1237
+ "request": {
1238
+ "operation": "DeleteSAMLProvider",
1239
+ "params": [
1240
+ { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
1241
+ ]
1242
+ }
1243
+ },
1244
+ "Update": {
1245
+ "request": {
1246
+ "operation": "UpdateSAMLProvider",
1247
+ "params": [
1248
+ { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" }
1249
+ ]
1250
+ }
1251
+ }
1252
+ }
1253
+ },
1254
+ "ServerCertificate": {
1255
+ "identifiers": [
1256
+ { "name": "Name" }
1257
+ ],
1258
+ "shape": "ServerCertificate",
1259
+ "load": {
1260
+ "request": {
1261
+ "operation": "GetServerCertificate",
1262
+ "params": [
1263
+ { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
1264
+ ]
1265
+ },
1266
+ "path": "ServerCertificate"
1267
+ },
1268
+ "actions": {
1269
+ "Delete": {
1270
+ "request": {
1271
+ "operation": "DeleteServerCertificate",
1272
+ "params": [
1273
+ { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
1274
+ ]
1275
+ }
1276
+ },
1277
+ "Update": {
1278
+ "request": {
1279
+ "operation": "UpdateServerCertificate",
1280
+ "params": [
1281
+ { "target": "ServerCertificateName", "source": "identifier", "name": "Name" }
1282
+ ]
1283
+ },
1284
+ "resource": {
1285
+ "type": "ServerCertificate",
1286
+ "identifiers": [
1287
+ { "target": "Name", "source": "requestParameter", "path": "NewServerCertificateName" }
1288
+ ]
1289
+ }
1290
+ }
1291
+ }
1292
+ },
1293
+ "SigningCertificate": {
1294
+ "identifiers": [
1295
+ {
1296
+ "name": "UserName",
1297
+ "memberName": "UserName"
1298
+ },
1299
+ {
1300
+ "name": "Id",
1301
+ "memberName": "CertificateId"
1302
+ }
1303
+ ],
1304
+ "shape": "SigningCertificate",
1305
+ "actions": {
1306
+ "Activate": {
1307
+ "request": {
1308
+ "operation": "UpdateSigningCertificate",
1309
+ "params": [
1310
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
1311
+ { "target": "CertificateId", "source": "identifier", "name": "Id" },
1312
+ { "target": "Status", "source": "string", "value": "Active" }
1313
+ ]
1314
+ }
1315
+ },
1316
+ "Deactivate": {
1317
+ "request": {
1318
+ "operation": "UpdateSigningCertificate",
1319
+ "params": [
1320
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
1321
+ { "target": "CertificateId", "source": "identifier", "name": "Id" },
1322
+ { "target": "Status", "source": "string", "value": "Inactive" }
1323
+ ]
1324
+ }
1325
+ },
1326
+ "Delete": {
1327
+ "request": {
1328
+ "operation": "DeleteSigningCertificate",
1329
+ "params": [
1330
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
1331
+ { "target": "CertificateId", "source": "identifier", "name": "Id" }
1332
+ ]
1333
+ }
1334
+ }
1335
+ },
1336
+ "has": {
1337
+ "User": {
1338
+ "resource": {
1339
+ "type": "User",
1340
+ "identifiers": [
1341
+ { "target": "Name", "source": "identifier", "name": "UserName" }
1342
+ ]
1343
+ }
1344
+ }
1345
+ }
1346
+ },
1347
+ "User": {
1348
+ "identifiers": [
1349
+ {
1350
+ "name": "Name",
1351
+ "memberName": "UserName"
1352
+ }
1353
+ ],
1354
+ "shape": "User",
1355
+ "load": {
1356
+ "request": {
1357
+ "operation": "GetUser",
1358
+ "params": [
1359
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1360
+ ]
1361
+ },
1362
+ "path": "User"
1363
+ },
1364
+ "actions": {
1365
+ "AddGroup": {
1366
+ "request": {
1367
+ "operation": "AddUserToGroup",
1368
+ "params": [
1369
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1370
+ ]
1371
+ }
1372
+ },
1373
+ "AttachPolicy": {
1374
+ "request": {
1375
+ "operation": "AttachUserPolicy",
1376
+ "params": [
1377
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1378
+ ]
1379
+ }
1380
+ },
1381
+ "Create": {
1382
+ "request": {
1383
+ "operation": "CreateUser",
1384
+ "params": [
1385
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1386
+ ]
1387
+ },
1388
+ "resource": {
1389
+ "type": "User",
1390
+ "identifiers": [
1391
+ { "target": "Name", "source": "requestParameter", "path": "UserName" }
1392
+ ],
1393
+ "path": "User"
1394
+ }
1395
+ },
1396
+ "CreateAccessKeyPair": {
1397
+ "request": {
1398
+ "operation": "CreateAccessKey",
1399
+ "params": [
1400
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1401
+ ]
1402
+ },
1403
+ "resource": {
1404
+ "type": "AccessKeyPair",
1405
+ "identifiers": [
1406
+ { "target": "UserName", "source": "identifier", "name": "Name" },
1407
+ { "target": "Id", "source": "response", "path": "AccessKey.AccessKeyId" },
1408
+ { "target": "Secret", "source": "response", "path": "AccessKey.SecretAccessKey" }
1409
+ ],
1410
+ "path": "AccessKey"
1411
+ }
1412
+ },
1413
+ "CreateLoginProfile": {
1414
+ "request": {
1415
+ "operation": "CreateLoginProfile",
1416
+ "params": [
1417
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1418
+ ]
1419
+ },
1420
+ "resource": {
1421
+ "type": "LoginProfile",
1422
+ "identifiers": [
1423
+ { "target": "UserName", "source": "response", "path": "LoginProfile.UserName" }
1424
+ ],
1425
+ "path": "LoginProfile"
1426
+ }
1427
+ },
1428
+ "CreatePolicy": {
1429
+ "request": {
1430
+ "operation": "PutUserPolicy",
1431
+ "params": [
1432
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1433
+ ]
1434
+ },
1435
+ "resource": {
1436
+ "type": "UserPolicy",
1437
+ "identifiers": [
1438
+ { "target": "UserName", "source": "identifier", "name": "Name" },
1439
+ { "target": "Name", "source": "requestParameter", "path": "PolicyName" }
1440
+ ]
1441
+ }
1442
+ },
1443
+ "Delete": {
1444
+ "request": {
1445
+ "operation": "DeleteUser",
1446
+ "params": [
1447
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1448
+ ]
1449
+ }
1450
+ },
1451
+ "DetachPolicy": {
1452
+ "request": {
1453
+ "operation": "DetachUserPolicy",
1454
+ "params": [
1455
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1456
+ ]
1457
+ }
1458
+ },
1459
+ "EnableMfa": {
1460
+ "request": {
1461
+ "operation": "EnableMFADevice",
1462
+ "params": [
1463
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1464
+ ]
1465
+ },
1466
+ "resource": {
1467
+ "type": "MfaDevice",
1468
+ "identifiers": [
1469
+ { "target": "UserName", "source": "identifier", "name": "Name" },
1470
+ { "target": "SerialNumber", "source": "requestParameter", "path": "SerialNumber" }
1471
+ ]
1472
+ }
1473
+ },
1474
+ "RemoveGroup": {
1475
+ "request": {
1476
+ "operation": "RemoveUserFromGroup",
1477
+ "params": [
1478
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1479
+ ]
1480
+ }
1481
+ },
1482
+ "Update": {
1483
+ "request": {
1484
+ "operation": "UpdateUser",
1485
+ "params": [
1486
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1487
+ ]
1488
+ },
1489
+ "resource": {
1490
+ "type": "User",
1491
+ "identifiers": [
1492
+ { "target": "Name", "source": "requestParameter", "path": "NewUserName" }
1493
+ ]
1494
+ }
1495
+ }
1496
+ },
1497
+ "has": {
1498
+ "AccessKey": {
1499
+ "resource": {
1500
+ "type": "AccessKey",
1501
+ "identifiers": [
1502
+ { "target": "UserName", "source": "identifier", "name": "Name" },
1503
+ { "target": "Id", "source": "input" }
1504
+ ]
1505
+ }
1506
+ },
1507
+ "LoginProfile": {
1508
+ "resource": {
1509
+ "type": "LoginProfile",
1510
+ "identifiers": [
1511
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1512
+ ]
1513
+ }
1514
+ },
1515
+ "MfaDevice": {
1516
+ "resource": {
1517
+ "type": "MfaDevice",
1518
+ "identifiers": [
1519
+ { "target": "UserName", "source": "identifier", "name": "Name" },
1520
+ { "target": "SerialNumber", "source": "input" }
1521
+ ]
1522
+ }
1523
+ },
1524
+ "Policy": {
1525
+ "resource": {
1526
+ "type": "UserPolicy",
1527
+ "identifiers": [
1528
+ { "target": "UserName", "source": "identifier", "name": "Name" },
1529
+ { "target": "Name", "source": "input" }
1530
+ ]
1531
+ }
1532
+ },
1533
+ "SigningCertificate": {
1534
+ "resource": {
1535
+ "type": "SigningCertificate",
1536
+ "identifiers": [
1537
+ { "target": "UserName", "source": "identifier", "name": "Name" },
1538
+ { "target": "Id", "source": "input" }
1539
+ ]
1540
+ }
1541
+ }
1542
+ },
1543
+ "hasMany": {
1544
+ "AccessKeys": {
1545
+ "request": {
1546
+ "operation": "ListAccessKeys",
1547
+ "params": [
1548
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1549
+ ]
1550
+ },
1551
+ "resource": {
1552
+ "type": "AccessKey",
1553
+ "identifiers": [
1554
+ { "target": "UserName", "source": "identifier", "name": "Name" },
1555
+ { "target": "Id", "source": "response", "path": "AccessKeyMetadata[].AccessKeyId" }
1556
+ ],
1557
+ "path": "AccessKeyMetadata[]"
1558
+ }
1559
+ },
1560
+ "AttachedPolicies": {
1561
+ "request": {
1562
+ "operation": "ListAttachedUserPolicies",
1563
+ "params": [
1564
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1565
+ ]
1566
+ },
1567
+ "resource": {
1568
+ "type": "Policy",
1569
+ "identifiers": [
1570
+ { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" }
1571
+ ]
1572
+ }
1573
+ },
1574
+ "Groups": {
1575
+ "request": {
1576
+ "operation": "ListGroupsForUser",
1577
+ "params": [
1578
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1579
+ ]
1580
+ },
1581
+ "resource": {
1582
+ "type": "Group",
1583
+ "identifiers": [
1584
+ { "target": "Name", "source": "response", "path": "Groups[].GroupName" }
1585
+ ],
1586
+ "path": "Groups[]"
1587
+ }
1588
+ },
1589
+ "MfaDevices": {
1590
+ "request": {
1591
+ "operation": "ListMFADevices",
1592
+ "params": [
1593
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1594
+ ]
1595
+ },
1596
+ "resource": {
1597
+ "type": "MfaDevice",
1598
+ "identifiers": [
1599
+ { "target": "UserName", "source": "identifier", "name": "Name" },
1600
+ { "target": "SerialNumber", "source": "response", "path": "MFADevices[].SerialNumber" }
1601
+ ],
1602
+ "path": "MFADevices[]"
1603
+ }
1604
+ },
1605
+ "Policies": {
1606
+ "request": {
1607
+ "operation": "ListUserPolicies",
1608
+ "params": [
1609
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1610
+ ]
1611
+ },
1612
+ "resource": {
1613
+ "type": "UserPolicy",
1614
+ "identifiers": [
1615
+ { "target": "UserName", "source": "identifier", "name": "Name" },
1616
+ { "target": "Name", "source": "response", "path": "PolicyNames[]" }
1617
+ ]
1618
+ }
1619
+ },
1620
+ "SigningCertificates": {
1621
+ "request": {
1622
+ "operation": "ListSigningCertificates",
1623
+ "params": [
1624
+ { "target": "UserName", "source": "identifier", "name": "Name" }
1625
+ ]
1626
+ },
1627
+ "resource": {
1628
+ "type": "SigningCertificate",
1629
+ "identifiers": [
1630
+ { "target": "UserName", "source": "identifier", "name": "Name" },
1631
+ { "target": "Id", "source": "response", "path": "Certificates[].CertificateId" }
1632
+ ],
1633
+ "path": "Certificates[]"
1634
+ }
1635
+ }
1636
+ }
1637
+ },
1638
+ "UserPolicy": {
1639
+ "identifiers": [
1640
+ {
1641
+ "name": "UserName",
1642
+ "memberName": "UserName"
1643
+ },
1644
+ {
1645
+ "name": "Name",
1646
+ "memberName": "PolicyName"
1647
+ }
1648
+ ],
1649
+ "shape": "GetUserPolicyResponse",
1650
+ "load": {
1651
+ "request": {
1652
+ "operation": "GetUserPolicy",
1653
+ "params": [
1654
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
1655
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
1656
+ ]
1657
+ },
1658
+ "path": "@"
1659
+ },
1660
+ "actions": {
1661
+ "Delete": {
1662
+ "request": {
1663
+ "operation": "DeleteUserPolicy",
1664
+ "params": [
1665
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
1666
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
1667
+ ]
1668
+ }
1669
+ },
1670
+ "Put": {
1671
+ "request": {
1672
+ "operation": "PutUserPolicy",
1673
+ "params": [
1674
+ { "target": "UserName", "source": "identifier", "name": "UserName" },
1675
+ { "target": "PolicyName", "source": "identifier", "name": "Name" }
1676
+ ]
1677
+ }
1678
+ }
1679
+ },
1680
+ "has": {
1681
+ "User": {
1682
+ "resource": {
1683
+ "type": "User",
1684
+ "identifiers": [
1685
+ { "target": "Name", "source": "identifier", "name": "UserName" }
1686
+ ]
1687
+ }
1688
+ }
1689
+ }
1690
+ },
1691
+ "VirtualMfaDevice": {
1692
+ "identifiers": [
1693
+ {
1694
+ "name": "SerialNumber",
1695
+ "memberName": "SerialNumber"
1696
+ }
1697
+ ],
1698
+ "shape": "VirtualMFADevice",
1699
+ "actions": {
1700
+ "Delete": {
1701
+ "request": {
1702
+ "operation": "DeleteVirtualMFADevice",
1703
+ "params": [
1704
+ { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" }
1705
+ ]
1706
+ }
1707
+ }
1708
+ },
1709
+ "has": {
1710
+ "User": {
1711
+ "resource": {
1712
+ "type": "User",
1713
+ "identifiers": [
1714
+ { "target": "Name", "source": "data", "path": "User.UserName" }
1715
+ ]
1716
+ }
1717
+ }
1718
+ }
1719
+ }
1720
+ }
1721
+ }
env/Lib/site-packages/boto3/data/opsworks/2013-02-18/resources-1.json ADDED
@@ -0,0 +1,173 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateStack": {
5
+ "request": { "operation": "CreateStack" },
6
+ "resource": {
7
+ "type": "Stack",
8
+ "identifiers": [
9
+ { "target": "Id", "source": "response", "path": "StackId" }
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ "has": {
15
+ "Layer": {
16
+ "resource": {
17
+ "type": "Layer",
18
+ "identifiers": [
19
+ { "target": "Id", "source": "input" }
20
+ ]
21
+ }
22
+ },
23
+ "Stack": {
24
+ "resource": {
25
+ "type": "Stack",
26
+ "identifiers": [
27
+ { "target": "Id", "source": "input" }
28
+ ]
29
+ }
30
+ }
31
+ },
32
+ "hasMany": {
33
+ "Stacks": {
34
+ "request": { "operation": "DescribeStacks" },
35
+ "resource": {
36
+ "type": "Stack",
37
+ "identifiers": [
38
+ { "target": "Id", "source": "response", "path": "Stacks[].StackId" }
39
+ ],
40
+ "path": "Stacks[]"
41
+ }
42
+ }
43
+ }
44
+ },
45
+ "resources": {
46
+ "Layer": {
47
+ "identifiers": [
48
+ { "name": "Id" }
49
+ ],
50
+ "shape": "Layer",
51
+ "load": {
52
+ "request": {
53
+ "operation": "DescribeLayers",
54
+ "params": [
55
+ { "target": "LayerIds[]", "source": "identifier", "name": "Id" }
56
+ ]
57
+ },
58
+ "path": "Layers[0]"
59
+ },
60
+ "actions": {
61
+ "Delete": {
62
+ "request": {
63
+ "operation": "DeleteLayer",
64
+ "params": [
65
+ { "target": "LayerId", "source": "identifier", "name": "Id" }
66
+ ]
67
+ }
68
+ }
69
+ },
70
+ "has": {
71
+ "Stack": {
72
+ "resource": {
73
+ "type": "Stack",
74
+ "identifiers": [
75
+ { "target": "Id", "source": "data", "path": "StackId" }
76
+ ]
77
+ }
78
+ }
79
+ }
80
+ },
81
+ "Stack": {
82
+ "identifiers": [
83
+ { "name": "Id" }
84
+ ],
85
+ "shape": "Stack",
86
+ "load": {
87
+ "request": {
88
+ "operation": "DescribeStacks",
89
+ "params": [
90
+ { "target": "StackIds[]", "source": "identifier", "name": "Id" }
91
+ ]
92
+ },
93
+ "path": "Stacks[0]"
94
+ },
95
+ "actions": {
96
+ "CreateLayer": {
97
+ "request": {
98
+ "operation": "CreateLayer",
99
+ "params": [
100
+ { "target": "StackId", "source": "identifier", "name": "Id" }
101
+ ]
102
+ },
103
+ "resource": {
104
+ "type": "Layer",
105
+ "identifiers": [
106
+ { "target": "Id", "source": "response", "path": "LayerId" }
107
+ ]
108
+ }
109
+ },
110
+ "Delete": {
111
+ "request": {
112
+ "operation": "DeleteStack",
113
+ "params": [
114
+ { "target": "StackId", "source": "identifier", "name": "Id" }
115
+ ]
116
+ }
117
+ }
118
+ },
119
+ "has": {
120
+ "Summary": {
121
+ "resource": {
122
+ "type": "StackSummary",
123
+ "identifiers": [
124
+ { "target": "StackId", "source": "identifier", "name": "Id" }
125
+ ]
126
+ }
127
+ }
128
+ },
129
+ "hasMany": {
130
+ "Layers": {
131
+ "request": {
132
+ "operation": "DescribeLayers",
133
+ "params": [
134
+ { "target": "StackId", "source": "identifier", "name": "Id" }
135
+ ]
136
+ },
137
+ "resource": {
138
+ "type": "Layer",
139
+ "identifiers": [
140
+ { "target": "Id", "source": "response", "path": "Layers[].LayerId" }
141
+ ],
142
+ "path": "Layers[]"
143
+ }
144
+ }
145
+ }
146
+ },
147
+ "StackSummary": {
148
+ "identifiers": [
149
+ { "name": "StackId" }
150
+ ],
151
+ "shape": "StackSummary",
152
+ "load": {
153
+ "request": {
154
+ "operation": "DescribeStackSummary",
155
+ "params": [
156
+ { "target": "StackId", "source": "identifier", "name": "StackId" }
157
+ ]
158
+ },
159
+ "path": "StackSummary"
160
+ },
161
+ "has": {
162
+ "Stack": {
163
+ "resource": {
164
+ "type": "Stack",
165
+ "identifiers": [
166
+ { "target": "Id", "source": "identifier", "name": "StackId" }
167
+ ]
168
+ }
169
+ }
170
+ }
171
+ }
172
+ }
173
+ }
env/Lib/site-packages/boto3/data/s3/2006-03-01/resources-1.json ADDED
@@ -0,0 +1,1249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateBucket": {
5
+ "request": { "operation": "CreateBucket" },
6
+ "resource": {
7
+ "type": "Bucket",
8
+ "identifiers": [
9
+ { "target": "Name", "source": "requestParameter", "path": "Bucket" }
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ "has": {
15
+ "Bucket": {
16
+ "resource": {
17
+ "type": "Bucket",
18
+ "identifiers": [
19
+ { "target": "Name", "source": "input" }
20
+ ]
21
+ }
22
+ }
23
+ },
24
+ "hasMany": {
25
+ "Buckets": {
26
+ "request": { "operation": "ListBuckets" },
27
+ "resource": {
28
+ "type": "Bucket",
29
+ "identifiers": [
30
+ { "target": "Name", "source": "response", "path": "Buckets[].Name" }
31
+ ],
32
+ "path": "Buckets[]"
33
+ }
34
+ }
35
+ }
36
+ },
37
+ "resources": {
38
+ "Bucket": {
39
+ "identifiers": [
40
+ { "name": "Name" }
41
+ ],
42
+ "shape": "Bucket",
43
+ "actions": {
44
+ "Create": {
45
+ "request": {
46
+ "operation": "CreateBucket",
47
+ "params": [
48
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
49
+ ]
50
+ }
51
+ },
52
+ "Delete": {
53
+ "request": {
54
+ "operation": "DeleteBucket",
55
+ "params": [
56
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
57
+ ]
58
+ }
59
+ },
60
+ "DeleteObjects": {
61
+ "request": {
62
+ "operation": "DeleteObjects",
63
+ "params": [
64
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
65
+ ]
66
+ }
67
+ },
68
+ "PutObject": {
69
+ "request": {
70
+ "operation": "PutObject",
71
+ "params": [
72
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
73
+ ]
74
+ },
75
+ "resource": {
76
+ "type": "Object",
77
+ "identifiers": [
78
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
79
+ { "target": "Key", "source": "requestParameter", "path": "Key" }
80
+ ]
81
+ }
82
+ }
83
+ },
84
+ "waiters": {
85
+ "Exists": {
86
+ "waiterName": "BucketExists",
87
+ "params": [
88
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
89
+ ]
90
+ },
91
+ "NotExists": {
92
+ "waiterName": "BucketNotExists",
93
+ "params": [
94
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
95
+ ]
96
+ }
97
+ },
98
+ "has": {
99
+ "Acl": {
100
+ "resource": {
101
+ "type": "BucketAcl",
102
+ "identifiers": [
103
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
104
+ ]
105
+ }
106
+ },
107
+ "Cors": {
108
+ "resource": {
109
+ "type": "BucketCors",
110
+ "identifiers": [
111
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
112
+ ]
113
+ }
114
+ },
115
+ "Lifecycle": {
116
+ "resource": {
117
+ "type": "BucketLifecycle",
118
+ "identifiers": [
119
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
120
+ ]
121
+ }
122
+ },
123
+ "LifecycleConfiguration": {
124
+ "resource": {
125
+ "type": "BucketLifecycleConfiguration",
126
+ "identifiers": [
127
+ {
128
+ "target": "BucketName",
129
+ "source": "identifier",
130
+ "name": "Name"
131
+ }
132
+ ]
133
+ }
134
+ },
135
+ "Logging": {
136
+ "resource": {
137
+ "type": "BucketLogging",
138
+ "identifiers": [
139
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
140
+ ]
141
+ }
142
+ },
143
+ "Notification": {
144
+ "resource": {
145
+ "type": "BucketNotification",
146
+ "identifiers": [
147
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
148
+ ]
149
+ }
150
+ },
151
+ "Object": {
152
+ "resource": {
153
+ "type": "Object",
154
+ "identifiers": [
155
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
156
+ { "target": "Key", "source": "input" }
157
+ ]
158
+ }
159
+ },
160
+ "Policy": {
161
+ "resource": {
162
+ "type": "BucketPolicy",
163
+ "identifiers": [
164
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
165
+ ]
166
+ }
167
+ },
168
+ "RequestPayment": {
169
+ "resource": {
170
+ "type": "BucketRequestPayment",
171
+ "identifiers": [
172
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
173
+ ]
174
+ }
175
+ },
176
+ "Tagging": {
177
+ "resource": {
178
+ "type": "BucketTagging",
179
+ "identifiers": [
180
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
181
+ ]
182
+ }
183
+ },
184
+ "Versioning": {
185
+ "resource": {
186
+ "type": "BucketVersioning",
187
+ "identifiers": [
188
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
189
+ ]
190
+ }
191
+ },
192
+ "Website": {
193
+ "resource": {
194
+ "type": "BucketWebsite",
195
+ "identifiers": [
196
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
197
+ ]
198
+ }
199
+ }
200
+ },
201
+ "hasMany": {
202
+ "MultipartUploads": {
203
+ "request": {
204
+ "operation": "ListMultipartUploads",
205
+ "params": [
206
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
207
+ ]
208
+ },
209
+ "resource": {
210
+ "type": "MultipartUpload",
211
+ "identifiers": [
212
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
213
+ { "target": "ObjectKey", "source": "response", "path": "Uploads[].Key" },
214
+ { "target": "Id", "source": "response", "path": "Uploads[].UploadId" }
215
+ ],
216
+ "path": "Uploads[]"
217
+ }
218
+ },
219
+ "ObjectVersions": {
220
+ "request": {
221
+ "operation": "ListObjectVersions",
222
+ "params": [
223
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
224
+ ]
225
+ },
226
+ "resource": {
227
+ "type": "ObjectVersion",
228
+ "identifiers": [
229
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
230
+ { "target": "ObjectKey", "source": "response", "path": "[Versions,DeleteMarkers]|[].Key" },
231
+ { "target": "Id", "source": "response", "path": "[Versions,DeleteMarkers]|[].VersionId" }
232
+ ],
233
+ "path": "[Versions,DeleteMarkers]|[]"
234
+ }
235
+ },
236
+ "Objects": {
237
+ "request": {
238
+ "operation": "ListObjects",
239
+ "params": [
240
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
241
+ ]
242
+ },
243
+ "resource": {
244
+ "type": "ObjectSummary",
245
+ "identifiers": [
246
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
247
+ { "target": "Key", "source": "response", "path": "Contents[].Key" }
248
+ ],
249
+ "path": "Contents[]"
250
+ }
251
+ }
252
+ }
253
+ },
254
+ "BucketAcl": {
255
+ "identifiers": [
256
+ { "name": "BucketName" }
257
+ ],
258
+ "shape": "GetBucketAclOutput",
259
+ "load": {
260
+ "request": {
261
+ "operation": "GetBucketAcl",
262
+ "params": [
263
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
264
+ ]
265
+ },
266
+ "path": "@"
267
+ },
268
+ "actions": {
269
+ "Put": {
270
+ "request": {
271
+ "operation": "PutBucketAcl",
272
+ "params": [
273
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
274
+ ]
275
+ }
276
+ }
277
+ },
278
+ "has": {
279
+ "Bucket": {
280
+ "resource": {
281
+ "type": "Bucket",
282
+ "identifiers": [
283
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
284
+ ]
285
+ }
286
+ }
287
+ }
288
+ },
289
+ "BucketCors": {
290
+ "identifiers": [
291
+ { "name": "BucketName" }
292
+ ],
293
+ "shape": "GetBucketCorsOutput",
294
+ "load": {
295
+ "request": {
296
+ "operation": "GetBucketCors",
297
+ "params": [
298
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
299
+ ]
300
+ },
301
+ "path": "@"
302
+ },
303
+ "actions": {
304
+ "Delete": {
305
+ "request": {
306
+ "operation": "DeleteBucketCors",
307
+ "params": [
308
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
309
+ ]
310
+ }
311
+ },
312
+ "Put": {
313
+ "request": {
314
+ "operation": "PutBucketCors",
315
+ "params": [
316
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
317
+ ]
318
+ }
319
+ }
320
+ },
321
+ "has": {
322
+ "Bucket": {
323
+ "resource": {
324
+ "type": "Bucket",
325
+ "identifiers": [
326
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
327
+ ]
328
+ }
329
+ }
330
+ }
331
+ },
332
+ "BucketLifecycle": {
333
+ "identifiers": [
334
+ { "name": "BucketName" }
335
+ ],
336
+ "shape": "GetBucketLifecycleOutput",
337
+ "load": {
338
+ "request": {
339
+ "operation": "GetBucketLifecycle",
340
+ "params": [
341
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
342
+ ]
343
+ },
344
+ "path": "@"
345
+ },
346
+ "actions": {
347
+ "Delete": {
348
+ "request": {
349
+ "operation": "DeleteBucketLifecycle",
350
+ "params": [
351
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
352
+ ]
353
+ }
354
+ },
355
+ "Put": {
356
+ "request": {
357
+ "operation": "PutBucketLifecycle",
358
+ "params": [
359
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
360
+ ]
361
+ }
362
+ }
363
+ },
364
+ "has": {
365
+ "Bucket": {
366
+ "resource": {
367
+ "type": "Bucket",
368
+ "identifiers": [
369
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
370
+ ]
371
+ }
372
+ }
373
+ }
374
+ },
375
+ "BucketLifecycleConfiguration": {
376
+ "identifiers": [
377
+ {
378
+ "name": "BucketName"
379
+ }
380
+ ],
381
+ "shape": "GetBucketLifecycleConfigurationOutput",
382
+ "load": {
383
+ "request": {
384
+ "operation": "GetBucketLifecycleConfiguration",
385
+ "params": [
386
+ {
387
+ "target": "Bucket",
388
+ "source": "identifier",
389
+ "name": "BucketName"
390
+ }
391
+ ]
392
+ },
393
+ "path": "@"
394
+ },
395
+ "actions": {
396
+ "Delete": {
397
+ "request": {
398
+ "operation": "DeleteBucketLifecycle",
399
+ "params": [
400
+ {
401
+ "target": "Bucket",
402
+ "source": "identifier",
403
+ "name": "BucketName"
404
+ }
405
+ ]
406
+ }
407
+ },
408
+ "Put": {
409
+ "request": {
410
+ "operation": "PutBucketLifecycleConfiguration",
411
+ "params": [
412
+ {
413
+ "target": "Bucket",
414
+ "source": "identifier",
415
+ "name": "BucketName"
416
+ }
417
+ ]
418
+ }
419
+ }
420
+ },
421
+ "has": {
422
+ "Bucket": {
423
+ "resource": {
424
+ "type": "Bucket",
425
+ "identifiers": [
426
+ {
427
+ "target": "Name",
428
+ "source": "identifier",
429
+ "name": "BucketName"
430
+ }
431
+ ]
432
+ }
433
+ }
434
+ }
435
+ },
436
+ "BucketLogging": {
437
+ "identifiers": [
438
+ { "name": "BucketName" }
439
+ ],
440
+ "shape": "GetBucketLoggingOutput",
441
+ "load": {
442
+ "request": {
443
+ "operation": "GetBucketLogging",
444
+ "params": [
445
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
446
+ ]
447
+ },
448
+ "path": "@"
449
+ },
450
+ "actions": {
451
+ "Put": {
452
+ "request": {
453
+ "operation": "PutBucketLogging",
454
+ "params": [
455
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
456
+ ]
457
+ }
458
+ }
459
+ },
460
+ "has": {
461
+ "Bucket": {
462
+ "resource": {
463
+ "type": "Bucket",
464
+ "identifiers": [
465
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
466
+ ]
467
+ }
468
+ }
469
+ }
470
+ },
471
+ "BucketNotification": {
472
+ "identifiers": [
473
+ { "name": "BucketName" }
474
+ ],
475
+ "shape": "NotificationConfiguration",
476
+ "load": {
477
+ "request": {
478
+ "operation": "GetBucketNotificationConfiguration",
479
+ "params": [
480
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
481
+ ]
482
+ },
483
+ "path": "@"
484
+ },
485
+ "actions": {
486
+ "Put": {
487
+ "request": {
488
+ "operation": "PutBucketNotificationConfiguration",
489
+ "params": [
490
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
491
+ ]
492
+ }
493
+ }
494
+ },
495
+ "has": {
496
+ "Bucket": {
497
+ "resource": {
498
+ "type": "Bucket",
499
+ "identifiers": [
500
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
501
+ ]
502
+ }
503
+ }
504
+ }
505
+ },
506
+ "BucketPolicy": {
507
+ "identifiers": [
508
+ { "name": "BucketName" }
509
+ ],
510
+ "shape": "GetBucketPolicyOutput",
511
+ "load": {
512
+ "request": {
513
+ "operation": "GetBucketPolicy",
514
+ "params": [
515
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
516
+ ]
517
+ },
518
+ "path": "@"
519
+ },
520
+ "actions": {
521
+ "Delete": {
522
+ "request": {
523
+ "operation": "DeleteBucketPolicy",
524
+ "params": [
525
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
526
+ ]
527
+ }
528
+ },
529
+ "Put": {
530
+ "request": {
531
+ "operation": "PutBucketPolicy",
532
+ "params": [
533
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
534
+ ]
535
+ }
536
+ }
537
+ },
538
+ "has": {
539
+ "Bucket": {
540
+ "resource": {
541
+ "type": "Bucket",
542
+ "identifiers": [
543
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
544
+ ]
545
+ }
546
+ }
547
+ }
548
+ },
549
+ "BucketRequestPayment": {
550
+ "identifiers": [
551
+ { "name": "BucketName" }
552
+ ],
553
+ "shape": "GetBucketRequestPaymentOutput",
554
+ "load": {
555
+ "request": {
556
+ "operation": "GetBucketRequestPayment",
557
+ "params": [
558
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
559
+ ]
560
+ },
561
+ "path": "@"
562
+ },
563
+ "actions": {
564
+ "Put": {
565
+ "request": {
566
+ "operation": "PutBucketRequestPayment",
567
+ "params": [
568
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
569
+ ]
570
+ }
571
+ }
572
+ },
573
+ "has": {
574
+ "Bucket": {
575
+ "resource": {
576
+ "type": "Bucket",
577
+ "identifiers": [
578
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
579
+ ]
580
+ }
581
+ }
582
+ }
583
+ },
584
+ "BucketTagging": {
585
+ "identifiers": [
586
+ { "name": "BucketName" }
587
+ ],
588
+ "shape": "GetBucketTaggingOutput",
589
+ "load": {
590
+ "request": {
591
+ "operation": "GetBucketTagging",
592
+ "params": [
593
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
594
+ ]
595
+ },
596
+ "path": "@"
597
+ },
598
+ "actions": {
599
+ "Delete": {
600
+ "request": {
601
+ "operation": "DeleteBucketTagging",
602
+ "params": [
603
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
604
+ ]
605
+ }
606
+ },
607
+ "Put": {
608
+ "request": {
609
+ "operation": "PutBucketTagging",
610
+ "params": [
611
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
612
+ ]
613
+ }
614
+ }
615
+ },
616
+ "has": {
617
+ "Bucket": {
618
+ "resource": {
619
+ "type": "Bucket",
620
+ "identifiers": [
621
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
622
+ ]
623
+ }
624
+ }
625
+ }
626
+ },
627
+ "BucketVersioning": {
628
+ "identifiers": [
629
+ { "name": "BucketName" }
630
+ ],
631
+ "shape": "GetBucketVersioningOutput",
632
+ "load": {
633
+ "request": {
634
+ "operation": "GetBucketVersioning",
635
+ "params": [
636
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
637
+ ]
638
+ },
639
+ "path": "@"
640
+ },
641
+ "actions": {
642
+ "Enable": {
643
+ "request": {
644
+ "operation": "PutBucketVersioning",
645
+ "params": [
646
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
647
+ { "target": "VersioningConfiguration.Status", "source": "string", "value": "Enabled" }
648
+ ]
649
+ }
650
+ },
651
+ "Put": {
652
+ "request": {
653
+ "operation": "PutBucketVersioning",
654
+ "params": [
655
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
656
+ ]
657
+ }
658
+ },
659
+ "Suspend": {
660
+ "request": {
661
+ "operation": "PutBucketVersioning",
662
+ "params": [
663
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
664
+ { "target": "VersioningConfiguration.Status", "source": "string", "value": "Suspended" }
665
+ ]
666
+ }
667
+ }
668
+ },
669
+ "has": {
670
+ "Bucket": {
671
+ "resource": {
672
+ "type": "Bucket",
673
+ "identifiers": [
674
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
675
+ ]
676
+ }
677
+ }
678
+ }
679
+ },
680
+ "BucketWebsite": {
681
+ "identifiers": [
682
+ { "name": "BucketName" }
683
+ ],
684
+ "shape": "GetBucketWebsiteOutput",
685
+ "load": {
686
+ "request": {
687
+ "operation": "GetBucketWebsite",
688
+ "params": [
689
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
690
+ ]
691
+ },
692
+ "path": "@"
693
+ },
694
+ "actions": {
695
+ "Delete": {
696
+ "request": {
697
+ "operation": "DeleteBucketWebsite",
698
+ "params": [
699
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
700
+ ]
701
+ }
702
+ },
703
+ "Put": {
704
+ "request": {
705
+ "operation": "PutBucketWebsite",
706
+ "params": [
707
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
708
+ ]
709
+ }
710
+ }
711
+ },
712
+ "has": {
713
+ "Bucket": {
714
+ "resource": {
715
+ "type": "Bucket",
716
+ "identifiers": [
717
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
718
+ ]
719
+ }
720
+ }
721
+ }
722
+ },
723
+ "MultipartUpload": {
724
+ "identifiers": [
725
+ { "name": "BucketName" },
726
+ { "name": "ObjectKey" },
727
+ { "name": "Id" }
728
+ ],
729
+ "shape": "MultipartUpload",
730
+ "actions": {
731
+ "Abort": {
732
+ "request": {
733
+ "operation": "AbortMultipartUpload",
734
+ "params": [
735
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
736
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
737
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
738
+ ]
739
+ }
740
+ },
741
+ "Complete": {
742
+ "request": {
743
+ "operation": "CompleteMultipartUpload",
744
+ "params": [
745
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
746
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
747
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
748
+ ]
749
+ },
750
+ "resource": {
751
+ "type": "Object",
752
+ "identifiers": [
753
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
754
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
755
+ ]
756
+ }
757
+ }
758
+ },
759
+ "has": {
760
+ "Object": {
761
+ "resource": {
762
+ "type": "Object",
763
+ "identifiers": [
764
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
765
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
766
+ ]
767
+ }
768
+ },
769
+ "Part": {
770
+ "resource": {
771
+ "type": "MultipartUploadPart",
772
+ "identifiers": [
773
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
774
+ { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" },
775
+ { "target": "MultipartUploadId", "source": "identifier", "name": "Id" },
776
+ { "target": "PartNumber", "source": "input" }
777
+ ]
778
+ }
779
+ }
780
+ },
781
+ "hasMany": {
782
+ "Parts": {
783
+ "request": {
784
+ "operation": "ListParts",
785
+ "params": [
786
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
787
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
788
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
789
+ ]
790
+ },
791
+ "resource": {
792
+ "type": "MultipartUploadPart",
793
+ "identifiers": [
794
+ { "target": "BucketName", "source": "requestParameter", "path": "Bucket" },
795
+ { "target": "ObjectKey", "source": "requestParameter", "path": "Key" },
796
+ { "target": "MultipartUploadId", "source": "requestParameter", "path": "UploadId" },
797
+ { "target": "PartNumber", "source": "response", "path": "Parts[].PartNumber" }
798
+ ],
799
+ "path": "Parts[]"
800
+ }
801
+ }
802
+ }
803
+ },
804
+ "MultipartUploadPart": {
805
+ "identifiers": [
806
+ { "name": "BucketName" },
807
+ { "name": "ObjectKey" },
808
+ { "name": "MultipartUploadId" },
809
+ {
810
+ "name": "PartNumber",
811
+ "type": "integer",
812
+ "memberName": "PartNumber"
813
+ }
814
+ ],
815
+ "shape": "Part",
816
+ "actions": {
817
+ "CopyFrom": {
818
+ "request": {
819
+ "operation": "UploadPartCopy",
820
+ "params": [
821
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
822
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
823
+ { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" },
824
+ { "target": "PartNumber", "source": "identifier", "name": "PartNumber" }
825
+ ]
826
+ }
827
+ },
828
+ "Upload": {
829
+ "request": {
830
+ "operation": "UploadPart",
831
+ "params": [
832
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
833
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
834
+ { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" },
835
+ { "target": "PartNumber", "source": "identifier", "name": "PartNumber" }
836
+ ]
837
+ }
838
+ }
839
+ },
840
+ "has": {
841
+ "MultipartUpload": {
842
+ "resource": {
843
+ "type": "MultipartUpload",
844
+ "identifiers": [
845
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
846
+ { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" },
847
+ { "target": "Id", "source": "identifier", "name": "MultipartUploadId" }
848
+ ]
849
+ }
850
+ }
851
+ }
852
+ },
853
+ "Object": {
854
+ "identifiers": [
855
+ { "name": "BucketName" },
856
+ { "name": "Key" }
857
+ ],
858
+ "shape": "HeadObjectOutput",
859
+ "load": {
860
+ "request": {
861
+ "operation": "HeadObject",
862
+ "params": [
863
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
864
+ { "target": "Key", "source": "identifier", "name": "Key" }
865
+ ]
866
+ },
867
+ "path": "@"
868
+ },
869
+ "actions": {
870
+ "CopyFrom": {
871
+ "request": {
872
+ "operation": "CopyObject",
873
+ "params": [
874
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
875
+ { "target": "Key", "source": "identifier", "name": "Key" }
876
+ ]
877
+ }
878
+ },
879
+ "Delete": {
880
+ "request": {
881
+ "operation": "DeleteObject",
882
+ "params": [
883
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
884
+ { "target": "Key", "source": "identifier", "name": "Key" }
885
+ ]
886
+ }
887
+ },
888
+ "Get": {
889
+ "request": {
890
+ "operation": "GetObject",
891
+ "params": [
892
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
893
+ { "target": "Key", "source": "identifier", "name": "Key" }
894
+ ]
895
+ }
896
+ },
897
+ "InitiateMultipartUpload": {
898
+ "request": {
899
+ "operation": "CreateMultipartUpload",
900
+ "params": [
901
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
902
+ { "target": "Key", "source": "identifier", "name": "Key" }
903
+ ]
904
+ },
905
+ "resource": {
906
+ "type": "MultipartUpload",
907
+ "identifiers": [
908
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
909
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
910
+ { "target": "Id", "source": "response", "path": "UploadId" }
911
+ ]
912
+ }
913
+ },
914
+ "Put": {
915
+ "request": {
916
+ "operation": "PutObject",
917
+ "params": [
918
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
919
+ { "target": "Key", "source": "identifier", "name": "Key" }
920
+ ]
921
+ }
922
+ },
923
+ "RestoreObject": {
924
+ "request": {
925
+ "operation": "RestoreObject",
926
+ "params": [
927
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
928
+ { "target": "Key", "source": "identifier", "name": "Key" }
929
+ ]
930
+ }
931
+ }
932
+ },
933
+ "batchActions": {
934
+ "Delete": {
935
+ "request": {
936
+ "operation": "DeleteObjects",
937
+ "params": [
938
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
939
+ { "target": "Delete.Objects[].Key", "source": "identifier", "name": "Key" }
940
+ ]
941
+ }
942
+ }
943
+ },
944
+ "waiters": {
945
+ "Exists": {
946
+ "waiterName": "ObjectExists",
947
+ "params": [
948
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
949
+ { "target": "Key", "source": "identifier", "name": "Key" }
950
+ ]
951
+ },
952
+ "NotExists": {
953
+ "waiterName": "ObjectNotExists",
954
+ "params": [
955
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
956
+ { "target": "Key", "source": "identifier", "name": "Key" }
957
+ ]
958
+ }
959
+ },
960
+ "has": {
961
+ "Acl": {
962
+ "resource": {
963
+ "type": "ObjectAcl",
964
+ "identifiers": [
965
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
966
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" }
967
+ ]
968
+ }
969
+ },
970
+ "Bucket": {
971
+ "resource": {
972
+ "type": "Bucket",
973
+ "identifiers": [
974
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
975
+ ]
976
+ }
977
+ },
978
+ "MultipartUpload": {
979
+ "resource": {
980
+ "type": "MultipartUpload",
981
+ "identifiers": [
982
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
983
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
984
+ { "target": "Id", "source": "input" }
985
+ ]
986
+ }
987
+ },
988
+ "Version": {
989
+ "resource": {
990
+ "type": "ObjectVersion",
991
+ "identifiers": [
992
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
993
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
994
+ { "target": "Id", "source": "input" }
995
+ ]
996
+ }
997
+ }
998
+ }
999
+ },
1000
+ "ObjectAcl": {
1001
+ "identifiers": [
1002
+ { "name": "BucketName" },
1003
+ { "name": "ObjectKey" }
1004
+ ],
1005
+ "shape": "GetObjectAclOutput",
1006
+ "load": {
1007
+ "request": {
1008
+ "operation": "GetObjectAcl",
1009
+ "params": [
1010
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1011
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
1012
+ ]
1013
+ },
1014
+ "path": "@"
1015
+ },
1016
+ "actions": {
1017
+ "Put": {
1018
+ "request": {
1019
+ "operation": "PutObjectAcl",
1020
+ "params": [
1021
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1022
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
1023
+ ]
1024
+ }
1025
+ }
1026
+ },
1027
+ "has": {
1028
+ "Object": {
1029
+ "resource": {
1030
+ "type": "Object",
1031
+ "identifiers": [
1032
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
1033
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
1034
+ ]
1035
+ }
1036
+ }
1037
+ }
1038
+ },
1039
+ "ObjectSummary": {
1040
+ "identifiers": [
1041
+ { "name": "BucketName" },
1042
+ { "name": "Key" }
1043
+ ],
1044
+ "shape": "Object",
1045
+ "actions": {
1046
+ "CopyFrom": {
1047
+ "request": {
1048
+ "operation": "CopyObject",
1049
+ "params": [
1050
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1051
+ { "target": "Key", "source": "identifier", "name": "Key" }
1052
+ ]
1053
+ }
1054
+ },
1055
+ "Delete": {
1056
+ "request": {
1057
+ "operation": "DeleteObject",
1058
+ "params": [
1059
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1060
+ { "target": "Key", "source": "identifier", "name": "Key" }
1061
+ ]
1062
+ }
1063
+ },
1064
+ "Get": {
1065
+ "request": {
1066
+ "operation": "GetObject",
1067
+ "params": [
1068
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1069
+ { "target": "Key", "source": "identifier", "name": "Key" }
1070
+ ]
1071
+ }
1072
+ },
1073
+ "InitiateMultipartUpload": {
1074
+ "request": {
1075
+ "operation": "CreateMultipartUpload",
1076
+ "params": [
1077
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1078
+ { "target": "Key", "source": "identifier", "name": "Key" }
1079
+ ]
1080
+ },
1081
+ "resource": {
1082
+ "type": "MultipartUpload",
1083
+ "identifiers": [
1084
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
1085
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
1086
+ { "target": "Id", "source": "response", "path": "UploadId" }
1087
+ ]
1088
+ }
1089
+ },
1090
+ "Put": {
1091
+ "request": {
1092
+ "operation": "PutObject",
1093
+ "params": [
1094
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1095
+ { "target": "Key", "source": "identifier", "name": "Key" }
1096
+ ]
1097
+ }
1098
+ },
1099
+ "RestoreObject": {
1100
+ "request": {
1101
+ "operation": "RestoreObject",
1102
+ "params": [
1103
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1104
+ { "target": "Key", "source": "identifier", "name": "Key" }
1105
+ ]
1106
+ }
1107
+ }
1108
+ },
1109
+ "batchActions": {
1110
+ "Delete": {
1111
+ "request": {
1112
+ "operation": "DeleteObjects",
1113
+ "params": [
1114
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1115
+ { "target": "Delete.Objects[].Key", "source": "identifier", "name": "Key" }
1116
+ ]
1117
+ }
1118
+ }
1119
+ },
1120
+ "waiters": {
1121
+ "Exists": {
1122
+ "waiterName": "ObjectExists",
1123
+ "params": [
1124
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1125
+ { "target": "Key", "source": "identifier", "name": "Key" }
1126
+ ]
1127
+ },
1128
+ "NotExists": {
1129
+ "waiterName": "ObjectNotExists",
1130
+ "params": [
1131
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1132
+ { "target": "Key", "source": "identifier", "name": "Key" }
1133
+ ]
1134
+ }
1135
+ },
1136
+ "has": {
1137
+ "Acl": {
1138
+ "resource": {
1139
+ "type": "ObjectAcl",
1140
+ "identifiers": [
1141
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
1142
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" }
1143
+ ]
1144
+ }
1145
+ },
1146
+ "Bucket": {
1147
+ "resource": {
1148
+ "type": "Bucket",
1149
+ "identifiers": [
1150
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
1151
+ ]
1152
+ }
1153
+ },
1154
+ "MultipartUpload": {
1155
+ "resource": {
1156
+ "type": "MultipartUpload",
1157
+ "identifiers": [
1158
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
1159
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
1160
+ { "target": "Id", "source": "input" }
1161
+ ]
1162
+ }
1163
+ },
1164
+ "Object": {
1165
+ "resource": {
1166
+ "type": "Object",
1167
+ "identifiers": [
1168
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
1169
+ { "target": "Key", "source": "identifier", "name": "Key" }
1170
+ ]
1171
+ }
1172
+ },
1173
+ "Version": {
1174
+ "resource": {
1175
+ "type": "ObjectVersion",
1176
+ "identifiers": [
1177
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
1178
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
1179
+ { "target": "Id", "source": "input" }
1180
+ ]
1181
+ }
1182
+ }
1183
+ }
1184
+ },
1185
+ "ObjectVersion": {
1186
+ "identifiers": [
1187
+ { "name": "BucketName" },
1188
+ { "name": "ObjectKey" },
1189
+ { "name": "Id" }
1190
+ ],
1191
+ "shape": "ObjectVersion",
1192
+ "actions": {
1193
+ "Delete": {
1194
+ "request": {
1195
+ "operation": "DeleteObject",
1196
+ "params": [
1197
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1198
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
1199
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
1200
+ ]
1201
+ }
1202
+ },
1203
+ "Get": {
1204
+ "request": {
1205
+ "operation": "GetObject",
1206
+ "params": [
1207
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1208
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
1209
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
1210
+ ]
1211
+ }
1212
+ },
1213
+ "Head": {
1214
+ "request": {
1215
+ "operation": "HeadObject",
1216
+ "params": [
1217
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1218
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
1219
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
1220
+ ]
1221
+ }
1222
+ }
1223
+ },
1224
+ "batchActions": {
1225
+ "Delete": {
1226
+ "request": {
1227
+ "operation": "DeleteObjects",
1228
+ "params": [
1229
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1230
+ { "target": "Delete.Objects[*].Key", "source": "identifier", "name": "ObjectKey" },
1231
+ { "target": "Delete.Objects[*].VersionId", "source": "identifier", "name": "Id" }
1232
+ ]
1233
+ }
1234
+ }
1235
+ },
1236
+ "has": {
1237
+ "Object": {
1238
+ "resource": {
1239
+ "type": "Object",
1240
+ "identifiers": [
1241
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
1242
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
1243
+ ]
1244
+ }
1245
+ }
1246
+ }
1247
+ }
1248
+ }
1249
+ }
env/Lib/site-packages/boto3/data/sns/2010-03-31/resources-1.json ADDED
@@ -0,0 +1,327 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreatePlatformApplication": {
5
+ "request": { "operation": "CreatePlatformApplication" },
6
+ "resource": {
7
+ "type": "PlatformApplication",
8
+ "identifiers": [
9
+ { "target": "Arn", "source": "response", "path": "PlatformApplicationArn" }
10
+ ]
11
+ }
12
+ },
13
+ "CreateTopic": {
14
+ "request": { "operation": "CreateTopic" },
15
+ "resource": {
16
+ "type": "Topic",
17
+ "identifiers": [
18
+ { "target": "Arn", "source": "response", "path": "TopicArn" }
19
+ ]
20
+ }
21
+ }
22
+ },
23
+ "has": {
24
+ "PlatformApplication": {
25
+ "resource": {
26
+ "type": "PlatformApplication",
27
+ "identifiers": [
28
+ { "target": "Arn", "source": "input" }
29
+ ]
30
+ }
31
+ },
32
+ "PlatformEndpoint": {
33
+ "resource": {
34
+ "type": "PlatformEndpoint",
35
+ "identifiers": [
36
+ { "target": "Arn", "source": "input" }
37
+ ]
38
+ }
39
+ },
40
+ "Subscription": {
41
+ "resource": {
42
+ "type": "Subscription",
43
+ "identifiers": [
44
+ { "target": "Arn", "source": "input" }
45
+ ]
46
+ }
47
+ },
48
+ "Topic": {
49
+ "resource": {
50
+ "type": "Topic",
51
+ "identifiers": [
52
+ { "target": "Arn", "source": "input" }
53
+ ]
54
+ }
55
+ }
56
+ },
57
+ "hasMany": {
58
+ "PlatformApplications": {
59
+ "request": { "operation": "ListPlatformApplications" },
60
+ "resource": {
61
+ "type": "PlatformApplication",
62
+ "identifiers": [
63
+ { "target": "Arn", "source": "response", "path": "PlatformApplications[].PlatformApplicationArn" }
64
+ ]
65
+ }
66
+ },
67
+ "Subscriptions": {
68
+ "request": { "operation": "ListSubscriptions" },
69
+ "resource": {
70
+ "type": "Subscription",
71
+ "identifiers": [
72
+ { "target": "Arn", "source": "response", "path": "Subscriptions[].SubscriptionArn" }
73
+ ]
74
+ }
75
+ },
76
+ "Topics": {
77
+ "request": { "operation": "ListTopics" },
78
+ "resource": {
79
+ "type": "Topic",
80
+ "identifiers": [
81
+ { "target": "Arn", "source": "response", "path": "Topics[].TopicArn" }
82
+ ]
83
+ }
84
+ }
85
+ }
86
+ },
87
+ "resources": {
88
+ "PlatformApplication": {
89
+ "identifiers": [
90
+ { "name": "Arn" }
91
+ ],
92
+ "shape": "GetPlatformApplicationAttributesResponse",
93
+ "load": {
94
+ "request": {
95
+ "operation": "GetPlatformApplicationAttributes",
96
+ "params": [
97
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
98
+ ]
99
+ },
100
+ "path": "@"
101
+ },
102
+ "actions": {
103
+ "CreatePlatformEndpoint": {
104
+ "request": {
105
+ "operation": "CreatePlatformEndpoint",
106
+ "params": [
107
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
108
+ ]
109
+ },
110
+ "resource": {
111
+ "type": "PlatformEndpoint",
112
+ "identifiers": [
113
+ { "target": "Arn", "source": "response", "path": "EndpointArn" }
114
+ ]
115
+ }
116
+ },
117
+ "Delete": {
118
+ "request": {
119
+ "operation": "DeletePlatformApplication",
120
+ "params": [
121
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
122
+ ]
123
+ }
124
+ },
125
+ "SetAttributes": {
126
+ "request": {
127
+ "operation": "SetPlatformApplicationAttributes",
128
+ "params": [
129
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
130
+ ]
131
+ }
132
+ }
133
+ },
134
+ "hasMany": {
135
+ "Endpoints": {
136
+ "request": {
137
+ "operation": "ListEndpointsByPlatformApplication",
138
+ "params": [
139
+ { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" }
140
+ ]
141
+ },
142
+ "resource": {
143
+ "type": "PlatformEndpoint",
144
+ "identifiers": [
145
+ { "target": "Arn", "source": "response", "path": "Endpoints[].EndpointArn" }
146
+ ]
147
+ }
148
+ }
149
+ }
150
+ },
151
+ "PlatformEndpoint": {
152
+ "identifiers": [
153
+ { "name": "Arn" }
154
+ ],
155
+ "shape": "GetEndpointAttributesResponse",
156
+ "load": {
157
+ "request": {
158
+ "operation": "GetEndpointAttributes",
159
+ "params": [
160
+ { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
161
+ ]
162
+ },
163
+ "path": "@"
164
+ },
165
+ "actions": {
166
+ "Delete": {
167
+ "request": {
168
+ "operation": "DeleteEndpoint",
169
+ "params": [
170
+ { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
171
+ ]
172
+ }
173
+ },
174
+ "Publish": {
175
+ "request": {
176
+ "operation": "Publish",
177
+ "params": [
178
+ { "target": "TargetArn", "source": "identifier", "name": "Arn" }
179
+ ]
180
+ }
181
+ },
182
+ "SetAttributes": {
183
+ "request": {
184
+ "operation": "SetEndpointAttributes",
185
+ "params": [
186
+ { "target": "EndpointArn", "source": "identifier", "name": "Arn" }
187
+ ]
188
+ }
189
+ }
190
+ }
191
+ },
192
+ "Subscription": {
193
+ "identifiers": [
194
+ { "name": "Arn" }
195
+ ],
196
+ "shape": "GetSubscriptionAttributesResponse",
197
+ "load": {
198
+ "request": {
199
+ "operation": "GetSubscriptionAttributes",
200
+ "params": [
201
+ { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
202
+ ]
203
+ },
204
+ "path": "@"
205
+ },
206
+ "actions": {
207
+ "Delete": {
208
+ "request": {
209
+ "operation": "Unsubscribe",
210
+ "params": [
211
+ { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
212
+ ]
213
+ }
214
+ },
215
+ "SetAttributes": {
216
+ "request": {
217
+ "operation": "SetSubscriptionAttributes",
218
+ "params": [
219
+ { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" }
220
+ ]
221
+ }
222
+ }
223
+ }
224
+ },
225
+ "Topic": {
226
+ "identifiers": [
227
+ { "name": "Arn" }
228
+ ],
229
+ "shape": "GetTopicAttributesResponse",
230
+ "load": {
231
+ "request": {
232
+ "operation": "GetTopicAttributes",
233
+ "params": [
234
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
235
+ ]
236
+ },
237
+ "path": "@"
238
+ },
239
+ "actions": {
240
+ "AddPermission": {
241
+ "request": {
242
+ "operation": "AddPermission",
243
+ "params": [
244
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
245
+ ]
246
+ }
247
+ },
248
+ "ConfirmSubscription": {
249
+ "request": {
250
+ "operation": "ConfirmSubscription",
251
+ "params": [
252
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
253
+ ]
254
+ },
255
+ "resource": {
256
+ "type": "Subscription",
257
+ "identifiers": [
258
+ { "target": "Arn", "source": "response", "path": "SubscriptionArn" }
259
+ ]
260
+ }
261
+ },
262
+ "Delete": {
263
+ "request": {
264
+ "operation": "DeleteTopic",
265
+ "params": [
266
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
267
+ ]
268
+ }
269
+ },
270
+ "Publish": {
271
+ "request": {
272
+ "operation": "Publish",
273
+ "params": [
274
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
275
+ ]
276
+ }
277
+ },
278
+ "RemovePermission": {
279
+ "request": {
280
+ "operation": "RemovePermission",
281
+ "params": [
282
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
283
+ ]
284
+ }
285
+ },
286
+ "SetAttributes": {
287
+ "request": {
288
+ "operation": "SetTopicAttributes",
289
+ "params": [
290
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
291
+ ]
292
+ }
293
+ },
294
+ "Subscribe": {
295
+ "request": {
296
+ "operation": "Subscribe",
297
+ "params": [
298
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
299
+ ]
300
+ },
301
+ "resource": {
302
+ "type": "Subscription",
303
+ "identifiers": [
304
+ { "target": "Arn", "source": "response", "path": "SubscriptionArn" }
305
+ ]
306
+ }
307
+ }
308
+ },
309
+ "hasMany": {
310
+ "Subscriptions": {
311
+ "request": {
312
+ "operation": "ListSubscriptionsByTopic",
313
+ "params": [
314
+ { "target": "TopicArn", "source": "identifier", "name": "Arn" }
315
+ ]
316
+ },
317
+ "resource": {
318
+ "type": "Subscription",
319
+ "identifiers": [
320
+ { "target": "Arn", "source": "response", "path": "Subscriptions[].SubscriptionArn" }
321
+ ]
322
+ }
323
+ }
324
+ }
325
+ }
326
+ }
327
+ }
env/Lib/site-packages/boto3/data/sqs/2012-11-05/resources-1.json ADDED
@@ -0,0 +1,232 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "service": {
3
+ "actions": {
4
+ "CreateQueue": {
5
+ "request": { "operation": "CreateQueue" },
6
+ "resource": {
7
+ "type": "Queue",
8
+ "identifiers": [
9
+ { "target": "Url", "source": "response", "path": "QueueUrl" }
10
+ ]
11
+ }
12
+ },
13
+ "GetQueueByName": {
14
+ "request": { "operation": "GetQueueUrl" },
15
+ "resource": {
16
+ "type": "Queue",
17
+ "identifiers": [
18
+ { "target": "Url", "source": "response", "path": "QueueUrl" }
19
+ ]
20
+ }
21
+ }
22
+ },
23
+ "has": {
24
+ "Queue": {
25
+ "resource": {
26
+ "type": "Queue",
27
+ "identifiers": [
28
+ { "target": "Url", "source": "input" }
29
+ ]
30
+ }
31
+ }
32
+ },
33
+ "hasMany": {
34
+ "Queues": {
35
+ "request": { "operation": "ListQueues" },
36
+ "resource": {
37
+ "type": "Queue",
38
+ "identifiers": [
39
+ { "target": "Url", "source": "response", "path": "QueueUrls[]" }
40
+ ]
41
+ }
42
+ }
43
+ }
44
+ },
45
+ "resources": {
46
+ "Message": {
47
+ "identifiers": [
48
+ { "name": "QueueUrl" },
49
+ {
50
+ "name": "ReceiptHandle",
51
+ "memberName": "ReceiptHandle"
52
+ }
53
+ ],
54
+ "shape": "Message",
55
+ "actions": {
56
+ "ChangeVisibility": {
57
+ "request": {
58
+ "operation": "ChangeMessageVisibility",
59
+ "params": [
60
+ { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
61
+ { "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
62
+ ]
63
+ }
64
+ },
65
+ "Delete": {
66
+ "request": {
67
+ "operation": "DeleteMessage",
68
+ "params": [
69
+ { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
70
+ { "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
71
+ ]
72
+ }
73
+ }
74
+ },
75
+ "batchActions": {
76
+ "Delete": {
77
+ "request": {
78
+ "operation": "DeleteMessageBatch",
79
+ "params": [
80
+ { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" },
81
+ { "target": "Entries[*].Id", "source": "data", "path": "MessageId" },
82
+ { "target": "Entries[*].ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" }
83
+ ]
84
+ }
85
+ }
86
+ },
87
+ "has": {
88
+ "Queue": {
89
+ "resource": {
90
+ "type": "Queue",
91
+ "identifiers": [
92
+ { "target": "Url", "source": "identifier", "name": "QueueUrl" }
93
+ ]
94
+ }
95
+ }
96
+ }
97
+ },
98
+ "Queue": {
99
+ "identifiers": [
100
+ { "name": "Url" }
101
+ ],
102
+ "shape": "GetQueueAttributesResult",
103
+ "load": {
104
+ "request": {
105
+ "operation": "GetQueueAttributes",
106
+ "params": [
107
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" },
108
+ { "target": "AttributeNames[]", "source": "string", "value": "All" }
109
+ ]
110
+ },
111
+ "path": "@"
112
+ },
113
+ "actions": {
114
+ "AddPermission": {
115
+ "request": {
116
+ "operation": "AddPermission",
117
+ "params": [
118
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
119
+ ]
120
+ }
121
+ },
122
+ "ChangeMessageVisibilityBatch": {
123
+ "request": {
124
+ "operation": "ChangeMessageVisibilityBatch",
125
+ "params": [
126
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
127
+ ]
128
+ }
129
+ },
130
+ "Delete": {
131
+ "request": {
132
+ "operation": "DeleteQueue",
133
+ "params": [
134
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
135
+ ]
136
+ }
137
+ },
138
+ "DeleteMessages": {
139
+ "request": {
140
+ "operation": "DeleteMessageBatch",
141
+ "params": [
142
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
143
+ ]
144
+ }
145
+ },
146
+ "Purge": {
147
+ "request": {
148
+ "operation": "PurgeQueue",
149
+ "params": [
150
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
151
+ ]
152
+ }
153
+ },
154
+ "ReceiveMessages": {
155
+ "request": {
156
+ "operation": "ReceiveMessage",
157
+ "params": [
158
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
159
+ ]
160
+ },
161
+ "resource": {
162
+ "type": "Message",
163
+ "identifiers": [
164
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" },
165
+ { "target": "ReceiptHandle", "source": "response", "path": "Messages[].ReceiptHandle" }
166
+ ],
167
+ "path": "Messages[]"
168
+ }
169
+ },
170
+ "RemovePermission": {
171
+ "request": {
172
+ "operation": "RemovePermission",
173
+ "params": [
174
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
175
+ ]
176
+ }
177
+ },
178
+ "SendMessage": {
179
+ "request": {
180
+ "operation": "SendMessage",
181
+ "params": [
182
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
183
+ ]
184
+ }
185
+ },
186
+ "SendMessages": {
187
+ "request": {
188
+ "operation": "SendMessageBatch",
189
+ "params": [
190
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
191
+ ]
192
+ }
193
+ },
194
+ "SetAttributes": {
195
+ "request": {
196
+ "operation": "SetQueueAttributes",
197
+ "params": [
198
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
199
+ ]
200
+ }
201
+ }
202
+ },
203
+ "has": {
204
+ "Message": {
205
+ "resource": {
206
+ "type": "Message",
207
+ "identifiers": [
208
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" },
209
+ { "target": "ReceiptHandle", "source": "input" }
210
+ ]
211
+ }
212
+ }
213
+ },
214
+ "hasMany": {
215
+ "DeadLetterSourceQueues": {
216
+ "request": {
217
+ "operation": "ListDeadLetterSourceQueues",
218
+ "params": [
219
+ { "target": "QueueUrl", "source": "identifier", "name": "Url" }
220
+ ]
221
+ },
222
+ "resource": {
223
+ "type": "Queue",
224
+ "identifiers": [
225
+ { "target": "Url", "source": "response", "path": "queueUrls[]" }
226
+ ]
227
+ }
228
+ }
229
+ }
230
+ }
231
+ }
232
+ }
env/Lib/site-packages/boto3/docs/__init__.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # https://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+ import os
14
+
15
+ from botocore.docs import DEPRECATED_SERVICE_NAMES
16
+
17
+ from boto3.docs.service import ServiceDocumenter
18
+
19
+
20
+ def generate_docs(root_dir, session):
21
+ """Generates the reference documentation for botocore
22
+
23
+ This will go through every available AWS service and output ReSTructured
24
+ text files documenting each service.
25
+
26
+ :param root_dir: The directory to write the reference files to. Each
27
+ service's reference documentation is loacated at
28
+ root_dir/reference/services/service-name.rst
29
+
30
+ :param session: The boto3 session
31
+ """
32
+ services_doc_path = os.path.join(root_dir, 'reference', 'services')
33
+ if not os.path.exists(services_doc_path):
34
+ os.makedirs(services_doc_path)
35
+
36
+ # Prevents deprecated service names from being generated in docs.
37
+ available_services = [
38
+ service
39
+ for service in session.get_available_services()
40
+ if service not in DEPRECATED_SERVICE_NAMES
41
+ ]
42
+
43
+ for service_name in available_services:
44
+ docs = ServiceDocumenter(
45
+ service_name, session, services_doc_path
46
+ ).document_service()
47
+ service_doc_path = os.path.join(
48
+ services_doc_path, service_name + '.rst'
49
+ )
50
+ with open(service_doc_path, 'wb') as f:
51
+ f.write(docs)
env/Lib/site-packages/boto3/docs/__pycache__/__init__.cpython-311.pyc ADDED
Binary file (2.18 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/action.cpython-311.pyc ADDED
Binary file (7.16 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/attr.cpython-311.pyc ADDED
Binary file (2.72 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/base.cpython-311.pyc ADDED
Binary file (2.94 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/client.cpython-311.pyc ADDED
Binary file (1.42 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/collection.cpython-311.pyc ADDED
Binary file (10.6 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/docstring.cpython-311.pyc ADDED
Binary file (4.82 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/method.cpython-311.pyc ADDED
Binary file (2.39 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/resource.cpython-311.pyc ADDED
Binary file (19.6 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/service.cpython-311.pyc ADDED
Binary file (10.7 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/subresource.cpython-311.pyc ADDED
Binary file (6.81 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/utils.cpython-311.pyc ADDED
Binary file (7.28 kB). View file
 
env/Lib/site-packages/boto3/docs/__pycache__/waiter.cpython-311.pyc ADDED
Binary file (5.67 kB). View file