module ApiStub module Requests module Compute # Mock class for Virtual Machine Requests class VirtualMachine def self.create_virtual_machine_response body = '{ "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server", "name":"fog-test-server", "type":"Microsoft.Compute/virtualMachines", "location":"westus", "tags": { "department":"finance" }, "properties": { "availabilitySet": { "id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1" }, "hardwareProfile": { "vmSize":"Standard_A0" }, "storageProfile": { "imageReference": { "publisher":"MicrosoftWindowsServerEssentials", "offer":"WindowsServerEssentials", "sku":"WindowsServerEssentials", "version":"latest" }, "osDisk": { "name":"myosdisk1", "vhd": { "uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd" }, "caching":"ReadWrite", "createOption":"FromImage" }, "dataDisks": [ { "name":"mydatadisk1", "diskSizeGB":"1", "lun": 0, "vhd": { "uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd" }, "createOption":"Empty" } ] }, "osProfile": { "computerName":"fog-test-server", "adminUsername":"fog", "adminPassword":"fog", "customData":"", "windowsConfiguration": { "provisionVMAgent":true, "winRM": { "listeners": [ { "protocol": "https", "certificateUrl": "url-to-certificate" } ] }, "enableAutomaticUpdates":true }, "secrets":[ { "sourceVault": { "id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1" }, "vaultCertificates": [ { "certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}", "certificateStore": "{certificateStoreName}" } ] } ] }, "networkProfile": { "networkInterfaces": [ { "id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1" } ] } } }' result = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new) result.body = Azure::ARM::Compute::Models::VirtualMachine.deserialize_object(JSON.load(body)) result end def self.detach_data_disk_from_vm_response body = '{ "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server", "name":"fog-test-server", "type":"Microsoft.Compute/virtualMachines", "location":"westus", "tags": { "department":"finance" }, "properties": { "availabilitySet": { "id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1" }, "hardwareProfile": { "vmSize":"Standard_A0" }, "storageProfile": { "imageReference": { "publisher":"MicrosoftWindowsServerEssentials", "offer":"WindowsServerEssentials", "sku":"WindowsServerEssentials", "version":"latest" }, "osDisk": { "name":"myosdisk1", "vhd": { "uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd" }, "caching":"ReadWrite", "createOption":"FromImage" }, "dataDisks": [] }, "osProfile": { "computerName":"fog-test-server", "adminUsername":"fog", "adminPassword":"fog", "customData":"", "windowsConfiguration": { "provisionVMAgent":true, "winRM": { "listeners": [ { "protocol": "https", "certificateUrl": "url-to-certificate" } ] }, "enableAutomaticUpdates":true }, "secrets":[ { "sourceVault": { "id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1" }, "vaultCertificates": [ { "certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}", "certificateStore": "{certificateStoreName}" } ] } ] }, "networkProfile": { "networkInterfaces": [ { "id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1" } ] } } }' result = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new) result.body = Azure::ARM::Compute::Models::VirtualMachine.deserialize_object(JSON.load(body)) result end def self.virtual_machine_response { 'location' => 'westus', 'id' => '/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server', 'name' => 'fog-test-server', 'type' => 'Microsoft.Compute/virtualMachines', 'tags' => { 'department' => 'finance' }, 'properties' => { 'hardwareProfile' => { 'vmSize' => 'Standard_A0' }, 'storageProfile' => { 'imageReference' => { 'publisher' => 'MicrosoftWindowsServerEssentials', 'offer' => 'WindowsServerEssentials', 'sku' => 'WindowsServerEssentials', 'version' => 'latest' }, 'osDisk' => { 'name' => 'myosdisk1', 'vhd' => { 'uri' => 'http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd' }, 'createOption' => 'FromImage', 'caching' => 'ReadWrite' }, 'dataDisks' => [ { 'lun' => 0, 'name' => 'mydatadisk1', 'vhd' => { 'uri' => 'http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd' }, 'createOption' => 'Empty', 'diskSizeGB' => 1 } ] }, 'osProfile' => { 'computerName' => 'fog-test-server', 'adminUsername' => 'fog', 'adminPassword' => 'fog', 'customData' => '', 'windowsConfiguration' => { 'provisionVMAgent' => true, 'enableAutomaticUpdates' => true, 'winRM' => { 'listeners' => [ { 'protocol' => 'https', 'certificateUrl' => 'url-to-certificate' } ] } }, 'secrets' => [ { 'sourceVault' => { 'id' => '/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1' }, 'vaultCertificates' => [ { 'certificateUrl' => 'https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}', 'certificateStore' => '{certificateStoreName}' } ] } ] }, 'networkProfile' => { 'networkInterfaces' => [ { 'id' => '/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1' } ] }, 'availabilitySet' => { 'id' => '/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1' } } } end def self.list_virtual_machines_response body = '{ "value": [ { "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server", "name":"fog-test-server", "type":"Microsoft.Compute/virtualMachines", "location":"westus", "tags": { "department":"finance" }, "properties": { "availabilitySet": { "id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1" }, "hardwareProfile": { "vmSize":"Standard_A0" }, "storageProfile": { "imageReference": { "publisher":"MicrosoftWindowsServerEssentials", "offer":"WindowsServerEssentials", "sku":"WindowsServerEssentials", "version":"latest" }, "osDisk": { "name":"myosdisk1", "vhd": { "uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd" }, "caching":"ReadWrite", "createOption":"FromImage" }, "dataDisks": [ { "name":"mydatadisk1", "diskSizeGB":"1", "lun": 0, "vhd": { "uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd" }, "createOption":"Empty" } ] }, "osProfile": { "computerName":"fog-test-server", "adminUsername":"fog", "adminPassword":"fog", "customData":"", "windowsConfiguration": { "provisionVMAgent":true, "winRM": { "listeners": [ { "protocol": "https", "certificateUrl": "url-to-certificate" } ] }, "enableAutomaticUpdates":true }, "secrets":[ { "sourceVault": { "id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1" }, "vaultCertificates": [ { "certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}", "certificateStore": "{certificateStoreName}" } ] } ] }, "networkProfile": { "networkInterfaces": [ { "id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1" } ] } } } ] }' result = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new) result.body = Azure::ARM::Compute::Models::VirtualMachineListResult.deserialize_object(JSON.load(body)) result end def self.list_available_sizes_for_virtual_machine_response body = '{ "value": [ { "name": "Standard_A0", "numberOfCores": 1, "osDiskSizeInMB": 130048, "resourceDiskSizeInMB": 20480, "memoryInMB": 768, "maxDataDiskCount": 1 } ] }' result = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new) result.body = Azure::ARM::Compute::Models::VirtualMachineSizeListResult.deserialize_object(JSON.load(body)) result end def self.virtual_machine_instance_view_response body = '{ "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server", "name":"fog-test-server", "type":"Microsoft.Compute/virtualMachines", "location":"westus", "tags": { "department":"finance" }, "properties": { "instanceView": { "platformUpdateDomain": 0, "platformFaultDomain": 0, "vmAgent": { "vmAgentVersion": "2.5.1198.709", "statuses": [ { "code": "ProvisioningState/succeeded", "level": "Info", "displayStatus": "Ready", "message": "GuestAgent is running and accepting new configurations.", "time": "2015-04-21T11:42:44-07:00" }] }, "disks": [ { "name": "msvm-os-20150410-074408-487548", "statuses": [ { "code": "ProvisioningState/succeeded", "level": "Info", "displayStatus": "Provisioning succeeded", "time": "2015-04-10T12:44:10.4562812-07:00" }] }], "statuses": [ { "code": "ProvisioningState/succeeded", "level": "Info", "displayStatus": "Provisioning succeeded", "time": "2015-04-10T12:50:09.0031588-07:00" }, { "code": "PowerState/running", "level": "Info", "displayStatus": "VM running" }] } } }' result = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new) result.body = Azure::ARM::Compute::Models::VirtualMachine.deserialize_object(JSON.load(body)) result end def self.vm_status_response 'running' end def self.update_virtual_machine_response body = ' { "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server", "name":"fog-test-server", "type":"Microsoft.Compute/virtualMachines", "location":"westus", "tags": { "department":"finance" }, "properties": { "availabilitySet": { "id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1" }, "hardwareProfile": { "vmSize":"Standard_A0" }, "storageProfile": { "imageReference": { "publisher":"MicrosoftWindowsServerEssentials", "offer":"WindowsServerEssentials", "sku":"WindowsServerEssentials", "version":"latest" }, "osDisk": { "name":"myosdisk1", "vhd": { "uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd" }, "caching":"ReadWrite", "createOption":"FromImage" }, "dataDisks": [ { "name":"mydatadisk1", "diskSizeGB":"1", "lun": 0, "vhd": { "uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd" }, "createOption":"Empty" }, { "name":"disk1", "diskSizeGB":"1", "lun": 0, "vhd": { "uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd" }, "createOption":"Empty" }] }, "osProfile": { "computerName":"fog-test-server", "adminUsername":"fog", "adminPassword":"fog", "customData":"", "windowsConfiguration": { "provisionVMAgent":true, "winRM": { "listeners": [ { "protocol": "https", "certificateUrl": "url-to-certificate" } ] }, "enableAutomaticUpdates":true }, "secrets":[ { "sourceVault": { "id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1" }, "vaultCertificates": [ { "certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}", "certificateStore": "{certificateStoreName}" } ] } ] }, "networkProfile": { "networkInterfaces": [ { "id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1" } ] } } }' result = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new) result.body = Azure::ARM::Compute::Models::VirtualMachine.deserialize_object(JSON.load(body)) result end def self.virtual_machine_15_data_disks_response body = ' { "id":"/subscriptions/{subscription-id}/resourceGroups/fog-test-rg/providers/Microsoft.Compute/virtualMachines/fog-test-server", "name":"fog-test-server", "type":"Microsoft.Compute/virtualMachines", "location":"westus", "tags": { "department":"finance" }, "properties": { "availabilitySet": { "id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1" }, "hardwareProfile": { "vmSize":"Standard_A0" }, "storageProfile": { "imageReference": { "publisher":"MicrosoftWindowsServerEssentials", "offer":"WindowsServerEssentials", "sku":"WindowsServerEssentials", "version":"latest" }, "osDisk": { "name":"myosdisk1", "vhd": { "uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd" }, "caching":"ReadWrite", "createOption":"FromImage" }, "dataDisks": [ { "name":"mydatadisk1", "diskSizeGB":"1", "lun": 0, "vhd": { "uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd" }, "createOption":"Empty" }, { "name":"disk1", "diskSizeGB":"1", "lun": 1, "vhd": { "uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd" }, "createOption":"Empty" }, { "name":"disk2", "lun": 2 }, { "name":"disk3", "lun": 3 }, { "name":"disk3", "lun": 4 }, { "name":"disk4", "lun": 5 }, { "name":"disk5", "lun": 6 }, { "name":"disk6", "lun": 7 }, { "name":"disk7", "lun": 8 }, { "name":"disk8", "lun": 9 }, { "name":"disk9", "lun": 10 }, { "name":"disk10", "lun": 11 }, { "name":"disk11", "lun": 12 }, { "name":"disk12", "lun": 13 }, { "name":"disk13", "lun": 14 }, { "name":"disk14", "lun": 15 }] }, "osProfile": { "computerName":"fog-test-server", "adminUsername":"fog", "adminPassword":"fog", "customData":"", "windowsConfiguration": { "provisionVMAgent":true, "winRM": { "listeners": [ { "protocol": "https", "certificateUrl": "url-to-certificate" } ] }, "enableAutomaticUpdates":true }, "secrets":[ { "sourceVault": { "id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1" }, "vaultCertificates": [ { "certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}", "certificateStore": "{certificateStoreName}" } ] } ] }, "networkProfile": { "networkInterfaces": [ { "id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1" } ] } } }' result = MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new) result.body = Azure::ARM::Compute::Models::VirtualMachine.deserialize_object(JSON.load(body)) result end end end end end