aws-sdk-core 2.0.48 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (197) hide show
  1. checksums.yaml +4 -4
  2. data/apis/autoscaling/2011-01-01/api-2.json +636 -33
  3. data/apis/cloudhsm/2014-05-30/api-2.json +3 -6
  4. data/apis/ec2/2014-10-01/api-2.json +10267 -0
  5. data/apis/ec2/2014-10-01/paginators-1.json +125 -0
  6. data/apis/ec2/2014-10-01/resources-1.json +2289 -0
  7. data/apis/ec2/2014-10-01/waiters-2.json +453 -0
  8. data/apis/ec2/2015-03-01/api-2.json +11245 -0
  9. data/apis/ec2/2015-03-01/paginators-1.json +125 -0
  10. data/apis/ec2/2015-03-01/resources-1.json +2479 -0
  11. data/apis/ec2/2015-03-01/waiters-2.json +458 -0
  12. data/apis/ec2/2015-04-15/api-2.json +182 -2
  13. data/apis/ecs/2014-11-13/api-2.json +316 -7
  14. data/apis/ecs/2014-11-13/paginators-1.json +40 -0
  15. data/apis/ecs/2014-11-13/waiters-2.json +93 -0
  16. data/apis/redshift/2012-12-01/waiters-2.json +19 -0
  17. data/apis/s3/2006-03-01/api-2.json +1 -2
  18. data/apis/sqs/2012-11-05/api-2.json +5 -6
  19. data/ca-bundle.crt +3554 -0
  20. data/lib/aws-sdk-core.rb +127 -44
  21. data/lib/aws-sdk-core/api/builder.rb +95 -0
  22. data/lib/aws-sdk-core/api/customizations.rb +152 -0
  23. data/lib/aws-sdk-core/api/docs/builder.rb +220 -0
  24. data/lib/aws-sdk-core/api/docs/client_type_documenter.rb +109 -0
  25. data/lib/aws-sdk-core/api/docs/docstring_provider.rb +66 -0
  26. data/lib/aws-sdk-core/api/docs/operation_documenter.rb +107 -0
  27. data/lib/aws-sdk-core/api/docs/param_formatter.rb +163 -0
  28. data/lib/aws-sdk-core/api/docs/request_syntax_example.rb +22 -0
  29. data/lib/aws-sdk-core/api/docs/response_structure_example.rb +91 -0
  30. data/lib/aws-sdk-core/api/docs/utils.rb +133 -0
  31. data/lib/aws-sdk-core/api/shape_map.rb +140 -0
  32. data/lib/aws-sdk-core/assume_role_credentials.rb +9 -6
  33. data/lib/aws-sdk-core/client.rb +9 -6
  34. data/lib/aws-sdk-core/client_stubs.rb +127 -133
  35. data/lib/aws-sdk-core/client_waiters.rb +1 -1
  36. data/lib/aws-sdk-core/credential_provider.rb +44 -0
  37. data/lib/aws-sdk-core/credential_provider_chain.rb +3 -2
  38. data/lib/aws-sdk-core/credentials.rb +5 -0
  39. data/lib/aws-sdk-core/deprecations.rb +69 -0
  40. data/lib/aws-sdk-core/dynamodb.rb +12 -0
  41. data/lib/aws-sdk-core/eager_loader.rb +31 -0
  42. data/lib/aws-sdk-core/ecs.rb +2 -0
  43. data/lib/aws-sdk-core/empty_structure.rb +1 -82
  44. data/lib/aws-sdk-core/endpoint_provider.rb +1 -1
  45. data/lib/aws-sdk-core/instance_profile_credentials.rb +9 -10
  46. data/lib/aws-sdk-core/json.rb +56 -0
  47. data/lib/aws-sdk-core/json/builder.rb +33 -34
  48. data/lib/aws-sdk-core/json/error_handler.rb +2 -2
  49. data/lib/aws-sdk-core/json/handler.rb +67 -0
  50. data/lib/aws-sdk-core/json/json_engine.rb +15 -0
  51. data/lib/aws-sdk-core/json/oj_engine.rb +15 -0
  52. data/lib/aws-sdk-core/json/parser.rb +30 -38
  53. data/lib/aws-sdk-core/pageable_response.rb +9 -12
  54. data/lib/aws-sdk-core/pager.rb +69 -0
  55. data/lib/aws-sdk-core/param_converter.rb +203 -0
  56. data/lib/aws-sdk-core/param_validator.rb +148 -0
  57. data/lib/aws-sdk-core/plugins/dynamodb_simple_attributes.rb +21 -18
  58. data/lib/aws-sdk-core/plugins/glacier_account_id.rb +9 -1
  59. data/lib/aws-sdk-core/plugins/glacier_checksums.rb +2 -3
  60. data/lib/aws-sdk-core/plugins/param_converter.rb +27 -0
  61. data/lib/aws-sdk-core/plugins/param_validator.rb +28 -0
  62. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +3 -7
  63. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +1 -2
  64. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +1 -1
  65. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +1 -1
  66. data/lib/aws-sdk-core/plugins/request_signer.rb +5 -5
  67. data/lib/aws-sdk-core/plugins/response_paging.rb +20 -11
  68. data/lib/aws-sdk-core/plugins/s3_get_bucket_location_fix.rb +1 -1
  69. data/lib/aws-sdk-core/plugins/s3_request_signer.rb +1 -2
  70. data/lib/aws-sdk-core/plugins/stub_responses.rb +25 -27
  71. data/lib/aws-sdk-core/query/ec2_param_builder.rb +29 -34
  72. data/lib/aws-sdk-core/query/handler.rb +32 -18
  73. data/lib/aws-sdk-core/query/param_builder.rb +45 -53
  74. data/lib/aws-sdk-core/refreshing_credentials.rb +3 -15
  75. data/lib/aws-sdk-core/rest/handler.rb +22 -0
  76. data/lib/aws-sdk-core/rest/request/body.rb +58 -0
  77. data/lib/aws-sdk-core/rest/request/builder.rb +50 -0
  78. data/lib/aws-sdk-core/rest/request/endpoint.rb +70 -0
  79. data/lib/aws-sdk-core/rest/request/headers.rb +48 -0
  80. data/lib/aws-sdk-core/rest/response/body.rb +43 -0
  81. data/lib/aws-sdk-core/rest/response/headers.rb +60 -0
  82. data/lib/aws-sdk-core/rest/response/parser.rb +47 -0
  83. data/lib/aws-sdk-core/rest/response/status_code.rb +24 -0
  84. data/lib/aws-sdk-core/shared_credentials.rb +11 -6
  85. data/lib/aws-sdk-core/signers/base.rb +1 -1
  86. data/lib/aws-sdk-core/signers/s3.rb +2 -3
  87. data/lib/aws-sdk-core/signers/v2.rb +7 -4
  88. data/lib/aws-sdk-core/signers/v4.rb +11 -22
  89. data/lib/aws-sdk-core/structure.rb +26 -145
  90. data/lib/aws-sdk-core/stubbing/data_applicator.rb +46 -0
  91. data/lib/aws-sdk-core/stubbing/empty_stub.rb +53 -0
  92. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +49 -0
  93. data/lib/aws-sdk-core/stubbing/protocols/json.rb +40 -0
  94. data/lib/aws-sdk-core/stubbing/protocols/query.rb +40 -0
  95. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +67 -0
  96. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +25 -0
  97. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +38 -0
  98. data/lib/aws-sdk-core/stubbing/stub_data.rb +34 -0
  99. data/lib/aws-sdk-core/version.rb +1 -1
  100. data/lib/aws-sdk-core/xml/builder.rb +58 -52
  101. data/lib/aws-sdk-core/xml/default_map.rb +10 -0
  102. data/lib/aws-sdk-core/xml/doc_builder.rb +86 -0
  103. data/lib/aws-sdk-core/xml/error_handler.rb +7 -2
  104. data/lib/aws-sdk-core/xml/parser.rb +4 -4
  105. data/lib/aws-sdk-core/xml/parser/frame.rb +75 -70
  106. data/lib/aws-sdk-core/xml/parser/stack.rb +4 -4
  107. data/lib/seahorse.rb +0 -11
  108. data/lib/seahorse/client/base.rb +3 -12
  109. data/lib/seahorse/client/http/request.rb +9 -5
  110. data/lib/seahorse/client/plugins/endpoint.rb +5 -56
  111. data/lib/seahorse/client/plugins/restful_bindings.rb +38 -31
  112. data/lib/seahorse/client/request_context.rb +2 -2
  113. data/lib/seahorse/client/response.rb +6 -5
  114. data/lib/seahorse/model/api.rb +18 -61
  115. data/lib/seahorse/model/operation.rb +24 -54
  116. data/lib/seahorse/model/shapes.rb +120 -364
  117. data/lib/seahorse/util.rb +2 -6
  118. metadata +56 -109
  119. data/apis/autoscaling/2011-01-01/docs-2.json +0 -1246
  120. data/apis/cloudformation/2010-05-15/docs-2.json +0 -725
  121. data/apis/cloudfront/2014-11-06/docs-2.json +0 -1125
  122. data/apis/cloudhsm/2014-05-30/docs-2.json +0 -472
  123. data/apis/cloudsearch/2013-01-01/docs-2.json +0 -865
  124. data/apis/cloudsearchdomain/2013-01-01/docs-2.json +0 -311
  125. data/apis/cloudtrail/2013-11-01/docs-2.json +0 -328
  126. data/apis/codedeploy/2014-10-06/docs-2.json +0 -1261
  127. data/apis/cognito-identity/2014-06-30/docs-2.json +0 -506
  128. data/apis/cognito-sync/2014-06-30/docs-2.json +0 -582
  129. data/apis/config/2014-10-17/docs-2.json +0 -513
  130. data/apis/config/2014-11-12/docs-2.json +0 -514
  131. data/apis/datapipeline/2012-10-29/docs-2.json +0 -607
  132. data/apis/directconnect/2012-10-25/docs-2.json +0 -494
  133. data/apis/ds/2015-04-16/docs-2.json +0 -753
  134. data/apis/dynamodb/2011-12-05/api-2.json +0 -949
  135. data/apis/dynamodb/2011-12-05/docs-2.json +0 -606
  136. data/apis/dynamodb/2011-12-05/paginators-1.json +0 -26
  137. data/apis/dynamodb/2011-12-05/waiters-2.json +0 -35
  138. data/apis/dynamodb/2012-08-10/docs-2.json +0 -977
  139. data/apis/ec2/2015-04-15/docs-2.json +0 -5368
  140. data/apis/ecs/2014-11-13/docs-2.json +0 -791
  141. data/apis/elasticache/2015-02-02/docs-2.json +0 -1390
  142. data/apis/elasticbeanstalk/2010-12-01/docs-2.json +0 -1114
  143. data/apis/elasticfilesystem/2015-02-01/docs-2.json +0 -414
  144. data/apis/elasticloadbalancing/2012-06-01/docs-2.json +0 -1078
  145. data/apis/elasticmapreduce/2009-03-31/docs-2.json +0 -969
  146. data/apis/elastictranscoder/2012-09-25/docs-2.json +0 -1152
  147. data/apis/email/2010-12-01/docs-2.json +0 -441
  148. data/apis/glacier/2012-06-01/docs-2.json +0 -575
  149. data/apis/iam/2010-05-08/docs-2.json +0 -2138
  150. data/apis/importexport/2010-06-01/docs-2.json +0 -432
  151. data/apis/kinesis/2013-12-02/docs-2.json +0 -424
  152. data/apis/kms/2014-11-01/docs-2.json +0 -628
  153. data/apis/lambda/2014-11-11/docs-2.json +0 -303
  154. data/apis/lambda/2015-03-31/docs-2.json +0 -490
  155. data/apis/logs/2014-03-28/docs-2.json +0 -599
  156. data/apis/machinelearning/2014-12-12/docs-2.json +0 -1034
  157. data/apis/monitoring/2010-08-01/docs-2.json +0 -514
  158. data/apis/opsworks/2013-02-18/docs-2.json +0 -1592
  159. data/apis/rds/2014-10-31/docs-2.json +0 -2074
  160. data/apis/redshift/2012-12-01/docs-2.json +0 -1890
  161. data/apis/route53/2013-04-01/docs-2.json +0 -1159
  162. data/apis/route53domains/2014-05-15/docs-2.json +0 -620
  163. data/apis/s3/2006-03-01/docs-2.json +0 -2213
  164. data/apis/sdb/2009-04-15/docs-2.json +0 -339
  165. data/apis/sns/2010-03-31/docs-2.json +0 -564
  166. data/apis/sqs/2012-11-05/docs-2.json +0 -503
  167. data/apis/ssm/2014-11-06/docs-2.json +0 -440
  168. data/apis/storagegateway/2013-06-30/docs-2.json +0 -1331
  169. data/apis/sts/2011-06-15/docs-2.json +0 -351
  170. data/apis/support/2013-04-15/docs-2.json +0 -680
  171. data/apis/swf/2012-01-25/docs-2.json +0 -1569
  172. data/apis/workspaces/2015-04-08/docs-2.json +0 -457
  173. data/lib/aws-sdk-core/api/customizer.rb +0 -75
  174. data/lib/aws-sdk-core/api/docstrings.rb +0 -38
  175. data/lib/aws-sdk-core/api/documenter.rb +0 -241
  176. data/lib/aws-sdk-core/api/operation_documenter.rb +0 -173
  177. data/lib/aws-sdk-core/api/operation_example.rb +0 -133
  178. data/lib/aws-sdk-core/api/service_customizations.rb +0 -140
  179. data/lib/aws-sdk-core/client_paging.rb +0 -31
  180. data/lib/aws-sdk-core/json/rest_handler.rb +0 -20
  181. data/lib/aws-sdk-core/json/rpc_body_handler.rb +0 -38
  182. data/lib/aws-sdk-core/json/rpc_headers_handler.rb +0 -34
  183. data/lib/aws-sdk-core/json/simple_body_handler.rb +0 -34
  184. data/lib/aws-sdk-core/paging/null_pager.rb +0 -20
  185. data/lib/aws-sdk-core/paging/null_provider.rb +0 -13
  186. data/lib/aws-sdk-core/paging/pager.rb +0 -70
  187. data/lib/aws-sdk-core/paging/provider.rb +0 -22
  188. data/lib/aws-sdk-core/rest_body_handler.rb +0 -111
  189. data/lib/aws-sdk-core/signers/handler.rb +0 -18
  190. data/lib/aws-sdk-core/xml/rest_handler.rb +0 -20
  191. data/lib/seahorse/client/param_converter.rb +0 -207
  192. data/lib/seahorse/client/param_validator.rb +0 -139
  193. data/lib/seahorse/client/plugins/json_simple.rb +0 -33
  194. data/lib/seahorse/client/plugins/param_conversion.rb +0 -29
  195. data/lib/seahorse/client/plugins/param_validation.rb +0 -30
  196. data/lib/seahorse/client/xml/builder.rb +0 -91
  197. data/lib/seahorse/model/shape_map.rb +0 -47
