aws-sdk-core 2.0.33 → 2.0.34
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/apis/CodeDeploy.api.json +425 -3
- data/apis/EC2.api.json +5 -1
- data/apis/EC2.resources.json +7 -0
- data/apis/EC2.waiters.json +17 -0
- data/apis/ElasticTranscoder.api.json +31 -1
- data/apis/Glacier.resources.json +3 -3
- data/apis/RDS.api.json +125 -4
- data/apis/S3.api.json +1 -0
- data/apis/S3.waiters.json +5 -0
- data/apis/SNS.resources.json +0 -2
- data/lib/aws-sdk-core/api/service_customizations.rb +2 -0
- data/lib/aws-sdk-core/credential_provider_chain.rb +13 -12
- data/lib/aws-sdk-core/json/error_handler.rb +24 -9
- data/lib/aws-sdk-core/paging/pager.rb +1 -1
- data/lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb +4 -6
- data/lib/aws-sdk-core/plugins/s3_get_bucket_location_fix.rb +3 -10
- data/lib/aws-sdk-core/signers/v4.rb +5 -13
- data/lib/aws-sdk-core/structure.rb +1 -1
- data/lib/aws-sdk-core/version.rb +1 -1
- data/lib/aws-sdk-core/xml/error_handler.rb +31 -20
- data/lib/aws-sdk-core/xml/parser.rb +51 -112
- data/lib/aws-sdk-core/xml/parser/engines/libxml.rb +42 -0
- data/lib/aws-sdk-core/xml/parser/engines/nokogiri.rb +43 -0
- data/lib/aws-sdk-core/xml/parser/engines/ox.rb +20 -0
- data/lib/aws-sdk-core/xml/parser/engines/rexml.rb +45 -0
- data/lib/aws-sdk-core/xml/parser/frame.rb +284 -0
- data/lib/aws-sdk-core/xml/parser/parsing_error.rb +19 -0
- data/lib/aws-sdk-core/xml/parser/stack.rb +58 -0
- data/lib/seahorse/client/plugins/endpoint.rb +1 -1
- metadata +9 -16
data/apis/EC2.api.json
CHANGED
data/apis/EC2.resources.json
CHANGED
@@ -838,6 +838,13 @@
|
|
838
838
|
}
|
839
839
|
},
|
840
840
|
"waiters": {
|
841
|
+
"Exists": {
|
842
|
+
"waiterName": "InstanceExists",
|
843
|
+
"params": [
|
844
|
+
{ "target": "InstanceIds[]", "source": "identifier", "name": "Id" }
|
845
|
+
],
|
846
|
+
"path": "Reservations[0].Instances[0]"
|
847
|
+
},
|
841
848
|
"Running": {
|
842
849
|
"waiterName": "InstanceRunning",
|
843
850
|
"params": [
|
data/apis/EC2.waiters.json
CHANGED
@@ -1,6 +1,23 @@
|
|
1
1
|
{
|
2
2
|
"version": 2,
|
3
3
|
"waiters": {
|
4
|
+
"InstanceExists": {
|
5
|
+
"delay": 5,
|
6
|
+
"maxAttempts": 40,
|
7
|
+
"operation": "DescribeInstances",
|
8
|
+
"acceptors": [
|
9
|
+
{
|
10
|
+
"matcher": "status",
|
11
|
+
"expected": 200,
|
12
|
+
"state": "success"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"matcher": "error",
|
16
|
+
"expected": "InvalidInstanceIDNotFound",
|
17
|
+
"state": "retry"
|
18
|
+
}
|
19
|
+
]
|
20
|
+
},
|
4
21
|
"BundleTaskComplete": {
|
5
22
|
"delay": 15,
|
6
23
|
"operation": "DescribeBundleTasks",
|
@@ -851,7 +851,8 @@
|
|
851
851
|
"Name":{"shape":"Filename"},
|
852
852
|
"Format":{"shape":"PlaylistFormat"},
|
853
853
|
"OutputKeys":{"shape":"OutputKeys"},
|
854
|
-
"HlsContentProtection":{"shape":"HlsContentProtection"}
|
854
|
+
"HlsContentProtection":{"shape":"HlsContentProtection"},
|
855
|
+
"PlayReadyDrm":{"shape":"PlayReadyDrm"}
|
855
856
|
}
|
856
857
|
},
|
857
858
|
"CreateJobPlaylists":{
|
@@ -1171,6 +1172,10 @@
|
|
1171
1172
|
"min":0,
|
1172
1173
|
"max":255
|
1173
1174
|
},
|
1175
|
+
"KeyIdGuid":{
|
1176
|
+
"type":"string",
|
1177
|
+
"pattern":"(^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)|(^[0-9A-Fa-f]{32}$)"
|
1178
|
+
},
|
1174
1179
|
"KeyStoragePolicy":{
|
1175
1180
|
"type":"string",
|
1176
1181
|
"pattern":"(^NoStore$)|(^WithVariantPlaylists$)"
|
@@ -1299,6 +1304,10 @@
|
|
1299
1304
|
"min":1,
|
1300
1305
|
"max":40
|
1301
1306
|
},
|
1307
|
+
"NonEmptyBase64EncodedString":{
|
1308
|
+
"type":"string",
|
1309
|
+
"pattern":"(^(?:[A-Za-z0-9\\+/]{4})*(?:[A-Za-z0-9\\+/]{2}==|[A-Za-z0-9\\+/]{3}=)?$)"
|
1310
|
+
},
|
1302
1311
|
"Notifications":{
|
1303
1312
|
"type":"structure",
|
1304
1313
|
"members":{
|
@@ -1310,6 +1319,11 @@
|
|
1310
1319
|
},
|
1311
1320
|
"NullableInteger":{"type":"integer"},
|
1312
1321
|
"NullableLong":{"type":"long"},
|
1322
|
+
"OneTo512String":{
|
1323
|
+
"type":"string",
|
1324
|
+
"min":1,
|
1325
|
+
"max":512
|
1326
|
+
},
|
1313
1327
|
"Opacity":{
|
1314
1328
|
"type":"string",
|
1315
1329
|
"pattern":"^\\d{1,3}(\\.\\d{0,20})?$"
|
@@ -1372,6 +1386,21 @@
|
|
1372
1386
|
"type":"string",
|
1373
1387
|
"pattern":"(^\\d{1,3}(\\.\\d{0,5})?%$)|(^\\d{1,4}?px$)"
|
1374
1388
|
},
|
1389
|
+
"PlayReadyDrm":{
|
1390
|
+
"type":"structure",
|
1391
|
+
"members":{
|
1392
|
+
"Format":{"shape":"PlayReadyDrmFormatString"},
|
1393
|
+
"Key":{"shape":"NonEmptyBase64EncodedString"},
|
1394
|
+
"KeyMd5":{"shape":"NonEmptyBase64EncodedString"},
|
1395
|
+
"KeyId":{"shape":"KeyIdGuid"},
|
1396
|
+
"InitializationVector":{"shape":"ZeroTo255String"},
|
1397
|
+
"LicenseAcquisitionUrl":{"shape":"OneTo512String"}
|
1398
|
+
}
|
1399
|
+
},
|
1400
|
+
"PlayReadyDrmFormatString":{
|
1401
|
+
"type":"string",
|
1402
|
+
"pattern":"(^microsoft$)|(^discretix-3.0$)"
|
1403
|
+
},
|
1375
1404
|
"Playlist":{
|
1376
1405
|
"type":"structure",
|
1377
1406
|
"members":{
|
@@ -1379,6 +1408,7 @@
|
|
1379
1408
|
"Format":{"shape":"PlaylistFormat"},
|
1380
1409
|
"OutputKeys":{"shape":"OutputKeys"},
|
1381
1410
|
"HlsContentProtection":{"shape":"HlsContentProtection"},
|
1411
|
+
"PlayReadyDrm":{"shape":"PlayReadyDrm"},
|
1382
1412
|
"Status":{"shape":"JobStatus"},
|
1383
1413
|
"StatusDetail":{"shape":"Description"}
|
1384
1414
|
}
|
data/apis/Glacier.resources.json
CHANGED
@@ -110,11 +110,11 @@
|
|
110
110
|
]
|
111
111
|
}
|
112
112
|
},
|
113
|
-
"
|
113
|
+
"InitiateArchiveRetrieval": {
|
114
114
|
"request": {
|
115
115
|
"operation": "InitiateJob",
|
116
116
|
"params": [
|
117
|
-
{ "target": "vaultName", "source": "identifier", "name": "
|
117
|
+
{ "target": "vaultName", "source": "identifier", "name": "VaultName" },
|
118
118
|
{ "target": "accountId", "source": "identifier", "name": "AccountId" },
|
119
119
|
{ "target": "jobParameters.Type", "source": "string", "value": "archive-retrieval" },
|
120
120
|
{ "target": "jobParameters.ArchiveId", "source": "identifier", "name": "Id" }
|
@@ -125,7 +125,7 @@
|
|
125
125
|
"identifiers": [
|
126
126
|
{ "target": "Id", "source": "response", "path": "jobId" },
|
127
127
|
{ "target": "AccountId", "source": "identifier", "name": "AccountId" },
|
128
|
-
{ "target": "VaultName", "source": "identifier", "name": "
|
128
|
+
{ "target": "VaultName", "source": "identifier", "name": "VaultName" }
|
129
129
|
]
|
130
130
|
}
|
131
131
|
}
|
data/apis/RDS.api.json
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
{
|
2
|
+
"version":"2.0",
|
2
3
|
"metadata":{
|
3
4
|
"apiVersion":"2014-10-31",
|
4
5
|
"endpointPrefix":"rds",
|
@@ -1142,6 +1143,41 @@
|
|
1142
1143
|
}
|
1143
1144
|
]
|
1144
1145
|
},
|
1146
|
+
"DescribeAccountAttributes":{
|
1147
|
+
"name":"DescribeAccountAttributes",
|
1148
|
+
"http":{
|
1149
|
+
"method":"POST",
|
1150
|
+
"requestUri":"/"
|
1151
|
+
},
|
1152
|
+
"input":{"shape":"DescribeAccountAttributesMessage"},
|
1153
|
+
"output":{
|
1154
|
+
"shape":"AccountAttributesMessage",
|
1155
|
+
"resultWrapper":"DescribeAccountAttributesResult"
|
1156
|
+
}
|
1157
|
+
},
|
1158
|
+
"DescribeCertificates":{
|
1159
|
+
"name":"DescribeCertificates",
|
1160
|
+
"http":{
|
1161
|
+
"method":"POST",
|
1162
|
+
"requestUri":"/"
|
1163
|
+
},
|
1164
|
+
"input":{"shape":"DescribeCertificatesMessage"},
|
1165
|
+
"output":{
|
1166
|
+
"shape":"CertificateMessage",
|
1167
|
+
"resultWrapper":"DescribeCertificatesResult"
|
1168
|
+
},
|
1169
|
+
"errors":[
|
1170
|
+
{
|
1171
|
+
"shape":"CertificateNotFoundFault",
|
1172
|
+
"error":{
|
1173
|
+
"code":"CertificateNotFound",
|
1174
|
+
"httpStatusCode":400,
|
1175
|
+
"senderFault":true
|
1176
|
+
},
|
1177
|
+
"exception":true
|
1178
|
+
}
|
1179
|
+
]
|
1180
|
+
},
|
1145
1181
|
"DescribeDBEngineVersions":{
|
1146
1182
|
"name":"DescribeDBEngineVersions",
|
1147
1183
|
"http":{
|
@@ -1684,6 +1720,15 @@
|
|
1684
1720
|
"senderFault":true
|
1685
1721
|
},
|
1686
1722
|
"exception":true
|
1723
|
+
},
|
1724
|
+
{
|
1725
|
+
"shape":"CertificateNotFoundFault",
|
1726
|
+
"error":{
|
1727
|
+
"code":"CertificateNotFound",
|
1728
|
+
"httpStatusCode":400,
|
1729
|
+
"senderFault":true
|
1730
|
+
},
|
1731
|
+
"exception":true
|
1687
1732
|
}
|
1688
1733
|
]
|
1689
1734
|
},
|
@@ -2453,6 +2498,28 @@
|
|
2453
2498
|
}
|
2454
2499
|
},
|
2455
2500
|
"shapes":{
|
2501
|
+
"AccountAttributesMessage":{
|
2502
|
+
"type":"structure",
|
2503
|
+
"members":{
|
2504
|
+
"AccountQuotas":{"shape":"AccountQuotaList"}
|
2505
|
+
}
|
2506
|
+
},
|
2507
|
+
"AccountQuota":{
|
2508
|
+
"type":"structure",
|
2509
|
+
"members":{
|
2510
|
+
"AccountQuotaName":{"shape":"String"},
|
2511
|
+
"Used":{"shape":"Long"},
|
2512
|
+
"Max":{"shape":"Long"}
|
2513
|
+
},
|
2514
|
+
"wrapper":true
|
2515
|
+
},
|
2516
|
+
"AccountQuotaList":{
|
2517
|
+
"type":"list",
|
2518
|
+
"member":{
|
2519
|
+
"shape":"AccountQuota",
|
2520
|
+
"locationName":"AccountQuota"
|
2521
|
+
}
|
2522
|
+
},
|
2456
2523
|
"AddSourceIdentifierToSubscriptionMessage":{
|
2457
2524
|
"type":"structure",
|
2458
2525
|
"required":[
|
@@ -2555,6 +2622,42 @@
|
|
2555
2622
|
},
|
2556
2623
|
"Boolean":{"type":"boolean"},
|
2557
2624
|
"BooleanOptional":{"type":"boolean"},
|
2625
|
+
"Certificate":{
|
2626
|
+
"type":"structure",
|
2627
|
+
"members":{
|
2628
|
+
"CertificateIdentifier":{"shape":"String"},
|
2629
|
+
"CertificateType":{"shape":"String"},
|
2630
|
+
"Thumbprint":{"shape":"String"},
|
2631
|
+
"ValidFrom":{"shape":"TStamp"},
|
2632
|
+
"ValidTill":{"shape":"TStamp"}
|
2633
|
+
},
|
2634
|
+
"wrapper":true
|
2635
|
+
},
|
2636
|
+
"CertificateList":{
|
2637
|
+
"type":"list",
|
2638
|
+
"member":{
|
2639
|
+
"shape":"Certificate",
|
2640
|
+
"locationName":"Certificate"
|
2641
|
+
}
|
2642
|
+
},
|
2643
|
+
"CertificateMessage":{
|
2644
|
+
"type":"structure",
|
2645
|
+
"members":{
|
2646
|
+
"Certificates":{"shape":"CertificateList"},
|
2647
|
+
"Marker":{"shape":"String"}
|
2648
|
+
}
|
2649
|
+
},
|
2650
|
+
"CertificateNotFoundFault":{
|
2651
|
+
"type":"structure",
|
2652
|
+
"members":{
|
2653
|
+
},
|
2654
|
+
"error":{
|
2655
|
+
"code":"CertificateNotFound",
|
2656
|
+
"httpStatusCode":400,
|
2657
|
+
"senderFault":true
|
2658
|
+
},
|
2659
|
+
"exception":true
|
2660
|
+
},
|
2558
2661
|
"CharacterSet":{
|
2559
2662
|
"type":"structure",
|
2560
2663
|
"members":{
|
@@ -2814,7 +2917,8 @@
|
|
2814
2917
|
"TdeCredentialArn":{"shape":"String"},
|
2815
2918
|
"StorageEncrypted":{"shape":"Boolean"},
|
2816
2919
|
"KmsKeyId":{"shape":"String"},
|
2817
|
-
"DbiResourceId":{"shape":"String"}
|
2920
|
+
"DbiResourceId":{"shape":"String"},
|
2921
|
+
"CACertificateIdentifier":{"shape":"String"}
|
2818
2922
|
},
|
2819
2923
|
"wrapper":true
|
2820
2924
|
},
|
@@ -3261,6 +3365,20 @@
|
|
3261
3365
|
"OptionGroupName":{"shape":"String"}
|
3262
3366
|
}
|
3263
3367
|
},
|
3368
|
+
"DescribeAccountAttributesMessage":{
|
3369
|
+
"type":"structure",
|
3370
|
+
"members":{
|
3371
|
+
}
|
3372
|
+
},
|
3373
|
+
"DescribeCertificatesMessage":{
|
3374
|
+
"type":"structure",
|
3375
|
+
"members":{
|
3376
|
+
"CertificateIdentifier":{"shape":"String"},
|
3377
|
+
"Filters":{"shape":"FilterList"},
|
3378
|
+
"MaxRecords":{"shape":"IntegerOptional"},
|
3379
|
+
"Marker":{"shape":"String"}
|
3380
|
+
}
|
3381
|
+
},
|
3264
3382
|
"DescribeDBEngineVersionsMessage":{
|
3265
3383
|
"type":"structure",
|
3266
3384
|
"members":{
|
@@ -3870,7 +3988,8 @@
|
|
3870
3988
|
"NewDBInstanceIdentifier":{"shape":"String"},
|
3871
3989
|
"StorageType":{"shape":"String"},
|
3872
3990
|
"TdeCredentialArn":{"shape":"String"},
|
3873
|
-
"TdeCredentialPassword":{"shape":"String"}
|
3991
|
+
"TdeCredentialPassword":{"shape":"String"},
|
3992
|
+
"CACertificateIdentifier":{"shape":"String"}
|
3874
3993
|
}
|
3875
3994
|
},
|
3876
3995
|
"ModifyDBParameterGroupMessage":{
|
@@ -4176,7 +4295,8 @@
|
|
4176
4295
|
"AutoAppliedAfterDate":{"shape":"TStamp"},
|
4177
4296
|
"ForcedApplyDate":{"shape":"TStamp"},
|
4178
4297
|
"OptInStatus":{"shape":"String"},
|
4179
|
-
"CurrentApplyDate":{"shape":"TStamp"}
|
4298
|
+
"CurrentApplyDate":{"shape":"TStamp"},
|
4299
|
+
"Description":{"shape":"String"}
|
4180
4300
|
}
|
4181
4301
|
},
|
4182
4302
|
"PendingMaintenanceActionDetails":{
|
@@ -4212,7 +4332,8 @@
|
|
4212
4332
|
"EngineVersion":{"shape":"String"},
|
4213
4333
|
"Iops":{"shape":"IntegerOptional"},
|
4214
4334
|
"DBInstanceIdentifier":{"shape":"String"},
|
4215
|
-
"StorageType":{"shape":"String"}
|
4335
|
+
"StorageType":{"shape":"String"},
|
4336
|
+
"CACertificateIdentifier":{"shape":"String"}
|
4216
4337
|
}
|
4217
4338
|
},
|
4218
4339
|
"PointInTimeRestoreNotEnabledFault":{
|
data/apis/S3.api.json
CHANGED
data/apis/S3.waiters.json
CHANGED
data/apis/SNS.resources.json
CHANGED
@@ -69,7 +69,6 @@
|
|
69
69
|
"resource": {
|
70
70
|
"type": "Subscription",
|
71
71
|
"identifiers": [
|
72
|
-
{ "target": "TopicArn", "source": "response", "path": "Subscriptions[].TopicArn" },
|
73
72
|
{ "target": "Arn", "source": "response", "path": "Subscriptions[].SubscriptionArn" }
|
74
73
|
]
|
75
74
|
}
|
@@ -111,7 +110,6 @@
|
|
111
110
|
"resource": {
|
112
111
|
"type": "PlatformEndpoint",
|
113
112
|
"identifiers": [
|
114
|
-
{ "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" },
|
115
113
|
{ "target": "Arn", "source": "response", "path": "EndpointArn" }
|
116
114
|
]
|
117
115
|
}
|
@@ -114,6 +114,8 @@ module Aws
|
|
114
114
|
add_plugin 'Aws::Plugins::S3UrlEncodedKeys'
|
115
115
|
add_plugin 'Aws::Plugins::S3RequestSigner'
|
116
116
|
|
117
|
+
api.definition['metadata'].delete('signatureVersion')
|
118
|
+
|
117
119
|
# required for the GetBucketLocation fix to work, disabled normal
|
118
120
|
# parsing of the output
|
119
121
|
client_class.api.operation(:get_bucket_location).
|
@@ -19,9 +19,7 @@ module Aws
|
|
19
19
|
def providers
|
20
20
|
[
|
21
21
|
[:static_credentials, {}],
|
22
|
-
[:env_credentials, {
|
23
|
-
[:env_credentials, { prefix: 'AMAZON' }],
|
24
|
-
[:env_credentials, { key:'AWS_ACCESS_KEY', secret:'AWS_SECRET_KEY' }],
|
22
|
+
[:env_credentials, {}],
|
25
23
|
[:shared_credentials, {}],
|
26
24
|
[:instance_profile_credentials, {
|
27
25
|
retries: 0,
|
@@ -40,16 +38,19 @@ module Aws
|
|
40
38
|
end
|
41
39
|
|
42
40
|
def env_credentials(options)
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
41
|
+
key = %w(AWS_ACCESS_KEY_ID AMAZON_ACCESS_KEY_ID AWS_ACCESS_KEY)
|
42
|
+
secret = %w(AWS_SECRET_ACCESS_KEY AMAZON_SECRET_ACCESS_KEY AWS_SECRET_KEY)
|
43
|
+
token = %w(AWS_SESSION_TOKEN AMAZON_SESSION_TOKEN)
|
44
|
+
Credentials.new(envar(key), envar(secret), envar(token))
|
45
|
+
end
|
46
|
+
|
47
|
+
def envar(keys)
|
48
|
+
keys.each do |key|
|
49
|
+
if ENV.key?(key)
|
50
|
+
return ENV[key]
|
51
|
+
end
|
51
52
|
end
|
52
|
-
|
53
|
+
nil
|
53
54
|
end
|
54
55
|
|
55
56
|
def shared_credentials(options = {})
|
@@ -13,17 +13,32 @@ module Aws
|
|
13
13
|
|
14
14
|
private
|
15
15
|
|
16
|
-
def extract_error(context)
|
17
|
-
json = MultiJson.load(
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
16
|
+
def extract_error(body, context)
|
17
|
+
json = MultiJson.load(body)
|
18
|
+
code = error_code(json, context)
|
19
|
+
message = error_message(code, json)
|
20
|
+
[code, message]
|
21
|
+
rescue MultiJson::ParseError
|
22
|
+
[http_status_error_code(context), '']
|
23
|
+
end
|
24
|
+
|
25
|
+
def error_code(json, context)
|
26
|
+
code = json['code']
|
27
|
+
code ||= json['__type']
|
28
|
+
code ||= context.http_response.headers['x-amzn-errortype']
|
29
|
+
if code
|
30
|
+
code.split('#').last
|
31
|
+
else
|
32
|
+
http_status_error_code(context)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def error_message(code, json)
|
37
|
+
if code == 'RequestEntityTooLarge'
|
38
|
+
'Request body must be less than 1 MB'
|
23
39
|
else
|
24
|
-
|
40
|
+
json['message'] || json['Message'] || ''
|
25
41
|
end
|
26
|
-
[error_code, error_message]
|
27
42
|
end
|
28
43
|
|
29
44
|
end
|