Sha256: bb1156b2e88b12d469389d0a60148296347b8810b260beb4c4be93def5fdbe70
Contents?: true
Size: 1.45 KB
Versions: 2
Compression:
Stored size: 1.45 KB
Contents
module Fog module Compute class AzureRM # This class provides the actual implemention for service calls. class Real def check_vm_status(resource_group, name) Fog::Logger.debug "Checking Virtual Machine #{name} status." begin # Pass 'instanceView' in get method, as argument, to get Virtual Machine status. promise = @compute_mgmt_client.virtual_machines.get(resource_group, name, 'instanceView') response = promise.value! virtual_machine = response.body get_status(virtual_machine) rescue MsRestAzure::AzureOperationError => e msg = "Error in checking Virtual Machine '#{name}' status in Resource Group '#{resource_group}'. #{e.body['error']['message']}" raise msg end end def get_status(virtual_machine) vm_statuses = virtual_machine.properties.instance_view.statuses vm_status = nil vm_statuses.each do |status| if status.code.include? 'PowerState' Fog::Logger.debug status.display_status.to_s vm_status = status.code.split('/')[1] end end vm_status end end # This class provides the mock implementation for unit tests. class Mock def check_vm_status(_resource_group, _name) 'running' end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fog-azure-rm-0.0.4 | lib/fog/azurerm/requests/compute/check_vm_status.rb |
fog-azure-rm-0.0.3 | lib/fog/azurerm/requests/compute/check_vm_status.rb |