aws-sdk-core 2.0.18 → 2.0.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/apis/CloudFormation.resources.json +55 -20
  3. data/apis/CloudFront.waiters.json +35 -17
  4. data/apis/DynamoDB.waiters.json +27 -17
  5. data/apis/EC2.api.json +5 -0
  6. data/apis/EC2.resources.json +449 -319
  7. data/apis/EC2.waiters.json +389 -139
  8. data/apis/{EMR.waiters2.json → EMR.waiters.json} +0 -0
  9. data/apis/ElasticTranscoder.api.json +34 -3
  10. data/apis/ElasticTranscoder.waiters.json +22 -8
  11. data/apis/Glacier.resources.json +215 -117
  12. data/apis/Glacier.waiters.json +31 -15
  13. data/apis/IAM.resources.json +380 -169
  14. data/apis/{Kinesis.waiters2.json → Kinesis.waiters.json} +0 -0
  15. data/apis/OpsWorks.resources.json +51 -17
  16. data/apis/RDS.waiters.json +87 -26
  17. data/apis/Redshift.waiters.json +54 -29
  18. data/apis/S3.resources.json +404 -143
  19. data/apis/S3.waiters.json +47 -16
  20. data/apis/SES.waiters.json +11 -7
  21. data/apis/SNS.resources.json +67 -33
  22. data/apis/SQS.resources.json +57 -30
  23. data/lib/aws-sdk-core.rb +1 -0
  24. data/lib/aws-sdk-core/api/documenter.rb +4 -3
  25. data/lib/aws-sdk-core/api/service_customizations.rb +0 -6
  26. data/lib/aws-sdk-core/client_waiters.rb +65 -50
  27. data/lib/aws-sdk-core/emr.rb +1 -0
  28. data/lib/aws-sdk-core/errors.rb +4 -0
  29. data/lib/aws-sdk-core/instance_profile_credentials.rb +1 -0
  30. data/lib/aws-sdk-core/kinesis.rb +1 -0
  31. data/lib/aws-sdk-core/paging/pager.rb +5 -1
  32. data/lib/aws-sdk-core/refreshing_credentials.rb +2 -0
  33. data/lib/aws-sdk-core/version.rb +1 -1
  34. data/lib/aws-sdk-core/waiters/errors.rb +50 -12
  35. data/lib/aws-sdk-core/waiters/poller.rb +105 -0
  36. data/lib/aws-sdk-core/waiters/provider.rb +11 -30
  37. data/lib/aws-sdk-core/waiters/waiter.rb +42 -102
  38. metadata +5 -12
  39. data/apis/CloudFront.waiters2.json +0 -47
  40. data/apis/DynamoDB.waiters2.json +0 -35
  41. data/apis/EC2.waiters2.json +0 -341
  42. data/apis/ElasticTranscoder.waiters2.json +0 -30
  43. data/apis/RDS.waiters2.json +0 -97
  44. data/apis/Redshift.waiters2.json +0 -97
  45. data/apis/S3.waiters2.json +0 -63
  46. data/apis/SES.waiters2.json +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cf3d012e88cd12ef67f947483ff1f4c5d175db37
4
- data.tar.gz: 863c67d51f9346c1a2d2669f238bdf98bc3c4792
3
+ metadata.gz: 405f0a907c7891650c8632cfa020426b2acb2545
4
+ data.tar.gz: 384210d5e161939188138934683769f1cfad62dd
5
5
  SHA512:
6
- metadata.gz: ef14138b677b18bc34b9f1c976c82b09c549bb3a2d3d945dda08cd28eeda6c49f1ccf5c37b0f92b8a6e0e74d1b8ddff4563f9f3fd8c2a94c2c6c17c5d83086d6
7
- data.tar.gz: abdeb91aa9af644e61811e44eebd57cc0ff9d6041dc85fbc0c675a10e094baa90adea1efc2396be015962a2e2fe6fb5258e967489490ca24fb069e85f3803926
6
+ metadata.gz: fc961bdba1577e8df5611e89a3df673aba5c580f45c818c3ddcc5086be3e402161e967b043f4893c09451f401731bc561f994d2d0d9521b481f24c991ba0eebf
7
+ data.tar.gz: 85058981bcc95181d5fb50fdd3f234d98796bac1e9696356448cf620fa51a0551285a980cccb57a9de2a7785da61d5b356b5a5a5003e2e913f75b8800d3dceec
@@ -6,7 +6,25 @@
6
6
  "resource": {
7
7
  "type": "Stack",
8
8
  "identifiers": [
9
- { "target": "Name", "sourceType": "requestParameter", "source": "StackName" }
9
+ { "target": "Name", "source": "requestParameter", "path": "StackName" }
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ "has": {
15
+ "Event": {
16
+ "resource": {
17
+ "type": "Event",
18
+ "identifiers": [
19
+ { "target": "Id", "source": "input" }
20
+ ]
21
+ }
22
+ },
23
+ "Stack": {
24
+ "resource": {
25
+ "type": "Stack",
26
+ "identifiers": [
27
+ { "target": "Name", "source": "input" }
10
28
  ]
11
29
  }
12
30
  }
@@ -17,7 +35,7 @@
17
35
  "resource": {
18
36
  "type": "Stack",
19
37
  "identifiers": [
20
- { "target": "Name", "sourceType": "responsePath", "source": "Stacks[].StackName" }
38
+ { "target": "Name", "source": "response", "path": "Stacks[].StackName" }
21
39
  ]
22
40
  }
23
41
  }
@@ -39,7 +57,7 @@
39
57
  "request": {
40
58
  "operation": "DescribeStacks",
41
59
  "params": [
42
- { "target": "StackName", "sourceType": "identifier", "source": "Name" }
60
+ { "target": "StackName", "source": "identifier", "name": "Name" }
43
61
  ]
44
62
  },
45
63
  "path": "Stacks[0]"
@@ -49,7 +67,7 @@
49
67
  "request": {
50
68
  "operation": "CancelUpdateStack",
51
69
  "params": [
52
- { "target": "StackName", "sourceType": "identifier", "source": "Name" }
70
+ { "target": "StackName", "source": "identifier", "name": "Name" }
53
71
  ]
54
72
  }
55
73
  },
@@ -57,7 +75,7 @@
57
75
  "request": {
58
76
  "operation": "DeleteStack",
59
77
  "params": [
60
- { "target": "StackName", "sourceType": "identifier", "source": "Name" }
78
+ { "target": "StackName", "source": "identifier", "name": "Name" }
61
79
  ]
62
80
  }
63
81
  },
@@ -65,7 +83,18 @@
65
83
  "request": {
66
84
  "operation": "UpdateStack",
67
85
  "params": [
68
- { "target": "StackName", "sourceType": "identifier", "source": "Name" }
86
+ { "target": "StackName", "source": "identifier", "name": "Name" }
87
+ ]
88
+ }
89
+ }
90
+ },
91
+ "has": {
92
+ "Resource": {
93
+ "resource": {
94
+ "type": "StackResource",
95
+ "identifiers": [
96
+ { "target": "StackName", "source": "identifier", "name": "Name" },
97
+ { "target": "StackName", "source": "input" }
69
98
  ]
70
99
  }
71
100
  }
@@ -75,13 +104,13 @@
75
104
  "request": {
76
105
  "operation": "DescribeStackEvents",
77
106
  "params": [
78
- { "target": "StackName", "sourceType": "identifier", "source": "Name" }
107
+ { "target": "StackName", "source": "identifier", "name": "Name" }
79
108
  ]
80
109
  },
81
110
  "resource": {
82
111
  "type": "Event",
83
112
  "identifiers": [
84
- { "target": "Id", "sourceType": "responsePath", "source": "StackEvents[].EventId" }
113
+ { "target": "Id", "source": "response", "path": "StackEvents[].EventId" }
85
114
  ],
86
115
  "path": "StackEvents[]"
87
116
  }
@@ -90,22 +119,18 @@
90
119
  "request": {
91
120
  "operation": "ListStackResources",
92
121
  "params": [
93
- { "target": "StackName", "sourceType": "identifier", "source": "Name" }
122
+ { "target": "StackName", "source": "identifier", "name": "Name" }
94
123
  ]
95
124
  },
96
125
  "resource": {
97
126
  "type": "StackResourceSummary",
98
127
  "identifiers": [
99
- { "target": "LogicalId", "sourceType": "responsePath", "source": "StackResourceSummaries[].LogicalResourceId" },
100
- { "target": "StackName", "sourceType": "requestParameter", "source": "StackName" }
128
+ { "target": "LogicalId", "source": "response", "path": "StackResourceSummaries[].LogicalResourceId" },
129
+ { "target": "StackName", "source": "requestParameter", "path": "StackName" }
101
130
  ],
102
131
  "path": "StackResourceSummaries[]"
103
132
  }
104
133
  }
105
- },
106
- "subResources": {
107
- "resources": [ "StackResource" ],
108
- "identifiers": { "Name": "StackName" }
109
134
  }
110
135
  },
111
136
  "StackResource": {
@@ -118,11 +143,21 @@
118
143
  "request": {
119
144
  "operation": "DescribeStackResource",
120
145
  "params": [
121
- { "target": "LogicalResourceId", "sourceType": "identifier", "source": "LogicalId" },
122
- { "target": "StackName", "sourceType": "identifier", "source": "StackName" }
146
+ { "target": "LogicalResourceId", "source": "identifier", "name": "LogicalId" },
147
+ { "target": "StackName", "source": "identifier", "name": "StackName" }
123
148
  ]
124
149
  },
125
150
  "path": "StackResourceDetail"
151
+ },
152
+ "has": {
153
+ "Stack": {
154
+ "resource": {
155
+ "type": "Stack",
156
+ "identifiers": [
157
+ { "target": "Name", "source": "identifier", "name": "StackName" }
158
+ ]
159
+ }
160
+ }
126
161
  }
127
162
  },
128
163
  "StackResourceSummary": {
@@ -131,13 +166,13 @@
131
166
  { "name": "StackName" }
132
167
  ],
133
168
  "shape": "StackResourceSummary",
