読者です 読者をやめる 読者になる 読者になる

Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

Affinity Group の謎を追え

タイトルは釣りです。もう、Affinity Group(アフィニティグループ)は、オワコン感があるのですが、Azure CLI使っていたら納得いかない動きがあったので、スコシ追ってみました。

Azure CLI では

Azure CLI でAffinity Groupを作成する場合

azure account affinity-group create hoge --location "japan west" --label "label"

としなくてはなりません。Labelを省略すると、Affinity Groupが作成できません。

azure account affinity-group create bar --location "japan west"
info:    Executing command account affinity-group create
+ Creating affinity group
error:   The affinity group label is invalid.
info:    Error information has been recorded to azure.err
error:   account affinity-group create command failed

ラベルを指定すると、管理ポータルでは以下のように表示されます。

f:id:StateMachine:20141001191552p:plain

REST API

ここで、REST APIを確認してみましょう。

Create Affinity Group

Labelプロパティの説明には、

Required. A base-64 encoded name for the affinity group. The name can be up to 100 characters in length.

必須と書いてあります。

管理ポータル

そもそも管理ポータルで作成する場合、Labelなんていうプロパティが存在しません。管理ポータルからbar というのを作成してみます。

f:id:StateMachine:20141001191955p:plain

表示はこんな感じ。

f:id:StateMachine:20141001192018p:plain

再び Azure CLI

$ azure account affinity-group list
info:    Executing command account affinity-group list
+ Getting affinity groups
data:    Name  Label  Location
data:    ----  -----  ----------
data:    bar   bar    Japan West
data:    foo   label  Japan West
info:    account affinity-group list command OK

管理ポータルから作成すると、Name=Labelになっていることが確認できました。ということで、どうやら、管理ポータルではLabelプロパティは隠蔽されているみたいですね。

Azure CLIから作るときも Name = Label としておけば無問題のようでした。

Powershell

Powershellでは、Labelプロパティは省略可能でした。

PS C:\Users\moris> New-AzureAffinityGroup -Name "boo" -Location "Japan West"

OperationDescription             OperationId                      OperationStatus                 
--------------------             -----------                      ---------------                 
New-AzureAffinityGroup           c1fe5a4e-5897-1363-85f2-d4087... Succeeded               

Azure CLIだけ、使用に厳密っぽい感じですかねぇ。オワコンなんで、リクエストするのもアレな感じ。