aws-sdk-core 2.0.18 → 2.0.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/apis/CloudFormation.resources.json +55 -20
  3. data/apis/CloudFront.waiters.json +35 -17
  4. data/apis/DynamoDB.waiters.json +27 -17
  5. data/apis/EC2.api.json +5 -0
  6. data/apis/EC2.resources.json +449 -319
  7. data/apis/EC2.waiters.json +389 -139
  8. data/apis/{EMR.waiters2.json → EMR.waiters.json} +0 -0
  9. data/apis/ElasticTranscoder.api.json +34 -3
  10. data/apis/ElasticTranscoder.waiters.json +22 -8
  11. data/apis/Glacier.resources.json +215 -117
  12. data/apis/Glacier.waiters.json +31 -15
  13. data/apis/IAM.resources.json +380 -169
  14. data/apis/{Kinesis.waiters2.json → Kinesis.waiters.json} +0 -0
  15. data/apis/OpsWorks.resources.json +51 -17
  16. data/apis/RDS.waiters.json +87 -26
  17. data/apis/Redshift.waiters.json +54 -29
  18. data/apis/S3.resources.json +404 -143
  19. data/apis/S3.waiters.json +47 -16
  20. data/apis/SES.waiters.json +11 -7
  21. data/apis/SNS.resources.json +67 -33
  22. data/apis/SQS.resources.json +57 -30
  23. data/lib/aws-sdk-core.rb +1 -0
  24. data/lib/aws-sdk-core/api/documenter.rb +4 -3
  25. data/lib/aws-sdk-core/api/service_customizations.rb +0 -6
  26. data/lib/aws-sdk-core/client_waiters.rb +65 -50
  27. data/lib/aws-sdk-core/emr.rb +1 -0
  28. data/lib/aws-sdk-core/errors.rb +4 -0
  29. data/lib/aws-sdk-core/instance_profile_credentials.rb +1 -0
  30. data/lib/aws-sdk-core/kinesis.rb +1 -0
  31. data/lib/aws-sdk-core/paging/pager.rb +5 -1
  32. data/lib/aws-sdk-core/refreshing_credentials.rb +2 -0
  33. data/lib/aws-sdk-core/version.rb +1 -1
  34. data/lib/aws-sdk-core/waiters/errors.rb +50 -12
  35. data/lib/aws-sdk-core/waiters/poller.rb +105 -0
  36. data/lib/aws-sdk-core/waiters/provider.rb +11 -30
  37. data/lib/aws-sdk-core/waiters/waiter.rb +42 -102
  38. metadata +5 -12
  39. data/apis/CloudFront.waiters2.json +0 -47
  40. data/apis/DynamoDB.waiters2.json +0 -35
  41. data/apis/EC2.waiters2.json +0 -341
  42. data/apis/ElasticTranscoder.waiters2.json +0 -30
  43. data/apis/RDS.waiters2.json +0 -97
  44. data/apis/Redshift.waiters2.json +0 -97
  45. data/apis/S3.waiters2.json +0 -63
  46. data/apis/SES.waiters2.json +0 -18
@@ -6,7 +6,25 @@
6
6
  "resource": {
7
7
  "type": "Stack",
8
8
  "identifiers": [
9
- { "target": "Id", "sourceType": "responsePath", "source": "StackId" }
9
+ { "target": "Id", "source": "response", "path": "StackId" }
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ "has": {
15
+ "Layer": {
16
+ "resource": {
17
+ "type": "Layer",
18
+ "identifiers": [
19
+ { "target": "Id", "source": "input" }
20
+ ]
21
+ }
22
+ },
23
+ "Stack": {
24
+ "resource": {
25
+ "type": "Stack",
26
+ "identifiers": [
27
+ { "target": "Id", "source": "input" }
10
28
  ]
11
29
  }
12
30
  }
@@ -17,7 +35,7 @@
17
35
  "resource": {
18
36
  "type": "Stack",
19
37
  "identifiers": [
20
- { "target": "Id", "sourceType": "responsePath", "source": "Stacks[].StackId" }
38
+ { "target": "Id", "source": "response", "path": "Stacks[].StackId" }
21
39
  ],
22
40
  "path": "Stacks[]"
23
41
  }
@@ -34,7 +52,7 @@
34
52
  "request": {
35
53
  "operation": "DescribeLayers",
36
54
  "params": [
37
- { "target": "LayerIds[]", "sourceType": "identifier", "source": "Id" }
55
+ { "target": "LayerIds[]", "source": "identifier", "name": "Id" }
38
56
  ]
39
57
  },
40
58
  "path": "Layers[0]"
@@ -44,17 +62,17 @@
44
62
  "request": {
45
63
  "operation": "DeleteLayer",
46
64
  "params": [
47
- { "target": "LayerId", "sourceType": "identifier", "source": "Id" }
65
+ { "target": "LayerId", "source": "identifier", "name": "Id" }
48
66
  ]
49
67
  }
50
68
  }
51
69
  },
52
- "belongsTo": {
70
+ "has": {
53
71
  "Stack": {
54
72
  "resource": {
55
73
  "type": "Stack",
56
74
  "identifiers": [
57
- { "target": "Id", "sourceType": "dataMember", "source": "StackId" }
75
+ { "target": "Id", "source": "data", "path": "StackId" }
58
76
  ]
59
77
  }
60
78
  }
@@ -69,7 +87,7 @@
69
87
  "request": {
70
88
  "operation": "DescribeStacks",
71
89
  "params": [
72
- { "target": "StackIds[]", "sourceType": "identifier", "source": "Id" }
90
+ { "target": "StackIds[]", "source": "identifier", "name": "Id" }
73
91
  ]
74
92
  },
75
93
  "path": "Stacks[0]"
@@ -79,13 +97,13 @@
79
97
  "request": {
80
98
  "operation": "CreateLayer",
81
99
  "params": [
82
- { "target": "StackId", "sourceType": "identifier", "source": "Id" }
100
+ { "target": "StackId", "source": "identifier", "name": "Id" }
83
101
  ]
84
102
  },
85
103
  "resource": {
86
104
  "type": "Layer",
87
105
  "identifiers": [
88
- { "target": "Id", "sourceType": "responsePath", "source": "LayerId" }
106
+ { "target": "Id", "source": "response", "path": "LayerId" }
89
107
  ]
90
108
  }
91
109
  },
@@ -93,7 +111,17 @@
93
111
  "request": {
94
112
  "operation": "DeleteStack",
95
113
  "params": [
96
- { "target": "StackId", "sourceType": "identifier", "source": "Id" }
114
+ { "target": "StackId", "source": "identifier", "name": "Id" }
115
+ ]
116
+ }
117
+ }
118
+ },
119
+ "has": {
120
+ "Summary": {
121
+ "resource": {
122
+ "type": "StackSummary",
123
+ "identifiers": [
124
+ { "target": "StackId", "source": "identifier", "name": "Id" }
97
125
  ]
98
126
  }
99
127
  }
@@ -103,21 +131,17 @@
103
131
  "request": {
104
132
  "operation": "DescribeLayers",
105
133
  "params": [
106
- { "target": "StackId", "sourceType": "identifier", "source": "Id" }
134
+ { "target": "StackId", "source": "identifier", "name": "Id" }
107
135
  ]
108
136
  },
109
137
  "resource": {
110
138
  "type": "Layer",
111
139
  "identifiers": [
112
- { "target": "Id", "sourceType": "responsePath", "source": "Layers[].LayerId" }
140
+ { "target": "Id", "source": "response", "path": "Layers[].LayerId" }
113
141
  ],
114
142
  "path": "Layers[]"
115
143
  }
116
144
  }
117
- },
118
- "subResources": {
119
- "resources": [ "StackSummary" ],
120
- "identifiers": { "Id": "StackId" }
121
145
  }
122
146
  },
123
147
  "StackSummary": {
@@ -129,10 +153,20 @@
129
153
  "request": {
130
154
  "operation": "DescribeStackSummary",
131
155
  "params": [
132
- { "target": "StackId", "sourceType": "identifier", "source": "StackId" }
156
+ { "target": "StackId", "source": "identifier", "name": "StackId" }
133
157
  ]
134
158
  },
135
159
  "path": "StackSummary"
160
+ },
161
+ "has": {
162
+ "Stack": {
163
+ "resource": {
164
+ "type": "Stack",
165
+ "identifiers": [
166
+ { "target": "Id", "source": "identifier", "name": "StackId" }
167
+ ]
168
+ }
169
+ }
136
170
  }
137
171
  }
138
172
  }
@@ -1,35 +1,96 @@
1
1
  {
2
+ "version": 2,
2
3
  "waiters": {
3
- "__default__": {
4
- "interval": 30,
5
- "max_attempts": 60
6
- },
7
- "__DBInstanceState": {
8
- "operation": "DescribeDBInstances",
9
- "acceptor_path": "DBInstances[].DBInstanceStatus",
10
- "acceptor_type": "output"
11
- },
12
4
  "DBInstanceAvailable": {
13
- "extends": "__DBInstanceState",
14
- "success_value": "available",
15
- "failure_value": [
16
- "deleted",
17
- "deleting",
18
- "failed",
19
- "incompatible-restore",
20
- "incompatible-parameters",
21
- "incompatible-parameters",
22
- "incompatible-restore"
5
+ "delay": 30,
6
+ "operation": "DescribeDBInstances",
7
+ "maxAttempts": 60,
8
+ "acceptors": [
9
+ {
10
+ "expected": "available",
11
+ "matcher": "pathAll",
12
+ "state": "success",
13
+ "argument": "DBInstances[].DBInstanceStatus"
14
+ },
15
+ {
16
+ "expected": "deleted",
17
+ "matcher": "pathAny",
18
+ "state": "failure",
19
+ "argument": "DBInstances[].DBInstanceStatus"
20
+ },
21
+ {
22
+ "expected": "deleting",
23
+ "matcher": "pathAny",
24
+ "state": "failure",
25
+ "argument": "DBInstances[].DBInstanceStatus"
26
+ },
27
+ {
28
+ "expected": "failed",
29
+ "matcher": "pathAny",
30
+ "state": "failure",
31
+ "argument": "DBInstances[].DBInstanceStatus"
32
+ },
33
+ {
34
+ "expected": "incompatible-restore",
35
+ "matcher": "pathAny",
36
+ "state": "failure",
37
+ "argument": "DBInstances[].DBInstanceStatus"
38
+ },
39
+ {
40
+ "expected": "incompatible-parameters",
41
+ "matcher": "pathAny",
42
+ "state": "failure",
43
+ "argument": "DBInstances[].DBInstanceStatus"
44
+ },
45
+ {
46
+ "expected": "incompatible-parameters",
47
+ "matcher": "pathAny",
48
+ "state": "failure",
49
+ "argument": "DBInstances[].DBInstanceStatus"
50
+ },
51
+ {
52
+ "expected": "incompatible-restore",
53
+ "matcher": "pathAny",
54
+ "state": "failure",
55
+ "argument": "DBInstances[].DBInstanceStatus"
56
+ }
23
57
  ]
24
58
  },
25
59
  "DBInstanceDeleted": {
26
- "extends": "__DBInstanceState",
27
- "success_value": "deleted",
28
- "failure_value": [
29
- "creating",
30
- "modifying",
31
- "rebooting",
32
- "resetting-master-credentials"
60
+ "delay": 30,
61
+ "operation": "DescribeDBInstances",
62
+ "maxAttempts": 60,
63
+ "acceptors": [
64
+ {
65
+ "expected": "deleted",
66
+ "matcher": "pathAll",
67
+ "state": "success",
68
+ "argument": "DBInstances[].DBInstanceStatus"
69
+ },
70
+ {
71
+ "expected": "creating",
72
+ "matcher": "pathAny",
73
+ "state": "failure",
74
+ "argument": "DBInstances[].DBInstanceStatus"
75
+ },
76
+ {
77
+ "expected": "modifying",
78
+ "matcher": "pathAny",
79
+ "state": "failure",
80
+ "argument": "DBInstances[].DBInstanceStatus"
81
+ },
82
+ {
83
+ "expected": "rebooting",
84
+ "matcher": "pathAny",
85
+ "state": "failure",
86
+ "argument": "DBInstances[].DBInstanceStatus"
87
+ },
88
+ {
89
+ "expected": "resetting-master-credentials",
90
+ "matcher": "pathAny",
91
+ "state": "failure",
92
+ "argument": "DBInstances[].DBInstanceStatus"
93
+ }
33
94
  ]
34
95
  }
35
96
  }
@@ -1,42 +1,67 @@
1
1
  {
2
+ "version": 2,
2
3
  "waiters": {
3
- "__default__": {
4
- "acceptor_type": "output"
5
- },
6
- "__ClusterState": {
7
- "interval": 60,
8
- "max_attempts": 30,
9
- "operation": "DescribeClusters",
10
- "acceptor_path": "Clusters[].ClusterStatus"
11
- },
12
4
  "ClusterAvailable": {
13
- "extends": "__ClusterState",
14
- "ignore_errors": [
15
- "ClusterNotFound"
16
- ],
17
- "success_value": "available",
18
- "failure_value": [
19
- "deleting"
5
+ "operation": "DescribeClusters",
6
+ "maxAttempts": 30,
7
+ "delay": 60,
8
+ "acceptors": [
9
+ {
10
+ "state": "success",
11
+ "matcher": "pathAll",
12
+ "argument": "Clusters[].ClusterStatus",
13
+ "expected": "available"
14
+ },
15
+ {
16
+ "state": "failure",
17
+ "matcher": "pathAny",
18
+ "argument": "Clusters[].ClusterStatus",
19
+ "expected": "deleting"
20
+ }
20
21
  ]
21
22
  },
22
23
  "ClusterDeleted": {
23
- "extends": "__ClusterState",
24
- "success_type": "error",
25
- "success_value": "ClusterNotFound",
26
- "failure_value": [
27
- "creating",
28
- "rebooting"
24
+ "operation": "DescribeClusters",
25
+ "maxAttempts": 30,
26
+ "delay": 60,
27
+ "acceptors": [
28
+ {
29
+ "state": "success",
30
+ "matcher": "error",
31
+ "expected": "ClusterNotFound"
32
+ },
33
+ {
34
+ "state": "failure",
35
+ "matcher": "pathAny",
36
+ "argument": "Clusters[].ClusterStatus",
37
+ "expected": "creating"
38
+ },
39
+ {
40
+ "state": "failure",
41
+ "matcher": "pathAny",
42
+ "argument": "Clusters[].ClusterStatus",
43
+ "expected": "rebooting"
44
+ }
29
45
  ]
30
46
  },
31
47
  "SnapshotAvailable": {
32
- "interval": 15,
33
- "max_attempts": 20,
34
48
  "operation": "DescribeClusterSnapshots",
35
- "acceptor_path": "Snapshots[].Status",
36
- "success_value": "available",
37
- "failure_value": [
38
- "failed",
39
- "deleted"
49
+ "maxAttempts": 20,
50
+ "delay": 15,
51
+ "acceptors": [
52
+ {
53
+ "state": "success",
54
+ "matcher": "pathAll",
55
+ "argument": "Snapshots[].Status",
56
+ "expected": "available"
57
+ },
58
+ {
59
+ "state": "failure",
60
+ "matcher": "pathAny",
61
+ "argument": "Snapshots[].Status",
62
+ "expected": "failed",
63
+ "expected": "deleted"
64
+ }
40
65
  ]
41
66
  }
42
67
  }
@@ -6,7 +6,17 @@
6
6
  "resource": {
7
7
  "type": "Bucket",
8
8
  "identifiers": [
9
- { "target": "Name", "sourceType": "requestParameter", "source": "Bucket" }
9
+ { "target": "Name", "source": "requestParameter", "path": "Bucket" }
10
+ ]
11
+ }
12
+ }
13
+ },
14
+ "has": {
15
+ "Bucket": {
16
+ "resource": {
17
+ "type": "Bucket",
18
+ "identifiers": [
19
+ { "target": "Name", "source": "input" }
10
20
  ]
11
21
  }
12
22
  }
@@ -17,7 +27,7 @@
17
27
  "resource": {
18
28
  "type": "Bucket",
19
29
  "identifiers": [
20
- { "target": "Name", "sourceType": "responsePath", "source": "Buckets[].Name" }
30
+ { "target": "Name", "source": "response", "path": "Buckets[].Name" }
21
31
  ],
22
32
  "path": "Buckets[]"
23
33
  }
@@ -35,7 +45,7 @@
35
45
  "request": {
36
46
  "operation": "CreateBucket",
37
47
  "params": [
38
- { "target": "Bucket", "sourceType": "identifier", "source": "Name" }
48
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
39
49
  ]
40
50
  }
41
51
  },
@@ -43,7 +53,7 @@
43
53
  "request": {
44
54
  "operation": "DeleteBucket",
45
55
  "params": [
46
- { "target": "Bucket", "sourceType": "identifier", "source": "Name" }
56
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
47
57
  ]
48
58
  }
49
59
  },
@@ -51,7 +61,7 @@
51
61
  "request": {
52
62
  "operation": "DeleteObjects",
53
63
  "params": [
54
- { "target": "Bucket", "sourceType": "identifier", "source": "Name" }
64
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
55
65
  ]
56
66
  }
57
67
  },
@@ -59,14 +69,14 @@
59
69
  "request": {
60
70
  "operation": "PutObject",
61
71
  "params": [
62
- { "target": "Bucket", "sourceType": "identifier", "source": "Name" }
72
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
63
73
  ]
64
74
  },
65
75
  "resource": {
66
76
  "type": "Object",
67
77
  "identifiers": [
68
- { "target": "BucketName", "sourceType": "identifier", "source": "Name" },
69
- { "target": "Key", "sourceType": "requestParameter", "source": "Key" }
78
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
79
+ { "target": "Key", "source": "requestParameter", "path": "Key" }
70
80
  ]
71
81
  }
72
82
  }
@@ -75,30 +85,121 @@
75
85
  "Exists": {
76
86
  "waiterName": "BucketExists",
77
87
  "params": [
78
- { "target": "Bucket", "sourceType": "identifier", "source": "Name" }
88
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
79
89
  ]
80
90
  },
81
91
  "NotExists": {
82
92
  "waiterName": "BucketNotExists",
83
93
  "params": [
84
- { "target": "Bucket", "sourceType": "identifier", "source": "Name" }
94
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
85
95
  ]
86
96
  }
87
97
  },
98
+ "has": {
99
+ "Acl": {
100
+ "resource": {
101
+ "type": "BucketAcl",
102
+ "identifiers": [
103
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
104
+ ]
105
+ }
106
+ },
107
+ "Cors": {
108
+ "resource": {
109
+ "type": "BucketCors",
110
+ "identifiers": [
111
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
112
+ ]
113
+ }
114
+ },
115
+ "Lifecycle": {
116
+ "resource": {
117
+ "type": "BucketLifecycle",
118
+ "identifiers": [
119
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
120
+ ]
121
+ }
122
+ },
123
+ "Logging": {
124
+ "resource": {
125
+ "type": "BucketLogging",
126
+ "identifiers": [
127
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
128
+ ]
129
+ }
130
+ },
131
+ "Notification": {
132
+ "resource": {
133
+ "type": "BucketNotification",
134
+ "identifiers": [
135
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
136
+ ]
137
+ }
138
+ },
139
+ "Object": {
140
+ "resource": {
141
+ "type": "Object",
142
+ "identifiers": [
143
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
144
+ { "target": "Key", "source": "input" }
145
+ ]
146
+ }
147
+ },
148
+ "Policy": {
149
+ "resource": {
150
+ "type": "BucketPolicy",
151
+ "identifiers": [
152
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
153
+ ]
154
+ }
155
+ },
156
+ "RequestPayment": {
157
+ "resource": {
158
+ "type": "BucketRequestPayment",
159
+ "identifiers": [
160
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
161
+ ]
162
+ }
163
+ },
164
+ "Tagging": {
165
+ "resource": {
166
+ "type": "BucketTagging",
167
+ "identifiers": [
168
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
169
+ ]
170
+ }
171
+ },
172
+ "Versioning": {
173
+ "resource": {
174
+ "type": "BucketVersioning",
175
+ "identifiers": [
176
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
177
+ ]
178
+ }
179
+ },
180
+ "Website": {
181
+ "resource": {
182
+ "type": "BucketWebsite",
183
+ "identifiers": [
184
+ { "target": "BucketName", "source": "identifier", "name": "Name" }
185
+ ]
186
+ }
187
+ }
188
+ },
88
189
  "hasMany": {
89
190
  "MultipartUploads": {
90
191
  "request": {
91
192
  "operation": "ListMultipartUploads",
92
193
  "params": [
93
- { "target": "Bucket", "sourceType": "identifier", "source": "Name" }
194
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
94
195
  ]
95
196
  },
96
197
  "resource": {
97
198
  "type": "MultipartUpload",
98
199
  "identifiers": [
99
- { "target": "BucketName", "sourceType": "identifier", "source": "Name" },
100
- { "target": "ObjectKey", "sourceType": "responsePath", "source": "Uploads[].Key" },
101
- { "target": "Id", "sourceType": "responsePath", "source": "Uploads[].UploadId" }
200
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
201
+ { "target": "ObjectKey", "source": "response", "path": "Uploads[].Key" },
202
+ { "target": "Id", "source": "response", "path": "Uploads[].UploadId" }
102
203
  ],
103
204
  "path": "Uploads[]"
104
205
  }
@@ -107,15 +208,15 @@
107
208
  "request": {
108
209
  "operation": "ListObjectVersions",
109
210
  "params": [
110
- { "target": "Bucket", "sourceType": "identifier", "source": "Name" }
211
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
111
212
  ]
112
213
  },
113
214
  "resource": {
114
215
  "type": "ObjectVersion",
115
216
  "identifiers": [
116
- { "target": "BucketName", "sourceType": "identifier", "source": "Name" },
117
- { "target": "ObjectKey", "sourceType": "responsePath", "source": "[Versions,DeleteMarkers]|[].Key" },
118
- { "target": "Id", "sourceType": "responsePath", "source": "[Versions,DeleteMarkers]|[].VersionId" }
217
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
218
+ { "target": "ObjectKey", "source": "response", "path": "[Versions,DeleteMarkers]|[].Key" },
219
+ { "target": "Id", "source": "response", "path": "[Versions,DeleteMarkers]|[].VersionId" }
119
220
  ],
120
221
  "path": "[Versions,DeleteMarkers]|[]"
121
222
  }
@@ -124,33 +225,17 @@
124
225
  "request": {
125
226
  "operation": "ListObjects",
126
227
  "params": [
127
- { "target": "Bucket", "sourceType": "identifier", "source": "Name" }
228
+ { "target": "Bucket", "source": "identifier", "name": "Name" }
128
229
  ]
129
230
  },
130
231
  "resource": {
131
232
  "type": "Object",
132
233
  "identifiers": [
133
- { "target": "BucketName", "sourceType": "identifier", "source": "Name" },
134
- { "target": "Key", "sourceType": "responsePath", "source": "Contents[].Key" }
234
+ { "target": "BucketName", "source": "identifier", "name": "Name" },
235
+ { "target": "Key", "source": "response", "path": "Contents[].Key" }
135
236
  ]
136
237
  }
137
238
  }
138
- },
139
- "subResources": {
140
- "resources": [
141
- "BucketAcl",
142
- "BucketCors",
143
- "BucketLifecycle",
144
- "BucketLogging",
145
- "BucketPolicy",
146
- "BucketNotification",
147
- "BucketRequestPayment",
148
- "BucketTagging",
149
- "BucketVersioning",
150
- "BucketWebsite",
151
- "Object"
152
- ],
153
- "identifiers": { "Name": "BucketName" }
154
239
  }
155
240
  },
156
241
  "BucketAcl": {
@@ -162,7 +247,7 @@
162
247
  "request": {
163
248
  "operation": "GetBucketAcl",
164
249
  "params": [
165
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
250
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
166
251
  ]
167
252
  },
168
253
  "path": "@"
@@ -172,7 +257,17 @@
172
257
  "request": {
173
258
  "operation": "PutBucketAcl",
174
259
  "params": [
175
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
260
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
261
+ ]
262
+ }
263
+ }
264
+ },
265
+ "has": {
266
+ "Bucket": {
267
+ "resource": {
268
+ "type": "Bucket",
269
+ "identifiers": [
270
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
176
271
  ]
177
272
  }
178
273
  }
@@ -187,7 +282,7 @@
187
282
  "request": {
188
283
  "operation": "GetBucketCors",
189
284
  "params": [
190
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
285
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
191
286
  ]
192
287
  },
193
288
  "path": "@"
@@ -197,7 +292,7 @@
197
292
  "request": {
198
293
  "operation": "DeleteBucketCors",
199
294
  "params": [
200
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
295
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
201
296
  ]
202
297
  }
203
298
  },
@@ -205,7 +300,17 @@
205
300
  "request": {
206
301
  "operation": "PutBucketCors",
207
302
  "params": [
208
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
303
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
304
+ ]
305
+ }
306
+ }
307
+ },
308
+ "has": {
309
+ "Bucket": {
310
+ "resource": {
311
+ "type": "Bucket",
312
+ "identifiers": [
313
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
209
314
  ]
210
315
  }
211
316
  }
@@ -220,7 +325,7 @@
220
325
  "request": {
221
326
  "operation": "GetBucketLifecycle",
222
327
  "params": [
223
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
328
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
224
329
  ]
225
330
  },
226
331
  "path": "@"
@@ -230,7 +335,7 @@
230
335
  "request": {
231
336
  "operation": "DeleteBucketLifecycle",
232
337
  "params": [
233
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
338
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
234
339
  ]
235
340
  }
236
341
  },
@@ -238,7 +343,17 @@
238
343
  "request": {
239
344
  "operation": "PutBucketLifecycle",
240
345
  "params": [
241
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
346
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
347
+ ]
348
+ }
349
+ }
350
+ },
351
+ "has": {
352
+ "Bucket": {
353
+ "resource": {
354
+ "type": "Bucket",
355
+ "identifiers": [
356
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
242
357
  ]
243
358
  }
244
359
  }
@@ -253,7 +368,7 @@
253
368
  "request": {
254
369
  "operation": "GetBucketLogging",
255
370
  "params": [
256
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
371
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
257
372
  ]
258
373
  },
259
374
  "path": "@"
@@ -263,7 +378,17 @@
263
378
  "request": {
264
379
  "operation": "PutBucketLogging",
265
380
  "params": [
266
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
381
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
382
+ ]
383
+ }
384
+ }
385
+ },
386
+ "has": {
387
+ "Bucket": {
388
+ "resource": {
389
+ "type": "Bucket",
390
+ "identifiers": [
391
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
267
392
  ]
268
393
  }
269
394
  }
@@ -278,7 +403,7 @@
278
403
  "request": {
279
404
  "operation": "GetBucketNotification",
280
405
  "params": [
281
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
406
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
282
407
  ]
283
408
  },
284
409
  "path": "@"
@@ -288,7 +413,17 @@
288
413
  "request": {
289
414
  "operation": "PutBucketNotification",
290
415
  "params": [
291
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
416
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
417
+ ]
418
+ }
419
+ }
420
+ },
421
+ "has": {
422
+ "Bucket": {
423
+ "resource": {
424
+ "type": "Bucket",
425
+ "identifiers": [
426
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
292
427
  ]
293
428
  }
294
429
  }
@@ -303,7 +438,7 @@
303
438
  "request": {
304
439
  "operation": "GetBucketPolicy",
305
440
  "params": [
306
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
441
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
307
442
  ]
308
443
  },
309
444
  "path": "@"
@@ -313,7 +448,7 @@
313
448
  "request": {
314
449
  "operation": "DeleteBucketPolicy",
315
450
  "params": [
316
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
451
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
317
452
  ]
318
453
  }
319
454
  },
@@ -321,7 +456,17 @@
321
456
  "request": {
322
457
  "operation": "PutBucketPolicy",
323
458
  "params": [
324
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
459
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
460
+ ]
461
+ }
462
+ }
463
+ },
464
+ "has": {
465
+ "Bucket": {
466
+ "resource": {
467
+ "type": "Bucket",
468
+ "identifiers": [
469
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
325
470
  ]
326
471
  }
327
472
  }
@@ -336,7 +481,7 @@
336
481
  "request": {
337
482
  "operation": "GetBucketRequestPayment",
338
483
  "params": [
339
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
484
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
340
485
  ]
341
486
  },
342
487
  "path": "@"
@@ -346,7 +491,17 @@
346
491
  "request": {
347
492
  "operation": "PutBucketRequestPayment",
348
493
  "params": [
349
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
494
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
495
+ ]
496
+ }
497
+ }
498
+ },
499
+ "has": {
500
+ "Bucket": {
501
+ "resource": {
502
+ "type": "Bucket",
503
+ "identifiers": [
504
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
350
505
  ]
351
506
  }
352
507
  }
@@ -361,7 +516,7 @@
361
516
  "request": {
362
517
  "operation": "GetBucketTagging",
363
518
  "params": [
364
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
519
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
365
520
  ]
366
521
  },
367
522
  "path": "@"
@@ -371,7 +526,7 @@
371
526
  "request": {
372
527
  "operation": "DeleteBucketTagging",
373
528
  "params": [
374
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
529
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
375
530
  ]
376
531
  }
377
532
  },