134
- "belongsTo": {
169
+ "has": {
135
170
  "Resource": {
136
171
  "resource": {
137
172
  "type": "StackResource",
138
173
  "identifiers": [
139
- { "target": "LogicalId", "sourceType": "identifier", "source": "LogicalId" },
140
- { "target": "StackName", "sourceType": "identifier", "source": "StackName" }
174
+ { "target": "LogicalId", "source": "identifier", "name": "LogicalId" },
175
+ { "target": "StackName", "source": "identifier", "name": "StackName" }
141
176
  ]
142
177
  }
143
178
  }
@@ -1,29 +1,47 @@
1
1
  {
2
+ "version": 2,
2
3
  "waiters": {
3
- "__default__": {
4
- "success_type": "output",
5
- "success_path": "Status"
6
- },
7
- "StreamingDistributionDeployed": {
8
- "operation": "GetStreamingDistribution",
9
- "description": "Wait until a streaming distribution is deployed.",
10
- "interval": 60,
11
- "max_attempts": 25,
12
- "success_value": "Deployed"
13
- },
14
4
  "DistributionDeployed": {
5
+ "delay": 60,
15
6
  "operation": "GetDistribution",
7
+ "maxAttempts": 25,
16
8
  "description": "Wait until a distribution is deployed.",
17
- "interval": 60,
18
- "max_attempts": 25,
19
- "success_value": "Deployed"
9
+ "acceptors": [
10
+ {
11
+ "expected": "Deployed",
12
+ "matcher": "path",
13
+ "state": "success",
14
+ "argument": "Status"
15
+ }
16
+ ]
20
17
  },
21
18
  "InvalidationCompleted": {
19
+ "delay": 20,
22
20
  "operation": "GetInvalidation",
21
+ "maxAttempts": 30,
23
22
  "description": "Wait until an invalidation has completed.",
24
- "interval": 20,
25
- "max_attempts": 30,
26
- "success_value": "Completed"
23
+ "acceptors": [
24
+ {
25
+ "expected": "Completed",
26
+ "matcher": "path",
27
+ "state": "success",
28
+ "argument": "Status"
29
+ }
30
+ ]
31
+ },
32
+ "StreamingDistributionDeployed": {
33
+ "delay": 60,
34
+ "operation": "GetStreamingDistribution",
35
+ "maxAttempts": 25,
36
+ "description": "Wait until a streaming distribution is deployed.",
37
+ "acceptors": [
38
+ {
39
+ "expected": "Deployed",
40
+ "matcher": "path",
41
+ "state": "success",
42
+ "argument": "Status"
43
+ }
44
+ ]
27
45
  }
28
46
  }
29
47
  }
@@ -1,25 +1,35 @@
1
1
  {
2
+ "version": 2,
2
3
  "waiters": {
3
- "__default__": {
4
- "interval": 20,
5
- "max_attempts": 25
6
- },
7
- "__TableState": {
8
- "operation": "DescribeTable"
9
- },
10
4
  "TableExists": {
11
- "extends": "__TableState",
12
- "ignore_errors": [
13
- "ResourceNotFoundException"
14
- ],
15
- "success_type": "output",
16
- "success_path": "Table.TableStatus",
17
- "success_value": "ACTIVE"
5
+ "delay": 20,
6
+ "operation": "DescribeTable",
7
+ "maxAttempts": 25,
8
+ "acceptors": [
9
+ {
10
+ "expected": "ACTIVE",
11
+ "matcher": "path",
12
+ "state": "success",
13
+ "argument": "Table.TableStatus"
14
+ },
15
+ {
16
+ "expected": "ResourceNotFoundException",
17
+ "matcher": "error",
18
+ "state": "retry"
19
+ }
20
+ ]
18
21
  },
19
22
  "TableNotExists": {
20
- "extends": "__TableState",
21
- "success_type": "error",
22
- "success_value": "ResourceNotFoundException"
23
+ "delay": 20,
24
+ "operation": "DescribeTable",
25
+ "maxAttempts": 25,
26
+ "acceptors": [
27
+ {
28
+ "expected": "ResourceNotFoundException",
29
+ "matcher": "error",
30
+ "state": "success"
31
+ }
32
+ ]
23
33
  }
24
34
  }
25
35
  }
@@ -6490,6 +6490,11 @@
6490
6490
  "c3.2xlarge",
6491
6491
  "c3.4xlarge",
6492
6492
  "c3.8xlarge",
6493
+ "c4.large",
6494
+ "c4.xlarge",
6495
+ "c4.2xlarge",
6496
+ "c4.4xlarge",
6497
+ "c4.8xlarge",
6493
6498
  "cc1.4xlarge",
6494
6499
  "cc2.8xlarge",
6495
6500
  "g2.2xlarge",
@@ -6,7 +6,7 @@
6
6
  "resource": {
7
7
  "type": "DhcpOptions",
8
8
  "identifiers": [
9
- { "target": "Id", "sourceType": "responsePath", "source": "DhcpOptions.DhcpOptionsId" }
9
+ { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" }
10
10
  ],
11
11
  "path": "DhcpOptions"
12
12
  }
@@ -16,7 +16,7 @@
16
16
  "resource": {
17
17
  "type": "Instance",
18
18
  "identifiers": [
19
- { "target": "Id", "sourceType": "responsePath", "source": "Instances[].InstanceId" }
19
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
20
20
  ],
21
21
  "path": "Instances[]"
22
22
  }
@@ -26,7 +26,7 @@
26
26
  "resource": {
27
27
  "type": "InternetGateway",
28
28
  "identifiers": [
29
- { "target": "Id", "sourceType": "responsePath", "source": "InternetGateway.InternetGatewayId" }
29
+ { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" }
30
30
  ],
31
31
  "path": "InternetGateway"
32
32
  }
@@ -36,7 +36,7 @@
36
36
  "resource": {
37
37
  "type": "KeyPair",
38
38
  "identifiers": [
39
- { "target": "Name", "sourceType": "responsePath", "source": "KeyName" }
39
+ { "target": "Name", "source": "response", "path": "KeyName" }
40
40
  ]
41
41
  }
42
42
  },
@@ -45,7 +45,7 @@
45
45
  "resource": {
46
46
  "type": "NetworkAcl",
47
47
  "identifiers": [
48
- { "target": "Id", "sourceType": "responsePath", "source": "NetworkAcl.NetworkAclId" }
48
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
49
49
  ],
50
50
  "path": "NetworkAcl"
51
51
  }
@@ -55,7 +55,7 @@
55
55
  "resource": {
56
56
  "type": "NetworkInterface",
57
57
  "identifiers": [
58
- { "target": "Id", "sourceType": "responsePath", "source": "NetworkInterface.NetworkInterfaceId" }
58
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
59
59
  ],
60
60
  "path": "NetworkInterface"
61
61
  }
@@ -65,7 +65,7 @@
65
65
  "resource": {
66
66
  "type": "PlacementGroup",
67
67
  "identifiers": [
68
- { "target": "Id", "sourceType": "requestParameter", "source": "GroupName" }
68
+ { "target": "Id", "source": "requestParameter", "path": "GroupName" }
69
69
  ]
70
70
  }
71
71
  },
@@ -74,7 +74,7 @@
74
74
  "resource": {
75
75
  "type": "RouteTable",
76
76
  "identifiers": [
77
- { "target": "Id", "sourceType": "responsePath", "source": "RouteTable.RouteTableId" }
77
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
78
78
  ],
79
79
  "path": "RouteTable"
80
80
  }
@@ -84,7 +84,7 @@
84
84
  "resource": {
85
85
  "type": "SecurityGroup",
86
86
  "identifiers": [
87
- { "target": "Id", "sourceType": "responsePath", "source": "GroupId" }
87
+ { "target": "Id", "source": "response", "path": "GroupId" }
88
88
  ]
89
89
  }
90
90
  },
@@ -93,7 +93,7 @@
93
93
  "resource": {
94
94
  "type": "Snapshot",
95
95
  "identifiers": [
96
- { "target": "Id", "sourceType": "responsePath", "source": "SnapshotId" }
96
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
97
97
  ],
98
98
  "path": "@"
99
99
  }
@@ -103,7 +103,7 @@
103
103
  "resource": {
104
104
  "type": "Subnet",
105
105
  "identifiers": [
106
- { "target": "Id", "sourceType": "responsePath", "source": "Subnet.SubnetId" }
106
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
107
107
  ],
108
108
  "path": "Subnet"
109
109
  }
@@ -113,9 +113,9 @@
113
113
  "resource": {
114
114
  "type": "Tag",
115
115
  "identifiers": [
116
- { "target": "ResourceId", "sourceType": "requestParameter", "source": "Resources[]" },
117
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
118
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
116
+ { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" },
117
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
118
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
119
119
  ]
120
120
  }
121
121
  },
@@ -124,7 +124,7 @@
124
124
  "resource": {
125
125
  "type": "Image",
126
126
  "identifiers": [
127
- { "target": "Id", "sourceType": "responsePath", "source": "VolumeId" }
127
+ { "target": "Id", "source": "response", "path": "VolumeId" }
128
128
  ],
129
129
  "path": "@"
130
130
  }
@@ -134,7 +134,7 @@
134
134
  "resource": {
135
135
  "type": "Vpc",
136
136
  "identifiers": [
137
- { "target": "Id", "sourceType": "responsePath", "source": "Vpc.VpcId" }
137
+ { "target": "Id", "source": "response", "path": "Vpc.VpcId" }
138
138
  ],
139
139
  "path": "Vpc"
140
140
  }
@@ -144,7 +144,7 @@
144
144
  "resource": {
145
145
  "type": "VpcPeeringConnection",
146
146
  "identifiers": [
147
- { "target": "Id", "sourceType": "responsePath", "source": "VpcPeeringConnection.VpcPeeringConnectionId" }
147
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
148
148
  ],
149
149
  "path": "VpcPeeringConnection"
150
150
  }
@@ -157,7 +157,7 @@
157
157
  "resource": {
158
158
  "type": "KeyPair",
159
159
  "identifiers": [
160
- { "target": "Name", "sourceType": "responsePath", "source": "KeyName" }
160
+ { "target": "Name", "source": "response", "path": "KeyName" }
161
161
  ]
162
162
  }
163
163
  },
@@ -166,7 +166,137 @@
166
166
  "resource": {
167
167
  "type": "Image",
168
168
  "identifiers": [
169
- { "target": "Id", "sourceType": "responsePath", "source": "ImageId" }
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" }
170
300
  ]
171
301
  }
172
302
  }
@@ -177,7 +307,7 @@
177
307
  "resource": {
178
308
  "type": "DhcpOptions",
179
309
  "identifiers": [
180
- { "target": "Id", "sourceType": "responsePath", "source": "DhcpOptions[].DhcpOptionsId" }
310
+ { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" }
181
311
  ],
182
312
  "path": "DhcpOptions[]"
183
313
  }
@@ -187,7 +317,7 @@
187
317
  "resource": {
188
318
  "type": "Image",
189
319
  "identifiers": [
190
- { "target": "Id", "sourceType": "responsePath", "source": "Images[].ImageId" }
320
+ { "target": "Id", "source": "response", "path": "Images[].ImageId" }
191
321
  ],
192
322
  "path": "Images[]"
193
323
  }
@@ -197,7 +327,7 @@
197
327
  "resource": {
198
328
  "type": "Instance",
199
329
  "identifiers": [
200
- { "target": "Id", "sourceType": "responsePath", "source": "Reservations[].Instances[].InstanceId" }
330
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
201
331
  ],
202
332
  "path": "Reservations[].Instances[]"
203
333
  }
@@ -207,7 +337,7 @@
207
337
  "resource": {
208
338
  "type": "InternetGateway",
209
339
  "identifiers": [
210
- { "target": "Id", "sourceType": "responsePath", "source": "InternetGateways[].InternetGatewayId" }
340
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
211
341
  ],
212
342
  "path": "InternetGateways[]"
213
343
  }
@@ -217,7 +347,7 @@
217
347
  "resource": {
218
348
  "type": "KeyPair",
219
349
  "identifiers": [
220
- { "target": "Name", "sourceType": "responsePath", "source": "KeyPairs[].KeyName" }
350
+ { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" }
221
351
  ],
222
352
  "path": "KeyPairs[]"
223
353
  }
@@ -227,7 +357,7 @@
227
357
  "resource": {
228
358
  "type": "NetworkAcl",
229
359
  "identifiers": [
230
- { "target": "Id", "sourceType": "responsePath", "source": "NetworkAcls[].NetworkAclId" }
360
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
231
361
  ],
232
362
  "path": "NetworkAcls[]"
233
363
  }
@@ -237,7 +367,7 @@
237
367
  "resource": {
238
368
  "type": "NetworkInterface",
239
369
  "identifiers": [
240
- { "target": "Id", "sourceType": "responsePath", "source": "NetworkInterfaces[].NetworkInterfaceId" }
370
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
241
371
  ],
242
372
  "path": "NetworkInterfaces[]"
243
373
  }
@@ -247,7 +377,7 @@
247
377
  "resource": {
248
378
  "type": "PlacementGroup",
249
379
  "identifiers": [
250
- { "target": "Name", "sourceType": "responsePath", "source": "PlacementGroups[].GroupName" }
380
+ { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" }
251
381
  ],
252
382
  "path": "PlacementGroups[]"
253
383
  }
@@ -257,7 +387,7 @@
257
387
  "resource": {
258
388
  "type": "RouteTable",
259
389
  "identifiers": [
260
- { "target": "Id", "sourceType": "responsePath", "source": "RouteTables[].RouteTableId" }
390
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
261
391
  ],
262
392
  "path": "RouteTables[]"
263
393
  }
@@ -267,7 +397,7 @@
267
397
  "resource": {
268
398
  "type": "SecurityGroup",
269
399
  "identifiers": [
270
- { "target": "Id", "sourceType": "responsePath", "source": "SecurityGroups[].GroupId" }
400
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
271
401
  ],
272
402
  "path": "SecurityGroups[]"
273
403
  }
@@ -277,7 +407,7 @@
277
407
  "resource": {
278
408
  "type": "Snapshot",
279
409
  "identifiers": [
280
- { "target": "Id", "sourceType": "responsePath", "source": "Snapshots[].SnapshotId" }
410
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
281
411
  ],
282
412
  "path": "Snapshots[]"
283
413
  }
@@ -287,7 +417,7 @@
287
417
  "resource": {
288
418
  "type": "Subnet",
289
419
  "identifiers": [
290
- { "target": "Id", "sourceType": "responsePath", "source": "Subnets[].SubnetId" }
420
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
291
421
  ],
292
422
  "path": "Subnets[]"
293
423
  }
@@ -297,7 +427,7 @@
297
427
  "resource": {
298
428
  "type": "Volume",
299
429
  "identifiers": [
300
- { "target": "Id", "sourceType": "responsePath", "source": "Volumes[].VolumeId" }
430
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
301
431
  ],
302
432
  "path": "Volumes[]"
303
433
  }
@@ -307,7 +437,7 @@
307
437
  "resource": {
308
438
  "type": "VpcPeeringConnection",
309
439
  "identifiers": [
310
- { "target": "Id", "sourceType": "responsePath", "source": "VpcPeeringConnections[].VpcPeeringConnectionId" }
440
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
311
441
  ],
312
442
  "path": "VpcPeeringConnections[]"
313
443
  }
@@ -317,7 +447,7 @@
317
447
  "resource": {
318
448
  "type": "Vpc",
319
449
  "identifiers": [
320
- { "target": "Id", "sourceType": "responsePath", "source": "Vpcs[].VpcId" }
450
+ { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" }
321
451
  ],
322
452
  "path": "Vpcs[]"
323
453
  }
@@ -337,7 +467,7 @@
337
467
  "request": {
338
468
  "operation": "DescribeDhcpOptions",
339
469
  "params": [
340
- { "target": "DhcpOptionsIds[0]", "sourceType": "identifier", "source": "Id" }
470
+ { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" }
341
471
  ]
342
472
  },
343
473
  "path": "DhcpOptions[0]"
@@ -347,7 +477,7 @@
347
477
  "request": {
348
478
  "operation": "AssociateDhcpOptions",
349
479
  "params": [
350
- { "target": "DhcpOptionsId", "sourceType": "identifier", "source": "Id" }
480
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
351
481
  ]
352
482
  }
353
483
  },
@@ -355,15 +485,15 @@
355
485
  "request": {
356
486
  "operation": "CreateTags",
357
487
  "params": [
358
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
488
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
359
489
  ]
360
490
  },
361
491
  "resource": {
362
492
  "type": "Tag",
363
493
  "identifiers": [
364
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
365
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
366
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
494
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
495
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
496
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
367
497
  ]
368
498
  }
369
499
  },
@@ -371,7 +501,7 @@
371
501
  "request": {
372
502
  "operation": "DeleteDhcpOptions",
373
503
  "params": [
374
- { "target": "DhcpOptionsId", "sourceType": "identifier", "source": "Id" }
504
+ { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" }
375
505
  ]
376
506
  }
377
507
  }
@@ -389,7 +519,7 @@
389
519
  "request": {
390
520
  "operation": "DescribeImages",
391
521
  "params": [
392
- { "target": "ImageIds[0]", "sourceType": "identifier", "source": "Id" }
522
+ { "target": "ImageIds[0]", "source": "identifier", "name": "Id" }
393
523
  ]
394
524
  },
395
525
  "path": "Images[0]"
@@ -399,15 +529,15 @@
399
529
  "request": {
400
530
  "operation": "CreateTags",
401
531
  "params": [
402
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
532
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
403
533
  ]
404
534
  },
405
535
  "resource": {
406
536
  "type": "Tag",
407
537
  "identifiers": [
408
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
409
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
410
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
538
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
539
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
540
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
411
541
  ]
412
542
  }
413
543
  },
@@ -415,7 +545,7 @@
415
545
  "request": {
416
546
  "operation": "DeregisterImage",
417
547
  "params": [
418
- { "target": "ImageId", "sourceType": "identifier", "source": "Id" }
548
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
419
549
  ]
420
550
  }
421
551
  },
@@ -423,7 +553,7 @@
423
553
  "request": {
424
554
  "operation": "DescribeImageAttribute",
425
555
  "params": [
426
- { "target": "ImageId", "sourceType": "identifier", "source": "Id" }
556
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
427
557
  ]
428
558
  }
429
559
  },
@@ -431,7 +561,7 @@
431
561
  "request": {
432
562
  "operation": "ModifyImageAttribute",
433
563
  "params": [
434
- { "target": "ImageId", "sourceType": "identifier", "source": "Id" }
564
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
435
565
  ]
436
566
  }
437
567
  },
@@ -439,7 +569,7 @@
439
569
  "request": {
440
570
  "operation": "ResetImageAttribute",
441
571
  "params": [
442
- { "target": "ImageId", "sourceType": "identifier", "source": "Id" }
572
+ { "target": "ImageId", "source": "identifier", "name": "Id" }
443
573
  ]
444
574
  }
445
575
  }
@@ -457,7 +587,7 @@
457
587
  "request": {
458
588
  "operation": "DescribeInstances",
459
589
  "params": [
460
- { "target": "InstanceIds[0]", "sourceType": "identifier", "source": "Id" }
590
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
461
591
  ]
462
592
  },
463
593
  "path": "Reservations[0].Instances[0]"
@@ -467,7 +597,7 @@
467
597
  "request": {
468
598
  "operation": "AttachVolume",
469
599
  "params": [
470
- { "target": "InstanceId", "sourceType": "identifier", "source": "Id" }
600
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
471
601
  ]
472
602
  }
473
603
  },
@@ -475,7 +605,7 @@
475
605
  "request": {
476
606
  "operation": "GetConsoleOutput",
477
607
  "params": [
478
- { "target": "InstanceId", "sourceType": "identifier", "source": "Id" }
608
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
479
609
  ]
480
610
  }
481
611
  },
@@ -483,13 +613,13 @@
483
613
  "request": {
484
614
  "operation": "CreateImage",
485
615
  "params": [
486
- { "target": "InstanceId", "sourceType": "identifier", "source": "Id" }
616
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
487
617
  ]
488
618
  },
489
619
  "resource": {
490
620
  "type": "Image",
491
621
  "identifiers": [
492
- { "target": "Id", "sourceType": "responsePath", "source": "ImageId" }
622
+ { "target": "Id", "source": "response", "path": "ImageId" }
493
623
  ]
494
624
  }
495
625
  },
@@ -497,15 +627,15 @@
497
627
  "request": {
498
628
  "operation": "CreateTags",
499
629
  "params": [
500
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
630
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
501
631
  ]
502
632
  },
503
633
  "resource": {
504
634
  "type": "Tag",
505
635
  "identifiers": [
506
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
507
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
508
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
636
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
637
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
638
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
509
639
  ]
510
640
  }
511
641
  },
@@ -513,7 +643,7 @@
513
643
  "request": {
514
644
  "operation": "DescribeInstanceAttribute",
515
645
  "params": [
516
- { "target": "InstanceId", "sourceType": "identifier", "source": "Id" }
646
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
517
647
  ]
518
648
  }
519
649
  },
@@ -521,7 +651,7 @@
521
651
  "request": {
522
652
  "operation": "DetachVolume",
523
653
  "params": [
524
- { "target": "InstanceId", "sourceType": "identifier", "source": "Id" }
654
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
525
655
  ]
526
656
  }
527
657
  },
@@ -529,7 +659,7 @@
529
659
  "request": {
530
660
  "operation": "ModifyInstanceAttribute",
531
661
  "params": [
532
- { "target": "InstanceId", "sourceType": "identifier", "source": "Id" }
662
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
533
663
  ]
534
664
  }
535
665
  },
@@ -537,7 +667,7 @@
537
667
  "request": {
538
668
  "operation": "MonitorInstances",
539
669
  "params": [
540
- { "target": "InstanceIds[0]", "sourceType": "identifier", "source": "Id" }
670
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
541
671
  ]
542
672
  }
543
673
  },
@@ -545,7 +675,7 @@
545
675
  "request": {
546
676
  "operation": "GetPasswordData",
547
677
  "params": [
548
- { "target": "InstanceId", "sourceType": "identifier", "source": "Id" }
678
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
549
679
  ]
550
680
  }
551
681
  },
@@ -553,7 +683,7 @@
553
683
  "request": {
554
684
  "operation": "RebootInstances",
555
685
  "params": [
556
- { "target": "InstanceIds[0]", "sourceType": "identifier", "source": "Id" }
686
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
557
687
  ]
558
688
  }
559
689
  },
@@ -561,7 +691,7 @@
561
691
  "request": {
562
692
  "operation": "ReportInstanceStatus",
563
693
  "params": [
564
- { "target": "Instances[0]", "sourceType": "identifier", "source": "Id" }
694
+ { "target": "Instances[0]", "source": "identifier", "name": "Id" }
565
695
  ]
566
696
  }
567
697
  },
@@ -569,7 +699,7 @@
569
699
  "request": {
570
700
  "operation": "ResetInstanceAttribute",
571
701
  "params": [
572
- { "target": "InstanceId", "sourceType": "identifier", "source": "Id" }
702
+ { "target": "InstanceId", "source": "identifier", "name": "Id" }
573
703
  ]
574
704
  }
575
705
  },
@@ -577,8 +707,8 @@
577
707
  "request": {
578
708
  "operation": "ResetInstanceAttribute",
579
709
  "params": [
580
- { "target": "InstanceId", "sourceType": "identifier", "source": "Id" },
581
- { "target": "Attribute", "sourceType": "string", "source": "kernel" }
710
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
711
+ { "target": "Attribute", "source": "string", "value": "kernel" }
582
712
  ]
583
713
  }
584
714
  },
@@ -586,8 +716,8 @@
586
716
  "request": {
587
717
  "operation": "ResetInstanceAttribute",
588
718
  "params": [
589
- { "target": "InstanceId", "sourceType": "identifier", "source": "Id" },
590
- { "target": "Attribute", "sourceType": "string", "source": "ramdisk" }
719
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
720
+ { "target": "Attribute", "source": "string", "value": "ramdisk" }
591
721
  ]
592
722
  }
593
723
  },
