Description
A Ruby interface for Azure using the new REST API.
Synopsis
require 'azure/armrest'
# Set things on a global level. All other objects will then use the
# information you set here.
Azure::Armrest::ArmrestManager.configure(
:client_id => 'XXXXX',
:client_key => 'YYYYY',
:tenant_id => 'ZZZZZ',
:subscription_id => 'ABCDEFG'
)
# This will then use the configuration info set above.
vmm = Azure::Armrest::VirtualMachineManager.new
# Alternatively you can set the configuration information on a per-instance
# basis if you need different credentials for different classes.
vmm = Azure::Armrest::VirtualMachineManager.new(
:client_id => 'XXXXX',
:client_key => 'YYYYY',
:tenant_id => 'ZZZZZ',
:subscription_id => 'ABCDEFG'
)
# Call this before making method calls if using per-instance configuration.
# This is not necessary if you set it via ArmrestManager.configure.
vmm.get_token
# Create a virtual machine
vmm.create_virtual_machine(
:name => 'some_vm',
:location => 'West US',
:vm_size => 'Standard_A1',
:computer_name => 'whatever',
:admin_username => 'admin_user',
:admin_password => 'adminxxxxxx',
:os_disk => {:name => 'disk_name1', :os_type => 'Linux', :caching => 'read'},
:data_disks => {:name => 'data_disk1', :lun => 0, :caching => 'read'}
)
Tokens and methods
You will not be able to make any method calls until you first call the get_token method.
Subscriptions
If you do not provide a subscription ID to the constructor, then the first subscription ID returned from a REST call will be used.
Notes
Currently only the client credentials strategy is supported. Support for other strategies may be added over time.
License
The gem is available as open source under the terms of the Apache License 2.0.
Authors
- Daniel Berger
- Bronagh Sorota