@@ -0,0 +1,125 @@
1
+ {
2
+ "pagination": {
3
+ "DescribeAccountAttributes": {
4
+ "result_key": "AccountAttributes"
5
+ },
6
+ "DescribeAddresses": {
7
+ "result_key": "Addresses"
8
+ },
9
+ "DescribeAvailabilityZones": {
10
+ "result_key": "AvailabilityZones"
11
+ },
12
+ "DescribeBundleTasks": {
13
+ "result_key": "BundleTasks"
14
+ },
15
+ "DescribeConversionTasks": {
16
+ "result_key": "ConversionTasks"
17
+ },
18
+ "DescribeCustomerGateways": {
19
+ "result_key": "CustomerGateways"
20
+ },
21
+ "DescribeDhcpOptions": {
22
+ "result_key": "DhcpOptions"
23
+ },
24
+ "DescribeExportTasks": {
25
+ "result_key": "ExportTasks"
26
+ },
27
+ "DescribeImages": {
28
+ "result_key": "Images"
29
+ },
30
+ "DescribeInstanceStatus": {
31
+ "input_token": "NextToken",
32
+ "output_token": "NextToken",
33
+ "limit_key": "MaxResults",
34
+ "result_key": "InstanceStatuses"
35
+ },
36
+ "DescribeInstances": {
37
+ "input_token": "NextToken",
38
+ "output_token": "NextToken",
39
+ "limit_key": "MaxResults",
40
+ "result_key": "Reservations"
41
+ },
42
+ "DescribeInternetGateways": {
43
+ "result_key": "InternetGateways"
44
+ },
45
+ "DescribeKeyPairs": {
46
+ "result_key": "KeyPairs"
47
+ },
48
+ "DescribeNetworkAcls": {
49
+ "result_key": "NetworkAcls"
50
+ },
51
+ "DescribeNetworkInterfaces": {
52
+ "result_key": "NetworkInterfaces"
53
+ },
54
+ "DescribePlacementGroups": {
55
+ "result_key": "PlacementGroups"
56
+ },
57
+ "DescribeRegions": {
58
+ "result_key": "Regions"
59
+ },
60
+ "DescribeReservedInstances": {
61
+ "result_key": "ReservedInstances"
62
+ },
63
+ "DescribeReservedInstancesListings": {
64
+ "result_key": "ReservedInstancesListings"
65
+ },
66
+ "DescribeReservedInstancesOfferings": {
67
+ "input_token": "NextToken",
68
+ "output_token": "NextToken",
69
+ "limit_key": "MaxResults",
70
+ "result_key": "ReservedInstancesOfferings"
71
+ },
72
+ "DescribeReservedInstancesModifications": {
73
+ "input_token": "NextToken",
74
+ "output_token": "NextToken",
75
+ "result_key": "ReservedInstancesModifications"
76
+ },
77
+ "DescribeRouteTables": {
78
+ "result_key": "RouteTables"
79
+ },
80
+ "DescribeSecurityGroups": {
81
+ "result_key": "SecurityGroups"
82
+ },
83
+ "DescribeSnapshots": {
84
+ "input_token": "NextToken",
85
+ "output_token": "NextToken",
86
+ "result_key": "Snapshots"
87
+ },
88
+ "DescribeSpotInstanceRequests": {
89
+ "result_key": "SpotInstanceRequests"
90
+ },
91
+ "DescribeSpotPriceHistory": {
92
+ "input_token": "NextToken",
93
+ "output_token": "NextToken",
94
+ "limit_key": "MaxResults",
95
+ "result_key": "SpotPriceHistory"
96
+ },
97
+ "DescribeSubnets": {
98
+ "result_key": "Subnets"
99
+ },
100
+ "DescribeTags": {
101
+ "result_key": "Tags"
102
+ },
103
+ "DescribeVolumeStatus": {
104
+ "input_token": "NextToken",
105
+ "output_token": "NextToken",
106
+ "limit_key": "MaxResults",
107
+ "result_key": "VolumeStatuses"
108
+ },
109
+ "DescribeVolumes": {
110
+ "input_token": "NextToken",
111
+ "output_token": "NextToken",
112
+ "limit_key": "MaxResults",
113
+ "result_key": "Volumes"
114
+ },
115
+ "DescribeVpcs": {
116
+ "result_key": "Vpcs"
117
+ },
118
+ "DescribeVpnConnections": {
119
+ "result_key": "VpnConnections"
120
+ },
121
+ "DescribeVpnGateways": {
122
+ "result_key": "VpnGateways"
123
+ }
124
+ }
125
+ }
@@ -0,0 +1,2479 @@
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
+ "ClassicAddresses": {
306
+ "request": {
307
+ "operation": "DescribeAddresses",
308
+ "params": [
309
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
310
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" }
311
+ ]
312
+ },
313
+ "resource": {
314
+ "type": "ClassicAddress",
315
+ "identifiers": [
316
+ { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" }
317
+ ],
318
+ "path": "Addresses[]"
319
+ }
320
+ },
321
+ "DhcpOptionsSets": {
322
+ "request": { "operation": "DescribeDhcpOptions" },
323
+ "resource": {
324
+ "type": "DhcpOptions",
325
+ "identifiers": [
326
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
327
+ ],
328
+ "path": "DhcpOptions[]"
329
+ }
330
+ },
331
+ "Images": {
332
+ "request": { "operation": "DescribeImages" },
333
+ "resource": {
334
+ "type": "Image",
335
+ "identifiers": [
336
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
337
+ ],
338
+ "path": "Images[]"
339
+ }
340
+ },
341
+ "Instances": {
342
+ "request": { "operation": "DescribeInstances" },
343
+ "resource": {
344
+ "type": "Instance",
345
+ "identifiers": [
346
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
347
+ ],
348
+ "path": "Reservations[].Instances[]"
349
+ }
350
+ },
351
+ "InternetGateways": {
352
+ "request": { "operation": "DescribeInternetGateways" },
353
+ "resource": {
354
+ "type": "InternetGateway",
355
+ "identifiers": [
356
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
357
+ ],
358
+ "path": "InternetGateways[]"
359
+ }
360
+ },
361
+ "KeyPairs": {
362
+ "request": { "operation": "DescribeKeyPairs" },
363
+ "resource": {
364
+ "type": "KeyPair",
365
+ "identifiers": [
366
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
367
+ ],
368
+ "path": "KeyPairs[]"
369
+ }
370
+ },
371
+ "NetworkAcls": {
372
+ "request": { "operation": "DescribeNetworkAcls" },
373
+ "resource": {
374
+ "type": "NetworkAcl",
375
+ "identifiers": [
376
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
377
+ ],
378
+ "path": "NetworkAcls[]"
379
+ }
380
+ },
381
+ "NetworkInterfaces": {
382
+ "request": { "operation": "DescribeNetworkInterfaces" },
383
+ "resource": {
384
+ "type": "NetworkInterface",
385
+ "identifiers": [
386
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
387
+ ],
388
+ "path": "NetworkInterfaces[]"
389
+ }
390
+ },
391
+ "PlacementGroups": {
392
+ "request": { "operation": "DescribePlacementGroups" },
393
+ "resource": {
394
+ "type": "PlacementGroup",
395
+ "identifiers": [
396
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
397
+ ],
398
+ "path": "PlacementGroups[]"
399
+ }
400
+ },
401
+ "RouteTables": {
402
+ "request": { "operation": "DescribeRouteTables" },
403
+ "resource": {
404
+ "type": "RouteTable",
405
+ "identifiers": [
406
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
407
+ ],
408
+ "path": "RouteTables[]"
409
+ }
410
+ },
411
+ "SecurityGroups": {
412
+ "request": { "operation": "DescribeSecurityGroups" },
413
+ "resource": {
414
+ "type": "SecurityGroup",
415
+ "identifiers": [
416
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
417
+ ],
418
+ "path": "SecurityGroups[]"
419
+ }
420
+ },
421
+ "Snapshots": {
422
+ "request": { "operation": "DescribeSnapshots" },
423
+ "resource": {
424
+ "type": "Snapshot",
425
+ "identifiers": [
426
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
427
+ ],
428
+ "path": "Snapshots[]"
429
+ }
430
+ },
431
+ "Subnets": {
432
+ "request": { "operation": "DescribeSubnets" },
433
+ "resource": {
434
+ "type": "Subnet",
435
+ "identifiers": [
436
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
437
+ ],
438
+ "path": "Subnets[]"
439
+ }
440
+ },
441
+ "Volumes": {
442
+ "request": { "operation": "DescribeVolumes" },
443
+ "resource": {
444
+ "type": "Volume",
445
+ "identifiers": [
446
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
447
+ ],
448
+ "path": "Volumes[]"
449
+ }
450
+ },
451
+ "VpcAddresses": {
452
+ "request": {
453
+ "operation": "DescribeAddresses",
454
+ "params": [
455
+ { "target": "Filters[0].Name", "source": "string", "value": "domain" },
456
+ { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" }
457
+ ]
458
+ },
459
+ "resource": {
460
+ "type": "VpcAddress",
461
+ "identifiers": [
462
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
463
+ ],
464
+ "path": "Addresses[]"
465
+ }
466
+ },
467
+ "VpcPeeringConnections": {
468
+ "request": { "operation": "DescribeVpcPeeringConnections" },
469
+ "resource": {
470
+ "type": "VpcPeeringConnection",
471
+ "identifiers": [
472
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
473
+ ],
474
+ "path": "VpcPeeringConnections[]"
475
+ }
476
+ },
477
+ "Vpcs": {
478
+ "request": { "operation": "DescribeVpcs" },
479
+ "resource": {
480
+ "type": "Vpc",
481
+ "identifiers": [
482
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
483
+ ],
484
+ "path": "Vpcs[]"
485
+ }
486
+ }
487
+ }
488
+ },
489
+ "resources": {
490
+ "ClassicAddress": {
491
+ "identifiers": [
492
+ {
493
+ "name": "PublicIp"
494
+ }
495
+ ],
496
+ "shape": "Address",
497
+ "load": {
498
+ "request": {
499
+ "operation": "DescribeAddresses",
500
+ "params": [
501
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
502
+ ]
503
+ },
504
+ "path": "Addresses[0]"
505
+ },
506
+ "actions": {
507
+ "Associate": {
508
+ "request": {
509
+ "operation": "AssociateAddress",
510
+ "params": [
511
+ { "target": "PublicIp", "source": "identifier", "name": "PublicIp" }
512
+ ]
513
+ }
514
+ },
515
+ "Disassociate": {
516
+ "request": {
517
+ "operation": "DisassociateAddress",
518
+ "params": [
519
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
520
+ ]
521
+ }
522
+ },
523
+ "Release": {
524
+ "request": {
525
+ "operation": "ReleaseAddress",
526
+ "params": [
527
+ { "target": "PublicIp", "source": "data", "path": "PublicIp" }
528
+ ]
529
+ }
530
+ }
531
+ }
532
+ },
533
+ "DhcpOptions": {
534
+ "identifiers": [
535
+ {
536
+ "name": "Id",
537
+ "memberName": "DhcpOptionsId"
538
+ }
539
+ ],
540
+ "shape": "DhcpOptions",
541
+ "load": {
542
+ "request": {
543
+ "operation": "DescribeDhcpOptions",
544
+ "params": [
545
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
546
+ ]
547
+ },
548
+ "path": "DhcpOptions[0]"
549
+ },
550
+ "actions": {
551
+ "AssociateWithVpc": {
552
+ "request": {
553
+ "operation": "AssociateDhcpOptions",
554
+ "params": [
555
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
556
+ ]
557
+ }
558
+ },
559
+ "CreateTags": {
560
+ "request": {
561
+ "operation": "CreateTags",
562
+ "params": [
563
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
564
+ ]
565
+ },
566
+ "resource": {
567
+ "type": "Tag",
568
+ "identifiers": [
569
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
570
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
571
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
572
+ ]
573
+ }
574
+ },
575
+ "Delete": {
576
+ "request": {
577
+ "operation": "DeleteDhcpOptions",
578
+ "params": [
579
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
580
+ ]
581
+ }
582
+ }
583
+ }
584
+ },
585
+ "Image": {
586
+ "identifiers": [
587
+ {
588
+ "name": "Id",
589
+ "memberName": "ImageId"
590
+ }
591
+ ],
592
+ "shape": "Image",
593
+ "load": {
594
+ "request": {
595
+ "operation": "DescribeImages",
596
+ "params": [
597
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
598
+ ]
599
+ },
600
+ "path": "Images[0]"
601
+ },
602
+ "actions": {
603
+ "CreateTags": {
604
+ "request": {
605
+ "operation": "CreateTags",
606
+ "params": [
607
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
608
+ ]
609
+ },
610
+ "resource": {
611
+ "type": "Tag",
612
+ "identifiers": [
613
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
614
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
615
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
616
+ ]
617
+ }
618
+ },
619
+ "Deregister": {
620
+ "request": {
621
+ "operation": "DeregisterImage",
622
+ "params": [
623
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
624
+ ]
625
+ }
626
+ },
627
+ "DescribeAttribute": {
628
+ "request": {
629
+ "operation": "DescribeImageAttribute",
630
+ "params": [
631
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
632
+ ]
633
+ }
634
+ },
635
+ "ModifyAttribute": {
636
+ "request": {
637
+ "operation": "ModifyImageAttribute",
638
+ "params": [
639
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
640
+ ]
641
+ }
642
+ },
643
+ "ResetAttribute": {
644
+ "request": {
645
+ "operation": "ResetImageAttribute",
646
+ "params": [
647
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
648
+ ]
649
+ }
650
+ }
651
+ }
652
+ },
653
+ "Instance": {
654
+ "identifiers": [
655
+ {
656
+ "name": "Id",
657
+ "memberName": "InstanceId"
658
+ }
659
+ ],
660
+ "shape": "Instance",
661
+ "load": {
662
+ "request": {
663
+ "operation": "DescribeInstances",
664
+ "params": [
665
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
666
+ ]
667
+ },
668
+ "path": "Reservations[0].Instances[0]"
669
+ },
670
+ "actions": {
671
+ "AttachClassicLinkVpc": {
672
+ "request": {
673
+ "operation": "AttachClassicLinkVpc",
674
+ "params": [
675
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
676
+ ]
677
+ }
678
+ },
679
+ "AttachVolume": {
680
+ "request": {
681
+ "operation": "AttachVolume",
682
+ "params": [
683
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
684
+ ]
685
+ }
686
+ },
687
+ "ConsoleOutput": {
688
+ "request": {
689
+ "operation": "GetConsoleOutput",
690
+ "params": [
691
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
692
+ ]
693
+ }
694
+ },
695
+ "CreateImage": {
696
+ "request": {
697
+ "operation": "CreateImage",
698
+ "params": [
699
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
700
+ ]
701
+ },
702
+ "resource": {
703
+ "type": "Image",
704
+ "identifiers": [
705
+ { "target": "Id", "source": "response", "path": "ImageId" }
706
+ ]
707
+ }
708
+ },
709
+ "CreateTags": {
710
+ "request": {
711
+ "operation": "CreateTags",
712
+ "params": [
713
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
714
+ ]
715
+ },
716
+ "resource": {
717
+ "type": "Tag",
718
+ "identifiers": [
719
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
720
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
721
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
722
+ ]
723
+ }
724
+ },
725
+ "DescribeAttribute": {
726
+ "request": {
727
+ "operation": "DescribeInstanceAttribute",
728
+ "params": [
729
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
730
+ ]
731
+ }
732
+ },
733
+ "DetachClassicLinkVpc": {
734
+ "request": {
735
+ "operation": "DetachClassicLinkVpc",
736
+ "params": [
737
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
738
+ ]
739
+ }
740
+ },
741
+ "DetachVolume": {
742
+ "request": {
743
+ "operation": "DetachVolume",
744
+ "params": [
745
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
746
+ ]
747
+ }
748
+ },
749
+ "ModifyAttribute": {
750
+ "request": {
751
+ "operation": "ModifyInstanceAttribute",
752
+ "params": [
753
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
754
+ ]
755
+ }
756
+ },
757
+ "Monitor": {
758
+ "request": {
759
+ "operation": "MonitorInstances",
760
+ "params": [
761
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
762
+ ]
763
+ }
764
+ },
765
+ "PasswordData": {
766
+ "request": {
767
+ "operation": "GetPasswordData",
768
+ "params": [
769
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
770
+ ]
771
+ }
772
+ },
773
+ "Reboot": {
774
+ "request": {
775
+ "operation": "RebootInstances",
776
+ "params": [
777
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
778
+ ]
779
+ }
780
+ },
781
+ "ReportStatus": {
782
+ "request": {
783
+ "operation": "ReportInstanceStatus",
784
+ "params": [
785
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
786
+ ]
787
+ }
788
+ },
789
+ "ResetAttribute": {
790
+ "request": {
791
+ "operation": "ResetInstanceAttribute",
792
+ "params": [
793
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
794
+ ]
795
+ }
796
+ },
797
+ "ResetKernel": {
798
+ "request": {
799
+ "operation": "ResetInstanceAttribute",
800
+ "params": [
801
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
802
+ { "target": "Attribute", "source": "string", "value": "kernel" }
803
+ ]
804
+ }
805
+ },
806
+ "ResetRamdisk": {
807
+ "request": {
808
+ "operation": "ResetInstanceAttribute",
809
+ "params": [
810
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
811
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
812
+ ]
813
+ }
814
+ },
815
+ "ResetSourceDestCheck": {
816
+ "request": {
817
+ "operation": "ResetInstanceAttribute",
818
+ "params": [
819
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
820
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
821
+ ]
822
+ }
823
+ },
824
+ "Start": {
825
+ "request": {
826
+ "operation": "StartInstances",
827
+ "params": [
828
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
829
+ ]
830
+ }
831
+ },
832
+ "Stop": {
833
+ "request": {
834
+ "operation": "StopInstances",
835
+ "params": [
836
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
837
+ ]
838
+ }
839
+ },
840
+ "Terminate": {
841
+ "request": {
842
+ "operation": "TerminateInstances",
843
+ "params": [
844
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
845
+ ]
846
+ }
847
+ },
848
+ "Unmonitor": {
849
+ "request": {
850
+ "operation": "UnmonitorInstances",
851
+ "params": [
852
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
853
+ ]
854
+ }
855
+ }
856
+ },
857
+ "batchActions": {
858
+ "CreateTags": {
859
+ "request": {
860
+ "operation": "CreateTags",
861
+ "params": [
862
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
863
+ ]
864
+ }
865
+ },
866
+ "Monitor": {
867
+ "request": {
868
+ "operation": "MonitorInstances",
869
+ "params": [
870
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
871
+ ]
872
+ }
873
+ },
874
+ "Reboot": {
875
+ "request": {
876
+ "operation": "RebootInstances",
877
+ "params": [
878
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
879
+ ]
880
+ }
881
+ },
882
+ "Start": {
883
+ "request": {
884
+ "operation": "StartInstances",
885
+ "params": [
886
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
887
+ ]
888
+ }
889
+ },
890
+ "Stop": {
891
+ "request": {
892
+ "operation": "StopInstances",
893
+ "params": [
894
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
895
+ ]
896
+ }
897
+ },
898
+ "Terminate": {
899
+ "request": {
900
+ "operation": "TerminateInstances",
901
+ "params": [
902
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
903
+ ]
904
+ }
905
+ },
906
+ "Unmonitor": {
907
+ "request": {
908
+ "operation": "UnmonitorInstances",
909
+ "params": [
910
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
911
+ ]
912
+ }
913
+ }
914
+ },
915
+ "waiters": {
916
+ "Exists": {
917
+ "waiterName": "InstanceExists",
918
+ "params": [
919
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
920
+ ],
921
+ "path": "Reservations[0].Instances[0]"
922
+ },
923
+ "Running": {
924
+ "waiterName": "InstanceRunning",
925
+ "params": [
926
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
927
+ ],
928
+ "path": "Reservations[0].Instances[0]"
929
+ },
930
+ "Stopped": {
931
+ "waiterName": "InstanceStopped",
932
+ "params": [
933
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
934
+ ],
935
+ "path": "Reservations[0].Instances[0]"
936
+ },
937
+ "Terminated": {
938
+ "waiterName": "InstanceTerminated",
939
+ "params": [
940
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
941
+ ],
942
+ "path": "Reservations[0].Instances[0]"
943
+ }
944
+ },
945
+ "has": {
946
+ "ClassicAddress": {
947
+ "resource": {
948
+ "type": "ClassicAddress",
949
+ "identifiers": [
950
+ { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" }
951
+ ]
952
+ }
953
+ },
954
+ "Image": {
955
+ "resource": {
956
+ "type": "Image",
957
+ "identifiers": [
958
+ { "target": "Id", "source": "data", "path": "ImageId" }
959
+ ]
960
+ }
961
+ },
962
+ "KeyPair": {
963
+ "resource": {
964
+ "type": "KeyPair",
965
+ "identifiers": [
966
+ { "target": "Name", "source": "data", "path": "KeyName" }
967
+ ]
968
+ }
969
+ },
970
+ "NetworkInterfaces": {
971
+ "resource": {
972
+ "type": "NetworkInterface",
973
+ "identifiers": [
974
+ { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" }
975
+ ],
976
+ "path": "NetworkInterfaces[]"
977
+ }
978
+ },
979
+ "PlacementGroup": {
980
+ "resource": {
981
+ "type": "PlacementGroup",
982
+ "identifiers": [
983
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
984
+ ]
985
+ }
986
+ },
987
+ "Subnet": {
988
+ "resource": {
989
+ "type": "Subnet",
990
+ "identifiers": [
991
+ { "target": "Id", "source": "data", "path": "SubnetId" }
992
+ ]
993
+ }
994
+ },
995
+ "Vpc": {
996
+ "resource": {
997
+ "type": "Vpc",
998
+ "identifiers": [
999
+ { "target": "Id", "source": "data", "path": "VpcId" }
1000
+ ]
1001
+ }
1002
+ }
1003
+ },
1004
+ "hasMany": {
1005
+ "Volumes": {
1006
+ "request": {
1007
+ "operation": "DescribeVolumes",
1008
+ "params": [
1009
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
1010
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1011
+ ]
1012
+ },
1013
+ "resource": {
1014
+ "type": "Volume",
1015
+ "identifiers": [
1016
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
1017
+ ],
1018
+ "path": "Volumes[]"
1019
+ }
1020
+ },
1021
+ "VpcAddresses": {
1022
+ "request": {
1023
+ "operation": "DescribeAddresses",
1024
+ "params": [
1025
+ { "target": "Filters[0].Name", "source": "string", "value": "instance-id" },
1026
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1027
+ ]
1028
+ },
1029
+ "resource": {
1030
+ "type": "VpcAddress",
1031
+ "identifiers": [
1032
+ { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" }
1033
+ ],
1034
+ "path": "Addresses[]"
1035
+ }
1036
+ }
1037
+ }
1038
+ },
1039
+ "InternetGateway": {
1040
+ "identifiers": [
1041
+ {
1042
+ "name": "Id",
1043
+ "memberName": "InternetGatewayId"
1044
+ }
1045
+ ],
1046
+ "shape": "InternetGateway",
1047
+ "load": {
1048
+ "request": {
1049
+ "operation": "DescribeInternetGateways",
1050
+ "params": [
1051
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
1052
+ ]
1053
+ },
1054
+ "path": "InternetGateways[0]"
1055
+ },
1056
+ "actions": {
1057
+ "AttachToVpc": {
1058
+ "request": {
1059
+ "operation": "AttachInternetGateway",
1060
+ "params": [
1061
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1062
+ ]
1063
+ }
1064
+ },
1065
+ "CreateTags": {
1066
+ "request": {
1067
+ "operation": "CreateTags",
1068
+ "params": [
1069
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1070
+ ]
1071
+ },
1072
+ "resource": {
1073
+ "type": "Tag",
1074
+ "identifiers": [
1075
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1076
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1077
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1078
+ ]
1079
+ }
1080
+ },
1081
+ "Delete": {
1082
+ "request": {
1083
+ "operation": "DeleteInternetGateway",
1084
+ "params": [
1085
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1086
+ ]
1087
+ }
1088
+ },
1089
+ "DetachFromVpc": {
1090
+ "request": {
1091
+ "operation": "DetachInternetGateway",
1092
+ "params": [
1093
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
1094
+ ]
1095
+ }
1096
+ }
1097
+ }
1098
+ },
1099
+ "KeyPair": {
1100
+ "identifiers": [
1101
+ {
1102
+ "name": "Name",
1103
+ "memberName": "KeyName"
1104
+ }
1105
+ ],
1106
+ "shape": "KeyPairInfo",
1107
+ "load": {
1108
+ "request": {
1109
+ "operation": "DescribeKeyPairs",
1110
+ "params": [
1111
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
1112
+ ]
1113
+ },
1114
+ "path": "KeyPairs[0]"
1115
+ },
1116
+ "actions": {
1117
+ "Delete": {
1118
+ "request": {
1119
+ "operation": "DeleteKeyPair",
1120
+ "params": [
1121
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
1122
+ ]
1123
+ }
1124
+ }
1125
+ }
1126
+ },
1127
+ "NetworkAcl": {
1128
+ "identifiers": [
1129
+ {
1130
+ "name": "Id",
1131
+ "memberName": "NetworkAclId"
1132
+ }
1133
+ ],
1134
+ "shape": "NetworkAcl",
1135
+ "load": {
1136
+ "request": {
1137
+ "operation": "DescribeNetworkAcls",
1138
+ "params": [
1139
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
1140
+ ]
1141
+ },
1142
+ "path": "NetworkAcls[0]"
1143
+ },
1144
+ "actions": {
1145
+ "CreateEntry": {
1146
+ "request": {
1147
+ "operation": "CreateNetworkAclEntry",
1148
+ "params": [
1149
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1150
+ ]
1151
+ }
1152
+ },
1153
+ "CreateTags": {
1154
+ "request": {
1155
+ "operation": "CreateTags",
1156
+ "params": [
1157
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1158
+ ]
1159
+ },
1160
+ "resource": {
1161
+ "type": "Tag",
1162
+ "identifiers": [
1163
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1164
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1165
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1166
+ ]
1167
+ }
1168
+ },
1169
+ "Delete": {
1170
+ "request": {
1171
+ "operation": "DeleteNetworkAcl",
1172
+ "params": [
1173
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1174
+ ]
1175
+ }
1176
+ },
1177
+ "DeleteEntry": {
1178
+ "request": {
1179
+ "operation": "DeleteNetworkAclEntry",
1180
+ "params": [
1181
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1182
+ ]
1183
+ }
1184
+ },
1185
+ "ReplaceAssociation": {
1186
+ "request": {
1187
+ "operation": "ReplaceNetworkAclAssociation",
1188
+ "params": [
1189
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1190
+ ]
1191
+ }
1192
+ },
1193
+ "ReplaceEntry": {
1194
+ "request": {
1195
+ "operation": "ReplaceNetworkAclEntry",
1196
+ "params": [
1197
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
1198
+ ]
1199
+ }
1200
+ }
1201
+ },
1202
+ "has": {
1203
+ "Vpc": {
1204
+ "resource": {
1205
+ "type": "Vpc",
1206
+ "identifiers": [
1207
+ { "target": "Id", "source": "data", "path": "VpcId" }
1208
+ ]
1209
+ }
1210
+ }
1211
+ }
1212
+ },
1213
+ "NetworkInterface": {
1214
+ "identifiers": [
1215
+ {
1216
+ "name": "Id",
1217
+ "memberName": "NetworkInterfaceId"
1218
+ }
1219
+ ],
1220
+ "shape": "NetworkInterface",
1221
+ "load": {
1222
+ "request": {
1223
+ "operation": "DescribeNetworkInterfaces",
1224
+ "params": [
1225
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
1226
+ ]
1227
+ },
1228
+ "path": "NetworkInterfaces[0]"
1229
+ },
1230
+ "actions": {
1231
+ "AssignPrivateIpAddresses": {
1232
+ "request": {
1233
+ "operation": "AssignPrivateIpAddresses",
1234
+ "params": [
1235
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1236
+ ]
1237
+ }
1238
+ },
1239
+ "Attach": {
1240
+ "request": {
1241
+ "operation": "AttachNetworkInterface",
1242
+ "params": [
1243
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1244
+ ]
1245
+ }
1246
+ },
1247
+ "CreateTags": {
1248
+ "request": {
1249
+ "operation": "CreateTags",
1250
+ "params": [
1251
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1252
+ ]
1253
+ },
1254
+ "resource": {
1255
+ "type": "Tag",
1256
+ "identifiers": [
1257
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1258
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1259
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1260
+ ]
1261
+ }
1262
+ },
1263
+ "Delete": {
1264
+ "request": {
1265
+ "operation": "DeleteNetworkInterface",
1266
+ "params": [
1267
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1268
+ ]
1269
+ }
1270
+ },
1271
+ "DescribeAttribute": {
1272
+ "request": {
1273
+ "operation": "DescribeNetworkInterfaceAttribute",
1274
+ "params": [
1275
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1276
+ ]
1277
+ }
1278
+ },
1279
+ "Detach": {
1280
+ "request": {
1281
+ "operation": "DetachNetworkInterface",
1282
+ "params": [
1283
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
1284
+ ]
1285
+ }
1286
+ },
1287
+ "ModifyAttribute": {
1288
+ "request": {
1289
+ "operation": "ModifyNetworkInterfaceAttribute",
1290
+ "params": [
1291
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1292
+ ]
1293
+ }
1294
+ },
1295
+ "ResetAttribute": {
1296
+ "request": {
1297
+ "operation": "ResetNetworkInterfaceAttribute",
1298
+ "params": [
1299
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1300
+ ]
1301
+ }
1302
+ },
1303
+ "UnassignPrivateIpAddresses": {
1304
+ "request": {
1305
+ "operation": "UnassignPrivateIpAddresses",
1306
+ "params": [
1307
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1308
+ ]
1309
+ }
1310
+ }
1311
+ },
1312
+ "has": {
1313
+ "Association": {
1314
+ "resource": {
1315
+ "type": "NetworkInterfaceAssociation",
1316
+ "identifiers": [
1317
+ { "target": "Id", "source": "data", "path": "Association.AssociationId" }
1318
+ ],
1319
+ "path": "Association"
1320
+ }
1321
+ },
1322
+ "Subnet": {
1323
+ "resource": {
1324
+ "type": "Subnet",
1325
+ "identifiers": [
1326
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1327
+ ]
1328
+ }
1329
+ },
1330
+ "Vpc": {
1331
+ "resource": {
1332
+ "type": "Vpc",
1333
+ "identifiers": [
1334
+ { "target": "Id", "source": "data", "path": "VpcId" }
1335
+ ]
1336
+ }
1337
+ }
1338
+ }
1339
+ },
1340
+ "NetworkInterfaceAssociation": {
1341
+ "identifiers": [
1342
+ {
1343
+ "name": "Id"
1344
+ }
1345
+ ],
1346
+ "shape": "InstanceNetworkInterfaceAssociation",
1347
+ "actions": {
1348
+ "Delete": {
1349
+ "request": {
1350
+ "operation": "DisassociateAddress",
1351
+ "params": [
1352
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1353
+ ]
1354
+ }
1355
+ }
1356
+ },
1357
+ "has": {
1358
+ "Address": {
1359
+ "resource": {
1360
+ "type": "VpcAddress",
1361
+ "identifiers": [
1362
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
1363
+ ]
1364
+ }
1365
+ }
1366
+ }
1367
+ },
1368
+ "PlacementGroup": {
1369
+ "identifiers": [
1370
+ {
1371
+ "name": "Name",
1372
+ "memberName": "GroupName"
1373
+ }
1374
+ ],
1375
+ "shape": "PlacementGroup",
1376
+ "load": {
1377
+ "request": {
1378
+ "operation": "DescribePlacementGroups",
1379
+ "params": [
1380
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
1381
+ ]
1382
+ },
1383
+ "path": "PlacementGroups[0]"
1384
+ },
1385
+ "actions": {
1386
+ "Delete": {
1387
+ "request": {
1388
+ "operation": "DeletePlacementGroup",
1389
+ "params": [
1390
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
1391
+ ]
1392
+ }
1393
+ }
1394
+ },
1395
+ "hasMany": {
1396
+ "Instances": {
1397
+ "request": {
1398
+ "operation": "DescribeInstances",
1399
+ "params": [
1400
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
1401
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
1402
+ ]
1403
+ },
1404
+ "resource": {
1405
+ "type": "Instance",
1406
+ "identifiers": [
1407
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1408
+ ],
1409
+ "path": "Reservations[].Instances[]"
1410
+ }
1411
+ }
1412
+ }
1413
+ },
1414
+ "RouteTable": {
1415
+ "identifiers": [
1416
+ {
1417
+ "name": "Id",
1418
+ "memberName": "RouteTableId"
1419
+ }
1420
+ ],
1421
+ "shape": "RouteTable",
1422
+ "load": {
1423
+ "request": {
1424
+ "operation": "DescribeRouteTables",
1425
+ "params": [
1426
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1427
+ ]
1428
+ },
1429
+ "path": "RouteTables[0]"
1430
+ },
1431
+ "actions": {
1432
+ "AssociateWithSubnet": {
1433
+ "request": {
1434
+ "operation": "AssociateRouteTable",
1435
+ "params": [
1436
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1437
+ ]
1438
+ },
1439
+ "resource": {
1440
+ "type": "RouteTableAssociation",
1441
+ "identifiers": [
1442
+ { "target": "Id", "source": "response", "path": "AssociationId" }
1443
+ ]
1444
+ }
1445
+ },
1446
+ "CreateRoute": {
1447
+ "request": {
1448
+ "operation": "CreateRoute",
1449
+ "params": [
1450
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1451
+ ]
1452
+ }
1453
+ },
1454
+ "CreateTags": {
1455
+ "request": {
1456
+ "operation": "CreateTags",
1457
+ "params": [
1458
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1459
+ ]
1460
+ },
1461
+ "resource": {
1462
+ "type": "Tag",
1463
+ "identifiers": [
1464
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1465
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1466
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1467
+ ]
1468
+ }
1469
+ },
1470
+ "Delete": {
1471
+ "request": {
1472
+ "operation": "DeleteRouteTable",
1473
+ "params": [
1474
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1475
+ ]
1476
+ }
1477
+ }
1478
+ },
1479
+ "has": {
1480
+ "Vpc": {
1481
+ "resource": {
1482
+ "type": "Vpc",
1483
+ "identifiers": [
1484
+ { "target": "Id", "source": "data", "path": "VpcId" }
1485
+ ]
1486
+ }
1487
+ }
1488
+ },
1489
+ "hasMany": {
1490
+ "Associations": {
1491
+ "request": {
1492
+ "operation": "DescribeRouteTables",
1493
+ "params": [
1494
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1495
+ ]
1496
+ },
1497
+ "resource": {
1498
+ "type": "RouteTableAssociation",
1499
+ "identifiers": [
1500
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
1501
+ ],
1502
+ "path": "RouteTables[0].Associations[]"
1503
+ }
1504
+ }
1505
+ }
1506
+ },
1507
+ "RouteTableAssociation": {
1508
+ "identifiers": [
1509
+ {
1510
+ "name": "Id",
1511
+ "memberName": "RouteTableAssociationId"
1512
+ }
1513
+ ],
1514
+ "shape": "RouteTableAssociation",
1515
+ "actions": {
1516
+ "Delete": {
1517
+ "request": {
1518
+ "operation": "DisassociateRouteTable",
1519
+ "params": [
1520
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1521
+ ]
1522
+ }
1523
+ },
1524
+ "ReplaceSubnet": {
1525
+ "request": {
1526
+ "operation": "ReplaceRouteTableAssociation",
1527
+ "params": [
1528
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1529
+ ]
1530
+ },
1531
+ "resource": {
1532
+ "type": "RouteTableAssociation",
1533
+ "identifiers": [
1534
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
1535
+ ]
1536
+ }
1537
+ }
1538
+ },
1539
+ "has": {
1540
+ "RouteTable": {
1541
+ "resource": {
1542
+ "type": "RouteTable",
1543
+ "identifiers": [
1544
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
1545
+ ]
1546
+ }
1547
+ },
1548
+ "Subnet": {
1549
+ "resource": {
1550
+ "type": "Subnet",
1551
+ "identifiers": [
1552
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1553
+ ]
1554
+ }
1555
+ }
1556
+ }
1557
+ },
1558
+ "SecurityGroup": {
1559
+ "identifiers": [
1560
+ {
1561
+ "name": "Id",
1562
+ "memberName": "GroupId"
1563
+ }
1564
+ ],
1565
+ "shape": "SecurityGroup",
1566
+ "load": {
1567
+ "request": {
1568
+ "operation": "DescribeSecurityGroups",
1569
+ "params": [
1570
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
1571
+ ]
1572
+ },
1573
+ "path": "SecurityGroups[0]"
1574
+ },
1575
+ "actions": {
1576
+ "AuthorizeEgress": {
1577
+ "request": {
1578
+ "operation": "AuthorizeSecurityGroupEgress",
1579
+ "params": [
1580
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1581
+ ]
1582
+ }
1583
+ },
1584
+ "AuthorizeIngress": {
1585
+ "request": {
1586
+ "operation": "AuthorizeSecurityGroupIngress",
1587
+ "params": [
1588
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1589
+ ]
1590
+ }
1591
+ },
1592
+ "CreateTags": {
1593
+ "request": {
1594
+ "operation": "CreateTags",
1595
+ "params": [
1596
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1597
+ ]
1598
+ },
1599
+ "resource": {
1600
+ "type": "Tag",
1601
+ "identifiers": [
1602
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1603
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1604
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1605
+ ]
1606
+ }
1607
+ },
1608
+ "Delete": {
1609
+ "request": {
1610
+ "operation": "DeleteSecurityGroup",
1611
+ "params": [
1612
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1613
+ ]
1614
+ }
1615
+ },
1616
+ "RevokeEgress": {
1617
+ "request": {
1618
+ "operation": "RevokeSecurityGroupEgress",
1619
+ "params": [
1620
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1621
+ ]
1622
+ }
1623
+ },
1624
+ "RevokeIngress": {
1625
+ "request": {
1626
+ "operation": "RevokeSecurityGroupIngress",
1627
+ "params": [
1628
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1629
+ ]
1630
+ }
1631
+ }
1632
+ }
1633
+ },
1634
+ "Snapshot": {
1635
+ "identifiers": [
1636
+ {
1637
+ "name": "Id",
1638
+ "memberName": "SnapshotId"
1639
+ }
1640
+ ],
1641
+ "shape": "Snapshot",
1642
+ "load": {
1643
+ "request": {
1644
+ "operation": "DescribeSnapshots",
1645
+ "params": [
1646
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
1647
+ ]
1648
+ },
1649
+ "path": "Snapshots[0]"
1650
+ },
1651
+ "actions": {
1652
+ "Copy": {
1653
+ "request": {
1654
+ "operation": "CopySnapshot",
1655
+ "params": [
1656
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
1657
+ ]
1658
+ }
1659
+ },
1660
+ "CreateTags": {
1661
+ "request": {
1662
+ "operation": "CreateTags",
1663
+ "params": [
1664
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1665
+ ]
1666
+ },
1667
+ "resource": {
1668
+ "type": "Tag",
1669
+ "identifiers": [
1670
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1671
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1672
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1673
+ ]
1674
+ }
1675
+ },
1676
+ "Delete": {
1677
+ "request": {
1678
+ "operation": "DeleteSnapshot",
1679
+ "params": [
1680
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1681
+ ]
1682
+ }
1683
+ },
1684
+ "DescribeAttribute": {
1685
+ "request": {
1686
+ "operation": "DescribeSnapshotAttribute",
1687
+ "params": [
1688
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1689
+ ]
1690
+ }
1691
+ },
1692
+ "ModifyAttribute": {
1693
+ "request": {
1694
+ "operation": "ModifySnapshotAttribute",
1695
+ "params": [
1696
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1697
+ ]
1698
+ }
1699
+ },
1700
+ "ResetAttribute": {
1701
+ "request": {
1702
+ "operation": "ResetSnapshotAttribute",
1703
+ "params": [
1704
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1705
+ ]
1706
+ }
1707
+ }
1708
+ },
1709
+ "waiters": {
1710
+ "Completed": {
1711
+ "waiterName": "SnapshotCompleted",
1712
+ "params": [
1713
+ { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" }
1714
+ ],
1715
+ "path": "Snapshots[]"
1716
+ }
1717
+ },
1718
+ "has": {
1719
+ "Volume": {
1720
+ "resource": {
1721
+ "type": "Volume",
1722
+ "identifiers": [
1723
+ { "target": "Id", "source": "data", "path": "VolumeId" }
1724
+ ]
1725
+ }
1726
+ }
1727
+ }
1728
+ },
1729
+ "Subnet": {
1730
+ "identifiers": [
1731
+ {
1732
+ "name": "Id",
1733
+ "memberName": "SubnetId"
1734
+ }
1735
+ ],
1736
+ "shape": "Subnet",
1737
+ "load": {
1738
+ "request": {
1739
+ "operation": "DescribeSubnets",
1740
+ "params": [
1741
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
1742
+ ]
1743
+ },
1744
+ "path": "Subnets[0]"
1745
+ },
1746
+ "actions": {
1747
+ "CreateInstances": {
1748
+ "request": {
1749
+ "operation": "RunInstances",
1750
+ "params": [
1751
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1752
+ ]
1753
+ },
1754
+ "resource": {
1755
+ "type": "Instance",
1756
+ "identifiers": [
1757
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
1758
+ ],
1759
+ "path": "Instances[]"
1760
+ }
1761
+ },
1762
+ "CreateNetworkInterface": {
1763
+ "request": {
1764
+ "operation": "CreateNetworkInterface",
1765
+ "params": [
1766
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1767
+ ]
1768
+ },
1769
+ "resource": {
1770
+ "type": "NetworkInterface",
1771
+ "identifiers": [
1772
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
1773
+ ],
1774
+ "path": "NetworkInterface"
1775
+ }
1776
+ },
1777
+ "CreateTags": {
1778
+ "request": {
1779
+ "operation": "CreateTags",
1780
+ "params": [
1781
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1782
+ ]
1783
+ },
1784
+ "resource": {
1785
+ "type": "Tag",
1786
+ "identifiers": [
1787
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1788
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1789
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1790
+ ]
1791
+ }
1792
+ },
1793
+ "Delete": {
1794
+ "request": {
1795
+ "operation": "DeleteSubnet",
1796
+ "params": [
1797
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1798
+ ]
1799
+ }
1800
+ }
1801
+ },
1802
+ "has": {
1803
+ "Vpc": {
1804
+ "resource": {
1805
+ "type": "Vpc",
1806
+ "identifiers": [
1807
+ { "target": "Id", "source": "data", "path": "VpcId" }
1808
+ ]
1809
+ }
1810
+ }
1811
+ },
1812
+ "hasMany": {
1813
+ "Instances": {
1814
+ "request": {
1815
+ "operation": "DescribeInstances",
1816
+ "params": [
1817
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1818
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1819
+ ]
1820
+ },
1821
+ "resource": {
1822
+ "type": "Instance",
1823
+ "identifiers": [
1824
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1825
+ ],
1826
+ "path": "Reservations[].Instances[]"
1827
+ }
1828
+ },
1829
+ "NetworkInterfaces": {
1830
+ "request": {
1831
+ "operation": "DescribeNetworkInterfaces",
1832
+ "params": [
1833
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1834
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1835
+ ]
1836
+ },
1837
+ "resource": {
1838
+ "type": "NetworkInterface",
1839
+ "identifiers": [
1840
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
1841
+ ],
1842
+ "path": "NetworkInterfaces[]"
1843
+ }
1844
+ }
1845
+ }
1846
+ },
1847
+ "Tag": {
1848
+ "identifiers": [
1849
+ {
1850
+ "name": "ResourceId",
1851
+ "memberName": "ResourceId"
1852
+ },
1853
+ {
1854
+ "name": "Key",
1855
+ "memberName": "Key"
1856
+ },
1857
+ {
1858
+ "name": "Value",
1859
+ "memberName": "Value"
1860
+ }
1861
+ ],
1862
+ "shape": "TagDescription",
1863
+ "load": {
1864
+ "request": {
1865
+ "operation": "DescribeTags",
1866
+ "params": [
1867
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
1868
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
1869
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
1870
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
1871
+ ]
1872
+ },
1873
+ "path": "Tags[0]"
1874
+ },
1875
+ "actions": {
1876
+ "Delete": {
1877
+ "request": {
1878
+ "operation": "DeleteTags",
1879
+ "params": [
1880
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
1881
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
1882
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
1883
+ ]
1884
+ }
1885
+ }
1886
+ },
1887
+ "batchActions": {
1888
+ "Delete": {
1889
+ "request": {
1890
+ "operation": "DeleteTags",
1891
+ "params": [
1892
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
1893
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
1894
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
1895
+ ]
1896
+ }
1897
+ }
1898
+ }
1899
+ },
1900
+ "Volume": {
1901
+ "identifiers": [
1902
+ {
1903
+ "name": "Id",
1904
+ "memberName": "VolumeId"
1905
+ }
1906
+ ],
1907
+ "shape": "Volume",
1908
+ "load": {
1909
+ "request": {
1910
+ "operation": "DescribeVolumes",
1911
+ "params": [
1912
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1913
+ ]
1914
+ },
1915
+ "path": "Volumes[0]"
1916
+ },
1917
+ "actions": {
1918
+ "AttachToInstance": {
1919
+ "request": {
1920
+ "operation": "AttachVolume",
1921
+ "params": [
1922
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1923
+ ]
1924
+ }
1925
+ },
1926
+ "CreateSnapshot": {
1927
+ "request": {
1928
+ "operation": "CreateSnapshot",
1929
+ "params": [
1930
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1931
+ ]
1932
+ },
1933
+ "resource": {
1934
+ "type": "Snapshot",
1935
+ "identifiers": [
1936
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
1937
+ ],
1938
+ "path": "@"
1939
+ }
1940
+ },
1941
+ "CreateTags": {
1942
+ "request": {
1943
+ "operation": "CreateTags",
1944
+ "params": [
1945
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1946
+ ]
1947
+ },
1948
+ "resource": {
1949
+ "type": "Tag",
1950
+ "identifiers": [
1951
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1952
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1953
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1954
+ ]
1955
+ }
1956
+ },
1957
+ "Delete": {
1958
+ "request": {
1959
+ "operation": "DeleteVolume",
1960
+ "params": [
1961
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1962
+ ]
1963
+ }
1964
+ },
1965
+ "DescribeAttribute": {
1966
+ "request": {
1967
+ "operation": "DescribeVolumeAttribute",
1968
+ "params": [
1969
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1970
+ ]
1971
+ }
1972
+ },
1973
+ "DescribeStatus": {
1974
+ "request": {
1975
+ "operation": "DescribeVolumeStatus",
1976
+ "params": [
1977
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1978
+ ]
1979
+ }
1980
+ },
1981
+ "DetachFromInstance": {
1982
+ "request": {
1983
+ "operation": "DetachVolume",
1984
+ "params": [
1985
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1986
+ ]
1987
+ }
1988
+ },
1989
+ "EnableIo": {
1990
+ "request": {
1991
+ "operation": "EnableVolumeIO",
1992
+ "params": [
1993
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1994
+ ]
1995
+ }
1996
+ },
1997
+ "ModifyAttribute": {
1998
+ "request": {
1999
+ "operation": "ModifyVolumeAttribute",
2000
+ "params": [
2001
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
2002
+ ]
2003
+ }
2004
+ }
2005
+ },
2006
+ "hasMany": {
2007
+ "Snapshots": {
2008
+ "request": {
2009
+ "operation": "DescribeSnapshots",
2010
+ "params": [
2011
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
2012
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2013
+ ]
2014
+ },
2015
+ "resource": {
2016
+ "type": "Snapshot",
2017
+ "identifiers": [
2018
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
2019
+ ],
2020
+ "path": "Snapshots[]"
2021
+ }
2022
+ }
2023
+ }
2024
+ },
2025
+ "Vpc": {
2026
+ "identifiers": [
2027
+ {
2028
+ "name": "Id",
2029
+ "memberName": "VpcId"
2030
+ }
2031
+ ],
2032
+ "shape": "Vpc",
2033
+ "load": {
2034
+ "request": {
2035
+ "operation": "DescribeVpcs",
2036
+ "params": [
2037
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
2038
+ ]
2039
+ },
2040
+ "path": "Vpcs[0]"
2041
+ },
2042
+ "actions": {
2043
+ "AssociateDhcpOptions": {
2044
+ "request": {
2045
+ "operation": "AssociateDhcpOptions",
2046
+ "params": [
2047
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2048
+ ]
2049
+ }
2050
+ },
2051
+ "AttachClassicLinkInstance": {
2052
+ "request": {
2053
+ "operation": "AttachClassicLinkVpc",
2054
+ "params": [
2055
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2056
+ ]
2057
+ }
2058
+ },
2059
+ "AttachInternetGateway": {
2060
+ "request": {
2061
+ "operation": "AttachInternetGateway",
2062
+ "params": [
2063
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2064
+ ]
2065
+ }
2066
+ },
2067
+ "CreateNetworkAcl": {
2068
+ "request": {
2069
+ "operation": "CreateNetworkAcl",
2070
+ "params": [
2071
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2072
+ ]
2073
+ },
2074
+ "resource": {
2075
+ "type": "NetworkAcl",
2076
+ "identifiers": [
2077
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
2078
+ ],
2079
+ "path": "NetworkAcl"
2080
+ }
2081
+ },
2082
+ "CreateRouteTable": {
2083
+ "request": {
2084
+ "operation": "CreateRouteTable",
2085
+ "params": [
2086
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2087
+ ]
2088
+ },
2089
+ "resource": {
2090
+ "type": "RouteTable",
2091
+ "identifiers": [
2092
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
2093
+ ],
2094
+ "path": "RouteTable"
2095
+ }
2096
+ },
2097
+ "CreateSecurityGroup": {
2098
+ "request": {
2099
+ "operation": "CreateSecurityGroup",
2100
+ "params": [
2101
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2102
+ ]
2103
+ },
2104
+ "resource": {
2105
+ "type": "SecurityGroup",
2106
+ "identifiers": [
2107
+ { "target": "Id", "source": "response", "path": "GroupId" }
2108
+ ]
2109
+ }
2110
+ },
2111
+ "CreateSubnet": {
2112
+ "request": {
2113
+ "operation": "CreateSubnet",
2114
+ "params": [
2115
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2116
+ ]
2117
+ },
2118
+ "resource": {
2119
+ "type": "Subnet",
2120
+ "identifiers": [
2121
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
2122
+ ],
2123
+ "path": "Subnet"
2124
+ }
2125
+ },
2126
+ "CreateTags": {
2127
+ "request": {
2128
+ "operation": "CreateTags",
2129
+ "params": [
2130
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
2131
+ ]
2132
+ },
2133
+ "resource": {
2134
+ "type": "Tag",
2135
+ "identifiers": [
2136
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
2137
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
2138
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
2139
+ ]
2140
+ }
2141
+ },
2142
+ "Delete": {
2143
+ "request": {
2144
+ "operation": "DeleteVpc",
2145
+ "params": [
2146
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2147
+ ]
2148
+ }
2149
+ },
2150
+ "DescribeAttribute": {
2151
+ "request": {
2152
+ "operation": "DescribeVpcAttribute",
2153
+ "params": [
2154
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2155
+ ]
2156
+ }
2157
+ },
2158
+ "DetachClassicLinkInstance": {
2159
+ "request": {
2160
+ "operation": "DetachClassicLinkVpc",
2161
+ "params": [
2162
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2163
+ ]
2164
+ }
2165
+ },
2166
+ "DetachInternetGateway": {
2167
+ "request": {
2168
+ "operation": "DetachInternetGateway",
2169
+ "params": [
2170
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2171
+ ]
2172
+ }
2173
+ },
2174
+ "DisableClassicLink": {
2175
+ "request": {
2176
+ "operation": "DisableVpcClassicLink",
2177
+ "params": [
2178
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2179
+ ]
2180
+ }
2181
+ },
2182
+ "EnableClassicLink": {
2183
+ "request": {
2184
+ "operation": "EnableVpcClassicLink",
2185
+ "params": [
2186
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2187
+ ]
2188
+ }
2189
+ },
2190
+ "ModifyAttribute": {
2191
+ "request": {
2192
+ "operation": "ModifyVpcAttribute",
2193
+ "params": [
2194
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2195
+ ]
2196
+ }
2197
+ },
2198
+ "RequestVpcPeeringConnection": {
2199
+ "request": {
2200
+ "operation": "CreateVpcPeeringConnection",
2201
+ "params": [
2202
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
2203
+ ]
2204
+ },
2205
+ "resource": {
2206
+ "type": "VpcPeeringConnection",
2207
+ "identifiers": [
2208
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
2209
+ ],
2210
+ "path": "VpcPeeringConnection"
2211
+ }
2212
+ }
2213
+ },
2214
+ "has": {
2215
+ "DhcpOptions": {
2216
+ "resource": {
2217
+ "type": "DhcpOptions",
2218
+ "identifiers": [
2219
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
2220
+ ]
2221
+ }
2222
+ }
2223
+ },
2224
+ "hasMany": {
2225
+ "AcceptedVpcPeeringConnections": {
2226
+ "request": {
2227
+ "operation": "DescribeVpcPeeringConnections",
2228
+ "params": [
2229
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
2230
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2231
+ ]
2232
+ },
2233
+ "resource": {
2234
+ "type": "VpcPeeringConnection",
2235
+ "identifiers": [
2236
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2237
+ ],
2238
+ "path": "VpcPeeringConnections[]"
2239
+ }
2240
+ },
2241
+ "Instances": {
2242
+ "request": {
2243
+ "operation": "DescribeInstances",
2244
+ "params": [
2245
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2246
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2247
+ ]
2248
+ },
2249
+ "resource": {
2250
+ "type": "Instance",
2251
+ "identifiers": [
2252
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
2253
+ ],
2254
+ "path": "Reservations[].Instances[]"
2255
+ }
2256
+ },
2257
+ "InternetGateways": {
2258
+ "request": {
2259
+ "operation": "DescribeInternetGateways",
2260
+ "params": [
2261
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
2262
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2263
+ ]
2264
+ },
2265
+ "resource": {
2266
+ "type": "InternetGateway",
2267
+ "identifiers": [
2268
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
2269
+ ],
2270
+ "path": "InternetGateways[]"
2271
+ }
2272
+ },
2273
+ "NetworkAcls": {
2274
+ "request": {
2275
+ "operation": "DescribeNetworkAcls",
2276
+ "params": [
2277
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2278
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2279
+ ]
2280
+ },
2281
+ "resource": {
2282
+ "type": "NetworkAcl",
2283
+ "identifiers": [
2284
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
2285
+ ],
2286
+ "path": "NetworkAcls[]"
2287
+ }
2288
+ },
2289
+ "NetworkInterfaces": {
2290
+ "request": {
2291
+ "operation": "DescribeNetworkInterfaces",
2292
+ "params": [
2293
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2294
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2295
+ ]
2296
+ },
2297
+ "resource": {
2298
+ "type": "NetworkInterface",
2299
+ "identifiers": [
2300
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
2301
+ ],
2302
+ "path": "NetworkInterfaces[]"
2303
+ }
2304
+ },
2305
+ "RequestedVpcPeeringConnections": {
2306
+ "request": {
2307
+ "operation": "DescribeVpcPeeringConnections",
2308
+ "params": [
2309
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
2310
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2311
+ ]
2312
+ },
2313
+ "resource": {
2314
+ "type": "VpcPeeringConnection",
2315
+ "identifiers": [
2316
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2317
+ ],
2318
+ "path": "VpcPeeringConnections[]"
2319
+ }
2320
+ },
2321
+ "RouteTables": {
2322
+ "request": {
2323
+ "operation": "DescribeRouteTables",
2324
+ "params": [
2325
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2326
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2327
+ ]
2328
+ },
2329
+ "resource": {
2330
+ "type": "RouteTable",
2331
+ "identifiers": [
2332
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
2333
+ ],
2334
+ "path": "RouteTables[]"
2335
+ }
2336
+ },
2337
+ "SecurityGroups": {
2338
+ "request": {
2339
+ "operation": "DescribeSecurityGroups",
2340
+ "params": [
2341
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2342
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2343
+ ]
2344
+ },
2345
+ "resource": {
2346
+ "type": "SecurityGroup",
2347
+ "identifiers": [
2348
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
2349
+ ],
2350
+ "path": "SecurityGroups[]"
2351
+ }
2352
+ },
2353
+ "Subnets": {
2354
+ "request": {
2355
+ "operation": "DescribeSubnets",
2356
+ "params": [
2357
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2358
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
2359
+ ]
2360
+ },
2361
+ "resource": {
2362
+ "type": "Subnet",
2363
+ "identifiers": [
2364
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
2365
+ ],
2366
+ "path": "Subnets[]"
2367
+ }
2368
+ }
2369
+ }
2370
+ },
2371
+ "VpcPeeringConnection": {
2372
+ "identifiers": [
2373
+ {
2374
+ "name": "Id",
2375
+ "memberName": "VpcPeeringConnectionId"
2376
+ }
2377
+ ],
2378
+ "shape": "VpcPeeringConnection",
2379
+ "load": {
2380
+ "request": {
2381
+ "operation": "DescribeVpcPeeringConnections",
2382
+ "params": [
2383
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
2384
+ ]
2385
+ },
2386
+ "path": "VpcPeeringConnections[0]"
2387
+ },
2388
+ "actions": {
2389
+ "Accept": {
2390
+ "request": {
2391
+ "operation": "AcceptVpcPeeringConnection",
2392
+ "params": [
2393
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2394
+ ]
2395
+ }
2396
+ },
2397
+ "Delete": {
2398
+ "request": {
2399
+ "operation": "DeleteVpcPeeringConnection",
2400
+ "params": [
2401
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2402
+ ]
2403
+ }
2404
+ },
2405
+ "Reject": {
2406
+ "request": {
2407
+ "operation": "RejectVpcPeeringConnection",
2408
+ "params": [
2409
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2410
+ ]
2411
+ }
2412
+ }
2413
+ },
2414
+ "has": {
2415
+ "AccepterVpc": {
2416
+ "resource": {
2417
+ "type": "Vpc",
2418
+ "identifiers": [
2419
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
2420
+ ]
2421
+ }
2422
+ },
2423
+ "RequesterVpc": {
2424
+ "resource": {
2425
+ "type": "Vpc",
2426
+ "identifiers": [
2427
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
2428
+ ]
2429
+ }
2430
+ }
2431
+ }
2432
+ },
2433
+ "VpcAddress": {
2434
+ "identifiers": [
2435
+ {
2436
+ "name": "AllocationId"
2437
+ }
2438
+ ],
2439
+ "shape": "Address",
2440
+ "load": {
2441
+ "request": {
2442
+ "operation": "DescribeAddresses",
2443
+ "params": [
2444
+ { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" }
2445
+ ]
2446
+ },
2447
+ "path": "Addresses[0]"
2448
+ },
2449
+ "actions": {
2450
+ "Associate": {
2451
+ "request": {
2452
+ "operation": "AssociateAddress",
2453
+ "params": [
2454
+ { "target": "AllocationId", "source": "identifier", "name": "AllocationId" }
2455
+ ]
2456
+ }
2457
+ },
2458
+ "Release": {
2459
+ "request": {
2460
+ "operation": "ReleaseAddress",
2461
+ "params": [
2462
+ { "target": "AllocationId", "source": "data", "path": "AllocationId" }
2463
+ ]
2464
+ }
2465
+ }
2466
+ },
2467
+ "has": {
2468
+ "Association": {
2469
+ "resource": {
2470
+ "type": "NetworkInterfaceAssociation",
2471
+ "identifiers": [
2472
+ { "target": "Id", "source": "data", "path": "AssociationId" }
2473
+ ]
2474
+ }
2475
+ }
2476
+ }
2477
+ }
2478
+ }
2479
+ }