@@ -595,8 +725,8 @@
595
725
  "request": {
596
726
  "operation": "ResetInstanceAttribute",
597
727
  "params": [
598
- { "target": "InstanceId", "sourceType": "identifier", "source": "Id" },
599
- { "target": "Attribute", "sourceType": "string", "source": "sourceDestCheck" }
728
+ { "target": "InstanceId", "source": "identifier", "name": "Id" },
729
+ { "target": "Attribute", "source": "string", "value": "sourceDestCheck" }
600
730
  ]
601
731
  }
602
732
  },
@@ -604,7 +734,7 @@
604
734
  "request": {
605
735
  "operation": "StartInstances",
606
736
  "params": [
607
- { "target": "InstanceIds[0]", "sourceType": "identifier", "source": "Id" }
737
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
608
738
  ]
609
739
  }
610
740
  },
@@ -612,7 +742,7 @@
612
742
  "request": {
613
743
  "operation": "StopInstances",
614
744
  "params": [
615
- { "target": "InstanceIds[0]", "sourceType": "identifier", "source": "Id" }
745
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
616
746
  ]
617
747
  }
618
748
  },
@@ -620,7 +750,7 @@
620
750
  "request": {
621
751
  "operation": "TerminateInstances",
622
752
  "params": [
623
- { "target": "InstanceIds[0]", "sourceType": "identifier", "source": "Id" }
753
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
624
754
  ]
625
755
  }
626
756
  },
@@ -628,7 +758,7 @@
628
758
  "request": {
629
759
  "operation": "UnmonitorInstances",
630
760
  "params": [
631
- { "target": "InstanceIds[0]", "sourceType": "identifier", "source": "Id" }
761
+ { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" }
632
762
  ]
633
763
  }
634
764
  }
@@ -638,7 +768,7 @@
638
768
  "request": {
639
769
  "operation": "CreateTags",
640
770
  "params": [
641
- { "target": "Resources[]", "sourceType": "identifier", "source": "Id" }
771
+ { "target": "Resources[]", "source": "identifier", "name": "Id" }
642
772
  ]
643
773
  }
644
774
  },
@@ -646,7 +776,7 @@
646
776
  "request": {
647
777
  "operation": "MonitorInstances",
648
778
  "params": [
649
- { "target": "InstanceIds[]", "sourceType": "identifier", "source": "Id" }
779
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
650
780
  ]
651
781
  }
652
782
  },
@@ -654,7 +784,7 @@
654
784
  "request": {
655
785
  "operation": "RebootInstances",
656
786
  "params": [
657
- { "target": "InstanceIds[]", "sourceType": "identifier", "source": "Id" }
787
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
658
788
  ]
659
789
  }
660
790
  },
@@ -662,7 +792,7 @@
662
792
  "request": {
663
793
  "operation": "StartInstances",
664
794
  "params": [
665
- { "target": "InstanceIds[]", "sourceType": "identifier", "source": "Id" }
795
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
666
796
  ]
667
797
  }
668
798
  },
@@ -670,7 +800,7 @@
670
800
  "request": {
671
801
  "operation": "StopInstances",
672
802
  "params": [
673
- { "target": "InstanceIds[]", "sourceType": "identifier", "source": "Id" }
803
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
674
804
  ]
675
805
  }
676
806
  },
@@ -678,7 +808,7 @@
678
808
  "request": {
679
809
  "operation": "TerminateInstances",
680
810
  "params": [
681
- { "target": "InstanceIds[]", "sourceType": "identifier", "source": "Id" }
811
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
682
812
  ]
683
813
  }
684
814
  },
@@ -686,7 +816,7 @@
686
816
  "request": {
687
817
  "operation": "UnmonitorInstances",
688
818
  "params": [
689
- { "target": "InstanceIds[]", "sourceType": "identifier", "source": "Id" }
819
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
690
820
  ]
691
821
  }
692
822
  }
@@ -695,49 +825,31 @@
695
825
  "Running": {
696
826
  "waiterName": "InstanceRunning",
697
827
  "params": [
698
- { "target": "InstanceIds[]", "sourceType": "identifier", "source": "Id" }
828
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
699
829
  ],
700
830
  "path": "Reservations[0].Instances[0]"
701
831
  },
702
832
  "Stopped": {
703
833
  "waiterName": "InstanceStopped",
704
834
  "params": [
705
- { "target": "InstanceIds[]", "sourceType": "identifier", "source": "Id" }
835
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
706
836
  ],
707
837
  "path": "Reservations[0].Instances[0]"
708
838
  },
709
839
  "Terminated": {
710
840
  "waiterName": "InstanceTerminated",
711
841
  "params": [
712
- { "target": "InstanceIds[]", "sourceType": "identifier", "source": "Id" }
842
+ { "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
713
843
  ],
714
844
  "path": "Reservations[0].Instances[0]"
715
845
  }
716
846
  },
717
- "hasMany": {
718
- "Volumes": {
719
- "request": {
720
- "operation": "DescribeVolumes",
721
- "params": [
722
- { "target": "Filters[0].Name", "sourceType": "string", "source": "attachment.instance-id" },
723
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
724
- ]
725
- },
726
- "resource": {
727
- "type": "Volume",
728
- "identifiers": [
729
- { "target": "Id", "sourceType": "responsePath", "source": "Volumes[].VolumeId" }
730
- ],
731
- "path": "Volumes[]"
732
- }
733
- }
734
- },
735
- "belongsTo": {
847
+ "has": {
736
848
  "Image": {
737
849
  "resource": {
738
850
  "type": "Image",
739
851
  "identifiers": [
740
- { "target": "Id", "sourceType": "dataMember", "source": "ImageId" }
852
+ { "target": "Id", "source": "data", "path": "ImageId" }
741
853
  ]
742
854
  }
743
855
  },
@@ -745,7 +857,7 @@
745
857
  "resource": {
746
858
  "type": "KeyPair",
747
859
  "identifiers": [
748
- { "target": "Name", "sourceType": "dataMember", "source": "KeyName" }
860
+ { "target": "Name", "source": "data", "path": "KeyName" }
749
861
  ]
750
862
  }
751
863
  },
@@ -753,7 +865,7 @@
753
865
  "resource": {
754
866
  "type": "PlacementGroup",
755
867
  "identifiers": [
756
- { "target": "Name", "sourceType": "dataMember", "source": "Placement.GroupName" }
868
+ { "target": "Name", "source": "data", "path": "Placement.GroupName" }
757
869
  ]
758
870
  }
759
871
  },
@@ -761,7 +873,7 @@
761
873
  "resource": {
762
874
  "type": "Subnet",
763
875
  "identifiers": [
764
- { "target": "Id", "sourceType": "dataMember", "source": "SubnetId" }
876
+ { "target": "Id", "source": "data", "path": "SubnetId" }
765
877
  ]
766
878
  }
767
879
  },
@@ -769,8 +881,26 @@
769
881
  "resource": {
770
882
  "type": "Vpc",
771
883
  "identifiers": [
772
- { "target": "Id", "sourceType": "dataMember", "source": "VpcId" }
884
+ { "target": "Id", "source": "data", "path": "VpcId" }
885
+ ]
886
+ }
887
+ }
888
+ },
889
+ "hasMany": {
890
+ "Volumes": {
891
+ "request": {
892
+ "operation": "DescribeVolumes",
893
+ "params": [
894
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" },
895
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
773
896
  ]
897
+ },
898
+ "resource": {
899
+ "type": "Volume",
900
+ "identifiers": [
901
+ { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" }
902
+ ],
903
+ "path": "Volumes[]"
774
904
  }
775
905
  }
776
906
  }
@@ -787,7 +917,7 @@
787
917
  "request": {
788
918
  "operation": "DescribeInternetGateways",
789
919
  "params": [
790
- { "target": "InternetGatewayIds[0]", "sourceType": "identifier", "source": "Id" }
920
+ { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" }
791
921
  ]
792
922
  },
793
923
  "path": "InternetGateways[0]"
@@ -797,7 +927,7 @@
797
927
  "request": {
798
928
  "operation": "AttachInternetGateway",
799
929
  "params": [
800
- { "target": "InternetGatewayId", "sourceType": "identifier", "source": "Id" }
930
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
801
931
  ]
802
932
  }
803
933
  },
@@ -805,15 +935,15 @@
805
935
  "request": {
806
936
  "operation": "CreateTags",
807
937
  "params": [
808
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
938
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
809
939
  ]
810
940
  },
811
941
  "resource": {
812
942
  "type": "Tag",
813
943
  "identifiers": [
814
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
815
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
816
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
944
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
945
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
946
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
817
947
  ]
818
948
  }
819
949
  },
@@ -821,7 +951,7 @@
821
951
  "request": {
822
952
  "operation": "DeleteInternetGateway",
823
953
  "params": [
824
- { "target": "InternetGatewayId", "sourceType": "identifier", "source": "Id" }
954
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
825
955
  ]
826
956
  }
827
957
  },
@@ -829,7 +959,7 @@
829
959
  "request": {
830
960
  "operation": "DetachInternetGateway",
831
961
  "params": [
832
- { "target": "InternetGatewayId", "sourceType": "identifier", "source": "Id" }
962
+ { "target": "InternetGatewayId", "source": "identifier", "name": "Id" }
833
963
  ]
834
964
  }
835
965
  }
@@ -847,7 +977,7 @@
847
977
  "request": {
848
978
  "operation": "DescribeKeyPairs",
849
979
  "params": [
850
- { "target": "KeyNames[0]", "sourceType": "identifier", "source": "Name" }
980
+ { "target": "KeyNames[0]", "source": "identifier", "name": "Name" }
851
981
  ]
852
982
  },
853
983
  "path": "KeyPairs[0]"
@@ -857,7 +987,7 @@
857
987
  "request": {
858
988
  "operation": "DeleteKeyPair",
859
989
  "params": [
860
- { "target": "KeyName", "sourceType": "identifier", "source": "Name" }
990
+ { "target": "KeyName", "source": "identifier", "name": "Name" }
861
991
  ]
862
992
  }
863
993
  }
@@ -875,7 +1005,7 @@
875
1005
  "request": {
876
1006
  "operation": "DescribeNetworkAcls",
877
1007
  "params": [
878
- { "target": "NetworkAclIds[0]", "sourceType": "identifier", "source": "Id" }
1008
+ { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" }
879
1009
  ]
880
1010
  },
881
1011
  "path": "NetworkAcls[0]"
@@ -885,7 +1015,7 @@
885
1015
  "request": {
886
1016
  "operation": "CreateNetworkAclEntry",
887
1017
  "params": [
888
- { "target": "NetworkAclId", "sourceType": "identifier", "source": "Id" }
1018
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
889
1019
  ]
890
1020
  }
891
1021
  },
@@ -893,15 +1023,15 @@
893
1023
  "request": {
894
1024
  "operation": "CreateTags",
895
1025
  "params": [
896
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
1026
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
897
1027
  ]
898
1028
  },
899
1029
  "resource": {
900
1030
  "type": "Tag",
901
1031
  "identifiers": [
902
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
903
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
904
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
1032
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1033
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1034
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
905
1035
  ]
906
1036
  }
907
1037
  },
@@ -909,7 +1039,7 @@
909
1039
  "request": {
910
1040
  "operation": "DeleteNetworkAcl",
911
1041
  "params": [
912
- { "target": "NetworkAclId", "sourceType": "identifier", "source": "Id" }
1042
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
913
1043
  ]
914
1044
  }
915
1045
  },
