Azure.ResourceManager.Network パッケージを使う。
パブリック IP アドレスが無ければ作成するサンプル。
using Azure; using Azure.Core; using Azure.Identity; using Azure.ResourceManager; using Azure.ResourceManager.Network; using Azure.ResourceManager.Network.Models; using Azure.ResourceManager.Resources; var armClient = new ArmClient(new DefaultAzureCredential()); var subscription = await armClient.GetDefaultSubscriptionAsync(); // リソースグループが無ければ作成 const string resourceGroupName = "rg-ipaddress-test"; var resourceGroups = subscription.GetResourceGroups(); ResourceGroupResource resourceGroup; if (await resourceGroups.ExistsAsync(resourceGroupName)) { resourceGroup = await resourceGroups.GetAsync(resourceGroupName); } else { var resourceGroupOperation = await resourceGroups.CreateOrUpdateAsync( waitUntil: WaitUntil.Completed, resourceGroupName: resourceGroupName, data: new ResourceGroupData(AzureLocation.JapanEast)); resourceGroup = await resourceGroupOperation.WaitForCompletionAsync(); } // IP アドレスが無ければ作成 const string publicIPAddressName = "pip-ipaddress-test"; var publicIPAddresses = resourceGroup.GetPublicIPAddresses(); PublicIPAddressResource publicIPAddress; if (await publicIPAddresses.ExistsAsync(publicIPAddressName)) { publicIPAddress = await publicIPAddresses.GetAsync(publicIPAddressName); } else { var publicIPAddressOperation = await publicIPAddresses.CreateOrUpdateAsync( waitUntil: WaitUntil.Completed, publicIPAddressName: publicIPAddressName, data: new PublicIPAddressData { Location = AzureLocation.JapanEast, Sku = new PublicIPAddressSku { Name = PublicIPAddressSkuName.Standard, Tier = PublicIPAddressSkuTier.Regional, }, PublicIPAddressVersion = NetworkIPVersion.IPv4, PublicIPAllocationMethod = NetworkIPAllocationMethod.Static, }); publicIPAddress = await publicIPAddressOperation.WaitForCompletionAsync(); } Console.WriteLine($"{publicIPAddress.Data.Name}:{publicIPAddress.Data.IPAddress}"); Console.ReadLine();