Azure のリソース定義を JSON で取得したい

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 でくれという人が世の中に入るらしいですね…。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください