module GClouder::Resources::Compute::Networks::Local

Public Class Methods

list() click to toggle source
# File lib/gclouder/resources/compute/networks.rb, line 40
def self.list
  { "global" => resources }.delete_if { |_k, v| v.empty? }
end
networks() click to toggle source
# File lib/gclouder/resources/compute/networks.rb, line 73
def self.networks
  GClouder::Resources::Global.instances(path: ["networks"])
end
resources() click to toggle source
# File lib/gclouder/resources/compute/networks.rb, line 44
def self.resources
  merged = networks.merge(subnet_networks)["global"]
  return [] unless merged
  merged.uniq { |network| network["name"] }
end
subnet_networks() click to toggle source
# File lib/gclouder/resources/compute/networks.rb, line 77
def self.subnet_networks
  GClouder::Resources::Compute::Networks::Subnets::Local.networks
end
validate() click to toggle source
# File lib/gclouder/resources/compute/networks.rb, line 50
def self.validate
  return if list.empty?

  failure = false

  list.each do |region, networks|
    info region, indent: 2, heading: true
    networks.each do |network|
      info network["name"], indent: 3, heading: true
      if !network["name"].is_a?(String)
        bad "#{network['name']} is incorrect type #{network['name'].class}, should be: String", indent: 4
        failure = true
      end

      if cli_args[:debug] || !cli_args[:output_validation]
        good "network is a String", indent: 4
      end
    end
  end

  fatal "\nerror: validation failure" if failure
end