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