Resource Explorer で取れるような JSON のリソース定義を Azure PowerShell で取ったことがなかったのを思い出したのでやってみた。
https://resources.azure.com/
Get-AzureRmResource して ConvertTo-Json するだけなので、やってみたら一瞬だった。
一応、Depth だけ忘れずにつけましょう。(Max: 100)
$Resource = Get-AzureRmResource -ResourceId "/subscriptions/49dde45f-5712-44b2-b0ab-296bde83af6b/resourceGroups/shuda0721/providers/Microsoft.Network/publicIPAddresses/shuda0721" -ExpandProperties
$Resource | ConvertTo-Json -Depth 100
{
"ResourceId": "/subscriptions/49dde45f-5712-44b2-b0ab-296bde83af6b/resourceGroups/shuda0721/providers/Microsoft.Network/publicIPAddresses/shuda0721",
"Id": "/subscriptions/49dde45f-5712-44b2-b0ab-296bde83af6b/resourceGroups/shuda0721/providers/Microsoft.Network/publicIPAddresses/shuda0721",
"Identity": null,
"Kind": null,
"Location": "japaneast",
"ManagedBy": null,
"Name": "shuda0721",
"ParentResource": null,
"Plan": null,
"Properties": {
"provisioningState": "Succeeded",
"resourceGuid": "6b900826-15aa-4c8b-a5a2-69707cd285b6",
"publicIPAddressVersion": "IPv4",
"publicIPAllocationMethod": "Dynamic",
"idleTimeoutInMinutes": 4
},
"ResourceGroupName": "shuda0721",
"ResourceType": "Microsoft.Network/publicIPAddresses",
"Sku": null,
"Tags": null,
"Type": "Microsoft.Network/publicIPAddresses"
}
null のパラメーターが一部混ざってたり、並び順が違ったりするのが若干気になるけど、まあリソース定義をバックアップしておきたいだけだし、十分使えるかな。
P.S.
JSON を CSV でくれという人が世の中に入るらしいですね…。
「プログラム書けないんで替わりにデータ抜いて下さい」
『(Web API叩くくらい自分でやれよ・・・)、ちょっとまってね、はいどうぞ』
つ [expot.json]
「CSVじゃないのはいじわるですか?」
いじわるじゃねえよwwwwそれが結果だよwwwそれにツリー構造なんだよwwwwww
— Miyahan (@miyahancom) May 23, 2018
