PrivateCloudArgs

data class PrivateCloudArgs(val availability: Output<AvailabilityPropertiesArgs>? = null, val dnsZoneType: Output<Either<String, DnsZoneType>>? = null, val encryption: Output<EncryptionArgs>? = null, val extendedNetworkBlocks: Output<List<String>>? = null, val identity: Output<SystemAssignedServiceIdentityArgs>? = null, val identitySources: Output<List<IdentitySourceArgs>>? = null, val internet: Output<Either<String, InternetEnum>>? = null, val location: Output<String>? = null, val managementCluster: Output<ManagementClusterArgs>? = null, val networkBlock: Output<String>? = null, val nsxtPassword: Output<String>? = null, val privateCloudName: Output<String>? = null, val resourceGroupName: Output<String>? = null, val sku: Output<SkuArgs>? = null, val tags: Output<Map<String, String>>? = null, val vcenterPassword: Output<String>? = null, val virtualNetworkId: Output<String>? = null) : ConvertibleToJava<PrivateCloudArgs>

A private cloud resource Uses Azure REST API version 2023-09-01. In version 2.x of the Azure Native provider, it used API version 2022-05-01. Other available API versions: 2022-05-01, 2023-03-01, 2024-09-01. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native avs [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

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.SystemAssignedServiceIdentityArgs
{
Type = AzureNative.AVS.SystemAssignedServiceIdentityType.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/v3"
"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.SystemAssignedServiceIdentityArgs{
Type: pulumi.String(avs.SystemAssignedServiceIdentityTypeSystemAssigned),
},
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.SystemAssignedServiceIdentityArgs;
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(SystemAssignedServiceIdentityArgs.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(Map.ofEntries(
))
.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/v3"
"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(Map.ofEntries(
))
.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}

Constructors

Link copied to clipboard
constructor(availability: Output<AvailabilityPropertiesArgs>? = null, dnsZoneType: Output<Either<String, DnsZoneType>>? = null, encryption: Output<EncryptionArgs>? = null, extendedNetworkBlocks: Output<List<String>>? = null, identity: Output<SystemAssignedServiceIdentityArgs>? = null, identitySources: Output<List<IdentitySourceArgs>>? = null, internet: Output<Either<String, InternetEnum>>? = null, location: Output<String>? = null, managementCluster: Output<ManagementClusterArgs>? = null, networkBlock: Output<String>? = null, nsxtPassword: Output<String>? = null, privateCloudName: Output<String>? = null, resourceGroupName: Output<String>? = null, sku: Output<SkuArgs>? = null, tags: Output<Map<String, String>>? = null, vcenterPassword: Output<String>? = null, virtualNetworkId: Output<String>? = null)

Properties

Link copied to clipboard

Properties describing how the cloud is distributed across availability zones

Link copied to clipboard
val dnsZoneType: Output<Either<String, DnsZoneType>>? = null

The type of DNS zone to use.

Link copied to clipboard
val encryption: Output<EncryptionArgs>? = null

Customer managed key encryption, can be enabled or disabled

Link copied to clipboard
val extendedNetworkBlocks: Output<List<String>>? = null

Array of additional networks noncontiguous with networkBlock. Networks must be unique and non-overlapping across VNet in your subscription, on-premise, and this privateCloud networkBlock attribute. Make sure the CIDR format conforms to (A.B.C.D/X).

Link copied to clipboard

The managed service identities assigned to this resource.

Link copied to clipboard

vCenter Single Sign On Identity Sources

Link copied to clipboard
val internet: Output<Either<String, InternetEnum>>? = null

Connectivity to internet is enabled or disabled

Link copied to clipboard
val location: Output<String>? = null

The geo-location where the resource lives

Link copied to clipboard

The default cluster used for management

Link copied to clipboard
val networkBlock: Output<String>? = null

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
val nsxtPassword: Output<String>? = null

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

Link copied to clipboard
val privateCloudName: Output<String>? = null

Name of the private cloud

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group. The name is case insensitive.

Link copied to clipboard
val sku: Output<SkuArgs>? = null

The SKU (Stock Keeping Unit) assigned to this resource.

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

Resource tags.

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

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

Link copied to clipboard
val virtualNetworkId: Output<String>? = null

Azure resource ID of the virtual network

Functions

Link copied to clipboard
open override fun toJava(): PrivateCloudArgs