@@ -379,7 +534,17 @@
379
534
  "request": {
380
535
  "operation": "PutBucketTagging",
381
536
  "params": [
382
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
537
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
538
+ ]
539
+ }
540
+ }
541
+ },
542
+ "has": {
543
+ "Bucket": {
544
+ "resource": {
545
+ "type": "Bucket",
546
+ "identifiers": [
547
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
383
548
  ]
384
549
  }
385
550
  }
@@ -394,7 +559,7 @@
394
559
  "request": {
395
560
  "operation": "GetBucketVersioning",
396
561
  "params": [
397
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
562
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
398
563
  ]
399
564
  },
400
565
  "path": "@"
@@ -404,8 +569,8 @@
404
569
  "request": {
405
570
  "operation": "PutBucketVersioning",
406
571
  "params": [
407
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
408
- { "target": "VersioningConfiguration.Status", "sourceType": "string", "source": "Enabled" }
572
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
573
+ { "target": "VersioningConfiguration.Status", "source": "string", "value": "Enabled" }
409
574
  ]
410
575
  }
411
576
  },
@@ -413,7 +578,7 @@
413
578
  "request": {
414
579
  "operation": "PutBucketVersioning",
415
580
  "params": [
416
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
581
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
417
582
  ]
418
583
  }
419
584
  },
@@ -421,8 +586,18 @@
421
586
  "request": {
422
587
  "operation": "PutBucketVersioning",
423
588
  "params": [
424
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
425
- { "target": "VersioningConfiguration.Status", "sourceType": "string", "source": "Suspended" }
589
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
590
+ { "target": "VersioningConfiguration.Status", "source": "string", "value": "Suspended" }
591
+ ]
592
+ }
593
+ }
594
+ },
595
+ "has": {
596
+ "Bucket": {
597
+ "resource": {
598
+ "type": "Bucket",
599
+ "identifiers": [
600
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
426
601
  ]
427
602
  }
428
603
  }
@@ -437,7 +612,7 @@
437
612
  "request": {
438
613
  "operation": "GetBucketWebsite",
439
614
  "params": [
440
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
615
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
441
616
  ]
442
617
  },
443
618
  "path": "@"
@@ -447,7 +622,7 @@
447
622
  "request": {
448
623
  "operation": "DeleteBucketWebsite",
449
624
  "params": [
450
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
625
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
451
626
  ]
452
627
  }
453
628
  },
@@ -455,7 +630,17 @@
455
630
  "request": {
456
631
  "operation": "PutBucketWebsite",
457
632
  "params": [
458
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" }
633
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" }
634
+ ]
635
+ }
636
+ }
637
+ },
638
+ "has": {
639
+ "Bucket": {
640
+ "resource": {
641
+ "type": "Bucket",
642
+ "identifiers": [
643
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
459
644
  ]
460
645
  }
461
646
  }
@@ -473,9 +658,9 @@
473
658
  "request": {
474
659
  "operation": "AbortMultipartUpload",
475
660
  "params": [
476
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
477
- { "target": "Key", "sourceType": "identifier", "source": "ObjectKey" },
478
- { "target": "UploadId", "sourceType": "identifier", "source": "Id" }
661
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
662
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
663
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
479
664
  ]
480
665
  }
481
666
  },
@@ -483,16 +668,38 @@
483
668
  "request": {
484
669
  "operation": "CompleteMultipartUpload",
485
670
  "params": [
486
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
487
- { "target": "Key", "sourceType": "identifier", "source": "ObjectKey" },
488
- { "target": "UploadId", "sourceType": "identifier", "source": "Id" }
671
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
672
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
673
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
489
674
  ]
490
675
  },
