1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/xenserver/models/compute/vif.rb
Paul Thornthwaite 2e0b7e545a Standardise empty lines throughout codebase
Done with `rubocop --auto-correct --only EmptyLineBetweenDefs,EmptyLines,EmptyLinesAroundBody`
2014-05-26 14:20:02 +01:00

56 lines
1.6 KiB
Ruby

require 'fog/core/model'
module Fog
module Compute
class XenServer
class VIF < Fog::Model
# API Reference here:
# http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/api/?c=VIF
identity :reference
attribute :mac, :aliases => :MAC
attribute :uuid
attribute :allowed_operations
attribute :current_operations
attribute :currently_attached
attribute :device
attribute :ipv4_allowed
attribute :ipv6_allowed
attribute :locking_mode
attribute :mac_autogenerated, :aliases => :MAC_autogenerated
attribute :__metrics, :aliases => :metrics
attribute :other_config
attribute :qos_algorithm_params
attribute :qos_algorithm_type
attribute :qos_supported_algorithms
attribute :runtime_properties
attribute :mtu, :aliases => :MTU
attribute :__network, :aliases => :network
attribute :status_code
attribute :status_detail
attribute :__vm, :aliases => :VM
def destroy
service.destroy_vif reference
end
def network
service.networks.get __network
end
def server
service.servers.get __vm
end
def save
requires :server
raise ArgumentError.new('network is required for this operation') \
unless attributes[:__network]
ref = service.create_vif attributes[:server], attributes[:__network]
merge_attributes service.vifs.get(ref).attributes
end
end
end
end
end