import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Redis Enterprise Database. * * > **Note:** This resource has been deprecated in favor of azurerm_managed_redis. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-redisenterprise", * location: "West Europe", * }); * const exampleEnterpriseCluster = new azure.redis.EnterpriseCluster("example", { * name: "example-redisenterprise", * resourceGroupName: example.name, * location: example.location, * skuName: "Enterprise_E20-4", * }); * const example1 = new azure.redis.EnterpriseCluster("example1", { * name: "example-redisenterprise1", * resourceGroupName: example.name, * location: example.location, * skuName: "Enterprise_E20-4", * }); * const exampleEnterpriseDatabase = new azure.redis.EnterpriseDatabase("example", { * name: "default", * clusterId: exampleEnterpriseCluster.id, * clientProtocol: "Encrypted", * clusteringPolicy: "EnterpriseCluster", * evictionPolicy: "NoEviction", * port: 10000, * linkedDatabaseIds: [ * pulumi.interpolate`${exampleEnterpriseCluster.id}/databases/default`, * pulumi.interpolate`${example1.id}/databases/default`, * ], * linkedDatabaseGroupNickname: "tftestGeoGroup", * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Cache` - 2024-10-01 * * ## Import * * Redis Enterprise Databases can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:redis/enterpriseDatabase:EnterpriseDatabase example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redisEnterprise/cluster1/databases/database1 * ``` */ export declare class EnterpriseDatabase extends pulumi.CustomResource { /** * Get an existing EnterpriseDatabase resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: EnterpriseDatabaseState, opts?: pulumi.CustomResourceOptions): EnterpriseDatabase; /** * Returns true if the given object is an instance of EnterpriseDatabase. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is EnterpriseDatabase; /** * Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created. */ readonly clientProtocol: pulumi.Output; /** * The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created. */ readonly clusterId: pulumi.Output; /** * Clustering policy Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created. */ readonly clusteringPolicy: pulumi.Output; /** * Redis eviction policy possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Changing this forces a new Redis Enterprise Database to be created. Defaults to `VolatileLRU`. */ readonly evictionPolicy: pulumi.Output; /** * Nickname of the group of linked databases. Changing this force a new Redis Enterprise Geo Database to be created. */ readonly linkedDatabaseGroupNickname: pulumi.Output; /** * A list of database resources to link with this database with a maximum of 5. * * > **Note:** Only the newly created databases can be added to an existing geo-replication group. Existing regular databases or recreated databases cannot be added to the existing geo-replication group. Any linked database removed from the list will be forcefully unlinked. The only recommended operation is to delete after force-unlink and the recommended scenario of force-unlink is region outage. The database cannot be linked again after force-unlink. */ readonly linkedDatabaseIds: pulumi.Output; /** * A `module` block as defined below. Changing this forces a new resource to be created. * * > **Note:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication */ readonly modules: pulumi.Output; /** * The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is `default`. Defaults to `default`. Changing this forces a new Redis Enterprise Database to be created. */ readonly name: pulumi.Output; /** * TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created. Defaults to `10000`. */ readonly port: pulumi.Output; /** * The Primary Access Key for the Redis Enterprise Database Instance. */ readonly primaryAccessKey: pulumi.Output; /** * The Secondary Access Key for the Redis Enterprise Database Instance. */ readonly secondaryAccessKey: pulumi.Output; /** * Create a EnterpriseDatabase resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: EnterpriseDatabaseArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering EnterpriseDatabase resources. */ export interface EnterpriseDatabaseState { /** * Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created. */ clientProtocol?: pulumi.Input; /** * The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created. */ clusterId?: pulumi.Input; /** * Clustering policy Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created. */ clusteringPolicy?: pulumi.Input; /** * Redis eviction policy possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Changing this forces a new Redis Enterprise Database to be created. Defaults to `VolatileLRU`. */ evictionPolicy?: pulumi.Input; /** * Nickname of the group of linked databases. Changing this force a new Redis Enterprise Geo Database to be created. */ linkedDatabaseGroupNickname?: pulumi.Input; /** * A list of database resources to link with this database with a maximum of 5. * * > **Note:** Only the newly created databases can be added to an existing geo-replication group. Existing regular databases or recreated databases cannot be added to the existing geo-replication group. Any linked database removed from the list will be forcefully unlinked. The only recommended operation is to delete after force-unlink and the recommended scenario of force-unlink is region outage. The database cannot be linked again after force-unlink. */ linkedDatabaseIds?: pulumi.Input[]>; /** * A `module` block as defined below. Changing this forces a new resource to be created. * * > **Note:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication */ modules?: pulumi.Input[]>; /** * The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is `default`. Defaults to `default`. Changing this forces a new Redis Enterprise Database to be created. */ name?: pulumi.Input; /** * TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created. Defaults to `10000`. */ port?: pulumi.Input; /** * The Primary Access Key for the Redis Enterprise Database Instance. */ primaryAccessKey?: pulumi.Input; /** * The Secondary Access Key for the Redis Enterprise Database Instance. */ secondaryAccessKey?: pulumi.Input; } /** * The set of arguments for constructing a EnterpriseDatabase resource. */ export interface EnterpriseDatabaseArgs { /** * Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created. */ clientProtocol?: pulumi.Input; /** * The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created. */ clusterId: pulumi.Input; /** * Clustering policy Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created. */ clusteringPolicy?: pulumi.Input; /** * Redis eviction policy possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Changing this forces a new Redis Enterprise Database to be created. Defaults to `VolatileLRU`. */ evictionPolicy?: pulumi.Input; /** * Nickname of the group of linked databases. Changing this force a new Redis Enterprise Geo Database to be created. */ linkedDatabaseGroupNickname?: pulumi.Input; /** * A list of database resources to link with this database with a maximum of 5. * * > **Note:** Only the newly created databases can be added to an existing geo-replication group. Existing regular databases or recreated databases cannot be added to the existing geo-replication group. Any linked database removed from the list will be forcefully unlinked. The only recommended operation is to delete after force-unlink and the recommended scenario of force-unlink is region outage. The database cannot be linked again after force-unlink. */ linkedDatabaseIds?: pulumi.Input[]>; /** * A `module` block as defined below. Changing this forces a new resource to be created. * * > **Note:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication */ modules?: pulumi.Input[]>; /** * The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is `default`. Defaults to `default`. Changing this forces a new Redis Enterprise Database to be created. */ name?: pulumi.Input; /** * TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created. Defaults to `10000`. */ port?: pulumi.Input; }