module GClouder::Resources::Compute::Addresses::Local

Public Class Methods

global() click to toggle source
# File lib/gclouder/resources/compute/addresses.rb, line 58
def self.global
  Resources::Global.instances(path: ["addresses"])
end
list() click to toggle source
# File lib/gclouder/resources/compute/addresses.rb, line 53
def self.list
  addresses = global.merge regional
  addresses.delete_if { |_k, v| v.empty? }
end
regional() click to toggle source
# File lib/gclouder/resources/compute/addresses.rb, line 74
def self.regional
  resources = Resources::Region.instances(path: ["addresses"])

  # get_instances_from_region assumes all keys have configs.. this normalizes
  # the data to match self.global
  resources.each { |k, v| resources[k] = v.to_a.flatten.delete_if(&:nil?) }
end
section() click to toggle source
# File lib/gclouder/resources/compute/addresses.rb, line 62
def self.section
  %w(compute addresses)
end
validate() click to toggle source
# File lib/gclouder/resources/compute/addresses.rb, line 66
def self.validate
  Resources::Validate::Region.instances(
    list,
    required_keys:  GClouder::Config::Arguments.required(section),
    permitted_keys: GClouder::Config::Arguments.permitted(section)
  )
end