Class: Fog::Network::Softlayer::Networks

Inherits:
Collection
  • Object
show all
Defined in:
lib/fog/softlayer/models/network/networks.rb

Instance Method Summary collapse

Instance Method Details

#allObject



16
17
18
19
# File 'lib/fog/softlayer/models/network/networks.rb', line 16

def all
  data = service.list_networks.body
  load(data)
end

#by_name(name) ⇒ Object



39
40
41
# File 'lib/fog/softlayer/models/network/networks.rb', line 39

def by_name(name)
  all.select { |vlan| vlan.name == name }.first
end

#get(id) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/fog/softlayer/models/network/networks.rb', line 21

def get(id)
  if network = service.get_network(id).body
    new(network)
  end
rescue Fog::Network::Softlayer::NotFound
  nil
end

#tagged_with(tags) ⇒ Object

Raises:

  • (ArgumentError)


29
30
31
32
33
34
35
36
37
# File 'lib/fog/softlayer/models/network/networks.rb', line 29

def tagged_with(tags)
  raise ArgumentError, "Tags argument for #{self.class.name}##{__method__} must be Array." unless tags.is_a?(Array)
  ids = service.get_references_by_tag_name(tags.join(',')).body.map do |tag|
    tag['references'].map do |ref|
      ref['resourceTableId']
    end
  end.flatten.uniq
  ids.map { |id| get(id) }
end