@@ -917,7 +1047,7 @@
917
1047
  "request": {
918
1048
  "operation": "DeleteNetworkAclEntry",
919
1049
  "params": [
920
- { "target": "NetworkAclId", "sourceType": "identifier", "source": "Id" }
1050
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
921
1051
  ]
922
1052
  }
923
1053
  },
@@ -925,7 +1055,7 @@
925
1055
  "request": {
926
1056
  "operation": "ReplaceNetworkAclAssociation",
927
1057
  "params": [
928
- { "target": "NetworkAclId", "sourceType": "identifier", "source": "Id" }
1058
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
929
1059
  ]
930
1060
  }
931
1061
  },
@@ -933,17 +1063,17 @@
933
1063
  "request": {
934
1064
  "operation": "ReplaceNetworkAclEntry",
935
1065
  "params": [
936
- { "target": "NetworkAclId", "sourceType": "identifier", "source": "Id" }
1066
+ { "target": "NetworkAclId", "source": "identifier", "name": "Id" }
937
1067
  ]
938
1068
  }
939
1069
  }
940
1070
  },
941
- "belongsTo": {
1071
+ "has": {
942
1072
  "Vpc": {
943
1073
  "resource": {
944
1074
  "type": "Vpc",
945
1075
  "identifiers": [
946
- { "target": "Id", "sourceType": "dataMember", "source": "VpcId" }
1076
+ { "target": "Id", "source": "data", "path": "VpcId" }
947
1077
  ]
948
1078
  }
949
1079
  }
@@ -961,7 +1091,7 @@
961
1091
  "request": {
962
1092
  "operation": "DescribeNetworkInterfaces",
963
1093
  "params": [
964
- { "target": "NetworkInterfaceIds[0]", "sourceType": "identifier", "source": "Id" }
1094
+ { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" }
965
1095
  ]
966
1096
  },
967
1097
  "path": "NetworkInterfaces[0]"
@@ -971,7 +1101,7 @@
971
1101
  "request": {
972
1102
  "operation": "AssignPrivateIpAddresses",
973
1103
  "params": [
974
- { "target": "NetworkInterfaceId", "sourceType": "identifier", "source": "Id" }
1104
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
975
1105
  ]
976
1106
  }
977
1107
  },
@@ -979,7 +1109,7 @@
979
1109
  "request": {
980
1110
  "operation": "AttachNetworkInterface",
981
1111
  "params": [
982
- { "target": "NetworkInterfaceId", "sourceType": "identifier", "source": "Id" }
1112
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
983
1113
  ]
984
1114
  }
985
1115
  },
@@ -987,15 +1117,15 @@
987
1117
  "request": {
988
1118
  "operation": "CreateTags",
989
1119
  "params": [
990
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
1120
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
991
1121
  ]
992
1122
  },
993
1123
  "resource": {
994
1124
  "type": "Tag",
995
1125
  "identifiers": [
996
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
997
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
998
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
1126
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1127
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1128
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
999
1129
  ]
1000
1130
  }
1001
1131
  },
@@ -1003,7 +1133,7 @@
1003
1133
  "request": {
1004
1134
  "operation": "DeleteNetworkInterface",
1005
1135
  "params": [
1006
- { "target": "NetworkInterfaceId", "sourceType": "identifier", "source": "Id" }
1136
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1007
1137
  ]
1008
1138
  }
1009
1139
  },
@@ -1011,7 +1141,7 @@
1011
1141
  "request": {
1012
1142
  "operation": "DescribeNetworkInterfaceAttribute",
1013
1143
  "params": [
1014
- { "target": "NetworkInterfaceId", "sourceType": "identifier", "source": "Id" }
1144
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1015
1145
  ]
1016
1146
  }
1017
1147
  },
@@ -1019,7 +1149,7 @@
1019
1149
  "request": {
1020
1150
  "operation": "DetachNetworkInterface",
1021
1151
  "params": [
1022
- { "target": "AttachmentId", "sourceType": "dataMember", "source": "Attachment.AttachmentId" }
1152
+ { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" }
1023
1153
  ]
1024
1154
  }
1025
1155
  },
@@ -1027,7 +1157,7 @@
1027
1157
  "request": {
1028
1158
  "operation": "ModifyNetworkInterfaceAttribute",
1029
1159
  "params": [
1030
- { "target": "NetworkInterfaceId", "sourceType": "identifier", "source": "Id" }
1160
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1031
1161
  ]
1032
1162
  }
1033
1163
  },
@@ -1035,7 +1165,7 @@
1035
1165
  "request": {
1036
1166
  "operation": "ResetNetworkInterfaceAttribute",
1037
1167
  "params": [
1038
- { "target": "NetworkInterfaceId", "sourceType": "identifier", "source": "Id" }
1168
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1039
1169
  ]
1040
1170
  }
1041
1171
  },
@@ -1043,17 +1173,17 @@
1043
1173
  "request": {
1044
1174
  "operation": "UnassignPrivateIpAddresses",
1045
1175
  "params": [
1046
- { "target": "NetworkInterfaceId", "sourceType": "identifier", "source": "Id" }
1176
+ { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" }
1047
1177
  ]
1048
1178
  }
1049
1179
  }
1050
1180
  },
1051
- "belongsTo": {
1181
+ "has": {
1052
1182
  "Subnet": {
1053
1183
  "resource": {
1054
1184
  "type": "Subnet",
1055
1185
  "identifiers": [
1056
- { "target": "Id", "sourceType": "dataMember", "source": "SubnetId" }
1186
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1057
1187
  ]
1058
1188
  }
1059
1189
  },
@@ -1061,7 +1191,7 @@
1061
1191
  "resource": {
1062
1192
  "type": "Vpc",
1063
1193
  "identifiers": [
1064
- { "target": "Id", "sourceType": "dataMember", "source": "VpcId" }
1194
+ { "target": "Id", "source": "data", "path": "VpcId" }
1065
1195
  ]
1066
1196
  }
1067
1197
  }
@@ -1079,7 +1209,7 @@
1079
1209
  "request": {
1080
1210
  "operation": "DescribePlacementGroups",
1081
1211
  "params": [
1082
- { "target": "GroupNames[0]", "sourceType": "identifier", "source": "Name" }
1212
+ { "target": "GroupNames[0]", "source": "identifier", "name": "Name" }
1083
1213
  ]
1084
1214
  },
1085
1215
  "path": "PlacementGroups[0]"
@@ -1089,7 +1219,7 @@
1089
1219
  "request": {
1090
1220
  "operation": "DeletePlacementGroup",
1091
1221
  "params": [
1092
- { "target": "GroupName", "sourceType": "identifier", "source": "Name" }
1222
+ { "target": "GroupName", "source": "identifier", "name": "Name" }
1093
1223
  ]
1094
1224
  }
1095
1225
  }
@@ -1099,14 +1229,14 @@
1099
1229
  "request": {
1100
1230
  "operation": "DescribeInstances",
1101
1231
  "params": [
1102
- { "target": "Filters[0].Name", "sourceType": "string", "source": "placement-group-name" },
1103
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Name" }
1232
+ { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" },
1233
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" }
1104
1234
  ]
1105
1235
  },
1106
1236
  "resource": {
1107
1237
  "type": "Instance",
1108
1238
  "identifiers": [
1109
- { "target": "Id", "sourceType": "responsePath", "source": "Reservations[].Instances[].InstanceId" }
1239
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1110
1240
  ],
1111
1241
  "path": "Reservations[].Instances[]"
1112
1242
  }
@@ -1125,7 +1255,7 @@
1125
1255
  "request": {
1126
1256
  "operation": "DescribeRouteTables",
1127
1257
  "params": [
1128
- { "target": "RouteTableIds[0]", "sourceType": "identifier", "source": "Id" }
1258
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1129
1259
  ]
1130
1260
  },
1131
1261
  "path": "RouteTables[0]"
@@ -1135,13 +1265,13 @@
1135
1265
  "request": {
1136
1266
  "operation": "AssociateRouteTable",
1137
1267
  "params": [
1138
- { "target": "RouteTableId", "sourceType": "identifier", "source": "Id" }
1268
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1139
1269
  ]
1140
1270
  },
1141
1271
  "resource": {
1142
1272
  "type": "RouteTableAssociation",
1143
1273
  "identifiers": [
1144
- { "target": "Id", "sourceType": "responsePath", "source": "AssociationId" }
1274
+ { "target": "Id", "source": "response", "path": "AssociationId" }
1145
1275
  ]
1146
1276
  }
1147
1277
  },
@@ -1149,7 +1279,7 @@
1149
1279
  "request": {
1150
1280
  "operation": "CreateRoute",
1151
1281
  "params": [
1152
- { "target": "RouteTableId", "sourceType": "identifier", "source": "Id" }
1282
+ { "target": "RouteTableId", "source": "identifier", "name": "Id" }
1153
1283
  ]
1154
1284
  }
1155
1285
  },
@@ -1157,15 +1287,25 @@
1157
1287
  "request": {
1158
1288
  "operation": "CreateTags",
1159
1289
  "params": [
1160
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
1290
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1161
1291
  ]
1162
1292
  },
1163
1293
  "resource": {
1164
1294
  "type": "Tag",
1165
1295
  "identifiers": [
1166
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
1167
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
1168
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
1296
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1297
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1298
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1299
+ ]
1300
+ }
1301
+ }
1302
+ },
1303
+ "has": {
1304
+ "Vpc": {
1305
+ "resource": {
1306
+ "type": "Vpc",
1307
+ "identifiers": [
1308
+ { "target": "Id", "source": "data", "path": "VpcId" }
1169
1309
  ]
1170
1310
  }
1171
1311
  }
@@ -1175,27 +1315,17 @@
1175
1315
  "request": {
1176
1316
  "operation": "DescribeRouteTables",
1177
1317
  "params": [
1178
- { "target": "RouteTableIds[0]", "sourceType": "identifier", "source": "Id" }
1318
+ { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" }
1179
1319
  ]
1180
1320
  },
1181
1321
  "resource": {
1182
1322
  "type": "RouteTableAssociation",
1183
1323
  "identifiers": [
1184
- { "target": "Id", "sourceType": "responsePath", "source": "RouteTables[0].Associations[].RouteTableAssociationId" }
1324
+ { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" }
1185
1325
  ],
1186
1326
  "path": "RouteTables[0].Associations[]"
1187
1327
  }
1188
1328
  }
1189
- },
1190
- "belongsTo": {
1191
- "Vpc": {
1192
- "resource": {
1193
- "type": "Vpc",
1194
- "identifiers": [
1195
- { "target": "Id", "sourceType": "dataMember", "source": "VpcId" }
1196
- ]
1197
- }
1198
- }
1199
1329
  }
1200
1330
  },
1201
1331
  "RouteTableAssociation": {
@@ -1211,7 +1341,7 @@
1211
1341
  "request": {
1212
1342
  "operation": "DisassociateRouteTable",
1213
1343
  "params": [
1214
- { "target": "AssociationId", "sourceType": "identifier", "source": "Id" }
1344
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1215
1345
  ]
1216
1346
  }
1217
1347
  },
@@ -1219,23 +1349,23 @@
1219
1349
  "request": {
1220
1350
  "operation": "ReplaceRouteTableAssociation",
1221
1351
  "params": [
1222
- { "target": "AssociationId", "sourceType": "identifier", "source": "Id" }
1352
+ { "target": "AssociationId", "source": "identifier", "name": "Id" }
1223
1353
  ]
1224
1354
  },
1225
1355
  "resource": {
1226
1356
  "type": "RouteTableAssociation",
1227
1357
  "identifiers": [
1228
- { "target": "Id", "sourceType": "responsePath", "source": "NewAssociationId" }
1358
+ { "target": "Id", "source": "response", "path": "NewAssociationId" }
1229
1359
  ]
1230
1360
  }
1231
1361
  }
1232
1362
  },
1233
- "belongsTo": {
1363
+ "has": {
1234
1364
  "RouteTable": {
1235
1365
  "resource": {
1236
1366
  "type": "RouteTable",
1237
1367
  "identifiers": [
1238
- { "target": "Id", "sourceType": "dataMember", "source": "RouteTableId" }
1368
+ { "target": "Id", "source": "data", "path": "RouteTableId" }
1239
1369
  ]
1240
1370
  }
1241
1371
  },
@@ -1243,7 +1373,7 @@
1243
1373
  "resource": {
1244
1374
  "type": "Subnet",
1245
1375
  "identifiers": [
1246
- { "target": "Id", "sourceType": "dataMember", "source": "SubnetId" }
1376
+ { "target": "Id", "source": "data", "path": "SubnetId" }
1247
1377
  ]
1248
1378
  }
1249
1379
  }
@@ -1261,7 +1391,7 @@
1261
1391
  "request": {
1262
1392
  "operation": "DescribeSecurityGroups",
1263
1393
  "params": [
1264
- { "target": "GroupIds[0]", "sourceType": "identifier", "source": "Id" }
1394
+ { "target": "GroupIds[0]", "source": "identifier", "name": "Id" }
1265
1395
  ]
1266
1396
  },
1267
1397
  "path": "SecurityGroups[0]"
@@ -1271,7 +1401,7 @@
1271
1401
  "request": {
1272
1402
  "operation": "AuthorizeSecurityGroupEgress",
1273
1403
  "params": [
1274
- { "target": "GroupId", "sourceType": "identifier", "source": "Id" }
1404
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1275
1405
  ]
1276
1406
  }
1277
1407
  },
@@ -1279,7 +1409,7 @@
1279
1409
  "request": {
1280
1410
  "operation": "AuthorizeSecurityGroupIngress",
1281
1411
  "params": [
1282
- { "target": "GroupId", "sourceType": "identifier", "source": "Id" }
1412
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1283
1413
  ]
1284
1414
  }
1285
1415
  },
@@ -1287,15 +1417,15 @@
1287
1417
  "request": {
1288
1418
  "operation": "CreateTags",
1289
1419
  "params": [
1290
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
1420
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1291
1421
  ]
1292
1422
  },
1293
1423
  "resource": {
1294
1424
  "type": "Tag",
1295
1425
  "identifiers": [
1296
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
1297
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
1298
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
1426
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1427
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1428
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1299
1429
  ]
1300
1430
  }
1301
1431
  },
@@ -1303,7 +1433,7 @@
1303
1433
  "request": {
1304
1434
  "operation": "DeleteSecurityGroup",
1305
1435
  "params": [
1306
- { "target": "GroupId", "sourceType": "identifier", "source": "Id" }
1436
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1307
1437
  ]
1308
1438
  }
1309
1439
  },
@@ -1311,7 +1441,7 @@
1311
1441
  "request": {
1312
1442
  "operation": "RevokeSecurityGroupEgress",
1313
1443
  "params": [
1314
- { "target": "GroupId", "sourceType": "identifier", "source": "Id" }
1444
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1315
1445
  ]
1316
1446
  }
1317
1447
  },
@@ -1319,7 +1449,7 @@
1319
1449
  "request": {
1320
1450
  "operation": "RevokeSecurityGroupIngress",
1321
1451
  "params": [
1322
- { "target": "GroupId", "sourceType": "identifier", "source": "Id" }
1452
+ { "target": "GroupId", "source": "identifier", "name": "Id" }
1323
1453
  ]
1324
1454
  }
1325
1455
  }
@@ -1337,7 +1467,7 @@
1337
1467
  "request": {
1338
1468
  "operation": "DescribeSnapshots",
1339
1469
  "params": [
1340
- { "target": "SnapshotIds[0]", "sourceType": "identifier", "source": "Id" }
1470
+ { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" }
1341
1471
  ]
1342
1472
  },
1343
1473
  "path": "Snapshots[0]"
@@ -1347,7 +1477,7 @@
1347
1477
  "request": {
1348
1478
  "operation": "CopySnapshot",
1349
1479
  "params": [
1350
- { "target": "SourceSnapshotId", "sourceType": "identifier", "source": "Id" }
1480
+ { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" }
1351
1481
  ]
1352
1482
  }
1353
1483
  },
@@ -1355,15 +1485,15 @@
1355
1485
  "request": {
1356
1486
  "operation": "CreateTags",
1357
1487
  "params": [
1358
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
1488
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1359
1489
  ]
1360
1490
  },
1361
1491
  "resource": {
1362
1492
  "type": "Tag",
1363
1493
  "identifiers": [
1364
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
1365
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
1366
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
1494
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1495
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1496
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1367
1497
  ]
1368
1498
  }
1369
1499
  },
@@ -1371,7 +1501,7 @@
1371
1501
  "request": {
1372
1502
  "operation": "DeleteSnapshot",
1373
1503
  "params": [
1374
- { "target": "SnapshotId", "sourceType": "identifier", "source": "Id" }
1504
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1375
1505
  ]
1376
1506
  }
1377
1507
  },
@@ -1379,7 +1509,7 @@
1379
1509
  "request": {
1380
1510
  "operation": "DescribeSnapshotAttribute",
1381
1511
  "params": [
1382
- { "target": "SnapshotId", "sourceType": "identifier", "source": "Id" }
1512
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1383
1513
  ]
1384
1514
  }
1385
1515
  },
@@ -1387,7 +1517,7 @@
1387
1517
  "request": {
1388
1518
  "operation": "ModifySnapshotAttribute",
1389
1519
  "params": [
1390
- { "target": "SnapshotId", "sourceType": "identifier", "source": "Id" }
1520
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1391
1521
  ]
1392
1522
  }
1393
1523
  },
@@ -1395,17 +1525,17 @@
1395
1525
  "request": {
1396
1526
  "operation": "ResetSnapshotAttribute",
1397
1527
  "params": [
1398
- { "target": "SnapshotId", "sourceType": "identifier", "source": "Id" }
1528
+ { "target": "SnapshotId", "source": "identifier", "name": "Id" }
1399
1529
  ]
1400
1530
  }
1401
1531
  }
1402
1532
  },
1403
- "belongsTo": {
1533
+ "has": {
1404
1534
  "Volume": {
1405
1535
  "resource": {
1406
1536
  "type": "Volume",
1407
1537
  "identifiers": [
1408
- { "target": "Id", "sourceType": "dataMember", "source": "VolumeId" }
1538
+ { "target": "Id", "source": "data", "path": "VolumeId" }
1409
1539
  ]
1410
1540
  }
1411
1541
  }
@@ -1423,7 +1553,7 @@
1423
1553
  "request": {
1424
1554
  "operation": "DescribeSubnets",
1425
1555
  "params": [
1426
- { "target": "SubnetIds[0]", "sourceType": "identifier", "source": "Id" }
1556
+ { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" }
1427
1557
  ]
1428
1558
  },
1429
1559
  "path": "Subnets[0]"
@@ -1433,13 +1563,13 @@
1433
1563
  "request": {
1434
1564
  "operation": "RunInstances",
1435
1565
  "params": [
1436
- { "target": "SubnetId", "sourceType": "identifier", "source": "Id" }
1566
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1437
1567
  ]
1438
1568
  },
1439
1569
  "resource": {
1440
1570
  "type": "Instance",
1441
1571
  "identifiers": [
1442
- { "target": "Id", "sourceType": "responsePath", "source": "Instances[].InstanceId" }
1572
+ { "target": "Id", "source": "response", "path": "Instances[].InstanceId" }
1443
1573
  ],
1444
1574
  "path": "Instances[]"
1445
1575
  }
@@ -1448,13 +1578,13 @@
1448
1578
  "request": {
1449
1579
  "operation": "CreateNetworkInterface",
1450
1580
  "params": [
1451
- { "target": "SubnetId", "sourceType": "identifier", "source": "Id" }
1581
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1452
1582
  ]
1453
1583
  },
1454
1584
  "resource": {
1455
1585
  "type": "NetworkInterface",
1456
1586
  "identifiers": [
1457
- { "target": "Id", "sourceType": "responsePath", "source": "NetworkInterface.NetworkInterfaceId" }
1587
+ { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" }
1458
1588
  ],
1459
1589
  "path": "NetworkInterface"
1460
1590
  }
@@ -1463,15 +1593,15 @@
1463
1593
  "request": {
1464
1594
  "operation": "CreateTags",
1465
1595
  "params": [
1466
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
1596
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1467
1597
  ]
1468
1598
  },
1469
1599
  "resource": {
1470
1600
  "type": "Tag",
1471
1601
  "identifiers": [
1472
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
1473
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
1474
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
1602
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1603
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1604
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1475
1605
  ]
1476
1606
  }
1477
1607
  },
@@ -1479,7 +1609,17 @@
1479
1609
  "request": {
1480
1610
  "operation": "DeleteSubnet",
1481
1611
  "params": [
1482
- { "target": "SubnetId", "sourceType": "identifier", "source": "Id" }
1612
+ { "target": "SubnetId", "source": "identifier", "name": "Id" }
1613
+ ]
1614
+ }
1615
+ }
1616
+ },
1617
+ "has": {
1618
+ "Vpc": {
1619
+ "resource": {
1620
+ "type": "Vpc",
1621
+ "identifiers": [
1622
+ { "target": "Id", "source": "data", "path": "VpcId" }
1483
1623
  ]
1484
1624
  }
1485
1625
  }
@@ -1489,14 +1629,14 @@
1489
1629
  "request": {
1490
1630
  "operation": "DescribeInstances",
1491
1631
  "params": [
1492
- { "target": "Filters[0].Name", "sourceType": "string", "source": "subnet-id" },
1493
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
1632
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1633
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1494
1634
  ]
1495
1635
  },
1496
1636
  "resource": {
1497
1637
  "type": "Instance",
1498
1638
  "identifiers": [
1499
- { "target": "Id", "sourceType": "responsePath", "source": "Reservations[].Instances[].InstanceId" }
1639
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1500
1640
  ],
1501
1641
  "path": "Reservations[].Instances[]"
1502
1642
  }
@@ -1505,28 +1645,18 @@
1505
1645
  "request": {
1506
1646
  "operation": "DescribeNetworkInterfaces",
1507
1647
  "params": [
1508
- { "target": "Filters[0].Name", "sourceType": "string", "source": "subnet-id" },
1509
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
1648
+ { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" },
1649
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1510
1650
  ]
1511
1651
  },
1512
1652
  "resource": {
1513
1653
  "type": "NetworkInterface",
1514
1654
  "identifiers": [
1515
- { "target": "Id", "sourceType": "responsePath", "source": "NetworkInterfaces[].NetworkInterfaceId" }
1655
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
1516
1656
  ],
1517
1657
  "path": "NetworkInterfaces[]"
1518
1658
  }
1519
1659
  }
1520
- },
1521
- "belongsTo": {
1522
- "Vpc": {
1523
- "resource": {
1524
- "type": "Vpc",
1525
- "identifiers": [
1526
- { "target": "Id", "sourceType": "dataMember", "source": "VpcId" }
1527
- ]
1528
- }
1529
- }
1530
1660
  }
1531
1661
  },
