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



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

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

#by_name(name) ⇒ Object



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

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

#get(id) ⇒ Object



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

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)


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

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