PrivateCloud

class PrivateCloud : KotlinCustomResource

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

Link copied to clipboard

Properties describing how the cloud is distributed across availability zones

Link copied to clipboard
val circuit: Output<CircuitResponse>?

An ExpressRoute Circuit

Link copied to clipboard

Customer managed key encryption, can be enabled or disabled

Link copied to clipboard

The endpoints

Link copied to clipboard

Array of cloud link IDs from other clouds that connect to this one

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

The identity of the private cloud, if configured.

Link copied to clipboard

vCenter Single Sign On Identity Sources

Link copied to clipboard
val internet: Output<String>?

Connectivity to internet is enabled or disabled

Link copied to clipboard
val location: Output<String>

Resource location

Link copied to clipboard

The default cluster used for management

Link copied to clipboard

Network used to access vCenter Server and NSX-T Manager

Link copied to clipboard
val name: Output<String>

Resource name.

Link copied to clipboard
val networkBlock: Output<String>

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

Link copied to clipboard

Flag to indicate whether the private cloud has the quota for provisioned NSX Public IP count raised from 64 to 1024

Link copied to clipboard

Thumbprint of the NSX-T Manager SSL certificate

Link copied to clipboard
val nsxtPassword: Output<String>?

Optionally, set the NSX-T Manager password when the private cloud is created

Link copied to clipboard

Used for virtual machine cold migration, cloning, and snapshot migration

Link copied to clipboard

The provisioning state

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

A secondary expressRoute circuit from a separate AZ. Only present in a stretched private cloud

Link copied to clipboard
val sku: Output<SkuResponse>

The private cloud SKU

Link copied to clipboard
val tags: Output<Map<String, String>>?

Resource tags

Link copied to clipboard
val type: Output<String>

Resource type.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

Thumbprint of the vCenter Server SSL certificate

Link copied to clipboard
val vcenterPassword: Output<String>?

Optionally, set the vCenter admin password when the private cloud is created

Link copied to clipboard
val vmotionNetwork: Output<String>

Used for live migration of virtual machines