Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. #!/usr/bin/ruby
  2.  
  3. require 'azure_mgmt_compute'
  4. require 'azure_mgmt_storage'
  5. require 'azure_mgmt_network'
  6. require 'azure_mgmt_resources'
  7.  
  8. include Azure::ARM::Compute
  9. include Azure::ARM::Compute::Models
  10.  
  11. include Azure::ARM::Storage
  12. include Azure::ARM::Storage::Models
  13.  
  14. include Azure::ARM::Network
  15. include Azure::ARM::Network::Models
  16.  
  17. include Azure::ARM::Resources
  18. include Azure::ARM::Resources::Models
  19.  
  20. tenant_id = "my_tenant_id"
  21. client_id = "my_client_id"
  22. secret = "path_to_my_secret"
  23. subscription_id = "my_subscription_id"
  24.  
  25. token_provider = MsRestAzure::ApplicationTokenProvider.new(tenant_id, client_id, secret)
  26. credentials = MsRest::TokenCredentials.new(token_provider)
  27.  
  28.  
  29. ########################### Resource Group creation #########################################
  30.  
  31. client = Azure::ARM::Resources::ResourceManagementClient.new(credentials)
  32. client.subscription_id = subscription_id
  33.  
  34. # Create a model for resource group.
  35. resource_group = Azure::ARM::Resources::Models::ResourceGroup.new()
  36. resource_group.location = 'westus'
  37.  
  38. promise = client.resource_groups.create_or_update('ali-test-rgrp-01', resource_group)
  39.  
  40. result = promise.value!
  41.  
  42. resource_group = result.body
  43.  
  44. p "Resource Group name is: - #{resource_group.name}" # 'new_test_resource_group'
  45. p "Resource Group ID is:- #{resource_group.id}" # the id of resource group
  46.  
  47. #############################################################################################
  48.  
  49.  
  50.  
  51. ########################### Virtual Machine creation #########################################
  52.  
  53. client = ComputeManagementClient.new(credentials)
  54. client.subscription_id = subscription_id
  55.  
  56. # Create a model for new virtual machine
  57. props = VirtualMachineProperties.new
  58.  
  59. windows_config = WindowsConfiguration.new
  60. windows_config.provision_vmagent = true
  61. windows_config.enable_automatic_updates = true
  62.  
  63. os_profile = OSProfile.new
  64. os_profile.computer_name = 'ali-test-vm-01'
  65. os_profile.admin_username = 'azure'
  66. os_profile.admin_password = 'azure@123'
  67. os_profile.windows_configuration = windows_config
  68. os_profile.secrets = []
  69. props.os_profile = os_profile
  70.  
  71. hardware_profile = HardwareProfile.new
  72.  
  73. hardware_profile.vm_size = 'Standard_A0'
  74. props.hardware_profile = hardware_profile
  75.  
  76. # create_storage_profile it is hypotetical helper method which creates storage
  77. # profile by means of ARM Storage SDK.
  78. props.storage_profile = create_storage_profile
  79.  
  80. # create_storage_profile it is hypotetical helper method which creates network
  81. # profile my means of ARM Network SDK.
  82. props.network_profile = create_network_profile
  83.  
  84. params = VirtualMachine.new
  85. params.type = 'Microsoft.Compute/virtualMachines'
  86. params.properties = props
  87. params.location = 'westus'
  88.  
  89. promise = client.virtual_machines.create_or_update('ali-test-rgrp-01', 'ali-test-vm-01', params)
  90.  
  91. result = promise.value!
  92.  
  93. vm = result.body
  94.  
  95. p "VM name is: - #{vm.name}" # name of the new vm
  96. p "VM ID is:- #{vm.id}" # id of the new vm
  97.  
  98. #############################################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement