All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azurenative.documentdb.outputs.GetDatabaseAccountResult Maven / Gradle / Ivy

The newest version!
// *** 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.documentdb.outputs;

import com.pulumi.azurenative.documentdb.outputs.AnalyticalStorageConfigurationResponse;
import com.pulumi.azurenative.documentdb.outputs.ApiPropertiesResponse;
import com.pulumi.azurenative.documentdb.outputs.CapabilityResponse;
import com.pulumi.azurenative.documentdb.outputs.CapacityResponse;
import com.pulumi.azurenative.documentdb.outputs.ConsistencyPolicyResponse;
import com.pulumi.azurenative.documentdb.outputs.ContinuousModeBackupPolicyResponse;
import com.pulumi.azurenative.documentdb.outputs.CorsPolicyResponse;
import com.pulumi.azurenative.documentdb.outputs.DatabaseAccountKeysMetadataResponse;
import com.pulumi.azurenative.documentdb.outputs.FailoverPolicyResponse;
import com.pulumi.azurenative.documentdb.outputs.IpAddressOrRangeResponse;
import com.pulumi.azurenative.documentdb.outputs.LocationResponse;
import com.pulumi.azurenative.documentdb.outputs.ManagedServiceIdentityResponse;
import com.pulumi.azurenative.documentdb.outputs.PeriodicModeBackupPolicyResponse;
import com.pulumi.azurenative.documentdb.outputs.PrivateEndpointConnectionResponse;
import com.pulumi.azurenative.documentdb.outputs.RestoreParametersResponse;
import com.pulumi.azurenative.documentdb.outputs.SystemDataResponse;
import com.pulumi.azurenative.documentdb.outputs.VirtualNetworkRuleResponse;
import com.pulumi.core.Either;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class GetDatabaseAccountResult {
    /**
     * @return Analytical storage specific properties.
     * 
     */
    private @Nullable AnalyticalStorageConfigurationResponse analyticalStorageConfiguration;
    /**
     * @return API specific properties.
     * 
     */
    private @Nullable ApiPropertiesResponse apiProperties;
    /**
     * @return The object representing the policy for taking backups on an account.
     * 
     */
    private @Nullable Either backupPolicy;
    /**
     * @return List of Cosmos DB capabilities for the account
     * 
     */
    private @Nullable List capabilities;
    /**
     * @return The object that represents all properties related to capacity enforcement on an account.
     * 
     */
    private @Nullable CapacityResponse capacity;
    /**
     * @return The cassandra connector offer type for the Cosmos DB database C* account.
     * 
     */
    private @Nullable String connectorOffer;
    /**
     * @return The consistency policy for the Cosmos DB database account.
     * 
     */
    private @Nullable ConsistencyPolicyResponse consistencyPolicy;
    /**
     * @return The CORS policy for the Cosmos DB database account.
     * 
     */
    private @Nullable List cors;
    /**
     * @return Enum to indicate the mode of account creation.
     * 
     */
    private @Nullable String createMode;
    /**
     * @return The offer type for the Cosmos DB database account. Default value: Standard.
     * 
     */
    private String databaseAccountOfferType;
    /**
     * @return The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more.
     * 
     */
    private @Nullable String defaultIdentity;
    /**
     * @return Disable write operations on metadata resources (databases, containers, throughput) via account keys
     * 
     */
    private @Nullable Boolean disableKeyBasedMetadataWriteAccess;
    /**
     * @return Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.
     * 
     */
    private @Nullable Boolean disableLocalAuth;
    /**
     * @return The connection endpoint for the Cosmos DB database account.
     * 
     */
    private String documentEndpoint;
    /**
     * @return Flag to indicate whether to enable storage analytics.
     * 
     */
    private @Nullable Boolean enableAnalyticalStorage;
    /**
     * @return Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.
     * 
     */
    private @Nullable Boolean enableAutomaticFailover;
    /**
     * @return Enables the cassandra connector on the Cosmos DB C* account
     * 
     */
    private @Nullable Boolean enableCassandraConnector;
    /**
     * @return Flag to indicate whether Free Tier is enabled.
     * 
     */
    private @Nullable Boolean enableFreeTier;
    /**
     * @return Enables the account to write in multiple locations
     * 
     */
    private @Nullable Boolean enableMultipleWriteLocations;
    /**
     * @return Flag to indicate enabling/disabling of Partition Merge feature on the account
     * 
     */
    private @Nullable Boolean enablePartitionMerge;
    /**
     * @return An array that contains the regions ordered by their failover priorities.
     * 
     */
    private List failoverPolicies;
    /**
     * @return The unique resource identifier of the ARM resource.
     * 
     */
    private String id;
    /**
     * @return Identity for the resource.
     * 
     */
    private @Nullable ManagedServiceIdentityResponse identity;
    /**
     * @return A unique identifier assigned to the database account
     * 
     */
    private String instanceId;
    /**
     * @return List of IpRules.
     * 
     */
    private @Nullable List ipRules;
    /**
     * @return Flag to indicate whether to enable/disable Virtual Network ACL rules.
     * 
     */
    private @Nullable Boolean isVirtualNetworkFilterEnabled;
    /**
     * @return The URI of the key vault
     * 
     */
    private @Nullable String keyVaultKeyUri;
    /**
     * @return The object that represents the metadata for the Account Keys of the Cosmos DB account.
     * 
     */
    private DatabaseAccountKeysMetadataResponse keysMetadata;
    /**
     * @return Indicates the type of database account. This can only be set at database account creation.
     * 
     */
    private @Nullable String kind;
    /**
     * @return The location of the resource group to which the resource belongs.
     * 
     */
    private @Nullable String location;
    /**
     * @return An array that contains all of the locations enabled for the Cosmos DB account.
     * 
     */
    private List locations;
    /**
     * @return Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs only work with Tls 1.2.
     * 
     */
    private @Nullable String minimalTlsVersion;
    /**
     * @return The name of the ARM resource.
     * 
     */
    private String name;
    /**
     * @return Indicates what services are allowed to bypass firewall checks.
     * 
     */
    private @Nullable String networkAclBypass;
    /**
     * @return An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.
     * 
     */
    private @Nullable List networkAclBypassResourceIds;
    /**
     * @return List of Private Endpoint Connections configured for the Cosmos DB account.
     * 
     */
    private List privateEndpointConnections;
    /**
     * @return The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed.
     * 
     */
    private String provisioningState;
    /**
     * @return Whether requests from Public Network are allowed
     * 
     */
    private @Nullable String publicNetworkAccess;
    /**
     * @return An array that contains of the read locations enabled for the Cosmos DB account.
     * 
     */
    private List readLocations;
    /**
     * @return Parameters to indicate the information about the restore.
     * 
     */
    private @Nullable RestoreParametersResponse restoreParameters;
    /**
     * @return The system meta data relating to this resource.
     * 
     */
    private SystemDataResponse systemData;
    /**
     * @return Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB".
     * 
     */
    private @Nullable Map tags;
    /**
     * @return The type of Azure resource.
     * 
     */
    private String type;
    /**
     * @return List of Virtual Network ACL rules configured for the Cosmos DB account.
     * 
     */
    private @Nullable List virtualNetworkRules;
    /**
     * @return An array that contains the write location for the Cosmos DB account.
     * 
     */
    private List writeLocations;

    private GetDatabaseAccountResult() {}
    /**
     * @return Analytical storage specific properties.
     * 
     */
    public Optional analyticalStorageConfiguration() {
        return Optional.ofNullable(this.analyticalStorageConfiguration);
    }
    /**
     * @return API specific properties.
     * 
     */
    public Optional apiProperties() {
        return Optional.ofNullable(this.apiProperties);
    }
    /**
     * @return The object representing the policy for taking backups on an account.
     * 
     */
    public Optional> backupPolicy() {
        return Optional.ofNullable(this.backupPolicy);
    }
    /**
     * @return List of Cosmos DB capabilities for the account
     * 
     */
    public List capabilities() {
        return this.capabilities == null ? List.of() : this.capabilities;
    }
    /**
     * @return The object that represents all properties related to capacity enforcement on an account.
     * 
     */
    public Optional capacity() {
        return Optional.ofNullable(this.capacity);
    }
    /**
     * @return The cassandra connector offer type for the Cosmos DB database C* account.
     * 
     */
    public Optional connectorOffer() {
        return Optional.ofNullable(this.connectorOffer);
    }
    /**
     * @return The consistency policy for the Cosmos DB database account.
     * 
     */
    public Optional consistencyPolicy() {
        return Optional.ofNullable(this.consistencyPolicy);
    }
    /**
     * @return The CORS policy for the Cosmos DB database account.
     * 
     */
    public List cors() {
        return this.cors == null ? List.of() : this.cors;
    }
    /**
     * @return Enum to indicate the mode of account creation.
     * 
     */
    public Optional createMode() {
        return Optional.ofNullable(this.createMode);
    }
    /**
     * @return The offer type for the Cosmos DB database account. Default value: Standard.
     * 
     */
    public String databaseAccountOfferType() {
        return this.databaseAccountOfferType;
    }
    /**
     * @return The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more.
     * 
     */
    public Optional defaultIdentity() {
        return Optional.ofNullable(this.defaultIdentity);
    }
    /**
     * @return Disable write operations on metadata resources (databases, containers, throughput) via account keys
     * 
     */
    public Optional disableKeyBasedMetadataWriteAccess() {
        return Optional.ofNullable(this.disableKeyBasedMetadataWriteAccess);
    }
    /**
     * @return Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.
     * 
     */
    public Optional disableLocalAuth() {
        return Optional.ofNullable(this.disableLocalAuth);
    }
    /**
     * @return The connection endpoint for the Cosmos DB database account.
     * 
     */
    public String documentEndpoint() {
        return this.documentEndpoint;
    }
    /**
     * @return Flag to indicate whether to enable storage analytics.
     * 
     */
    public Optional enableAnalyticalStorage() {
        return Optional.ofNullable(this.enableAnalyticalStorage);
    }
    /**
     * @return Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account.
     * 
     */
    public Optional enableAutomaticFailover() {
        return Optional.ofNullable(this.enableAutomaticFailover);
    }
    /**
     * @return Enables the cassandra connector on the Cosmos DB C* account
     * 
     */
    public Optional enableCassandraConnector() {
        return Optional.ofNullable(this.enableCassandraConnector);
    }
    /**
     * @return Flag to indicate whether Free Tier is enabled.
     * 
     */
    public Optional enableFreeTier() {
        return Optional.ofNullable(this.enableFreeTier);
    }
    /**
     * @return Enables the account to write in multiple locations
     * 
     */
    public Optional enableMultipleWriteLocations() {
        return Optional.ofNullable(this.enableMultipleWriteLocations);
    }
    /**
     * @return Flag to indicate enabling/disabling of Partition Merge feature on the account
     * 
     */
    public Optional enablePartitionMerge() {
        return Optional.ofNullable(this.enablePartitionMerge);
    }
    /**
     * @return An array that contains the regions ordered by their failover priorities.
     * 
     */
    public List failoverPolicies() {
        return this.failoverPolicies;
    }
    /**
     * @return The unique resource identifier of the ARM resource.
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Identity for the resource.
     * 
     */
    public Optional identity() {
        return Optional.ofNullable(this.identity);
    }
    /**
     * @return A unique identifier assigned to the database account
     * 
     */
    public String instanceId() {
        return this.instanceId;
    }
    /**
     * @return List of IpRules.
     * 
     */
    public List ipRules() {
        return this.ipRules == null ? List.of() : this.ipRules;
    }
    /**
     * @return Flag to indicate whether to enable/disable Virtual Network ACL rules.
     * 
     */
    public Optional isVirtualNetworkFilterEnabled() {
        return Optional.ofNullable(this.isVirtualNetworkFilterEnabled);
    }
    /**
     * @return The URI of the key vault
     * 
     */
    public Optional keyVaultKeyUri() {
        return Optional.ofNullable(this.keyVaultKeyUri);
    }
    /**
     * @return The object that represents the metadata for the Account Keys of the Cosmos DB account.
     * 
     */
    public DatabaseAccountKeysMetadataResponse keysMetadata() {
        return this.keysMetadata;
    }
    /**
     * @return Indicates the type of database account. This can only be set at database account creation.
     * 
     */
    public Optional kind() {
        return Optional.ofNullable(this.kind);
    }
    /**
     * @return The location of the resource group to which the resource belongs.
     * 
     */
    public Optional location() {
        return Optional.ofNullable(this.location);
    }
    /**
     * @return An array that contains all of the locations enabled for the Cosmos DB account.
     * 
     */
    public List locations() {
        return this.locations;
    }
    /**
     * @return Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs only work with Tls 1.2.
     * 
     */
    public Optional minimalTlsVersion() {
        return Optional.ofNullable(this.minimalTlsVersion);
    }
    /**
     * @return The name of the ARM resource.
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Indicates what services are allowed to bypass firewall checks.
     * 
     */
    public Optional networkAclBypass() {
        return Optional.ofNullable(this.networkAclBypass);
    }
    /**
     * @return An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.
     * 
     */
    public List networkAclBypassResourceIds() {
        return this.networkAclBypassResourceIds == null ? List.of() : this.networkAclBypassResourceIds;
    }
    /**
     * @return List of Private Endpoint Connections configured for the Cosmos DB account.
     * 
     */
    public List privateEndpointConnections() {
        return this.privateEndpointConnections;
    }
    /**
     * @return The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return Whether requests from Public Network are allowed
     * 
     */
    public Optional publicNetworkAccess() {
        return Optional.ofNullable(this.publicNetworkAccess);
    }
    /**
     * @return An array that contains of the read locations enabled for the Cosmos DB account.
     * 
     */
    public List readLocations() {
        return this.readLocations;
    }
    /**
     * @return Parameters to indicate the information about the restore.
     * 
     */
    public Optional restoreParameters() {
        return Optional.ofNullable(this.restoreParameters);
    }
    /**
     * @return The system meta data relating to this resource.
     * 
     */
    public SystemDataResponse systemData() {
        return this.systemData;
    }
    /**
     * @return Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with "defaultExperience": "Cassandra". Current "defaultExperience" values also include "Table", "Graph", "DocumentDB", and "MongoDB".
     * 
     */
    public Map tags() {
        return this.tags == null ? Map.of() : this.tags;
    }
    /**
     * @return The type of Azure resource.
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return List of Virtual Network ACL rules configured for the Cosmos DB account.
     * 
     */
    public List virtualNetworkRules() {
        return this.virtualNetworkRules == null ? List.of() : this.virtualNetworkRules;
    }
    /**
     * @return An array that contains the write location for the Cosmos DB account.
     * 
     */
    public List writeLocations() {
        return this.writeLocations;
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(GetDatabaseAccountResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable AnalyticalStorageConfigurationResponse analyticalStorageConfiguration;
        private @Nullable ApiPropertiesResponse apiProperties;
        private @Nullable Either backupPolicy;
        private @Nullable List capabilities;
        private @Nullable CapacityResponse capacity;
        private @Nullable String connectorOffer;
        private @Nullable ConsistencyPolicyResponse consistencyPolicy;
        private @Nullable List cors;
        private @Nullable String createMode;
        private String databaseAccountOfferType;
        private @Nullable String defaultIdentity;
        private @Nullable Boolean disableKeyBasedMetadataWriteAccess;
        private @Nullable Boolean disableLocalAuth;
        private String documentEndpoint;
        private @Nullable Boolean enableAnalyticalStorage;
        private @Nullable Boolean enableAutomaticFailover;
        private @Nullable Boolean enableCassandraConnector;
        private @Nullable Boolean enableFreeTier;
        private @Nullable Boolean enableMultipleWriteLocations;
        private @Nullable Boolean enablePartitionMerge;
        private List failoverPolicies;
        private String id;
        private @Nullable ManagedServiceIdentityResponse identity;
        private String instanceId;
        private @Nullable List ipRules;
        private @Nullable Boolean isVirtualNetworkFilterEnabled;
        private @Nullable String keyVaultKeyUri;
        private DatabaseAccountKeysMetadataResponse keysMetadata;
        private @Nullable String kind;
        private @Nullable String location;
        private List locations;
        private @Nullable String minimalTlsVersion;
        private String name;
        private @Nullable String networkAclBypass;
        private @Nullable List networkAclBypassResourceIds;
        private List privateEndpointConnections;
        private String provisioningState;
        private @Nullable String publicNetworkAccess;
        private List readLocations;
        private @Nullable RestoreParametersResponse restoreParameters;
        private SystemDataResponse systemData;
        private @Nullable Map tags;
        private String type;
        private @Nullable List virtualNetworkRules;
        private List writeLocations;
        public Builder() {}
        public Builder(GetDatabaseAccountResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.analyticalStorageConfiguration = defaults.analyticalStorageConfiguration;
    	      this.apiProperties = defaults.apiProperties;
    	      this.backupPolicy = defaults.backupPolicy;
    	      this.capabilities = defaults.capabilities;
    	      this.capacity = defaults.capacity;
    	      this.connectorOffer = defaults.connectorOffer;
    	      this.consistencyPolicy = defaults.consistencyPolicy;
    	      this.cors = defaults.cors;
    	      this.createMode = defaults.createMode;
    	      this.databaseAccountOfferType = defaults.databaseAccountOfferType;
    	      this.defaultIdentity = defaults.defaultIdentity;
    	      this.disableKeyBasedMetadataWriteAccess = defaults.disableKeyBasedMetadataWriteAccess;
    	      this.disableLocalAuth = defaults.disableLocalAuth;
    	      this.documentEndpoint = defaults.documentEndpoint;
    	      this.enableAnalyticalStorage = defaults.enableAnalyticalStorage;
    	      this.enableAutomaticFailover = defaults.enableAutomaticFailover;
    	      this.enableCassandraConnector = defaults.enableCassandraConnector;
    	      this.enableFreeTier = defaults.enableFreeTier;
    	      this.enableMultipleWriteLocations = defaults.enableMultipleWriteLocations;
    	      this.enablePartitionMerge = defaults.enablePartitionMerge;
    	      this.failoverPolicies = defaults.failoverPolicies;
    	      this.id = defaults.id;
    	      this.identity = defaults.identity;
    	      this.instanceId = defaults.instanceId;
    	      this.ipRules = defaults.ipRules;
    	      this.isVirtualNetworkFilterEnabled = defaults.isVirtualNetworkFilterEnabled;
    	      this.keyVaultKeyUri = defaults.keyVaultKeyUri;
    	      this.keysMetadata = defaults.keysMetadata;
    	      this.kind = defaults.kind;
    	      this.location = defaults.location;
    	      this.locations = defaults.locations;
    	      this.minimalTlsVersion = defaults.minimalTlsVersion;
    	      this.name = defaults.name;
    	      this.networkAclBypass = defaults.networkAclBypass;
    	      this.networkAclBypassResourceIds = defaults.networkAclBypassResourceIds;
    	      this.privateEndpointConnections = defaults.privateEndpointConnections;
    	      this.provisioningState = defaults.provisioningState;
    	      this.publicNetworkAccess = defaults.publicNetworkAccess;
    	      this.readLocations = defaults.readLocations;
    	      this.restoreParameters = defaults.restoreParameters;
    	      this.systemData = defaults.systemData;
    	      this.tags = defaults.tags;
    	      this.type = defaults.type;
    	      this.virtualNetworkRules = defaults.virtualNetworkRules;
    	      this.writeLocations = defaults.writeLocations;
        }

        @CustomType.Setter
        public Builder analyticalStorageConfiguration(@Nullable AnalyticalStorageConfigurationResponse analyticalStorageConfiguration) {

            this.analyticalStorageConfiguration = analyticalStorageConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder apiProperties(@Nullable ApiPropertiesResponse apiProperties) {

            this.apiProperties = apiProperties;
            return this;
        }
        @CustomType.Setter
        public Builder backupPolicy(@Nullable Either backupPolicy) {

            this.backupPolicy = backupPolicy;
            return this;
        }
        @CustomType.Setter
        public Builder capabilities(@Nullable List capabilities) {

            this.capabilities = capabilities;
            return this;
        }
        public Builder capabilities(CapabilityResponse... capabilities) {
            return capabilities(List.of(capabilities));
        }
        @CustomType.Setter
        public Builder capacity(@Nullable CapacityResponse capacity) {

            this.capacity = capacity;
            return this;
        }
        @CustomType.Setter
        public Builder connectorOffer(@Nullable String connectorOffer) {

            this.connectorOffer = connectorOffer;
            return this;
        }
        @CustomType.Setter
        public Builder consistencyPolicy(@Nullable ConsistencyPolicyResponse consistencyPolicy) {

            this.consistencyPolicy = consistencyPolicy;
            return this;
        }
        @CustomType.Setter
        public Builder cors(@Nullable List cors) {

            this.cors = cors;
            return this;
        }
        public Builder cors(CorsPolicyResponse... cors) {
            return cors(List.of(cors));
        }
        @CustomType.Setter
        public Builder createMode(@Nullable String createMode) {

            this.createMode = createMode;
            return this;
        }
        @CustomType.Setter
        public Builder databaseAccountOfferType(String databaseAccountOfferType) {
            if (databaseAccountOfferType == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "databaseAccountOfferType");
            }
            this.databaseAccountOfferType = databaseAccountOfferType;
            return this;
        }
        @CustomType.Setter
        public Builder defaultIdentity(@Nullable String defaultIdentity) {

            this.defaultIdentity = defaultIdentity;
            return this;
        }
        @CustomType.Setter
        public Builder disableKeyBasedMetadataWriteAccess(@Nullable Boolean disableKeyBasedMetadataWriteAccess) {

            this.disableKeyBasedMetadataWriteAccess = disableKeyBasedMetadataWriteAccess;
            return this;
        }
        @CustomType.Setter
        public Builder disableLocalAuth(@Nullable Boolean disableLocalAuth) {

            this.disableLocalAuth = disableLocalAuth;
            return this;
        }
        @CustomType.Setter
        public Builder documentEndpoint(String documentEndpoint) {
            if (documentEndpoint == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "documentEndpoint");
            }
            this.documentEndpoint = documentEndpoint;
            return this;
        }
        @CustomType.Setter
        public Builder enableAnalyticalStorage(@Nullable Boolean enableAnalyticalStorage) {

            this.enableAnalyticalStorage = enableAnalyticalStorage;
            return this;
        }
        @CustomType.Setter
        public Builder enableAutomaticFailover(@Nullable Boolean enableAutomaticFailover) {

            this.enableAutomaticFailover = enableAutomaticFailover;
            return this;
        }
        @CustomType.Setter
        public Builder enableCassandraConnector(@Nullable Boolean enableCassandraConnector) {

            this.enableCassandraConnector = enableCassandraConnector;
            return this;
        }
        @CustomType.Setter
        public Builder enableFreeTier(@Nullable Boolean enableFreeTier) {

            this.enableFreeTier = enableFreeTier;
            return this;
        }
        @CustomType.Setter
        public Builder enableMultipleWriteLocations(@Nullable Boolean enableMultipleWriteLocations) {

            this.enableMultipleWriteLocations = enableMultipleWriteLocations;
            return this;
        }
        @CustomType.Setter
        public Builder enablePartitionMerge(@Nullable Boolean enablePartitionMerge) {

            this.enablePartitionMerge = enablePartitionMerge;
            return this;
        }
        @CustomType.Setter
        public Builder failoverPolicies(List failoverPolicies) {
            if (failoverPolicies == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "failoverPolicies");
            }
            this.failoverPolicies = failoverPolicies;
            return this;
        }
        public Builder failoverPolicies(FailoverPolicyResponse... failoverPolicies) {
            return failoverPolicies(List.of(failoverPolicies));
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder identity(@Nullable ManagedServiceIdentityResponse identity) {

            this.identity = identity;
            return this;
        }
        @CustomType.Setter
        public Builder instanceId(String instanceId) {
            if (instanceId == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "instanceId");
            }
            this.instanceId = instanceId;
            return this;
        }
        @CustomType.Setter
        public Builder ipRules(@Nullable List ipRules) {

            this.ipRules = ipRules;
            return this;
        }
        public Builder ipRules(IpAddressOrRangeResponse... ipRules) {
            return ipRules(List.of(ipRules));
        }
        @CustomType.Setter
        public Builder isVirtualNetworkFilterEnabled(@Nullable Boolean isVirtualNetworkFilterEnabled) {

            this.isVirtualNetworkFilterEnabled = isVirtualNetworkFilterEnabled;
            return this;
        }
        @CustomType.Setter
        public Builder keyVaultKeyUri(@Nullable String keyVaultKeyUri) {

            this.keyVaultKeyUri = keyVaultKeyUri;
            return this;
        }
        @CustomType.Setter
        public Builder keysMetadata(DatabaseAccountKeysMetadataResponse keysMetadata) {
            if (keysMetadata == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "keysMetadata");
            }
            this.keysMetadata = keysMetadata;
            return this;
        }
        @CustomType.Setter
        public Builder kind(@Nullable String kind) {

            this.kind = kind;
            return this;
        }
        @CustomType.Setter
        public Builder location(@Nullable String location) {

            this.location = location;
            return this;
        }
        @CustomType.Setter
        public Builder locations(List locations) {
            if (locations == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "locations");
            }
            this.locations = locations;
            return this;
        }
        public Builder locations(LocationResponse... locations) {
            return locations(List.of(locations));
        }
        @CustomType.Setter
        public Builder minimalTlsVersion(@Nullable String minimalTlsVersion) {

            this.minimalTlsVersion = minimalTlsVersion;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder networkAclBypass(@Nullable String networkAclBypass) {

            this.networkAclBypass = networkAclBypass;
            return this;
        }
        @CustomType.Setter
        public Builder networkAclBypassResourceIds(@Nullable List networkAclBypassResourceIds) {

            this.networkAclBypassResourceIds = networkAclBypassResourceIds;
            return this;
        }
        public Builder networkAclBypassResourceIds(String... networkAclBypassResourceIds) {
            return networkAclBypassResourceIds(List.of(networkAclBypassResourceIds));
        }
        @CustomType.Setter
        public Builder privateEndpointConnections(List privateEndpointConnections) {
            if (privateEndpointConnections == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "privateEndpointConnections");
            }
            this.privateEndpointConnections = privateEndpointConnections;
            return this;
        }
        public Builder privateEndpointConnections(PrivateEndpointConnectionResponse... privateEndpointConnections) {
            return privateEndpointConnections(List.of(privateEndpointConnections));
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder publicNetworkAccess(@Nullable String publicNetworkAccess) {

            this.publicNetworkAccess = publicNetworkAccess;
            return this;
        }
        @CustomType.Setter
        public Builder readLocations(List readLocations) {
            if (readLocations == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "readLocations");
            }
            this.readLocations = readLocations;
            return this;
        }
        public Builder readLocations(LocationResponse... readLocations) {
            return readLocations(List.of(readLocations));
        }
        @CustomType.Setter
        public Builder restoreParameters(@Nullable RestoreParametersResponse restoreParameters) {

            this.restoreParameters = restoreParameters;
            return this;
        }
        @CustomType.Setter
        public Builder systemData(SystemDataResponse systemData) {
            if (systemData == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "systemData");
            }
            this.systemData = systemData;
            return this;
        }
        @CustomType.Setter
        public Builder tags(@Nullable Map tags) {

            this.tags = tags;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder virtualNetworkRules(@Nullable List virtualNetworkRules) {

            this.virtualNetworkRules = virtualNetworkRules;
            return this;
        }
        public Builder virtualNetworkRules(VirtualNetworkRuleResponse... virtualNetworkRules) {
            return virtualNetworkRules(List.of(virtualNetworkRules));
        }
        @CustomType.Setter
        public Builder writeLocations(List writeLocations) {
            if (writeLocations == null) {
              throw new MissingRequiredPropertyException("GetDatabaseAccountResult", "writeLocations");
            }
            this.writeLocations = writeLocations;
            return this;
        }
        public Builder writeLocations(LocationResponse... writeLocations) {
            return writeLocations(List.of(writeLocations));
        }
        public GetDatabaseAccountResult build() {
            final var _resultValue = new GetDatabaseAccountResult();
            _resultValue.analyticalStorageConfiguration = analyticalStorageConfiguration;
            _resultValue.apiProperties = apiProperties;
            _resultValue.backupPolicy = backupPolicy;
            _resultValue.capabilities = capabilities;
            _resultValue.capacity = capacity;
            _resultValue.connectorOffer = connectorOffer;
            _resultValue.consistencyPolicy = consistencyPolicy;
            _resultValue.cors = cors;
            _resultValue.createMode = createMode;
            _resultValue.databaseAccountOfferType = databaseAccountOfferType;
            _resultValue.defaultIdentity = defaultIdentity;
            _resultValue.disableKeyBasedMetadataWriteAccess = disableKeyBasedMetadataWriteAccess;
            _resultValue.disableLocalAuth = disableLocalAuth;
            _resultValue.documentEndpoint = documentEndpoint;
            _resultValue.enableAnalyticalStorage = enableAnalyticalStorage;
            _resultValue.enableAutomaticFailover = enableAutomaticFailover;
            _resultValue.enableCassandraConnector = enableCassandraConnector;
            _resultValue.enableFreeTier = enableFreeTier;
            _resultValue.enableMultipleWriteLocations = enableMultipleWriteLocations;
            _resultValue.enablePartitionMerge = enablePartitionMerge;
            _resultValue.failoverPolicies = failoverPolicies;
            _resultValue.id = id;
            _resultValue.identity = identity;
            _resultValue.instanceId = instanceId;
            _resultValue.ipRules = ipRules;
            _resultValue.isVirtualNetworkFilterEnabled = isVirtualNetworkFilterEnabled;
            _resultValue.keyVaultKeyUri = keyVaultKeyUri;
            _resultValue.keysMetadata = keysMetadata;
            _resultValue.kind = kind;
            _resultValue.location = location;
            _resultValue.locations = locations;
            _resultValue.minimalTlsVersion = minimalTlsVersion;
            _resultValue.name = name;
            _resultValue.networkAclBypass = networkAclBypass;
            _resultValue.networkAclBypassResourceIds = networkAclBypassResourceIds;
            _resultValue.privateEndpointConnections = privateEndpointConnections;
            _resultValue.provisioningState = provisioningState;
            _resultValue.publicNetworkAccess = publicNetworkAccess;
            _resultValue.readLocations = readLocations;
            _resultValue.restoreParameters = restoreParameters;
            _resultValue.systemData = systemData;
            _resultValue.tags = tags;
            _resultValue.type = type;
            _resultValue.virtualNetworkRules = virtualNetworkRules;
            _resultValue.writeLocations = writeLocations;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy