class Aws::Partitions::PartitionList
def add_partition(partition)
- Api: - private
Parameters:
-
partition
(Partition
) --
def add_partition(partition) if Partition === partition @partitions[partition.name] = partition else raise ArgumentError, "expected Partition, got #{partition.class}" end end
def build(partitions)
- Api: - private
def build(partitions) partitions['partitions'].inject(PartitionList.new) do |list, partition| list.add_partition(Partition.build(partition)) list end end
def build_metadata_regions(partition_name, metadata_regions, existing = nil)
def build_metadata_regions(partition_name, metadata_regions, existing = nil) metadata_regions.each_with_object({}) do |(region_name, region), regions| if existing && existing.region?(region_name) regions[region_name] = existing.region(region_name) else regions[region_name] = Region.new( name: region_name, description: region['description'], partition_name: partition_name, services: Set.new ) end end end
def clear
- Api: - private
def clear @partitions = {} end
def each(&block)
-
(Enumerator
-)
def each(&block) @partitions.each_value(&block) end
def initialize
def initialize @partitions = {} end
def merge_metadata(partitions_metadata)
- Api: - private
Parameters:
-
partitions_metadata
(Partition
) --
def merge_metadata(partitions_metadata) partitions_metadata['partitions'].each do |partition_metadata| outputs = partition_metadata['outputs'] if existing = @partitions[partition_metadata['id']] @partitions[partition_metadata['id']] = Partition.new( name: existing.name, regions: build_metadata_regions( partition_metadata['id'], partition_metadata['regions'], existing), region_regex: partition_metadata['regionRegex'], services: existing.services.each_with_object({}) do |s, services| services[s.name] = s end, metadata: outputs ) else @partitions[partition_metadata['id']] = Partition.new( name: partition_metadata['id'], regions: build_metadata_regions( partition_metadata['id'], partition_metadata['regions'] ), region_regex: partition_metadata['regionRegex'], services: {}, metadata: outputs ) end end end
def partition(partition_name)
-
(Partition)
-
Parameters:
-
partition_name
(String
) --
def partition(partition_name) if @partitions.key?(partition_name) @partitions[partition_name] else msg = "invalid partition name #{partition_name.inspect}; valid "\ "partition names include %s" % [@partitions.keys.join(', ')] raise ArgumentError, msg end end
def partitions
-
(Array
-)
def partitions @partitions.values end