Private Cloud
A private cloud resource Uses Azure REST API version 2022-05-01. In version 1.x of the Azure Native provider, it used API version 2020-03-20. Other available API versions: 2023-03-01, 2023-09-01.
Example Usage
PrivateClouds_CreateOrUpdate
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var privateCloud = new AzureNative.AVS.PrivateCloud("privateCloud", new()
{
Identity = new AzureNative.AVS.Inputs.PrivateCloudIdentityArgs
{
Type = AzureNative.AVS.ResourceIdentityType.SystemAssigned,
},
Location = "eastus2",
ManagementCluster = new AzureNative.AVS.Inputs.ManagementClusterArgs
{
ClusterSize = 4,
},
NetworkBlock = "192.168.48.0/22",
PrivateCloudName = "cloud1",
ResourceGroupName = "group1",
Sku = new AzureNative.AVS.Inputs.SkuArgs
{
Name = "AV36",
},
Tags = null,
});
});
package main
import (
avs "github.com/pulumi/pulumi-azure-native-sdk/avs/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := avs.NewPrivateCloud(ctx, "privateCloud", &avs.PrivateCloudArgs{
Identity: &avs.PrivateCloudIdentityArgs{
Type: pulumi.String(avs.ResourceIdentityTypeSystemAssigned),
},
Location: pulumi.String("eastus2"),
ManagementCluster: &avs.ManagementClusterArgs{
ClusterSize: pulumi.Int(4),
},
NetworkBlock: pulumi.String("192.168.48.0/22"),
PrivateCloudName: pulumi.String("cloud1"),
ResourceGroupName: pulumi.String("group1"),
Sku: &avs.SkuArgs{
Name: pulumi.String("AV36"),
},
Tags: pulumi.StringMap{},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.avs.PrivateCloud;
import com.pulumi.azurenative.avs.PrivateCloudArgs;
import com.pulumi.azurenative.avs.inputs.PrivateCloudIdentityArgs;
import com.pulumi.azurenative.avs.inputs.ManagementClusterArgs;
import com.pulumi.azurenative.avs.inputs.SkuArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var privateCloud = new PrivateCloud("privateCloud", PrivateCloudArgs.builder()
.identity(PrivateCloudIdentityArgs.builder()
.type("SystemAssigned")
.build())
.location("eastus2")
.managementCluster(ManagementClusterArgs.builder()
.clusterSize(4)
.build())
.networkBlock("192.168.48.0/22")
.privateCloudName("cloud1")
.resourceGroupName("group1")
.sku(SkuArgs.builder()
.name("AV36")
.build())
.tags()
.build());
}
}
PrivateClouds_CreateOrUpdate_Stretched
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var privateCloud = new AzureNative.AVS.PrivateCloud("privateCloud", new()
{
Availability = new AzureNative.AVS.Inputs.AvailabilityPropertiesArgs
{
SecondaryZone = 2,
Strategy = AzureNative.AVS.AvailabilityStrategy.DualZone,
Zone = 1,
},
Location = "eastus2",
ManagementCluster = new AzureNative.AVS.Inputs.ManagementClusterArgs
{
ClusterSize = 4,
},
NetworkBlock = "192.168.48.0/22",
PrivateCloudName = "cloud1",
ResourceGroupName = "group1",
Sku = new AzureNative.AVS.Inputs.SkuArgs
{
Name = "AV36",
},
Tags = null,
});
});
package main
import (
avs "github.com/pulumi/pulumi-azure-native-sdk/avs/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := avs.NewPrivateCloud(ctx, "privateCloud", &avs.PrivateCloudArgs{
Availability: &avs.AvailabilityPropertiesArgs{
SecondaryZone: pulumi.Int(2),
Strategy: pulumi.String(avs.AvailabilityStrategyDualZone),
Zone: pulumi.Int(1),
},
Location: pulumi.String("eastus2"),
ManagementCluster: &avs.ManagementClusterArgs{
ClusterSize: pulumi.Int(4),
},
NetworkBlock: pulumi.String("192.168.48.0/22"),
PrivateCloudName: pulumi.String("cloud1"),
ResourceGroupName: pulumi.String("group1"),
Sku: &avs.SkuArgs{
Name: pulumi.String("AV36"),
},
Tags: pulumi.StringMap{},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.avs.PrivateCloud;
import com.pulumi.azurenative.avs.PrivateCloudArgs;
import com.pulumi.azurenative.avs.inputs.AvailabilityPropertiesArgs;
import com.pulumi.azurenative.avs.inputs.ManagementClusterArgs;
import com.pulumi.azurenative.avs.inputs.SkuArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var privateCloud = new PrivateCloud("privateCloud", PrivateCloudArgs.builder()
.availability(AvailabilityPropertiesArgs.builder()
.secondaryZone(2)
.strategy("DualZone")
.zone(1)
.build())
.location("eastus2")
.managementCluster(ManagementClusterArgs.builder()
.clusterSize(4)
.build())
.networkBlock("192.168.48.0/22")
.privateCloudName("cloud1")
.resourceGroupName("group1")
.sku(SkuArgs.builder()
.name("AV36")
.build())
.tags()
.build());
}
}
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:avs:PrivateCloud cloud1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}
Properties
Properties describing how the cloud is distributed across availability zones
An ExpressRoute Circuit
Customer managed key encryption, can be enabled or disabled
The endpoints
Array of cloud link IDs from other clouds that connect to this one
The identity of the private cloud, if configured.
vCenter Single Sign On Identity Sources
The default cluster used for management
Network used to access vCenter Server and NSX-T Manager
The block of addresses should be unique across VNet in your subscription as well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where A,B,C,D are between 0 and 255, and X is between 0 and 22
Flag to indicate whether the private cloud has the quota for provisioned NSX Public IP count raised from 64 to 1024
Thumbprint of the NSX-T Manager SSL certificate
Optionally, set the NSX-T Manager password when the private cloud is created
Used for virtual machine cold migration, cloning, and snapshot migration
The provisioning state
A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud
The private cloud SKU
Thumbprint of the vCenter Server SSL certificate
Optionally, set the vCenter admin password when the private cloud is created
Used for live migration of virtual machines