1532
1662
  "Tag": {
@@ -1549,10 +1679,10 @@
1549
1679
  "request": {
1550
1680
  "operation": "DescribeTags",
1551
1681
  "params": [
1552
- { "target": "Filters[0].Name", "sourceType": "string", "source": "key" },
1553
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Key" },
1554
- { "target": "Filters[1].Name", "sourceType": "string", "source": "value" },
1555
- { "target": "Filters[1].Values[0]", "sourceType": "identifier", "source": "Value" }
1682
+ { "target": "Filters[0].Name", "source": "string", "value": "key" },
1683
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" },
1684
+ { "target": "Filters[1].Name", "source": "string", "value": "value" },
1685
+ { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" }
1556
1686
  ]
1557
1687
  },
1558
1688
  "path": "Tags[0]"
@@ -1562,9 +1692,9 @@
1562
1692
  "request": {
1563
1693
  "operation": "DeleteTags",
1564
1694
  "params": [
1565
- { "target": "Resources[0]", "sourceType": "identifier", "source": "ResourceId" },
1566
- { "target": "Tags[0].Key", "sourceType": "identifier", "source": "Key" },
1567
- { "target": "Tags[0].Value", "sourceType": "identifier", "source": "Value" }
1695
+ { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" },
1696
+ { "target": "Tags[0].Key", "source": "identifier", "name": "Key" },
1697
+ { "target": "Tags[0].Value", "source": "identifier", "name": "Value" }
1568
1698
  ]
1569
1699
  }
1570
1700
  }
@@ -1574,9 +1704,9 @@
1574
1704
  "request": {
1575
1705
  "operation": "DeleteTags",
1576
1706
  "params": [
1577
- { "target": "Resources[]", "sourceType": "identifier", "source": "ResourceId" },
1578
- { "target": "Tags[*].Key", "sourceType": "identifier", "source": "Key" },
1579
- { "target": "Tags[*].Value", "sourceType": "identifier", "source": "Value" }
1707
+ { "target": "Resources[]", "source": "identifier", "name": "ResourceId" },
1708
+ { "target": "Tags[*].Key", "source": "identifier", "name": "Key" },
1709
+ { "target": "Tags[*].Value", "source": "identifier", "name": "Value" }
1580
1710
  ]
1581
1711
  }
1582
1712
  }
@@ -1594,7 +1724,7 @@
1594
1724
  "request": {
1595
1725
  "operation": "DescribeVolumes",
1596
1726
  "params": [
1597
- { "target": "VolumeIds[0]", "sourceType": "identifier", "source": "Id" }
1727
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1598
1728
  ]
1599
1729
  },
1600
1730
  "path": "Volumes[0]"
@@ -1604,7 +1734,7 @@
1604
1734
  "request": {
1605
1735
  "operation": "AttachVolume",
1606
1736
  "params": [
1607
- { "target": "VolumeId", "sourceType": "identifier", "source": "Id" }
1737
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1608
1738
  ]
1609
1739
  }
1610
1740
  },
@@ -1612,13 +1742,13 @@
1612
1742
  "request": {
1613
1743
  "operation": "CreateSnapshot",
1614
1744
  "params": [
1615
- { "target": "VolumeId", "sourceType": "identifier", "source": "Id" }
1745
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1616
1746
  ]
1617
1747
  },
1618
1748
  "resource": {
1619
1749
  "type": "Snapshot",
1620
1750
  "identifiers": [
1621
- { "target": "Id", "sourceType": "responsePath", "source": "SnapshotId" }
1751
+ { "target": "Id", "source": "response", "path": "SnapshotId" }
1622
1752
  ],
1623
1753
  "path": "@"
1624
1754
  }
@@ -1627,15 +1757,15 @@
1627
1757
  "request": {
1628
1758
  "operation": "CreateTags",
1629
1759
  "params": [
1630
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
1760
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1631
1761
  ]
1632
1762
  },
1633
1763
  "resource": {
1634
1764
  "type": "Tag",
1635
1765
  "identifiers": [
1636
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
1637
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
1638
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
1766
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1767
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1768
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1639
1769
  ]
1640
1770
  }
1641
1771
  },
@@ -1643,7 +1773,7 @@
1643
1773
  "request": {
1644
1774
  "operation": "DescribeVolumeAttribute",
1645
1775
  "params": [
1646
- { "target": "VolumeId", "sourceType": "identifier", "source": "Id" }
1776
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1647
1777
  ]
1648
1778
  }
1649
1779
  },
@@ -1651,7 +1781,7 @@
1651
1781
  "request": {
1652
1782
  "operation": "DescribeVolumeStatus",
1653
1783
  "params": [
1654
- { "target": "VolumeIds[0]", "sourceType": "identifier", "source": "Id" }
1784
+ { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" }
1655
1785
  ]
1656
1786
  }
1657
1787
  },
@@ -1659,7 +1789,7 @@
1659
1789
  "request": {
1660
1790
  "operation": "DetachVolume",
1661
1791
  "params": [
1662
- { "target": "VolumeId", "sourceType": "identifier", "source": "Id" }
1792
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1663
1793
  ]
1664
1794
  }
1665
1795
  },
@@ -1667,7 +1797,7 @@
1667
1797
  "request": {
1668
1798
  "operation": "EnableVolumeIO",
1669
1799
  "params": [
1670
- { "target": "VolumeId", "sourceType": "identifier", "source": "Id" }
1800
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1671
1801
  ]
1672
1802
  }
1673
1803
  },
@@ -1675,7 +1805,7 @@
1675
1805
  "request": {
1676
1806
  "operation": "ModifyVolumeAttribute",
1677
1807
  "params": [
1678
- { "target": "VolumeId", "sourceType": "identifier", "source": "Id" }
1808
+ { "target": "VolumeId", "source": "identifier", "name": "Id" }
1679
1809
  ]
1680
1810
  }
1681
1811
  }
@@ -1685,14 +1815,14 @@
1685
1815
  "request": {
1686
1816
  "operation": "DescribeSnapshots",
1687
1817
  "params": [
1688
- { "target": "Filters[0].Name", "sourceType": "string", "source": "volume-id" },
1689
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
1818
+ { "target": "Filters[0].Name", "source": "string", "value": "volume-id" },
1819
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1690
1820
  ]
1691
1821
  },
1692
1822
  "resource": {
1693
1823
  "type": "Snapshot",
1694
1824
  "identifiers": [
1695
- { "target": "Id", "sourceType": "responsePath", "source": "Snapshots[].SnapshotId" }
1825
+ { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" }
1696
1826
  ],
1697
1827
  "path": "Snapshots[]"
1698
1828
  }
@@ -1711,7 +1841,7 @@
1711
1841
  "request": {
1712
1842
  "operation": "DescribeVpcs",
1713
1843
  "params": [
1714
- { "target": "VpcIds[0]", "sourceType": "identifier", "source": "Id" }
1844
+ { "target": "VpcIds[0]", "source": "identifier", "name": "Id" }
1715
1845
  ]
1716
1846
  },
1717
1847
  "path": "Vpcs[0]"
@@ -1721,7 +1851,7 @@
1721
1851
  "request": {
1722
1852
  "operation": "AssociateDhcpOptions",
1723
1853
  "params": [
1724
- { "target": "VpcId", "sourceType": "identifier", "source": "Id" }
1854
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1725
1855
  ]
1726
1856
  }
1727
1857
  },
@@ -1729,7 +1859,7 @@
1729
1859
  "request": {
1730
1860
  "operation": "AttachInternetGateway",
1731
1861
  "params": [
1732
- { "target": "VpcId", "sourceType": "identifier", "source": "Id" }
1862
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1733
1863
  ]
1734
1864
  }
1735
1865
  },
@@ -1737,13 +1867,13 @@
1737
1867
  "request": {
1738
1868
  "operation": "CreateNetworkAcl",
1739
1869
  "params": [
1740
- { "target": "VpcId", "sourceType": "identifier", "source": "Id" }
1870
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1741
1871
  ]
1742
1872
  },
1743
1873
  "resource": {
1744
1874
  "type": "NetworkAcl",
1745
1875
  "identifiers": [
1746
- { "target": "Id", "sourceType": "responsePath", "source": "NetworkAcl.NetworkAclId" }
1876
+ { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" }
1747
1877
  ],
1748
1878
  "path": "NetworkAcl"
1749
1879
  }
@@ -1752,13 +1882,13 @@
1752
1882
  "request": {
1753
1883
  "operation": "CreateRouteTable",
1754
1884
  "params": [
1755
- { "target": "VpcId", "sourceType": "identifier", "source": "Id" }
1885
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1756
1886
  ]
1757
1887
  },
1758
1888
  "resource": {
1759
1889
  "type": "RouteTable",
1760
1890
  "identifiers": [
1761
- { "target": "Id", "sourceType": "responsePath", "source": "RouteTable.RouteTableId" }
1891
+ { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" }
1762
1892
  ],
1763
1893
  "path": "RouteTable"
1764
1894
  }
@@ -1767,13 +1897,13 @@
1767
1897
  "request": {
1768
1898
  "operation": "CreateSecurityGroup",
1769
1899
  "params": [
1770
- { "target": "VpcId", "sourceType": "identifier", "source": "Id" }
1900
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1771
1901
  ]
1772
1902
  },
1773
1903
  "resource": {
1774
1904
  "type": "SecurityGroup",
1775
1905
  "identifiers": [
1776
- { "target": "Id", "sourceType": "responsePath", "source": "GroupId" }
1906
+ { "target": "Id", "source": "response", "path": "GroupId" }
1777
1907
  ]
1778
1908
  }
1779
1909
  },
@@ -1781,13 +1911,13 @@
1781
1911
  "request": {
1782
1912
  "operation": "CreateSubnet",
1783
1913
  "params": [
1784
- { "target": "VpcId", "sourceType": "identifier", "source": "Id" }
1914
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1785
1915
  ]
1786
1916
  },
1787
1917
  "resource": {
1788
1918
  "type": "Subnet",
1789
1919
  "identifiers": [
1790
- { "target": "Id", "sourceType": "responsePath", "source": "Subnet.SubnetId" }
1920
+ { "target": "Id", "source": "response", "path": "Subnet.SubnetId" }
1791
1921
  ],
1792
1922
  "path": "Subnet"
1793
1923
  }
@@ -1796,15 +1926,15 @@
1796
1926
  "request": {
1797
1927
  "operation": "CreateTags",
1798
1928
  "params": [
1799
- { "target": "Resources[0]", "sourceType": "identifier", "source": "Id" }
1929
+ { "target": "Resources[0]", "source": "identifier", "name": "Id" }
1800
1930
  ]
1801
1931
  },
1802
1932
  "resource": {
1803
1933
  "type": "Tag",
1804
1934
  "identifiers": [
1805
- { "target": "ResourceId", "sourceType": "identifier", "source": "Id" },
1806
- { "target": "Key", "sourceType": "requestParameter", "source": "Tags[].Key" },
1807
- { "target": "Value", "sourceType": "requestParameter", "source": "Tags[].Value" }
1935
+ { "target": "ResourceId", "source": "identifier", "name": "Id" },
1936
+ { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" },
1937
+ { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" }
1808
1938
  ]
1809
1939
  }
1810
1940
  },
@@ -1812,7 +1942,7 @@
1812
1942
  "request": {
1813
1943
  "operation": "DeleteVpc",
1814
1944
  "params": [
1815
- { "target": "VpcId", "sourceType": "identifier", "source": "Id" }
1945
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1816
1946
  ]
1817
1947
  }
1818
1948
  },
@@ -1820,7 +1950,7 @@
1820
1950
  "request": {
1821
1951
  "operation": "DescribeVpcAttribute",
1822
1952
  "params": [
1823
- { "target": "VpcId", "sourceType": "identifier", "source": "Id" }
1953
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1824
1954
  ]
1825
1955
  }
1826
1956
  },
