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,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
+ }