491
676
  "resource": {
492
677
  "type": "Object",
493
678
  "identifiers": [
494
- { "target": "BucketName", "sourceType": "identifier", "source": "BucketName" },
495
- { "target": "Key", "sourceType": "identifier", "source": "ObjectKey" }
679
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
680
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
681
+ ]
682
+ }
683
+ }
684
+ },
685
+ "has": {
686
+ "Object": {
687
+ "resource": {
688
+ "type": "Object",
689
+ "identifiers": [
690
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
691
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
692
+ ]
693
+ }
694
+ },
695
+ "Part": {
696
+ "resource": {
697
+ "type": "MultipartUploadPart",
698
+ "identifiers": [
699
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
700
+ { "target": "MultipartUploadId", "source": "identifier", "name": "Id" },
701
+ { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" },
702
+ { "target": "PartNumber", "source": "input" }
496
703
  ]
497
704
  }
498
705
  }
@@ -502,30 +709,22 @@
502
709
  "request": {
503
710
  "operation": "ListParts",
504
711
  "params": [
505
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
506
- { "target": "Key", "sourceType": "identifier", "source": "ObjectKey" },
507
- { "target": "UploadId", "sourceType": "identifier", "source": "Id" }
712
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
713
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
714
+ { "target": "UploadId", "source": "identifier", "name": "Id" }
508
715
  ]
509
716
  },
510
717
  "resource": {
511
718
  "type": "MultipartUploadPart",
512
719
  "identifiers": [
513
- { "target": "BucketName", "sourceType": "requestParameter", "source": "Bucket" },
514
- { "target": "ObjectKey", "sourceType": "requestParameter", "source": "Key" },
515
- { "target": "MultipartUploadId", "sourceType": "requestParameter", "source": "UploadId" },
516
- { "target": "PartNumber", "sourceType": "responsePath", "source": "Parts[].PartNumber" }
720
+ { "target": "BucketName", "source": "requestParameter", "path": "Bucket" },
721
+ { "target": "ObjectKey", "source": "requestParameter", "path": "Key" },
722
+ { "target": "MultipartUploadId", "source": "requestParameter", "path": "UploadId" },
723
+ { "target": "PartNumber", "source": "response", "path": "Parts[].PartNumber" }
517
724
  ],
518
725
  "path": "Parts[]"
519
726
  }
520
727
  }
521
- },
522
- "subResources": {
523
- "resources": [ "MultipartUploadPart" ],
524
- "identifiers": {
525
- "BucketName": "BucketName",
526
- "Id": "MultipartUploadId",
527
- "ObjectKey": "ObjectKey"
528
- }
529
728
  }
530
729
  },
531
730
  "MultipartUploadPart": {
@@ -545,10 +744,10 @@
545
744
  "request": {
546
745
  "operation": "UploadPartCopy",
547
746
  "params": [
548
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
549
- { "target": "Key", "sourceType": "identifier", "source": "ObjectKey" },
550
- { "target": "UploadId", "sourceType": "identifier", "source": "MultipartUploadId" },
551
- { "target": "PartNumber", "sourceType": "identifier", "source": "PartNumber" }
747
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
748
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
749
+ { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" },
750
+ { "target": "PartNumber", "source": "identifier", "name": "PartNumber" }
552
751
  ]
553
752
  }
554
753
  },
@@ -556,10 +755,22 @@
556
755
  "request": {
557
756
  "operation": "UploadPart",
558
757
  "params": [
559
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
560
- { "target": "Key", "sourceType": "identifier", "source": "ObjectKey" },
561
- { "target": "UploadId", "sourceType": "identifier", "source": "MultipartUploadId" },
562
- { "target": "PartNumber", "sourceType": "identifier", "source": "PartNumber" }
758
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
759
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
760
+ { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" },
761
+ { "target": "PartNumber", "source": "identifier", "name": "PartNumber" }
762
+ ]
763
+ }
764
+ }
765
+ },
766
+ "has": {
767
+ "MultipartUpload": {
768
+ "resource": {
769
+ "type": "MultipartUpload",
770
+ "identifiers": [
771
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
772
+ { "target": "Id", "source": "identifier", "name": "MultipartUploadId" },
773
+ { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" }
563
774
  ]
564
775
  }
565
776
  }
@@ -575,8 +786,8 @@
575
786
  "request": {
576
787
  "operation": "HeadObject",
577
788
  "params": [
578
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
579
- { "target": "Key", "sourceType": "identifier", "source": "Key" }
789
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
790
+ { "target": "Key", "source": "identifier", "name": "Key" }
580
791
  ]
581
792
  },
582
793
  "path": "@"
@@ -586,8 +797,8 @@
586
797
  "request": {
587
798
  "operation": "CopyObject",
588
799
  "params": [
589
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
590
- { "target": "Key", "sourceType": "identifier", "source": "Key" }
800
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
801
+ { "target": "Key", "source": "identifier", "name": "Key" }
591
802
  ]
592
803
  }
593
804
  },
@@ -595,8 +806,8 @@
595
806
  "request": {
596
807
  "operation": "DeleteObject",
597
808
  "params": [
598
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
599
- { "target": "Key", "sourceType": "identifier", "source": "Key" }
809
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
810
+ { "target": "Key", "source": "identifier", "name": "Key" }
600
811
  ]
601
812
  }
602
813
  },
@@ -604,8 +815,8 @@
604
815
  "request": {
605
816
  "operation": "GetObject",
606
817
  "params": [
607
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
608
- { "target": "Key", "sourceType": "identifier", "source": "Key" }
818
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
819
+ { "target": "Key", "source": "identifier", "name": "Key" }
609
820
  ]
610
821
  }
611
822
  },
@@ -613,16 +824,16 @@
613
824
  "request": {
614
825
  "operation": "CreateMultipartUpload",
615
826
  "params": [
616
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
617
- { "target": "Key", "sourceType": "identifier", "source": "Key" }
827
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
828
+ { "target": "Key", "source": "identifier", "name": "Key" }
618
829
  ]
619
830
  },
620
831
  "resource": {
621
832
  "type": "MultipartUpload",
622
833
  "identifiers": [
623
- { "target": "BucketName", "sourceType": "identifier", "source": "BucketName" },
624
- { "target": "ObjectKey", "sourceType": "identifier", "source": "Key" },
625
- { "target": "Id", "sourceType": "responsePath", "source": "UploadId" }
834
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
835
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
836
+ { "target": "Id", "source": "response", "path": "UploadId" }
626
837
  ]
627
838
  }
628
839
  },
@@ -630,8 +841,8 @@
630
841
  "request": {
631
842
  "operation": "PutObject",
632
843
  "params": [
633
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
634
- { "target": "Key", "sourceType": "identifier", "source": "Key" }
844
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
845
+ { "target": "Key", "source": "identifier", "name": "Key" }
635
846
  ]
636
847
  }
