c3e8710626
* generation of analysis services * generation of authorization * generation of automation * generation of batch * generation of billing * generation of cdn * generation of cognitive services * generation of commerce * generation of compute * generation of consumption * generation of container instance * generation of container registry * generation of customer insights * generation of datalake analytics * generation of datalake store * generation of devtestlabs * generation of dns * generation of event grid * generation of event hub * generation of features * generation of graph * generation of iot hub * generation of keyvault * generation of links * generation of locks * generation of machine learning * generation of managed applicatinos * generation of market place ordering * generation of media services * generation of mobile engagement * generation of monitor * generation of network * generation of notification hubs * generation of operational insights * generation of policy * generation of powerbi_embedded * generation of recovery services * generation of recovery services backup * generation of recovery services site recovery * generation of redis * generation of relay * generation of resources * generation of resources management * generation of scheduler * generation of search * generation of server management * generation of service bus * generation of service fabric * generation of sql * generation of stor simple 8000 series * generation of storage * generation of stream analytis * generation of subscriptions * generation of traffic manager * generation of web * generation of logic * manual files for new gems * Updates to azure_sdk gem adding new gems and missing ones, Gemfile, swagger to sdk, Rakefile and readme * re-generating customer insights * correcting Rakefile * re-generating marketplace ordering * Updating changelog * correcting azure_sdk gemspec * updating version to 0.14.0 * re-generated based on autorest.ruby 2.0.17 * addressing CR feedback * correcting swagger to sdk file one more time for stream analytics |
||
---|---|---|
azure_sdk | ||
management | ||
runtime | ||
scripts | ||
.env_sample | ||
.gitignore | ||
.travis.yml | ||
ARM_VERSION | ||
ChangeLog.md | ||
Gemfile | ||
README.md | ||
Rakefile | ||
swagger_to_sdk_config.json | ||
vcr_helper.rb |
README.md
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)
- Analysis Services Manage Azure Analysis Services
- Authorization Azure Resource Manager role based authorization
- Automation Manage Azure Automation service
- Batch Azure Batch Management Account & Application operations management
- Billing Manage Azure Billing service
- 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...
- Consumption Manage Azure Consumption service
- Container Instance Manage Azure Container Instance service
- Container Registry Registries, Credentials, Replications, etc...
- Customer Insights Manage Azure Customer Insights service
- 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
- Event Grid Azure Event Grid management service
- Event Hub Azure Event Hub management service
- 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
- Links Management links for Azure Resources
- Locks Management locks for Azure Resources
- Logic Integration Accounts, AccountSchemas, AccountMaps, AccountPartners etc...
- Machine Learning Azure Machine Learning web services management
- Managed Applications Manage Applications for Azure Resources
- Marketplace Ordering Manage Azure Marketplace Ordering service
- Media Services Media Services resource management APIs
- Mobile Engagement Azure Mobile Engagement's Apps, App Collections, Devices management APIs
- Monitor Azure Monitor management
- Network Load Balancers, Network Gateways, Security Groups, etc...
- Notification Hubs Notification Hubs management
- Operational Insights Manage Azure Operational Insights service
- Policy Policy Assignment & Policy definition operations
- Powerbi Embedded Azure Powerbi Embedded Workspace & WorkspaceCollection management
- Recovery Services Azure Recovery Services management
- Recovery Services Backup Azure Recovery Services Backup management
- Recovery Services Site Recovery Azure Recovery Services Site Recovery management
- Redis Redis resource management
- Relay Azure Relay management
- Resources Resource Groups, Resource Providers, Template Deployments, Operations, etc...
- Resources Management Azure Resources Management service
- Scheduler Manage scheduled jobs in Azure
- Search Manage Search resources
- Server Management Azure Server Management Service like node, gateway, powershell etc..
- Service Bus Manage Azure Service Bus
- Service Fabric Manage Azure Fabric Bus
- SQL Manage Azure SQL resources
- Stor Simple 8000 Series Manage Azure Stor Simple 8000 Series service
- Storage Account Creation, Usage Operations, etc...
- Stream Analytics Create, update, start, stop streaming jobs etc...
- Subscriptions Manage Azure subscriptions
- Traffic Manager Azure Traffic Manager's profile & endpoint management
- WebApps Manage WebApps, formally known as WebSites
Azure Services
- 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.
Authentication
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
The tests for the libraries should provide a good example of how to get started with the clients. You can also see the readme for each of the libraries Compute, Network, Storage, or Resources.
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 it
- 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:
bundle install
Run Recorded Integration Tests
- Set the environment variable
INTEG_RECORDED = true
- Run
rake arm:spec
Re-Record Integration Tests
- Set the environment variable
INTEG_RECORDED = false
or 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
rspec
example:
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.
Generate Documentation
Running the command yard
will generate the API documentation in the ./doc
directory.
Re-Gen all azure_mgmt_* SDKs
Follow the steps below to regenerate all the azure_mgmt_* sdks using autorest.ruby generator:
- Install Node.js version
7.10.0
or greater - Install autorest using
npm install -g autorest
- Run
bundle install
in the root directory of the project - Run
rake arm:regen
task to regenerate all the management SDKs
Provide Feedback
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.
Azure CLI Tooling
For documentation on Azure PowerShell. For documentation on Azure CLI.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.