class Aws::Partitions::PartitionList

def add_partition(partition)

Other tags:
    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)

Other tags:
    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

Other tags:
    Api: - private
def clear
  @partitions = {}
end

def each(&block)

Returns:
  • (Enumerator) -
def each(&block)
  @partitions.each_value(&block)
end

def initialize

def initialize
  @partitions = {}
end

def merge_metadata(partitions_metadata)

Other tags:
    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)

Returns:
  • (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

Returns:
  • (Array) -
def partitions
  @partitions.values
end