637
848
  }
@@ -641,8 +852,8 @@
641
852
  "request": {
642
853
  "operation": "DeleteObjects",
643
854
  "params": [
644
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
645
- { "target": "Delete.Objects[].Key", "sourceType": "identifier", "source": "Key" }
855
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
856
+ { "target": "Delete.Objects[].Key", "source": "identifier", "name": "Key" }
646
857
  ]
647
858
  }
648
859
  }
@@ -651,27 +862,55 @@
651
862
  "Exists": {
652
863
  "waiterName": "ObjectExists",
653
864
  "params": [
654
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
655
- { "target": "Key", "sourceType": "identifier", "source": "Key" }
865
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
866
+ { "target": "Key", "source": "identifier", "name": "Key" }
656
867
  ]
657
868
  },
658
869
  "NotExists": {
659
870
  "waiterName": "ObjectNotExists",
660
871
  "params": [
661
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
662
- { "target": "Key", "sourceType": "identifier", "source": "Key" }
872
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
873
+ { "target": "Key", "source": "identifier", "name": "Key" }
663
874
  ]
664
875
  }
665
876
  },
666
- "subResources": {
667
- "resources": [
668
- "ObjectAcl",
669
- "ObjectVersion",
670
- "MultipartUpload"
671
- ],
672
- "identifiers": {
673
- "BucketName": "BucketName",
674
- "Key": "ObjectKey"
877
+ "has": {
878
+ "Acl": {
879
+ "resource": {
880
+ "type": "ObjectAcl",
881
+ "identifiers": [
882
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
883
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" }
884
+ ]
885
+ }
886
+ },
887
+ "Bucket": {
888
+ "resource": {
889
+ "type": "Bucket",
890
+ "identifiers": [
891
+ { "target": "Name", "source": "identifier", "name": "BucketName" }
892
+ ]
893
+ }
894
+ },
895
+ "MultipartUpload": {
896
+ "resource": {
897
+ "type": "MultipartUpload",
898
+ "identifiers": [
899
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
900
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
901
+ { "target": "Id", "source": "input" }
902
+ ]
903
+ }
904
+ },
905
+ "Version": {
906
+ "resource": {
907
+ "type": "ObjectVersion",
908
+ "identifiers": [
909
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
910
+ { "target": "ObjectKey", "source": "identifier", "name": "Key" },
911
+ { "target": "Id", "source": "input" }
912
+ ]
913
+ }
675
914
  }
676
915
  }
677
916
  },
@@ -685,8 +924,8 @@
685
924
  "request": {
686
925
  "operation": "GetObjectAcl",
687
926
  "params": [
688
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
689
- { "target": "Key", "sourceType": "identifier", "source": "ObjectKey" }
927
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
928
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
690
929
  ]
691
930
  },
692
931
  "path": "@"
@@ -696,8 +935,19 @@
696
935
  "request": {
697
936
  "operation": "PutObjectAcl",
698
937
  "params": [
699
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
700
- { "target": "Key", "sourceType": "identifier", "source": "ObjectKey" }
938
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
939
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
940
+ ]
941
+ }
942
+ }
943
+ },
944
+ "has": {
945
+ "Object": {
946
+ "resource": {
947
+ "type": "Object",
948
+ "identifiers": [
949
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
950
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
701
951
  ]
702
952
  }
703
953
  }
@@ -715,9 +965,9 @@
715
965
  "request": {
716
966
  "operation": "DeleteObject",
717
967
  "params": [
718
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
719
- { "target": "Key", "sourceType": "identifier", "source": "ObjectKey" },
720
- { "target": "VersionId", "sourceType": "identifier", "source": "Id" }
968
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
969
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
970
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
721
971
  ]
722
972
  }
723
973
  },
@@ -725,9 +975,9 @@
725
975
  "request": {
726
976
  "operation": "GetObject",
727
977
  "params": [
728
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
729
- { "target": "Key", "sourceType": "identifier", "source": "ObjectKey" },
730
- { "target": "VersionId", "sourceType": "identifier", "source": "Id" }
978
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
979
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
980
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
731
981
  ]
732
982
  }
733
983
  },
@@ -735,9 +985,9 @@
735
985
  "request": {
736
986
  "operation": "HeadObject",
737
987
  "params": [
738
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
739
- { "target": "Key", "sourceType": "identifier", "source": "ObjectKey" },
740
- { "target": "VersionId", "sourceType": "identifier", "source": "Id" }
988
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
989
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" },
990
+ { "target": "VersionId", "source": "identifier", "name": "Id" }
741
991
  ]
742
992
  }
743
993
  }
@@ -747,9 +997,20 @@
747
997
  "request": {
748
998
  "operation": "DeleteObjects",
749
999
  "params": [
750
- { "target": "Bucket", "sourceType": "identifier", "source": "BucketName" },
751
- { "target": "Delete.Objects[*].Key", "sourceType": "identifier", "source": "ObjectKey" },
752
- { "target": "Delete.Objects[*].VersionId", "sourceType": "identifier", "source": "Id" }
1000
+ { "target": "Bucket", "source": "identifier", "name": "BucketName" },
1001
+ { "target": "Delete.Objects[*].Key", "source": "identifier", "name": "ObjectKey" },
1002
+ { "target": "Delete.Objects[*].VersionId", "source": "identifier", "name": "Id" }
1003
+ ]
1004
+ }
1005
+ }
1006
+ },
1007
+ "has": {
1008
+ "Object": {
1009
+ "resource": {
1010
+ "type": "Object",
1011
+ "identifiers": [
1012
+ { "target": "BucketName", "source": "identifier", "name": "BucketName" },
1013
+ { "target": "Key", "source": "identifier", "name": "ObjectKey" }
753
1014
  ]
754
1015
  }
755
1016
  }