Class: Fog::Compute::Google::GlobalAddresses

Inherits:
Fog::Collection
  • Object
show all
Defined in:
lib/fog/compute/google/models/global_addresses.rb

Instance Method Summary collapse

Instance Method Details

#all(options = {}) ⇒ Object


7
8
9
10
# File 'lib/fog/compute/google/models/global_addresses.rb', line 7

def all(options = {})
  data = service.list_global_addresses(options).to_h[:items] || []
  load(data)
end

#get(identity) ⇒ Object


12
13
14
15
16
17
18
19
# File 'lib/fog/compute/google/models/global_addresses.rb', line 12

def get(identity)
  if address = service.get_global_address(identity).to_h
    new(address)
  end
rescue ::Google::Apis::ClientError => e
  raise e unless e.status_code == 404
  nil
end

#get_by_ip_address(ip_address) ⇒ Object


21
22
23
24
25
26
27
28
# File 'lib/fog/compute/google/models/global_addresses.rb', line 21

def get_by_ip_address(ip_address)
  data = service.list_global_addresses(:filter => "address eq #{ip_address}")
  if data.nil? || data.items.nil?
    nil
  else
    new(data.items.first.to_h)
  end
end

#get_by_ip_address_or_name(ip_address_or_name) ⇒ Object


39
40
41
# File 'lib/fog/compute/google/models/global_addresses.rb', line 39

def get_by_ip_address_or_name(ip_address_or_name)
  get_by_ip_address(ip_address_or_name) || get_by_name(ip_address_or_name)
end

#get_by_name(ip_name) ⇒ Object


30
31
32
33
34
35
36
37
# File 'lib/fog/compute/google/models/global_addresses.rb', line 30

def get_by_name(ip_name)
  data = service.list_global_addresses(:filter => "name eq #{ip_name}")
  if data.nil? || data.items.nil?
    nil
  else
    new(data.items.first.to_h)
  end
end