@@ -1828,7 +1958,7 @@
1828
1958
  "request": {
1829
1959
  "operation": "DetachInternetGateway",
1830
1960
  "params": [
1831
- { "target": "VpcId", "sourceType": "identifier", "source": "Id" }
1961
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1832
1962
  ]
1833
1963
  }
1834
1964
  },
@@ -1836,7 +1966,7 @@
1836
1966
  "request": {
1837
1967
  "operation": "ModifyVpcAttribute",
1838
1968
  "params": [
1839
- { "target": "VpcId", "sourceType": "identifier", "source": "Id" }
1969
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1840
1970
  ]
1841
1971
  }
1842
1972
  },
@@ -1844,31 +1974,41 @@
1844
1974
  "request": {
1845
1975
  "operation": "CreateVpcPeeringConnection",
1846
1976
  "params": [
1847
- { "target": "VpcId", "sourceType": "identifier", "source": "Id" }
1977
+ { "target": "VpcId", "source": "identifier", "name": "Id" }
1848
1978
  ]
1849
1979
  },
1850
1980
  "resource": {
1851
1981
  "type": "VpcPeeringConnection",
1852
1982
  "identifiers": [
1853
- { "target": "Id", "sourceType": "responsePath", "source": "VpcPeeringConnection.VpcPeeringConnectionId" }
1983
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" }
1854
1984
  ],
1855
1985
  "path": "VpcPeeringConnection"
1856
1986
  }
1857
1987
  }
1858
1988
  },
1989
+ "has": {
1990
+ "DhcpOptions": {
1991
+ "resource": {
1992
+ "type": "DhcpOptions",
1993
+ "identifiers": [
1994
+ { "target": "Id", "source": "data", "path": "DhcpOptionsId" }
1995
+ ]
1996
+ }
1997
+ }
1998
+ },
1859
1999
  "hasMany": {
1860
2000
  "AcceptedVpcPeeringConnections": {
1861
2001
  "request": {
1862
2002
  "operation": "DescribeVpcPeeringConnections",
1863
2003
  "params": [
1864
- { "target": "Filters[0].Name", "sourceType": "string", "source": "accepter-vpc-info.vpc-id" },
1865
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
2004
+ { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" },
2005
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1866
2006
  ]
1867
2007
  },
1868
2008
  "resource": {
1869
2009
  "type": "VpcPeeringConnection",
1870
2010
  "identifiers": [
1871
- { "target": "Id", "sourceType": "responsePath", "source": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2011
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
1872
2012
  ],
1873
2013
  "path": "VpcPeeringConnections[]"
1874
2014
  }
@@ -1877,14 +2017,14 @@
1877
2017
  "request": {
1878
2018
  "operation": "DescribeInstances",
1879
2019
  "params": [
1880
- { "target": "Filters[0].Name", "sourceType": "string", "source": "vpc-id" },
1881
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
2020
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2021
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1882
2022
  ]
1883
2023
  },
1884
2024
  "resource": {
1885
2025
  "type": "Instance",
1886
2026
  "identifiers": [
1887
- { "target": "Id", "sourceType": "responsePath", "source": "Reservations[].Instances[].InstanceId" }
2027
+ { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" }
1888
2028
  ],
1889
2029
  "path": "Reservations[].Instances[]"
1890
2030
  }
@@ -1893,14 +2033,14 @@
1893
2033
  "request": {
1894
2034
  "operation": "DescribeInternetGateways",
1895
2035
  "params": [
1896
- { "target": "Filters[0].Name", "sourceType": "string", "source": "attachment.vpc-id" },
1897
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
2036
+ { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" },
2037
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1898
2038
  ]
1899
2039
  },
1900
2040
  "resource": {
1901
2041
  "type": "InternetGateway",
1902
2042
  "identifiers": [
1903
- { "target": "Id", "sourceType": "responsePath", "source": "InternetGateways[].InternetGatewayId" }
2043
+ { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" }
1904
2044
  ],
1905
2045
  "path": "InternetGateways[]"
1906
2046
  }
@@ -1909,14 +2049,14 @@
1909
2049
  "request": {
1910
2050
  "operation": "DescribeNetworkAcls",
1911
2051
  "params": [
1912
- { "target": "Filters[0].Name", "sourceType": "string", "source": "vpc-id" },
1913
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
2052
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2053
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1914
2054
  ]
1915
2055
  },
1916
2056
  "resource": {
1917
2057
  "type": "NetworkAcl",
1918
2058
  "identifiers": [
1919
- { "target": "Id", "sourceType": "responsePath", "source": "NetworkAcls[].NetworkAclId" }
2059
+ { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" }
1920
2060
  ],
1921
2061
  "path": "NetworkAcls[]"
1922
2062
  }
@@ -1925,14 +2065,14 @@
1925
2065
  "request": {
1926
2066
  "operation": "DescribeNetworkInterfaces",
1927
2067
  "params": [
1928
- { "target": "Filters[0].Name", "sourceType": "string", "source": "vpc-id" },
1929
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
2068
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2069
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1930
2070
  ]
1931
2071
  },
1932
2072
  "resource": {
1933
2073
  "type": "NetworkInterface",
1934
2074
  "identifiers": [
1935
- { "target": "Id", "sourceType": "responsePath", "source": "NetworkInterfaces[].NetworkInterfaceId" }
2075
+ { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" }
1936
2076
  ],
1937
2077
  "path": "NetworkInterfaces[]"
1938
2078
  }
@@ -1941,14 +2081,14 @@
1941
2081
  "request": {
1942
2082
  "operation": "DescribeVpcPeeringConnections",
1943
2083
  "params": [
1944
- { "target": "Filters[0].Name", "sourceType": "string", "source": "requester-vpc-info.vpc-id" },
1945
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
2084
+ { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" },
2085
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1946
2086
  ]
1947
2087
  },
1948
2088
  "resource": {
1949
2089
  "type": "VpcPeeringConnection",
1950
2090
  "identifiers": [
1951
- { "target": "Id", "sourceType": "responsePath", "source": "VpcPeeringConnections[].VpcPeeringConnectionId" }
2091
+ { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" }
1952
2092
  ],
1953
2093
  "path": "VpcPeeringConnections[]"
1954
2094
  }
@@ -1957,14 +2097,14 @@
1957
2097
  "request": {
1958
2098
  "operation": "DescribeRouteTables",
1959
2099
  "params": [
1960
- { "target": "Filters[0].Name", "sourceType": "string", "source": "vpc-id" },
1961
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
2100
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2101
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1962
2102
  ]
1963
2103
  },
1964
2104
  "resource": {
1965
2105
  "type": "RouteTable",
1966
2106
  "identifiers": [
1967
- { "target": "Id", "sourceType": "responsePath", "source": "RouteTables[].RouteTableId" }
2107
+ { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" }
1968
2108
  ],
1969
2109
  "path": "RouteTables[]"
1970
2110
  }
@@ -1973,14 +2113,14 @@
1973
2113
  "request": {
1974
2114
  "operation": "DescribeSecurityGroups",
1975
2115
  "params": [
1976
- { "target": "Filters[0].Name", "sourceType": "string", "source": "vpc-id" },
1977
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
2116
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2117
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1978
2118
  ]
1979
2119
  },
1980
2120
  "resource": {
1981
2121
  "type": "SecurityGroup",
1982
2122
  "identifiers": [
1983
- { "target": "Id", "sourceType": "responsePath", "source": "SecurityGroups[].GroupId" }
2123
+ { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" }
1984
2124
  ],
1985
2125
  "path": "SecurityGroups[]"
1986
2126
  }
@@ -1989,28 +2129,18 @@
1989
2129
  "request": {
1990
2130
  "operation": "DescribeSubnets",
1991
2131
  "params": [
1992
- { "target": "Filters[0].Name", "sourceType": "string", "source": "vpc-id" },
1993
- { "target": "Filters[0].Values[0]", "sourceType": "identifier", "source": "Id" }
2132
+ { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" },
2133
+ { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" }
1994
2134
  ]
1995
2135
  },
1996
2136
  "resource": {
1997
2137
  "type": "Subnet",
1998
2138
  "identifiers": [
1999
- { "target": "Id", "sourceType": "responsePath", "source": "Subnets[].SubnetId" }
2139
+ { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" }
2000
2140
  ],
2001
2141
  "path": "Subnets[]"
2002
2142
  }
2003
2143
  }
2004
- },
2005
- "belongsTo": {
2006
- "DhcpOptions": {
2007
- "resource": {
2008
- "type": "DhcpOptions",
2009
- "identifiers": [
2010
- { "target": "Id", "sourceType": "dataMember", "source": "DhcpOptionsId" }
2011
- ]
2012
- }
2013
- }
2014
2144
  }
2015
2145
  },
2016
2146
  "VpcPeeringConnection": {
@@ -2025,7 +2155,7 @@
2025
2155
  "request": {
2026
2156
  "operation": "DescribeVpcPeeringConnections",
2027
2157
  "params": [
2028
- { "target": "VpcPeeringConnectionIds[0]", "sourceType": "identifier", "source": "Id" }
2158
+ { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" }
2029
2159
  ]
2030
2160
  },
2031
2161
  "path": "VpcPeeringConnections[0]"
@@ -2035,7 +2165,7 @@
2035
2165
  "request": {
2036
2166
  "operation": "AcceptVpcPeeringConnection",
2037
2167
  "params": [
2038
- { "target": "VpcPeeringConnectionId", "sourceType": "identifier", "source": "Id" }
2168
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2039
2169
  ]
2040
2170
  }
2041
2171
  },
@@ -2043,7 +2173,7 @@
2043
2173
  "request": {
2044
2174
  "operation": "DeleteVpcPeeringConnection",
2045
2175
  "params": [
2046
- { "target": "VpcPeeringConnectionId", "sourceType": "identifier", "source": "Id" }
2176
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2047
2177
  ]
2048
2178
  }
2049
2179
  },
@@ -2051,17 +2181,17 @@
2051
2181
  "request": {
2052
2182
  "operation": "RejectVpcPeeringConnection",
2053
2183
  "params": [
2054
- { "target": "VpcPeeringConnectionId", "sourceType": "identifier", "source": "Id" }
2184
+ { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" }
2055
2185
  ]
2056
2186
  }
2057
2187
  }
2058
2188
  },
2059
- "belongsTo": {
2189
+ "has": {
2060
2190
  "AccepterVpc": {
2061
2191
  "resource": {
2062
2192
  "type": "Vpc",
2063
2193
  "identifiers": [
2064
- { "target": "Id", "sourceType": "dataMember", "source": "AccepterVpcInfo.VpcId" }
2194
+ { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" }
2065
2195
  ]
2066
2196
  }
2067
2197
  },
@@ -2069,7 +2199,7 @@
2069
2199
  "resource": {
2070
2200
  "type": "Vpc",
2071
2201
  "identifiers": [
2072
- { "target": "Id", "sourceType": "dataMember", "source": "RequesterVpcInfo.VpcId" }
2202
+ { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" }
2073
2203
  ]
2074
2204
  }
2075
2205
  }