aws-partitions 1.243.0 → 1.244.0
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.
- 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:
|