class Aws::Partitions::Service
def build(service_name, service, partition)
- Api: - private
def build(service_name, service, partition) Service.new( name: service_name, partition_name: partition['partition'], regions: regions(service, partition), fips_regions: variant_regions('fips', service, partition), dualstack_regions: variant_regions('dualstack', service, partition), regionalized: service['isRegionalized'] != false, partition_region: partition_region(service) ) end
def initialize(options = {})
- Api: - private
Options Hash:
(**options)
-
:partition_region
(String
) -- -
:regionalized
(required, Boolean
) -- -
:region_name
(required, Set
) -- -
:partition_name
(required, String
) -- -
:name
(required, String
) --
def initialize(options = {}) @name = options[:name] @partition_name = options[:partition_name] @regions = options[:regions] @fips_regions = options[:fips_regions] @dualstack_regions = options[:dualstack_regions] @regionalized = options[:regionalized] @partition_region = options[:partition_region] end
def partition_region(service)
def partition_region(service) service['partitionEndpoint'] end
def regionalized?
-
(Boolean)
-
def regionalized? @regionalized end
def regions(service, partition)
def regions(service, partition) svc_endpoints = service.key?('endpoints') ? service['endpoints'].keys : [] names = Set.new(partition['regions'].keys & svc_endpoints) names - ["#{partition['partition']}-global"] end
def variant_regions(variant_name, service, partition)
def variant_regions(variant_name, service, partition) svc_endpoints = service.fetch('endpoints', {}) names = Set.new svc_endpoints.each do |key, value| variants = value.fetch('variants', []) variants.each do |variant| tags = variant.fetch('tags', []) if tags.include?(variant_name) && partition['regions'].key?(key) names << key end end end names - ["#{partition['partition']}-global"] end