aws-sdk-core 2.0.18 → 2.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  }