Class: Fog::Compute::XenServer::Models::Server
- Inherits:
-
Server
- Object
- Server
- Fog::Compute::XenServer::Models::Server
show all
- Extended by:
- ClassMethods
- Includes:
- InstanceMethods
- Defined in:
- lib/fog/compute/xen_server/models/server.rb
Instance Method Summary
collapse
collection_name, provider_class, require_before_save
#collection, #method_missing, #provider_class, #require_creation_attributes, #respond_to?, #save, #set_attribute
Instance Method Details
#can_be_cloned? ⇒ Boolean
151
152
153
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 151
def can_be_cloned?
allowed_operations.include?("clone")
end
|
#clean_shutdown ⇒ Object
144
145
146
147
148
149
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 144
def clean_shutdown
return false if halted?
service.clean_shutdown_vm(reference)
wait_for(&:halted?)
true
end
|
#clone(name) ⇒ Object
155
156
157
158
159
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 155
def clone(name)
raise "Clone Operation not Allowed" unless can_be_cloned?
self.reference = service.clone_vm(name, self.reference)
reload
end
|
#destroy ⇒ Object
124
125
126
127
128
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 124
def destroy
hard_shutdown
vbds.map(&:destroy)
service.destroy_record(reference, provider_class)
end
|
#halted? ⇒ Boolean
119
120
121
122
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 119
def halted?
reload
power_state == "Halted"
end
|
#hard_shutdown ⇒ Object
137
138
139
140
141
142
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 137
def hard_shutdown
return false if halted?
service.hard_shutdown_vm(reference)
wait_for(&:halted?)
true
end
|
#home_hypervisor ⇒ Object
106
107
108
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 106
def home_hypervisor
service.hosts.first
end
|
#mac_address ⇒ Object
110
111
112
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 110
def mac_address
vifs.first.mac
end
|
#revert(snapshot) ⇒ Object
Also known as:
revert_to
161
162
163
164
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 161
def revert(snapshot)
snapshot = collection.get_by_reference_or_name_or_uuid(snapshot)
service.revert_vm(snapshot.reference)
end
|
#running? ⇒ Boolean
114
115
116
117
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 114
def running?
reload
power_state == "Running"
end
|
#start ⇒ Object
130
131
132
133
134
135
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 130
def start
return false if running?
service.start_vm(reference)
wait_for(&:running?)
true
end
|
102
103
104
|
# File 'lib/fog/compute/xen_server/models/server.rb', line 102
def tools_installed?
!guest_metrics.nil?
end
|