class Aws::Partitions::Partition
def build(partition)
- Api: - private
def build(partition) Partition.new( name: partition['partition'], regions: build_regions(partition), region_regex: partition['regionRegex'], services: build_services(partition) ) end
def build_regions(partition)
-
(Hash
-)
Parameters:
-
partition
(Hash
) --
def build_regions(partition) partition['regions'].each_with_object({}) do |(region_name, region), regions| next if region_name == "#{partition['partition']}-global" regions[region_name] = Region.build( region_name, region, partition ) end end
def build_services(partition)
-
(Hash
-)
Parameters:
-
partition
(Hash
) --
def build_services(partition) Partitions.service_ids.each_with_object({}) do |(service_name, service), services| service_data = partition['services'].fetch( service, 'endpoints' => {} ) services[service_name] = Service.build( service_name, service_data, partition ) end end
def initialize(options = {})
- Api: - private
Options Hash:
(**options)
-
:services
(required, Hash
) -- -
:regions
(required, Hash
) -- -
:name
(required, String
) --
def initialize(options = {}) @name = options[:name] @regions = options[:regions] @region_regex = options[:region_regex] @services = options[:services] @metadata = options[:metadata] end
def region(region_name)
-
(ArgumentError)
- Raises `ArgumentError` for unknown region name.
Returns:
-
(Region)
-
Parameters:
-
region_name
(String
) -- The name of the region, e.g. "us-east-1".
def region(region_name) if @regions.key?(region_name) @regions[region_name] else msg = "invalid region name #{region_name.inspect}; valid region "\ "names include #{@regions.keys.join(', ')}" raise ArgumentError, msg end end
def region?(region_name)
-
(Boolean)
- true if the region is in the partition.
Parameters:
-
region_name
(String
) -- The name of the region, e.g. "us-east-1".
def region?(region_name) @regions.key?(region_name) end
def regions
-
(Array
-)
def regions @regions.values end
def service(service_name)
-
(ArgumentError)
- Raises `ArgumentError` for unknown service name.
Returns:
-
(Service)
-
Parameters:
-
service_name
(String
) -- The service module name.
def service(service_name) if @services.key?(service_name) @services[service_name] else msg = "invalid service name #{service_name.inspect}; valid service "\ "names include #{@services.keys.join(', ')}" raise ArgumentError, msg end end
def service?(service_name)
-
(Boolean)
- true if the service is in the partition.
Parameters:
-
service_name
(String
) -- The service module name.
def service?(service_name) @services.key?(service_name) end
def services
-
(Array
-)
def services @services.values end