Microsoft Azure SDK for Ruby - Resource Management (preview)
This project provides a Ruby package for Azure Resource Management (ARM). If you're looking for Azure Service Management (ASM) please refer to this repo
Additional info on Azure deployment models https://azure.microsoft.com/en-us/documentation/articles/azure-classic-rm/
Azure Resource Management (preview)
- Authorization Azure Resource Manager role based authorization
- Batch Azure Batch Management Account & Application operations management
- CDN Azure Content Delivery Network
- Cognitive Services Azure Cognitive Services Account management
- Commerce Azure Commerce Usage aggregates & Rate card management
- Compute Virtual Machines, Images, Extensions, Availability Sets, etc...
- Datalake Analytics Azure Datalake Analytics Account, Catalog and Job management
- Datalake Store Azure Datalake Store Account and FileSystem management
- DevTest Labs Azure DevTest Labs LabOperations, ArtifactSourceOperations, ArtifactOperations, CostOperations etc...
- DNS Azure DNS Record Set and Zone management
- Features Feature Exposure Controls
- Graph Azure Active Directory Applications, Users, etc...
- IoTHub Azure IoTHub's Resource Management
- Key Vault Azure Key Vault's vault management
- Locks Management locks for Azure Resources
- Logic Integration Accounts, AccountSchemas, AccountMaps, AccountPartners etc...
- Machine Learning Azure Machine Learning web services management
- Media Services Media Services resource management APIs
- Mobile Engagement Azure Mobile Engagement's Apps, App Collections, Devices management APIs
- Network Load Balancers, Network Gateways, Security Groups, etc...
- Notification Hubs Notification Hubs management
- Policy Policy Assignment & Policy definition operations
- Powerbi Embedded Azure Powerbi Embedded Workspace & WorkspaceCollection management
- Redis Redis resource management
- Resources Resource Groups, Resource Providers, Template Deployments, Operations, etc...
- Scheduler Manage scheduled jobs in Azure
- Search Manage Search resources
- Server Management Azure Server Management Service like node, gateway, powershell etc..
- SQL Manage Azure SQL resources
- Storage Account Creation, Usage Operations, etc...
- Subscriptions Manage Azure subscriptions
- Traffic Manager Azure Traffic Manager's profile & endpoint management
- WebApps Manage WebApps, formally known as WebSites
- Storage Azure Storage is now availabe in its own preview gem and GitHub repo
- Service Bus
Supported Ruby Versions
- Ruby 2+
Note: x64 Ruby for Windows is known to have some compatibility issues.
Getting Started with Azure Resource Manager Usage (Preview)
Install the rubygem packages
You can install the azure rubygem packages directly.
gem install azure_mgmt_compute gem install azure_mgmt_storage gem install azure_mgmt_resources gem install azure_mgmt_network
Or use them in your Gemfile.
gem 'azure_mgmt_storage' gem 'azure_mgmt_compute' gem 'azure_mgmt_resources' gem 'azure_mgmt_network'
Be aware the Azure Resource Manager Ruby SDK is in preview and will likely have breaking interface changes in upcoming releases. An increased number in Minor version may indicate breaking changes.
The first step to using the SDK is authentication and permissions. For people unfamilar with Azure this may be one of the more difficult concepts. For a reference on setting up a service principal from the command line see Authenticating a service principal with Azure Resource Manager or Unattended Authentication. For a more robust explanation of authentication in Azure, see Developer’s guide to auth with Azure Resource Manager API.
After creating the service principal, you should have three pieces of information, a client id (GUID), client secret (string) and tenant id (GUID) or domain name (string).
Getting Started Samples
For more getting started samples go to Azure-Samples. Please make sure to look for the azure_mgmt_* gem versions for samples.
Contribute Code or Provide Feedback
- Fork the repository
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request
Development Environment Setup
Download Source Code
To get the source code of the SDK via git just type:
git clone https://github.com/Azure/azure-sdk-for-ruby.git cd ./azure-sdk-for-ruby
Then, run bundler to install all the gem dependencies:
Run Recorded Integration Tests
- Set the environment variable
INTEG_RECORDED = true
Re-Record Integration Tests
- Set the environment variable
INTEG_RECORDED = falseor un-set it
- Copy .env_sample to .env
- Update .env with your Azure credentials .env is in the .gitignore, so should only reside locally
- Run specific test using
cd ./management/azure_mgmt_compute rspec spec/virtual_machines_spec.rb
If vcr cassette exist then it'll replay the test otherwise it'll record it.
Running the command
yard will generate the API documentation in the
If you encounter any bugs with the library please file an issue in the Issues section of the project. Please make sure to label the issues with either arm or asm to help us expedite the process.