Private Cloud Args
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
Properties
Properties describing how the cloud is distributed across availability zones
The type of DNS zone to use.
Customer managed key encryption, can be enabled or disabled
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).
The managed service identities assigned to this resource.
vCenter Single Sign On Identity Sources
Connectivity to internet is enabled or disabled
The default cluster used for management
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
Optionally, set the NSX-T Manager password when the private cloud is created
Name of the private cloud
The name of the resource group. The name is case insensitive.
Optionally, set the vCenter admin password when the private cloud is created
Azure resource ID of the virtual network