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.sql.ManagedInstanceArgs 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.sql;
import com.pulumi.azurenative.sql.enums.BackupStorageRedundancy;
import com.pulumi.azurenative.sql.enums.ManagedInstanceLicenseType;
import com.pulumi.azurenative.sql.enums.ManagedInstanceProxyOverride;
import com.pulumi.azurenative.sql.enums.ManagedServerCreateMode;
import com.pulumi.azurenative.sql.inputs.ManagedInstanceExternalAdministratorArgs;
import com.pulumi.azurenative.sql.inputs.ResourceIdentityArgs;
import com.pulumi.azurenative.sql.inputs.ServicePrincipalArgs;
import com.pulumi.azurenative.sql.inputs.SkuArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ManagedInstanceArgs extends com.pulumi.resources.ResourceArgs {
public static final ManagedInstanceArgs Empty = new ManagedInstanceArgs();
/**
* Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation).
*
*/
@Import(name="administratorLogin")
private @Nullable Output administratorLogin;
/**
* @return Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation).
*
*/
public Optional> administratorLogin() {
return Optional.ofNullable(this.administratorLogin);
}
/**
* The administrator login password (required for managed instance creation).
*
*/
@Import(name="administratorLoginPassword")
private @Nullable Output administratorLoginPassword;
/**
* @return The administrator login password (required for managed instance creation).
*
*/
public Optional> administratorLoginPassword() {
return Optional.ofNullable(this.administratorLoginPassword);
}
/**
* The Azure Active Directory administrator of the server.
*
*/
@Import(name="administrators")
private @Nullable Output administrators;
/**
* @return The Azure Active Directory administrator of the server.
*
*/
public Optional> administrators() {
return Optional.ofNullable(this.administrators);
}
/**
* Collation of the managed instance.
*
*/
@Import(name="collation")
private @Nullable Output collation;
/**
* @return Collation of the managed instance.
*
*/
public Optional> collation() {
return Optional.ofNullable(this.collation);
}
/**
* The resource id of another managed instance whose DNS zone this managed instance will share after creation.
*
*/
@Import(name="dnsZonePartner")
private @Nullable Output dnsZonePartner;
/**
* @return The resource id of another managed instance whose DNS zone this managed instance will share after creation.
*
*/
public Optional> dnsZonePartner() {
return Optional.ofNullable(this.dnsZonePartner);
}
/**
* The Azure Active Directory identity of the managed instance.
*
*/
@Import(name="identity")
private @Nullable Output identity;
/**
* @return The Azure Active Directory identity of the managed instance.
*
*/
public Optional> identity() {
return Optional.ofNullable(this.identity);
}
/**
* The Id of the instance pool this managed server belongs to.
*
*/
@Import(name="instancePoolId")
private @Nullable Output instancePoolId;
/**
* @return The Id of the instance pool this managed server belongs to.
*
*/
public Optional> instancePoolId() {
return Optional.ofNullable(this.instancePoolId);
}
/**
* A CMK URI of the key to use for encryption.
*
*/
@Import(name="keyId")
private @Nullable Output keyId;
/**
* @return A CMK URI of the key to use for encryption.
*
*/
public Optional> keyId() {
return Optional.ofNullable(this.keyId);
}
/**
* The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).
*
*/
@Import(name="licenseType")
private @Nullable Output> licenseType;
/**
* @return The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).
*
*/
public Optional>> licenseType() {
return Optional.ofNullable(this.licenseType);
}
/**
* Resource location.
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return Resource location.
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* Specifies maintenance configuration id to apply to this managed instance.
*
*/
@Import(name="maintenanceConfigurationId")
private @Nullable Output maintenanceConfigurationId;
/**
* @return Specifies maintenance configuration id to apply to this managed instance.
*
*/
public Optional> maintenanceConfigurationId() {
return Optional.ofNullable(this.maintenanceConfigurationId);
}
/**
* Specifies the mode of database creation.
*
* Default: Regular instance creation.
*
* Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.
*
*/
@Import(name="managedInstanceCreateMode")
private @Nullable Output> managedInstanceCreateMode;
/**
* @return Specifies the mode of database creation.
*
* Default: Regular instance creation.
*
* Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.
*
*/
public Optional>> managedInstanceCreateMode() {
return Optional.ofNullable(this.managedInstanceCreateMode);
}
/**
* The name of the managed instance.
*
*/
@Import(name="managedInstanceName")
private @Nullable Output managedInstanceName;
/**
* @return The name of the managed instance.
*
*/
public Optional> managedInstanceName() {
return Optional.ofNullable(this.managedInstanceName);
}
/**
* Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'
*
*/
@Import(name="minimalTlsVersion")
private @Nullable Output minimalTlsVersion;
/**
* @return Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'
*
*/
public Optional> minimalTlsVersion() {
return Optional.ofNullable(this.minimalTlsVersion);
}
/**
* The resource id of a user assigned identity to be used by default.
*
*/
@Import(name="primaryUserAssignedIdentityId")
private @Nullable Output primaryUserAssignedIdentityId;
/**
* @return The resource id of a user assigned identity to be used by default.
*
*/
public Optional> primaryUserAssignedIdentityId() {
return Optional.ofNullable(this.primaryUserAssignedIdentityId);
}
/**
* Connection type used for connecting to the instance.
*
*/
@Import(name="proxyOverride")
private @Nullable Output> proxyOverride;
/**
* @return Connection type used for connecting to the instance.
*
*/
public Optional>> proxyOverride() {
return Optional.ofNullable(this.proxyOverride);
}
/**
* Whether or not the public data endpoint is enabled.
*
*/
@Import(name="publicDataEndpointEnabled")
private @Nullable Output publicDataEndpointEnabled;
/**
* @return Whether or not the public data endpoint is enabled.
*
*/
public Optional> publicDataEndpointEnabled() {
return Optional.ofNullable(this.publicDataEndpointEnabled);
}
/**
* The storage account type to be used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)
*
*/
@Import(name="requestedBackupStorageRedundancy")
private @Nullable Output> requestedBackupStorageRedundancy;
/**
* @return The storage account type to be used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)
*
*/
public Optional>> requestedBackupStorageRedundancy() {
return Optional.ofNullable(this.requestedBackupStorageRedundancy);
}
/**
* The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
*
*/
@Import(name="resourceGroupName", required=true)
private Output resourceGroupName;
/**
* @return The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
*
*/
public Output resourceGroupName() {
return this.resourceGroupName;
}
/**
* Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
*
*/
@Import(name="restorePointInTime")
private @Nullable Output restorePointInTime;
/**
* @return Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
*
*/
public Optional> restorePointInTime() {
return Optional.ofNullable(this.restorePointInTime);
}
/**
* The managed instance's service principal.
*
*/
@Import(name="servicePrincipal")
private @Nullable Output servicePrincipal;
/**
* @return The managed instance's service principal.
*
*/
public Optional> servicePrincipal() {
return Optional.ofNullable(this.servicePrincipal);
}
/**
* Managed instance SKU. Allowed values for sku.name: GP_Gen5, GP_G8IM, GP_G8IH, BC_Gen5, BC_G8IM, BC_G8IH
*
*/
@Import(name="sku")
private @Nullable Output sku;
/**
* @return Managed instance SKU. Allowed values for sku.name: GP_Gen5, GP_G8IM, GP_G8IH, BC_Gen5, BC_G8IM, BC_G8IH
*
*/
public Optional> sku() {
return Optional.ofNullable(this.sku);
}
/**
* The resource identifier of the source managed instance associated with create operation of this instance.
*
*/
@Import(name="sourceManagedInstanceId")
private @Nullable Output sourceManagedInstanceId;
/**
* @return The resource identifier of the source managed instance associated with create operation of this instance.
*
*/
public Optional> sourceManagedInstanceId() {
return Optional.ofNullable(this.sourceManagedInstanceId);
}
/**
* Storage size in GB. Minimum value: 32. Maximum value: 16384. Increments of 32 GB allowed only. Maximum value depends on the selected hardware family and number of vCores.
*
*/
@Import(name="storageSizeInGB")
private @Nullable Output storageSizeInGB;
/**
* @return Storage size in GB. Minimum value: 32. Maximum value: 16384. Increments of 32 GB allowed only. Maximum value depends on the selected hardware family and number of vCores.
*
*/
public Optional> storageSizeInGB() {
return Optional.ofNullable(this.storageSizeInGB);
}
/**
* Subnet resource ID for the managed instance.
*
*/
@Import(name="subnetId")
private @Nullable Output subnetId;
/**
* @return Subnet resource ID for the managed instance.
*
*/
public Optional> subnetId() {
return Optional.ofNullable(this.subnetId);
}
/**
* Resource tags.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Resource tags.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* Id of the timezone. Allowed values are timezones supported by Windows.
* Windows keeps details on supported timezones, including the id, in registry under
* KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.
* You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info.
* List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.
* An example of valid timezone id is "Pacific Standard Time" or "W. Europe Standard Time".
*
*/
@Import(name="timezoneId")
private @Nullable Output timezoneId;
/**
* @return Id of the timezone. Allowed values are timezones supported by Windows.
* Windows keeps details on supported timezones, including the id, in registry under
* KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.
* You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info.
* List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.
* An example of valid timezone id is "Pacific Standard Time" or "W. Europe Standard Time".
*
*/
public Optional> timezoneId() {
return Optional.ofNullable(this.timezoneId);
}
/**
* The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80.
*
*/
@Import(name="vCores")
private @Nullable Output vCores;
/**
* @return The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80.
*
*/
public Optional> vCores() {
return Optional.ofNullable(this.vCores);
}
/**
* Whether or not the multi-az is enabled.
*
*/
@Import(name="zoneRedundant")
private @Nullable Output zoneRedundant;
/**
* @return Whether or not the multi-az is enabled.
*
*/
public Optional> zoneRedundant() {
return Optional.ofNullable(this.zoneRedundant);
}
private ManagedInstanceArgs() {}
private ManagedInstanceArgs(ManagedInstanceArgs $) {
this.administratorLogin = $.administratorLogin;
this.administratorLoginPassword = $.administratorLoginPassword;
this.administrators = $.administrators;
this.collation = $.collation;
this.dnsZonePartner = $.dnsZonePartner;
this.identity = $.identity;
this.instancePoolId = $.instancePoolId;
this.keyId = $.keyId;
this.licenseType = $.licenseType;
this.location = $.location;
this.maintenanceConfigurationId = $.maintenanceConfigurationId;
this.managedInstanceCreateMode = $.managedInstanceCreateMode;
this.managedInstanceName = $.managedInstanceName;
this.minimalTlsVersion = $.minimalTlsVersion;
this.primaryUserAssignedIdentityId = $.primaryUserAssignedIdentityId;
this.proxyOverride = $.proxyOverride;
this.publicDataEndpointEnabled = $.publicDataEndpointEnabled;
this.requestedBackupStorageRedundancy = $.requestedBackupStorageRedundancy;
this.resourceGroupName = $.resourceGroupName;
this.restorePointInTime = $.restorePointInTime;
this.servicePrincipal = $.servicePrincipal;
this.sku = $.sku;
this.sourceManagedInstanceId = $.sourceManagedInstanceId;
this.storageSizeInGB = $.storageSizeInGB;
this.subnetId = $.subnetId;
this.tags = $.tags;
this.timezoneId = $.timezoneId;
this.vCores = $.vCores;
this.zoneRedundant = $.zoneRedundant;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ManagedInstanceArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ManagedInstanceArgs $;
public Builder() {
$ = new ManagedInstanceArgs();
}
public Builder(ManagedInstanceArgs defaults) {
$ = new ManagedInstanceArgs(Objects.requireNonNull(defaults));
}
/**
* @param administratorLogin Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation).
*
* @return builder
*
*/
public Builder administratorLogin(@Nullable Output administratorLogin) {
$.administratorLogin = administratorLogin;
return this;
}
/**
* @param administratorLogin Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation).
*
* @return builder
*
*/
public Builder administratorLogin(String administratorLogin) {
return administratorLogin(Output.of(administratorLogin));
}
/**
* @param administratorLoginPassword The administrator login password (required for managed instance creation).
*
* @return builder
*
*/
public Builder administratorLoginPassword(@Nullable Output administratorLoginPassword) {
$.administratorLoginPassword = administratorLoginPassword;
return this;
}
/**
* @param administratorLoginPassword The administrator login password (required for managed instance creation).
*
* @return builder
*
*/
public Builder administratorLoginPassword(String administratorLoginPassword) {
return administratorLoginPassword(Output.of(administratorLoginPassword));
}
/**
* @param administrators The Azure Active Directory administrator of the server.
*
* @return builder
*
*/
public Builder administrators(@Nullable Output administrators) {
$.administrators = administrators;
return this;
}
/**
* @param administrators The Azure Active Directory administrator of the server.
*
* @return builder
*
*/
public Builder administrators(ManagedInstanceExternalAdministratorArgs administrators) {
return administrators(Output.of(administrators));
}
/**
* @param collation Collation of the managed instance.
*
* @return builder
*
*/
public Builder collation(@Nullable Output collation) {
$.collation = collation;
return this;
}
/**
* @param collation Collation of the managed instance.
*
* @return builder
*
*/
public Builder collation(String collation) {
return collation(Output.of(collation));
}
/**
* @param dnsZonePartner The resource id of another managed instance whose DNS zone this managed instance will share after creation.
*
* @return builder
*
*/
public Builder dnsZonePartner(@Nullable Output dnsZonePartner) {
$.dnsZonePartner = dnsZonePartner;
return this;
}
/**
* @param dnsZonePartner The resource id of another managed instance whose DNS zone this managed instance will share after creation.
*
* @return builder
*
*/
public Builder dnsZonePartner(String dnsZonePartner) {
return dnsZonePartner(Output.of(dnsZonePartner));
}
/**
* @param identity The Azure Active Directory identity of the managed instance.
*
* @return builder
*
*/
public Builder identity(@Nullable Output identity) {
$.identity = identity;
return this;
}
/**
* @param identity The Azure Active Directory identity of the managed instance.
*
* @return builder
*
*/
public Builder identity(ResourceIdentityArgs identity) {
return identity(Output.of(identity));
}
/**
* @param instancePoolId The Id of the instance pool this managed server belongs to.
*
* @return builder
*
*/
public Builder instancePoolId(@Nullable Output instancePoolId) {
$.instancePoolId = instancePoolId;
return this;
}
/**
* @param instancePoolId The Id of the instance pool this managed server belongs to.
*
* @return builder
*
*/
public Builder instancePoolId(String instancePoolId) {
return instancePoolId(Output.of(instancePoolId));
}
/**
* @param keyId A CMK URI of the key to use for encryption.
*
* @return builder
*
*/
public Builder keyId(@Nullable Output keyId) {
$.keyId = keyId;
return this;
}
/**
* @param keyId A CMK URI of the key to use for encryption.
*
* @return builder
*
*/
public Builder keyId(String keyId) {
return keyId(Output.of(keyId));
}
/**
* @param licenseType The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).
*
* @return builder
*
*/
public Builder licenseType(@Nullable Output> licenseType) {
$.licenseType = licenseType;
return this;
}
/**
* @param licenseType The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).
*
* @return builder
*
*/
public Builder licenseType(Either licenseType) {
return licenseType(Output.of(licenseType));
}
/**
* @param licenseType The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).
*
* @return builder
*
*/
public Builder licenseType(String licenseType) {
return licenseType(Either.ofLeft(licenseType));
}
/**
* @param licenseType The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses).
*
* @return builder
*
*/
public Builder licenseType(ManagedInstanceLicenseType licenseType) {
return licenseType(Either.ofRight(licenseType));
}
/**
* @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 maintenanceConfigurationId Specifies maintenance configuration id to apply to this managed instance.
*
* @return builder
*
*/
public Builder maintenanceConfigurationId(@Nullable Output maintenanceConfigurationId) {
$.maintenanceConfigurationId = maintenanceConfigurationId;
return this;
}
/**
* @param maintenanceConfigurationId Specifies maintenance configuration id to apply to this managed instance.
*
* @return builder
*
*/
public Builder maintenanceConfigurationId(String maintenanceConfigurationId) {
return maintenanceConfigurationId(Output.of(maintenanceConfigurationId));
}
/**
* @param managedInstanceCreateMode Specifies the mode of database creation.
*
* Default: Regular instance creation.
*
* Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.
*
* @return builder
*
*/
public Builder managedInstanceCreateMode(@Nullable Output> managedInstanceCreateMode) {
$.managedInstanceCreateMode = managedInstanceCreateMode;
return this;
}
/**
* @param managedInstanceCreateMode Specifies the mode of database creation.
*
* Default: Regular instance creation.
*
* Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.
*
* @return builder
*
*/
public Builder managedInstanceCreateMode(Either managedInstanceCreateMode) {
return managedInstanceCreateMode(Output.of(managedInstanceCreateMode));
}
/**
* @param managedInstanceCreateMode Specifies the mode of database creation.
*
* Default: Regular instance creation.
*
* Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.
*
* @return builder
*
*/
public Builder managedInstanceCreateMode(String managedInstanceCreateMode) {
return managedInstanceCreateMode(Either.ofLeft(managedInstanceCreateMode));
}
/**
* @param managedInstanceCreateMode Specifies the mode of database creation.
*
* Default: Regular instance creation.
*
* Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified.
*
* @return builder
*
*/
public Builder managedInstanceCreateMode(ManagedServerCreateMode managedInstanceCreateMode) {
return managedInstanceCreateMode(Either.ofRight(managedInstanceCreateMode));
}
/**
* @param managedInstanceName The name of the managed instance.
*
* @return builder
*
*/
public Builder managedInstanceName(@Nullable Output managedInstanceName) {
$.managedInstanceName = managedInstanceName;
return this;
}
/**
* @param managedInstanceName The name of the managed instance.
*
* @return builder
*
*/
public Builder managedInstanceName(String managedInstanceName) {
return managedInstanceName(Output.of(managedInstanceName));
}
/**
* @param minimalTlsVersion Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'
*
* @return builder
*
*/
public Builder minimalTlsVersion(@Nullable Output minimalTlsVersion) {
$.minimalTlsVersion = minimalTlsVersion;
return this;
}
/**
* @param minimalTlsVersion Minimal TLS version. Allowed values: 'None', '1.0', '1.1', '1.2'
*
* @return builder
*
*/
public Builder minimalTlsVersion(String minimalTlsVersion) {
return minimalTlsVersion(Output.of(minimalTlsVersion));
}
/**
* @param primaryUserAssignedIdentityId The resource id of a user assigned identity to be used by default.
*
* @return builder
*
*/
public Builder primaryUserAssignedIdentityId(@Nullable Output primaryUserAssignedIdentityId) {
$.primaryUserAssignedIdentityId = primaryUserAssignedIdentityId;
return this;
}
/**
* @param primaryUserAssignedIdentityId The resource id of a user assigned identity to be used by default.
*
* @return builder
*
*/
public Builder primaryUserAssignedIdentityId(String primaryUserAssignedIdentityId) {
return primaryUserAssignedIdentityId(Output.of(primaryUserAssignedIdentityId));
}
/**
* @param proxyOverride Connection type used for connecting to the instance.
*
* @return builder
*
*/
public Builder proxyOverride(@Nullable Output> proxyOverride) {
$.proxyOverride = proxyOverride;
return this;
}
/**
* @param proxyOverride Connection type used for connecting to the instance.
*
* @return builder
*
*/
public Builder proxyOverride(Either proxyOverride) {
return proxyOverride(Output.of(proxyOverride));
}
/**
* @param proxyOverride Connection type used for connecting to the instance.
*
* @return builder
*
*/
public Builder proxyOverride(String proxyOverride) {
return proxyOverride(Either.ofLeft(proxyOverride));
}
/**
* @param proxyOverride Connection type used for connecting to the instance.
*
* @return builder
*
*/
public Builder proxyOverride(ManagedInstanceProxyOverride proxyOverride) {
return proxyOverride(Either.ofRight(proxyOverride));
}
/**
* @param publicDataEndpointEnabled Whether or not the public data endpoint is enabled.
*
* @return builder
*
*/
public Builder publicDataEndpointEnabled(@Nullable Output publicDataEndpointEnabled) {
$.publicDataEndpointEnabled = publicDataEndpointEnabled;
return this;
}
/**
* @param publicDataEndpointEnabled Whether or not the public data endpoint is enabled.
*
* @return builder
*
*/
public Builder publicDataEndpointEnabled(Boolean publicDataEndpointEnabled) {
return publicDataEndpointEnabled(Output.of(publicDataEndpointEnabled));
}
/**
* @param requestedBackupStorageRedundancy The storage account type to be used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)
*
* @return builder
*
*/
public Builder requestedBackupStorageRedundancy(@Nullable Output> requestedBackupStorageRedundancy) {
$.requestedBackupStorageRedundancy = requestedBackupStorageRedundancy;
return this;
}
/**
* @param requestedBackupStorageRedundancy The storage account type to be used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)
*
* @return builder
*
*/
public Builder requestedBackupStorageRedundancy(Either requestedBackupStorageRedundancy) {
return requestedBackupStorageRedundancy(Output.of(requestedBackupStorageRedundancy));
}
/**
* @param requestedBackupStorageRedundancy The storage account type to be used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)
*
* @return builder
*
*/
public Builder requestedBackupStorageRedundancy(String requestedBackupStorageRedundancy) {
return requestedBackupStorageRedundancy(Either.ofLeft(requestedBackupStorageRedundancy));
}
/**
* @param requestedBackupStorageRedundancy The storage account type to be used to store backups for this instance. The options are Local (LocallyRedundantStorage), Zone (ZoneRedundantStorage), Geo (GeoRedundantStorage) and GeoZone(GeoZoneRedundantStorage)
*
* @return builder
*
*/
public Builder requestedBackupStorageRedundancy(BackupStorageRedundancy requestedBackupStorageRedundancy) {
return requestedBackupStorageRedundancy(Either.ofRight(requestedBackupStorageRedundancy));
}
/**
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
*
* @return builder
*
*/
public Builder resourceGroupName(Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param restorePointInTime Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
*
* @return builder
*
*/
public Builder restorePointInTime(@Nullable Output restorePointInTime) {
$.restorePointInTime = restorePointInTime;
return this;
}
/**
* @param restorePointInTime Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
*
* @return builder
*
*/
public Builder restorePointInTime(String restorePointInTime) {
return restorePointInTime(Output.of(restorePointInTime));
}
/**
* @param servicePrincipal The managed instance's service principal.
*
* @return builder
*
*/
public Builder servicePrincipal(@Nullable Output servicePrincipal) {
$.servicePrincipal = servicePrincipal;
return this;
}
/**
* @param servicePrincipal The managed instance's service principal.
*
* @return builder
*
*/
public Builder servicePrincipal(ServicePrincipalArgs servicePrincipal) {
return servicePrincipal(Output.of(servicePrincipal));
}
/**
* @param sku Managed instance SKU. Allowed values for sku.name: GP_Gen5, GP_G8IM, GP_G8IH, BC_Gen5, BC_G8IM, BC_G8IH
*
* @return builder
*
*/
public Builder sku(@Nullable Output sku) {
$.sku = sku;
return this;
}
/**
* @param sku Managed instance SKU. Allowed values for sku.name: GP_Gen5, GP_G8IM, GP_G8IH, BC_Gen5, BC_G8IM, BC_G8IH
*
* @return builder
*
*/
public Builder sku(SkuArgs sku) {
return sku(Output.of(sku));
}
/**
* @param sourceManagedInstanceId The resource identifier of the source managed instance associated with create operation of this instance.
*
* @return builder
*
*/
public Builder sourceManagedInstanceId(@Nullable Output sourceManagedInstanceId) {
$.sourceManagedInstanceId = sourceManagedInstanceId;
return this;
}
/**
* @param sourceManagedInstanceId The resource identifier of the source managed instance associated with create operation of this instance.
*
* @return builder
*
*/
public Builder sourceManagedInstanceId(String sourceManagedInstanceId) {
return sourceManagedInstanceId(Output.of(sourceManagedInstanceId));
}
/**
* @param storageSizeInGB Storage size in GB. Minimum value: 32. Maximum value: 16384. Increments of 32 GB allowed only. Maximum value depends on the selected hardware family and number of vCores.
*
* @return builder
*
*/
public Builder storageSizeInGB(@Nullable Output storageSizeInGB) {
$.storageSizeInGB = storageSizeInGB;
return this;
}
/**
* @param storageSizeInGB Storage size in GB. Minimum value: 32. Maximum value: 16384. Increments of 32 GB allowed only. Maximum value depends on the selected hardware family and number of vCores.
*
* @return builder
*
*/
public Builder storageSizeInGB(Integer storageSizeInGB) {
return storageSizeInGB(Output.of(storageSizeInGB));
}
/**
* @param subnetId Subnet resource ID for the managed instance.
*
* @return builder
*
*/
public Builder subnetId(@Nullable Output subnetId) {
$.subnetId = subnetId;
return this;
}
/**
* @param subnetId Subnet resource ID for the managed instance.
*
* @return builder
*
*/
public Builder subnetId(String subnetId) {
return subnetId(Output.of(subnetId));
}
/**
* @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 timezoneId Id of the timezone. Allowed values are timezones supported by Windows.
* Windows keeps details on supported timezones, including the id, in registry under
* KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.
* You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info.
* List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.
* An example of valid timezone id is "Pacific Standard Time" or "W. Europe Standard Time".
*
* @return builder
*
*/
public Builder timezoneId(@Nullable Output timezoneId) {
$.timezoneId = timezoneId;
return this;
}
/**
* @param timezoneId Id of the timezone. Allowed values are timezones supported by Windows.
* Windows keeps details on supported timezones, including the id, in registry under
* KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones.
* You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info.
* List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell.
* An example of valid timezone id is "Pacific Standard Time" or "W. Europe Standard Time".
*
* @return builder
*
*/
public Builder timezoneId(String timezoneId) {
return timezoneId(Output.of(timezoneId));
}
/**
* @param vCores The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80.
*
* @return builder
*
*/
public Builder vCores(@Nullable Output vCores) {
$.vCores = vCores;
return this;
}
/**
* @param vCores The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80.
*
* @return builder
*
*/
public Builder vCores(Integer vCores) {
return vCores(Output.of(vCores));
}
/**
* @param zoneRedundant Whether or not the multi-az is enabled.
*
* @return builder
*
*/
public Builder zoneRedundant(@Nullable Output zoneRedundant) {
$.zoneRedundant = zoneRedundant;
return this;
}
/**
* @param zoneRedundant Whether or not the multi-az is enabled.
*
* @return builder
*
*/
public Builder zoneRedundant(Boolean zoneRedundant) {
return zoneRedundant(Output.of(zoneRedundant));
}
public ManagedInstanceArgs build() {
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("ManagedInstanceArgs", "resourceGroupName");
}
return $;
}
}
}