Class DatabaseAccount


  • public class DatabaseAccount
    extends com.pulumi.resources.CustomResource
    An Azure Cosmos DB database account. API Version: 2021-03-15. ## Example Usage ### CosmosDBDatabaseAccountCreateMax ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.documentdb.DatabaseAccount; import com.pulumi.azurenative.documentdb.DatabaseAccountArgs; 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 databaseAccount = new DatabaseAccount("databaseAccount", DatabaseAccountArgs.builder() .accountName("ddb1") .apiProperties(Map.of("serverVersion", "3.2")) .backupPolicy(Map.ofEntries( Map.entry("periodicModeProperties", Map.ofEntries( Map.entry("backupIntervalInMinutes", 240), Map.entry("backupRetentionIntervalInHours", 8) )), Map.entry("type", "Periodic") )) .consistencyPolicy(Map.ofEntries( Map.entry("defaultConsistencyLevel", "BoundedStaleness"), Map.entry("maxIntervalInSeconds", 10), Map.entry("maxStalenessPrefix", 200) )) .cors(Map.of("allowedOrigins", "https://test")) .databaseAccountOfferType("Standard") .defaultIdentity("FirstPartyIdentity") .enableAnalyticalStorage(true) .enableFreeTier(false) .identity(Map.ofEntries( Map.entry("type", "SystemAssigned,UserAssigned"), Map.entry("userAssignedIdentities", Map.of("/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1", )) )) .ipRules( Map.of("ipAddressOrRange", "23.43.230.120"), Map.of("ipAddressOrRange", "110.12.240.0/12")) .isVirtualNetworkFilterEnabled(true) .keyVaultKeyUri("https://myKeyVault.vault.azure.net") .kind("MongoDB") .location("westus") .locations( Map.ofEntries( Map.entry("failoverPriority", 0), Map.entry("isZoneRedundant", false), Map.entry("locationName", "southcentralus") ), Map.ofEntries( Map.entry("failoverPriority", 1), Map.entry("isZoneRedundant", false), Map.entry("locationName", "eastus") )) .networkAclBypass("AzureServices") .networkAclBypassResourceIds("/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName") .publicNetworkAccess("Enabled") .resourceGroupName("rg1") .tags() .virtualNetworkRules(Map.ofEntries( Map.entry("id", "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"), Map.entry("ignoreMissingVNetServiceEndpoint", false) )) .build()); } } ``` ### CosmosDBDatabaseAccountCreateMin ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.azurenative.documentdb.DatabaseAccount; import com.pulumi.azurenative.documentdb.DatabaseAccountArgs; 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 databaseAccount = new DatabaseAccount("databaseAccount", DatabaseAccountArgs.builder() .accountName("ddb1") .databaseAccountOfferType("Standard") .location("westus") .locations(Map.ofEntries( Map.entry("failoverPriority", 0), Map.entry("isZoneRedundant", false), Map.entry("locationName", "southcentralus") )) .resourceGroupName("rg1") .build()); } } ``` ## Import An existing resource can be imported using its type token, name, and identifier, e.g. ```sh $ pulumi import azure-native:documentdb:DatabaseAccount ddb1 /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1 ```
    • Constructor Detail

      • DatabaseAccount

        public DatabaseAccount​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • DatabaseAccount

        public DatabaseAccount​(java.lang.String name,
                               DatabaseAccountArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • DatabaseAccount

        public DatabaseAccount​(java.lang.String name,
                               DatabaseAccountArgs args,
                               @Nullable
                               com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • apiProperties

        public com.pulumi.core.Output<java.util.Optional<ApiPropertiesResponse>> apiProperties()
        Returns:
        API specific properties.
      • capabilities

        public com.pulumi.core.Output<java.util.Optional<java.util.List<CapabilityResponse>>> capabilities()
        Returns:
        List of Cosmos DB capabilities for the account
      • connectorOffer

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> connectorOffer()
        Returns:
        The cassandra connector offer type for the Cosmos DB database C* account.
      • consistencyPolicy

        public com.pulumi.core.Output<java.util.Optional<ConsistencyPolicyResponse>> consistencyPolicy()
        Returns:
        The consistency policy for the Cosmos DB database account.
      • cors

        public com.pulumi.core.Output<java.util.Optional<java.util.List<CorsPolicyResponse>>> cors()
        Returns:
        The CORS policy for the Cosmos DB database account.
      • databaseAccountOfferType

        public com.pulumi.core.Output<java.lang.String> databaseAccountOfferType()
        Returns:
        The offer type for the Cosmos DB database account. Default value: Standard.
      • defaultIdentity

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> defaultIdentity()
        Returns:
        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.
      • disableKeyBasedMetadataWriteAccess

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> disableKeyBasedMetadataWriteAccess()
        Returns:
        Disable write operations on metadata resources (databases, containers, throughput) via account keys
      • documentEndpoint

        public com.pulumi.core.Output<java.lang.String> documentEndpoint()
        Returns:
        The connection endpoint for the Cosmos DB database account.
      • enableAnalyticalStorage

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> enableAnalyticalStorage()
        Returns:
        Flag to indicate whether to enable storage analytics.
      • enableAutomaticFailover

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> enableAutomaticFailover()
        Returns:
        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.
      • enableCassandraConnector

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> enableCassandraConnector()
        Returns:
        Enables the cassandra connector on the Cosmos DB C* account
      • enableFreeTier

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> enableFreeTier()
        Returns:
        Flag to indicate whether Free Tier is enabled.
      • enableMultipleWriteLocations

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> enableMultipleWriteLocations()
        Returns:
        Enables the account to write in multiple locations
      • failoverPolicies

        public com.pulumi.core.Output<java.util.List<FailoverPolicyResponse>> failoverPolicies()
        Returns:
        An array that contains the regions ordered by their failover priorities.
      • ipRules

        public com.pulumi.core.Output<java.util.Optional<java.util.List<IpAddressOrRangeResponse>>> ipRules()
        Returns:
        List of IpRules.
      • isVirtualNetworkFilterEnabled

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> isVirtualNetworkFilterEnabled()
        Returns:
        Flag to indicate whether to enable/disable Virtual Network ACL rules.
      • keyVaultKeyUri

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> keyVaultKeyUri()
        Returns:
        The URI of the key vault
      • kind

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> kind()
        Returns:
        Indicates the type of database account. This can only be set at database account creation.
      • location

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> location()
        Returns:
        The location of the resource group to which the resource belongs.
      • locations

        public com.pulumi.core.Output<java.util.List<LocationResponse>> locations()
        Returns:
        An array that contains all of the locations enabled for the Cosmos DB account.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        The name of the ARM resource.
      • networkAclBypass

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> networkAclBypass()
        Returns:
        Indicates what services are allowed to bypass firewall checks.
      • networkAclBypassResourceIds

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> networkAclBypassResourceIds()
        Returns:
        An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.
      • privateEndpointConnections

        public com.pulumi.core.Output<java.util.List<PrivateEndpointConnectionResponse>> privateEndpointConnections()
        Returns:
        List of Private Endpoint Connections configured for the Cosmos DB account.
      • provisioningState

        public com.pulumi.core.Output<java.lang.String> provisioningState()
        Returns:
        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.
      • publicNetworkAccess

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> publicNetworkAccess()
        Returns:
        Whether requests from Public Network are allowed
      • readLocations

        public com.pulumi.core.Output<java.util.List<LocationResponse>> readLocations()
        Returns:
        An array that contains of the read locations enabled for the Cosmos DB account.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        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".
      • type

        public com.pulumi.core.Output<java.lang.String> type()
        Returns:
        The type of Azure resource.
      • virtualNetworkRules

        public com.pulumi.core.Output<java.util.Optional<java.util.List<VirtualNetworkRuleResponse>>> virtualNetworkRules()
        Returns:
        List of Virtual Network ACL rules configured for the Cosmos DB account.
      • writeLocations

        public com.pulumi.core.Output<java.util.List<LocationResponse>> writeLocations()
        Returns:
        An array that contains the write location for the Cosmos DB account.
      • get

        public static DatabaseAccount get​(java.lang.String name,
                                          com.pulumi.core.Output<java.lang.String> id,
                                          @Nullable
                                          com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        options - Optional settings to control the behavior of the CustomResource.