Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.avs.PrivateCloudArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azurenative.avs;
import com.pulumi.azurenative.avs.enums.InternetEnum;
import com.pulumi.azurenative.avs.inputs.AvailabilityPropertiesArgs;
import com.pulumi.azurenative.avs.inputs.EncryptionArgs;
import com.pulumi.azurenative.avs.inputs.IdentitySourceArgs;
import com.pulumi.azurenative.avs.inputs.ManagementClusterArgs;
import com.pulumi.azurenative.avs.inputs.PrivateCloudIdentityArgs;
import com.pulumi.azurenative.avs.inputs.SkuArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class PrivateCloudArgs extends com.pulumi.resources.ResourceArgs {
public static final PrivateCloudArgs Empty = new PrivateCloudArgs();
/**
* Properties describing how the cloud is distributed across availability zones
*
*/
@Import(name="availability")
private @Nullable Output availability;
/**
* @return Properties describing how the cloud is distributed across availability zones
*
*/
public Optional> availability() {
return Optional.ofNullable(this.availability);
}
/**
* Customer managed key encryption, can be enabled or disabled
*
*/
@Import(name="encryption")
private @Nullable Output encryption;
/**
* @return Customer managed key encryption, can be enabled or disabled
*
*/
public Optional> encryption() {
return Optional.ofNullable(this.encryption);
}
/**
* The identity of the private cloud, if configured.
*
*/
@Import(name="identity")
private @Nullable Output identity;
/**
* @return The identity of the private cloud, if configured.
*
*/
public Optional> identity() {
return Optional.ofNullable(this.identity);
}
/**
* vCenter Single Sign On Identity Sources
*
*/
@Import(name="identitySources")
private @Nullable Output> identitySources;
/**
* @return vCenter Single Sign On Identity Sources
*
*/
public Optional>> identitySources() {
return Optional.ofNullable(this.identitySources);
}
/**
* Connectivity to internet is enabled or disabled
*
*/
@Import(name="internet")
private @Nullable Output> internet;
/**
* @return Connectivity to internet is enabled or disabled
*
*/
public Optional>> internet() {
return Optional.ofNullable(this.internet);
}
/**
* Resource location
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return Resource location
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* The default cluster used for management
*
*/
@Import(name="managementCluster", required=true)
private Output managementCluster;
/**
* @return The default cluster used for management
*
*/
public Output managementCluster() {
return this.managementCluster;
}
/**
* 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
*
*/
@Import(name="networkBlock", required=true)
private Output networkBlock;
/**
* @return 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
*
*/
public Output networkBlock() {
return this.networkBlock;
}
/**
* Optionally, set the NSX-T Manager password when the private cloud is created
*
*/
@Import(name="nsxtPassword")
private @Nullable Output nsxtPassword;
/**
* @return Optionally, set the NSX-T Manager password when the private cloud is created
*
*/
public Optional> nsxtPassword() {
return Optional.ofNullable(this.nsxtPassword);
}
/**
* Name of the private cloud
*
*/
@Import(name="privateCloudName")
private @Nullable Output privateCloudName;
/**
* @return Name of the private cloud
*
*/
public Optional> privateCloudName() {
return Optional.ofNullable(this.privateCloudName);
}
/**
* The name of the resource group. The name is case insensitive.
*
*/
@Import(name="resourceGroupName", required=true)
private Output resourceGroupName;
/**
* @return The name of the resource group. The name is case insensitive.
*
*/
public Output resourceGroupName() {
return this.resourceGroupName;
}
/**
* The private cloud SKU
*
*/
@Import(name="sku", required=true)
private Output sku;
/**
* @return The private cloud SKU
*
*/
public Output sku() {
return this.sku;
}
/**
* Resource tags
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Resource tags
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* Optionally, set the vCenter admin password when the private cloud is created
*
*/
@Import(name="vcenterPassword")
private @Nullable Output vcenterPassword;
/**
* @return Optionally, set the vCenter admin password when the private cloud is created
*
*/
public Optional> vcenterPassword() {
return Optional.ofNullable(this.vcenterPassword);
}
private PrivateCloudArgs() {}
private PrivateCloudArgs(PrivateCloudArgs $) {
this.availability = $.availability;
this.encryption = $.encryption;
this.identity = $.identity;
this.identitySources = $.identitySources;
this.internet = $.internet;
this.location = $.location;
this.managementCluster = $.managementCluster;
this.networkBlock = $.networkBlock;
this.nsxtPassword = $.nsxtPassword;
this.privateCloudName = $.privateCloudName;
this.resourceGroupName = $.resourceGroupName;
this.sku = $.sku;
this.tags = $.tags;
this.vcenterPassword = $.vcenterPassword;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(PrivateCloudArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private PrivateCloudArgs $;
public Builder() {
$ = new PrivateCloudArgs();
}
public Builder(PrivateCloudArgs defaults) {
$ = new PrivateCloudArgs(Objects.requireNonNull(defaults));
}
/**
* @param availability Properties describing how the cloud is distributed across availability zones
*
* @return builder
*
*/
public Builder availability(@Nullable Output availability) {
$.availability = availability;
return this;
}
/**
* @param availability Properties describing how the cloud is distributed across availability zones
*
* @return builder
*
*/
public Builder availability(AvailabilityPropertiesArgs availability) {
return availability(Output.of(availability));
}
/**
* @param encryption Customer managed key encryption, can be enabled or disabled
*
* @return builder
*
*/
public Builder encryption(@Nullable Output encryption) {
$.encryption = encryption;
return this;
}
/**
* @param encryption Customer managed key encryption, can be enabled or disabled
*
* @return builder
*
*/
public Builder encryption(EncryptionArgs encryption) {
return encryption(Output.of(encryption));
}
/**
* @param identity The identity of the private cloud, if configured.
*
* @return builder
*
*/
public Builder identity(@Nullable Output identity) {
$.identity = identity;
return this;
}
/**
* @param identity The identity of the private cloud, if configured.
*
* @return builder
*
*/
public Builder identity(PrivateCloudIdentityArgs identity) {
return identity(Output.of(identity));
}
/**
* @param identitySources vCenter Single Sign On Identity Sources
*
* @return builder
*
*/
public Builder identitySources(@Nullable Output> identitySources) {
$.identitySources = identitySources;
return this;
}
/**
* @param identitySources vCenter Single Sign On Identity Sources
*
* @return builder
*
*/
public Builder identitySources(List identitySources) {
return identitySources(Output.of(identitySources));
}
/**
* @param identitySources vCenter Single Sign On Identity Sources
*
* @return builder
*
*/
public Builder identitySources(IdentitySourceArgs... identitySources) {
return identitySources(List.of(identitySources));
}
/**
* @param internet Connectivity to internet is enabled or disabled
*
* @return builder
*
*/
public Builder internet(@Nullable Output> internet) {
$.internet = internet;
return this;
}
/**
* @param internet Connectivity to internet is enabled or disabled
*
* @return builder
*
*/
public Builder internet(Either internet) {
return internet(Output.of(internet));
}
/**
* @param internet Connectivity to internet is enabled or disabled
*
* @return builder
*
*/
public Builder internet(String internet) {
return internet(Either.ofLeft(internet));
}
/**
* @param internet Connectivity to internet is enabled or disabled
*
* @return builder
*
*/
public Builder internet(InternetEnum internet) {
return internet(Either.ofRight(internet));
}
/**
* @param location Resource location
*
* @return builder
*
*/
public Builder location(@Nullable Output location) {
$.location = location;
return this;
}
/**
* @param location Resource location
*
* @return builder
*
*/
public Builder location(String location) {
return location(Output.of(location));
}
/**
* @param managementCluster The default cluster used for management
*
* @return builder
*
*/
public Builder managementCluster(Output managementCluster) {
$.managementCluster = managementCluster;
return this;
}
/**
* @param managementCluster The default cluster used for management
*
* @return builder
*
*/
public Builder managementCluster(ManagementClusterArgs managementCluster) {
return managementCluster(Output.of(managementCluster));
}
/**
* @param networkBlock 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
*
* @return builder
*
*/
public Builder networkBlock(Output networkBlock) {
$.networkBlock = networkBlock;
return this;
}
/**
* @param networkBlock 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
*
* @return builder
*
*/
public Builder networkBlock(String networkBlock) {
return networkBlock(Output.of(networkBlock));
}
/**
* @param nsxtPassword Optionally, set the NSX-T Manager password when the private cloud is created
*
* @return builder
*
*/
public Builder nsxtPassword(@Nullable Output nsxtPassword) {
$.nsxtPassword = nsxtPassword;
return this;
}
/**
* @param nsxtPassword Optionally, set the NSX-T Manager password when the private cloud is created
*
* @return builder
*
*/
public Builder nsxtPassword(String nsxtPassword) {
return nsxtPassword(Output.of(nsxtPassword));
}
/**
* @param privateCloudName Name of the private cloud
*
* @return builder
*
*/
public Builder privateCloudName(@Nullable Output privateCloudName) {
$.privateCloudName = privateCloudName;
return this;
}
/**
* @param privateCloudName Name of the private cloud
*
* @return builder
*
*/
public Builder privateCloudName(String privateCloudName) {
return privateCloudName(Output.of(privateCloudName));
}
/**
* @param resourceGroupName The name of the resource group. The name is case insensitive.
*
* @return builder
*
*/
public Builder resourceGroupName(Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the resource group. The name is case insensitive.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param sku The private cloud SKU
*
* @return builder
*
*/
public Builder sku(Output sku) {
$.sku = sku;
return this;
}
/**
* @param sku The private cloud SKU
*
* @return builder
*
*/
public Builder sku(SkuArgs sku) {
return sku(Output.of(sku));
}
/**
* @param tags Resource tags
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags Resource tags
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param vcenterPassword Optionally, set the vCenter admin password when the private cloud is created
*
* @return builder
*
*/
public Builder vcenterPassword(@Nullable Output vcenterPassword) {
$.vcenterPassword = vcenterPassword;
return this;
}
/**
* @param vcenterPassword Optionally, set the vCenter admin password when the private cloud is created
*
* @return builder
*
*/
public Builder vcenterPassword(String vcenterPassword) {
return vcenterPassword(Output.of(vcenterPassword));
}
public PrivateCloudArgs build() {
$.internet = Codegen.stringProp("internet").left(InternetEnum.class).output().arg($.internet).def("Disabled").getNullable();
if ($.managementCluster == null) {
throw new MissingRequiredPropertyException("PrivateCloudArgs", "managementCluster");
}
if ($.networkBlock == null) {
throw new MissingRequiredPropertyException("PrivateCloudArgs", "networkBlock");
}
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("PrivateCloudArgs", "resourceGroupName");
}
if ($.sku == null) {
throw new MissingRequiredPropertyException("PrivateCloudArgs", "sku");
}
return $;
}
}
}