AzureリソースグループをRubyで作る
事前準備
前回の記事に書いた事前準備を実施すると、RubyでAzureを触る準備は完璧です。あとはRubyで書くだけでOK。
matcu.hatenablog.com
リソースグループとは?
Azure Resource Managerでは、全てのリソースをグループとして管理します。
そのため、まずはこのリソースグループを作成する必要があります。
azure.microsoft.com
リソースグループを作る
では、Azure SDK for Rubyを使ってリソースグループを作ってみます。
利用環境
- ruby 2.2.5p292
- Bundler version 1.11.2
プロジェクトの準備
まずはプロジェクトを作ります。
gem install bundler -v '1.11.2' mkdir azure_sample cd azure_sample bundle init
作成されたGemfileに必要なgemを追加します。
dotenvは前回記事でゲットした3つの情報を設定するために使います。
source 'https://rubygems.org' gem 'dotenv' gem 'azure_mgmt_resources'
上記で追加したgemをプロジェクトのbundleディレクトリにインストールします。
bundle install --path bundle
.envファイルに認証に必要な情報を書きます。
AZURE_TENANT_ID="00000000-0000-0000-0000-000000000000" AZURE_CLIENT_ID="00000000-0000-0000-0000-000000000000" AZURE_CLIENT_SECRET="00000000000000000000000000000000000000000000" AZURE_SUBSCRIPTION_ID="00000000-0000-0000-0000-000000000000"
最後にリソースグループを作成するスクリプトを作成します。
$:.unshift File.expand_path(File.join(File.dirname(__FILE__))) require 'bundler/setup' require 'azure_mgmt_resources' require 'dotenv' include Azure::ARM::Resources include Azure::ARM::Resources::Models Dotenv.load # Create authentication objects. token_provider = MsRestAzure::ApplicationTokenProvider.new(ENV['AZURE_TENANT_ID'], ENV['AZURE_CLIENT_ID'], ENV['AZURE_CLIENT_SECRET']) credentials = MsRest::TokenCredentials.new(token_provider) # Create resource group. client = ResourceManagementClient.new(credentials) client.subscription_id = ENV['AZURE_SUBSCRIPTION_ID'] resource_group = ResourceGroup.new() resource_group.location = 'centralus' promise = client.resource_groups.create_or_update('sample-group', resource_group) result = promise.value!
スクリプトを実行すると「sample-group」というリソースグループが作成されます!
次の記事では仮想ネットワークの作成を行いたいと思います。