class Fog::Compute::Softlayer::Tag

Public Class Methods

new(attributes = {}) click to toggle source
Calls superclass method
# File lib/fog/softlayer/models/compute/tag.rb, line 19
def initialize(attributes = {})
  super
end

Public Instance Methods

destroy() click to toggle source
# File lib/fog/softlayer/models/compute/tag.rb, line 23
def destroy
  requires :name, :resource_id
  load_server
  @server.bare_metal? ? destroy_bare_metal_tag : destroy_vm_tag
  true
end
references() click to toggle source
# File lib/fog/softlayer/models/compute/tag.rb, line 30
def references
  @servers ||= service.request(:tag, "#{id}", :query => "objectMask=references;references.tagType").body['references'].map do |ref|
    type = ref['tagType']['keyName']
    service.servers.get(ref['resourceTableId']) if type == 'GUEST' || type == 'HARDWARE'
  end.compact
end
save() click to toggle source
# File lib/fog/softlayer/models/compute/tag.rb, line 37
def save
  requires :name, :resource_id
  load_server
  @server.bare_metal? ? add_bare_metal_tag : add_vm_tag
  true
end

Private Instance Methods

add_bare_metal_tag() click to toggle source
# File lib/fog/softlayer/models/compute/tag.rb, line 46
def add_bare_metal_tag
  service.create_bare_metal_tags(@server.id, @server.tags << self.name)
end
add_vm_tag() click to toggle source
# File lib/fog/softlayer/models/compute/tag.rb, line 50
def add_vm_tag
  service.create_vm_tags(@server.id, @server.tags << self.name)
end
destroy_bare_metal_tag() click to toggle source
# File lib/fog/softlayer/models/compute/tag.rb, line 54
def destroy_bare_metal_tag
  service.delete_bare_metal_tags(@server.id, [self.name])
end
destroy_vm_tag() click to toggle source
# File lib/fog/softlayer/models/compute/tag.rb, line 58
def destroy_vm_tag
  service.delete_vm_tags(@server.id, [self.name])
end
load_server() click to toggle source
# File lib/fog/softlayer/models/compute/tag.rb, line 62
def load_server
  requires :resource_id
  @server ||= service.servers.get(self.resource_id)
end