aws-partitions 1.243.0 → 1.244.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/aws-partitions.rb +1 -1
- data/lib/aws-partitions/endpoint_provider.rb +14 -18
- data/lib/aws-partitions/partition.rb +30 -19
- data/partitions.json +5 -20
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3329cfe888500abccafcedd66eb6a19d8be6502c
|
4
|
+
data.tar.gz: a3b11b595ea771afc86cd7b8b185afbe85820ea4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75baf0133da15731b9a359fab6b1714ca0a07280e05a8d00240fab868fedbd3ef83f4a00813e26155be53df078ee34e58825e72b53ea894d9ed55be71a0f615a
|
7
|
+
data.tar.gz: a2a8cbfae88ceb39f345394c80cef432fe85adda98c6ac751aa053b3e55df89e316a751534c96ebf36c69a74c84e0acaa628d932355a9303d1b1a51ffea6bb19
|
data/lib/aws-partitions.rb
CHANGED
@@ -236,7 +236,7 @@ module Aws
|
|
236
236
|
'ApplicationInsights' => 'applicationinsights',
|
237
237
|
'Athena' => 'athena',
|
238
238
|
'AutoScaling' => 'autoscaling',
|
239
|
-
'AutoScalingPlans' => 'autoscaling',
|
239
|
+
'AutoScalingPlans' => 'autoscaling-plans',
|
240
240
|
'Backup' => 'backup',
|
241
241
|
'Batch' => 'batch',
|
242
242
|
'Budgets' => 'budgets',
|
@@ -60,19 +60,19 @@ module Aws
|
|
60
60
|
|
61
61
|
# @api private Use the static class methods instead.
|
62
62
|
def dns_suffix_for(region)
|
63
|
-
|
64
|
-
partition['dnsSuffix']
|
63
|
+
get_partition(region)['dnsSuffix']
|
65
64
|
end
|
66
65
|
|
67
66
|
private
|
68
67
|
|
69
68
|
def endpoint_for(region, service, sts_regional_endpoints)
|
70
69
|
partition = get_partition(region)
|
71
|
-
endpoint = default_endpoint(partition, service, region)
|
72
70
|
service_cfg = partition.fetch('services', {}).fetch(service, {})
|
73
71
|
|
74
|
-
#
|
75
|
-
endpoint = service_cfg
|
72
|
+
# Find the default endpoint
|
73
|
+
endpoint = service_cfg
|
74
|
+
.fetch('defaults', {})
|
75
|
+
.fetch('hostname', partition['defaults']['hostname'])
|
76
76
|
|
77
77
|
# Check for sts legacy behavior
|
78
78
|
sts_legacy = service == 'sts' &&
|
@@ -90,18 +90,14 @@ module Aws
|
|
90
90
|
end
|
91
91
|
|
92
92
|
# Check for service/region level endpoint.
|
93
|
-
endpoint = service_cfg
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
hostname_template
|
102
|
-
.sub('{region}', region)
|
103
|
-
.sub('{service}', service)
|
104
|
-
.sub('{dnsSuffix}', partition['dnsSuffix'])
|
93
|
+
endpoint = service_cfg
|
94
|
+
.fetch('endpoints', {})
|
95
|
+
.fetch(region, {}).fetch('hostname', endpoint)
|
96
|
+
|
97
|
+
# Replace placeholders from the endpoints
|
98
|
+
endpoint.sub('{region}', region)
|
99
|
+
.sub('{service}', service)
|
100
|
+
.sub('{dnsSuffix}', partition['dnsSuffix'])
|
105
101
|
end
|
106
102
|
|
107
103
|
def get_partition(region)
|
@@ -120,7 +116,7 @@ module Aws
|
|
120
116
|
@rules['partitions'].find do |p|
|
121
117
|
region.match(p['regionRegex']) ||
|
122
118
|
p['services'].values.find do |svc|
|
123
|
-
svc['endpoints'].key?(region) if svc.key?
|
119
|
+
svc['endpoints'].key?(region) if svc.key?('endpoints')
|
124
120
|
end
|
125
121
|
end
|
126
122
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module Aws
|
2
2
|
module Partitions
|
3
3
|
class Partition
|
4
|
-
|
5
4
|
# @option options [required, String] :name
|
6
5
|
# @option options [required, Hash<String,Region>] :regions
|
7
6
|
# @option options [required, Hash<String,Service>] :services
|
@@ -23,7 +22,7 @@ module Aws
|
|
23
22
|
@regions[region_name]
|
24
23
|
else
|
25
24
|
msg = "invalid region name #{region_name.inspect}; valid region "
|
26
|
-
msg << "names include
|
25
|
+
msg << "names include #{@regions.keys.join(', ')}"
|
27
26
|
raise ArgumentError, msg
|
28
27
|
end
|
29
28
|
end
|
@@ -33,6 +32,12 @@ module Aws
|
|
33
32
|
@regions.values
|
34
33
|
end
|
35
34
|
|
35
|
+
# @param [String] region_name The name of the region, e.g. "us-east-1".
|
36
|
+
# @return [Boolean] true if the region is in the partition.
|
37
|
+
def region?(region_name)
|
38
|
+
@regions.key?(region_name)
|
39
|
+
end
|
40
|
+
|
36
41
|
# @param [String] service_name The service module name.
|
37
42
|
# @return [Service]
|
38
43
|
# @raise [ArgumentError] Raises `ArgumentError` for unknown service name.
|
@@ -41,7 +46,7 @@ module Aws
|
|
41
46
|
@services[service_name]
|
42
47
|
else
|
43
48
|
msg = "invalid service name #{service_name.inspect}; valid service "
|
44
|
-
msg << "names include
|
49
|
+
msg << "names include #{@services.keys.join(', ')}"
|
45
50
|
raise ArgumentError, msg
|
46
51
|
end
|
47
52
|
end
|
@@ -51,14 +56,19 @@ module Aws
|
|
51
56
|
@services.values
|
52
57
|
end
|
53
58
|
|
54
|
-
|
59
|
+
# @param [String] service_name The service module name.
|
60
|
+
# @return [Boolean] true if the service is in the partition.
|
61
|
+
def service?(service_name)
|
62
|
+
@services.key?(service_name)
|
63
|
+
end
|
55
64
|
|
65
|
+
class << self
|
56
66
|
# @api private
|
57
67
|
def build(partition)
|
58
68
|
Partition.new(
|
59
69
|
name: partition['partition'],
|
60
70
|
regions: build_regions(partition),
|
61
|
-
services: build_services(partition)
|
71
|
+
services: build_services(partition)
|
62
72
|
)
|
63
73
|
end
|
64
74
|
|
@@ -67,28 +77,29 @@ module Aws
|
|
67
77
|
# @param [Hash] partition
|
68
78
|
# @return [Hash<String,Region>]
|
69
79
|
def build_regions(partition)
|
70
|
-
partition['regions'].
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
regions
|
80
|
+
partition['regions'].each_with_object({}) do
|
81
|
+
|(region_name, region), regions|
|
82
|
+
next if region_name == "#{partition['partition']}-global"
|
83
|
+
|
84
|
+
regions[region_name] = Region.build(
|
85
|
+
region_name, region, partition
|
86
|
+
)
|
75
87
|
end
|
76
88
|
end
|
77
89
|
|
78
90
|
# @param [Hash] partition
|
79
91
|
# @return [Hash<String,Service>]
|
80
92
|
def build_services(partition)
|
81
|
-
Partitions.service_ids.
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
93
|
+
Partitions.service_ids.each_with_object({}) do
|
94
|
+
|(service_name, service), services|
|
95
|
+
service_data = partition['services'].fetch(
|
96
|
+
service, 'endpoints' => {}
|
97
|
+
)
|
98
|
+
services[service_name] = Service.build(
|
99
|
+
service_name, service_data, partition
|
100
|
+
)
|
89
101
|
end
|
90
102
|
end
|
91
|
-
|
92
103
|
end
|
93
104
|
end
|
94
105
|
end
|
data/partitions.json
CHANGED
@@ -322,10 +322,6 @@
|
|
322
322
|
},
|
323
323
|
"application-autoscaling" : {
|
324
324
|
"defaults" : {
|
325
|
-
"credentialScope" : {
|
326
|
-
"service" : "application-autoscaling"
|
327
|
-
},
|
328
|
-
"hostname" : "autoscaling.{region}.amazonaws.com",
|
329
325
|
"protocols" : [ "http", "https" ]
|
330
326
|
},
|
331
327
|
"endpoints" : {
|
@@ -454,10 +450,6 @@
|
|
454
450
|
},
|
455
451
|
"autoscaling-plans" : {
|
456
452
|
"defaults" : {
|
457
|
-
"credentialScope" : {
|
458
|
-
"service" : "autoscaling-plans"
|
459
|
-
},
|
460
|
-
"hostname" : "autoscaling.{region}.amazonaws.com",
|
461
453
|
"protocols" : [ "http", "https" ]
|
462
454
|
},
|
463
455
|
"endpoints" : {
|
@@ -3942,10 +3934,6 @@
|
|
3942
3934
|
},
|
3943
3935
|
"application-autoscaling" : {
|
3944
3936
|
"defaults" : {
|
3945
|
-
"credentialScope" : {
|
3946
|
-
"service" : "application-autoscaling"
|
3947
|
-
},
|
3948
|
-
"hostname" : "autoscaling.{region}.amazonaws.com",
|
3949
3937
|
"protocols" : [ "http", "https" ]
|
3950
3938
|
},
|
3951
3939
|
"endpoints" : {
|
@@ -4447,6 +4435,9 @@
|
|
4447
4435
|
}
|
4448
4436
|
},
|
4449
4437
|
"application-autoscaling" : {
|
4438
|
+
"defaults" : {
|
4439
|
+
"protocols" : [ "http", "https" ]
|
4440
|
+
},
|
4450
4441
|
"endpoints" : {
|
4451
4442
|
"us-gov-east-1" : { },
|
4452
4443
|
"us-gov-west-1" : { }
|
@@ -5171,10 +5162,7 @@
|
|
5171
5162
|
},
|
5172
5163
|
"application-autoscaling" : {
|
5173
5164
|
"defaults" : {
|
5174
|
-
"
|
5175
|
-
"service" : "application-autoscaling"
|
5176
|
-
},
|
5177
|
-
"hostname" : "autoscaling.{region}.amazonaws.com",
|
5165
|
+
"hostname" : "autoscaling.us-iso-east-1.c2s.ic.gov",
|
5178
5166
|
"protocols" : [ "http", "https" ]
|
5179
5167
|
},
|
5180
5168
|
"endpoints" : {
|
@@ -5444,10 +5432,7 @@
|
|
5444
5432
|
"services" : {
|
5445
5433
|
"application-autoscaling" : {
|
5446
5434
|
"defaults" : {
|
5447
|
-
"
|
5448
|
-
"service" : "application-autoscaling"
|
5449
|
-
},
|
5450
|
-
"hostname" : "autoscaling.{region}.amazonaws.com",
|
5435
|
+
"hostname" : "autoscaling.us-isob-east-1.sc2s.sgov.gov",
|
5451
5436
|
"protocols" : [ "http", "https" ]
|
5452
5437
|
},
|
5453
5438
|
"endpoints" : {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-partitions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.244.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11-
|
11
|
+
date: 2019-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Provides interfaces to enumerate AWS partitions, regions, and services.
|
14
14
|
email:
|