databases
Creates, updates, deletes, gets or lists a databases resource.
Overview
| Name | databases |
| Type | Resource |
| Id | azure_isv.redisenterprise.databases |
Fields
The following fields are returned by SELECT queries:
- get
- list_by_cluster
| Name | Datatype | Description |
|---|---|---|
id | string | Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. |
name | string | The name of the resource. |
accessKeysAuthentication | string | This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created. Known values are: "Disabled" and "Enabled". (Disabled, Enabled) |
clientProtocol | string | Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted. Known values are: "Encrypted" and "Plaintext". (Encrypted, Plaintext) |
clusteringPolicy | string | Clustering policy - default is OSSCluster. This property can be updated only if the current value is NoCluster. If the value is OSSCluster or EnterpriseCluster, it cannot be updated without deleting the database. Known values are: "EnterpriseCluster", "OSSCluster", and "NoCluster". (EnterpriseCluster, OSSCluster, NoCluster) |
deferUpgrade | string | Option to defer upgrade when newest version is released - default is NotDeferred. Learn more: https://aka.ms/redisversionupgrade _. Known values are: "Deferred" and "NotDeferred". (Deferred, NotDeferred) |
evictionPolicy | string | Redis eviction policy - default is VolatileLRU. Known values are: "AllKeysLFU", "AllKeysLRU", "AllKeysRandom", "VolatileLRU", "VolatileLFU", "VolatileTTL", "VolatileRandom", and "NoEviction". (AllKeysLFU, AllKeysLRU, AllKeysRandom, VolatileLRU, VolatileLFU, VolatileTTL, VolatileRandom, NoEviction) |
geoReplication | object | Optional set of properties to configure geo replication for this database. |
modules | array | Optional set of redis modules to enable in this database - modules can only be added at creation time. |
notifyKeyspaceEvents | string | Specifies which keyspace events should trigger notifications. Default is an empty string, meaning this feature is disabled. When enabled, at least 'K' (keyspace events) or 'E' (keyevent events) must be present. For example, 'AKE' enables all standard events. See https://redis.io/docs/latest/develop/use/keyspace-notifications/ _ for the complete list of event types. |
persistence | object | Persistence settings. |
port | integer | TCP port of the database endpoint. Specified at create time. Defaults to an available port. |
provisioningState | string | Current provisioning status of the database. Known values are: "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting". (Succeeded, Failed, Canceled, Creating, Updating, Deleting) |
redisVersion | string | Version of Redis the database is running on, e.g. '6.0'. |
resourceState | string | Current resource status of the database. Known values are: "Running", "Creating", "CreateFailed", "Updating", "UpdateFailed", "Deleting", "DeleteFailed", "Enabling", "EnableFailed", "Disabling", "DisableFailed", "Disabled", "Scaling", "ScalingFailed", and "Moving". (Running, Creating, CreateFailed, Updating, UpdateFailed, Deleting, DeleteFailed, Enabling, EnableFailed, Disabling, DisableFailed, Disabled, Scaling, ScalingFailed, Moving) |
systemData | object | Azure Resource Manager metadata containing createdBy and modifiedBy information. |
type | string | The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". |
| Name | Datatype | Description |
|---|---|---|
id | string | Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. |
name | string | The name of the resource. |
accessKeysAuthentication | string | This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created. Known values are: "Disabled" and "Enabled". (Disabled, Enabled) |
clientProtocol | string | Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted. Known values are: "Encrypted" and "Plaintext". (Encrypted, Plaintext) |
clusteringPolicy | string | Clustering policy - default is OSSCluster. This property can be updated only if the current value is NoCluster. If the value is OSSCluster or EnterpriseCluster, it cannot be updated without deleting the database. Known values are: "EnterpriseCluster", "OSSCluster", and "NoCluster". (EnterpriseCluster, OSSCluster, NoCluster) |
deferUpgrade | string | Option to defer upgrade when newest version is released - default is NotDeferred. Learn more: https://aka.ms/redisversionupgrade _. Known values are: "Deferred" and "NotDeferred". (Deferred, NotDeferred) |
evictionPolicy | string | Redis eviction policy - default is VolatileLRU. Known values are: "AllKeysLFU", "AllKeysLRU", "AllKeysRandom", "VolatileLRU", "VolatileLFU", "VolatileTTL", "VolatileRandom", and "NoEviction". (AllKeysLFU, AllKeysLRU, AllKeysRandom, VolatileLRU, VolatileLFU, VolatileTTL, VolatileRandom, NoEviction) |
geoReplication | object | Optional set of properties to configure geo replication for this database. |
modules | array | Optional set of redis modules to enable in this database - modules can only be added at creation time. |
notifyKeyspaceEvents | string | Specifies which keyspace events should trigger notifications. Default is an empty string, meaning this feature is disabled. When enabled, at least 'K' (keyspace events) or 'E' (keyevent events) must be present. For example, 'AKE' enables all standard events. See https://redis.io/docs/latest/develop/use/keyspace-notifications/ _ for the complete list of event types. |
persistence | object | Persistence settings. |
port | integer | TCP port of the database endpoint. Specified at create time. Defaults to an available port. |
provisioningState | string | Current provisioning status of the database. Known values are: "Succeeded", "Failed", "Canceled", "Creating", "Updating", and "Deleting". (Succeeded, Failed, Canceled, Creating, Updating, Deleting) |
redisVersion | string | Version of Redis the database is running on, e.g. '6.0'. |
resourceState | string | Current resource status of the database. Known values are: "Running", "Creating", "CreateFailed", "Updating", "UpdateFailed", "Deleting", "DeleteFailed", "Enabling", "EnableFailed", "Disabling", "DisableFailed", "Disabled", "Scaling", "ScalingFailed", and "Moving". (Running, Creating, CreateFailed, Updating, UpdateFailed, Deleting, DeleteFailed, Enabling, EnableFailed, Disabling, DisableFailed, Disabled, Scaling, ScalingFailed, Moving) |
systemData | object | Azure Resource Manager metadata containing createdBy and modifiedBy information. |
type | string | The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | resource_group_name, cluster_name, database_name, subscription_id | Gets information about a database in a Redis Enterprise cluster. | |
list_by_cluster | select | resource_group_name, cluster_name, subscription_id | Gets all databases in the specified Redis Enterprise cluster. | |
create | insert | resource_group_name, cluster_name, database_name, subscription_id | Creates a database. | |
update | update | resource_group_name, cluster_name, database_name, subscription_id | Updates a database. | |
delete | delete | resource_group_name, cluster_name, database_name, subscription_id | Deletes a single database. | |
list_keys | exec | resource_group_name, cluster_name, database_name, subscription_id | Retrieves the access keys for the Redis Enterprise database. | |
regenerate_key | exec | resource_group_name, cluster_name, database_name, subscription_id, keyType | Regenerates the Redis Enterprise database's access keys. | |
import_method | exec | resource_group_name, cluster_name, database_name, subscription_id, sasUris | Imports database files to target database. | |
export | exec | resource_group_name, cluster_name, database_name, subscription_id, sasUri | Exports a database file from target database. | |
force_unlink | exec | resource_group_name, cluster_name, database_name, subscription_id, ids | Forcibly removes the link to the specified database resource. | |
force_link_to_replication_group | exec | resource_group_name, cluster_name, database_name, subscription_id, geoReplication | Forcibly recreates an existing database on the specified cluster, and rejoins it to an existing replication group. IMPORTANT NOTE: All data in this database will be discarded, and the database will temporarily be unavailable while rejoining the replication group. | |
flush | exec | resource_group_name, cluster_name, database_name, subscription_id | Flushes all the keys in this database and also from its linked databases. | |
upgrade_db_redis_version | exec | resource_group_name, cluster_name, database_name, subscription_id | Upgrades the database Redis version to the latest available. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
cluster_name | string | The name of the Redis Enterprise cluster. Name must be 1-60 characters long. Allowed characters(A-Z, a-z, 0-9) and hyphen(-). There can be no leading nor trailing nor consecutive hyphens. Required. |
database_name | string | The name of the Redis Enterprise database. Required. |
resource_group_name | string | The name of the resource group. The name is case insensitive. Required. |
subscription_id | string |
SELECT examples
- get
- list_by_cluster
Gets information about a database in a Redis Enterprise cluster.
SELECT
id,
name,
accessKeysAuthentication,
clientProtocol,
clusteringPolicy,
deferUpgrade,
evictionPolicy,
geoReplication,
modules,
notifyKeyspaceEvents,
persistence,
port,
provisioningState,
redisVersion,
resourceState,
systemData,
type
FROM azure_isv.redisenterprise.databases
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND cluster_name = '{{ cluster_name }}' -- required
AND database_name = '{{ database_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
;
Gets all databases in the specified Redis Enterprise cluster.
SELECT
id,
name,
accessKeysAuthentication,
clientProtocol,
clusteringPolicy,
deferUpgrade,
evictionPolicy,
geoReplication,
modules,
notifyKeyspaceEvents,
persistence,
port,
provisioningState,
redisVersion,
resourceState,
systemData,
type
FROM azure_isv.redisenterprise.databases
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND cluster_name = '{{ cluster_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
;
INSERT examples
- create
- Manifest
Creates a database.
INSERT INTO azure_isv.redisenterprise.databases (
properties,
resource_group_name,
cluster_name,
database_name,
subscription_id
)
SELECT
'{{ properties }}',
'{{ resource_group_name }}',
'{{ cluster_name }}',
'{{ database_name }}',
'{{ subscription_id }}'
RETURNING
id,
name,
properties,
systemData,
type
;
# Description fields are for documentation purposes
- name: databases
props:
- name: resource_group_name
value: "{{ resource_group_name }}"
description: Required parameter for the databases resource.
- name: cluster_name
value: "{{ cluster_name }}"
description: Required parameter for the databases resource.
- name: database_name
value: "{{ database_name }}"
description: Required parameter for the databases resource.
- name: subscription_id
value: "{{ subscription_id }}"
description: Required parameter for the databases resource.
- name: properties
description: |
Other properties of the database.
value:
clientProtocol: "{{ clientProtocol }}"
port: {{ port }}
provisioningState: "{{ provisioningState }}"
resourceState: "{{ resourceState }}"
clusteringPolicy: "{{ clusteringPolicy }}"
evictionPolicy: "{{ evictionPolicy }}"
persistence:
aofEnabled: {{ aofEnabled }}
rdbEnabled: {{ rdbEnabled }}
aofFrequency: "{{ aofFrequency }}"
rdbFrequency: "{{ rdbFrequency }}"
modules:
- name: "{{ name }}"
args: "{{ args }}"
version: "{{ version }}"
geoReplication:
groupNickname: "{{ groupNickname }}"
linkedDatabases:
- id: "{{ id }}"
state: "{{ state }}"
redisVersion: "{{ redisVersion }}"
deferUpgrade: "{{ deferUpgrade }}"
accessKeysAuthentication: "{{ accessKeysAuthentication }}"
notifyKeyspaceEvents: "{{ notifyKeyspaceEvents }}"
UPDATE examples
- update
Updates a database.
UPDATE azure_isv.redisenterprise.databases
SET
properties = '{{ properties }}'
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND cluster_name = '{{ cluster_name }}' --required
AND database_name = '{{ database_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
properties,
systemData,
type;
DELETE examples
- delete
Deletes a single database.
DELETE FROM azure_isv.redisenterprise.databases
WHERE resource_group_name = '{{ resource_group_name }}' --required
AND cluster_name = '{{ cluster_name }}' --required
AND database_name = '{{ database_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
;
Lifecycle Methods
- list_keys
- regenerate_key
- import_method
- export
- force_unlink
- force_link_to_replication_group
- flush
- upgrade_db_redis_version
Retrieves the access keys for the Redis Enterprise database.
EXEC azure_isv.redisenterprise.databases.list_keys
@resource_group_name='{{ resource_group_name }}' --required,
@cluster_name='{{ cluster_name }}' --required,
@database_name='{{ database_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
;
Regenerates the Redis Enterprise database's access keys.
EXEC azure_isv.redisenterprise.databases.regenerate_key
@resource_group_name='{{ resource_group_name }}' --required,
@cluster_name='{{ cluster_name }}' --required,
@database_name='{{ database_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"keyType": "{{ keyType }}"
}'
;
Imports database files to target database.
EXEC azure_isv.redisenterprise.databases.import_method
@resource_group_name='{{ resource_group_name }}' --required,
@cluster_name='{{ cluster_name }}' --required,
@database_name='{{ database_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"sasUris": "{{ sasUris }}"
}'
;
Exports a database file from target database.
EXEC azure_isv.redisenterprise.databases.export
@resource_group_name='{{ resource_group_name }}' --required,
@cluster_name='{{ cluster_name }}' --required,
@database_name='{{ database_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"sasUri": "{{ sasUri }}"
}'
;
Forcibly removes the link to the specified database resource.
EXEC azure_isv.redisenterprise.databases.force_unlink
@resource_group_name='{{ resource_group_name }}' --required,
@cluster_name='{{ cluster_name }}' --required,
@database_name='{{ database_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"ids": "{{ ids }}"
}'
;
Forcibly recreates an existing database on the specified cluster, and rejoins it to an existing replication group. IMPORTANT NOTE: All data in this database will be discarded, and the database will temporarily be unavailable while rejoining the replication group.
EXEC azure_isv.redisenterprise.databases.force_link_to_replication_group
@resource_group_name='{{ resource_group_name }}' --required,
@cluster_name='{{ cluster_name }}' --required,
@database_name='{{ database_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"geoReplication": "{{ geoReplication }}"
}'
;
Flushes all the keys in this database and also from its linked databases.
EXEC azure_isv.redisenterprise.databases.flush
@resource_group_name='{{ resource_group_name }}' --required,
@cluster_name='{{ cluster_name }}' --required,
@database_name='{{ database_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"ids": "{{ ids }}"
}'
;
Upgrades the database Redis version to the latest available.
EXEC azure_isv.redisenterprise.databases.upgrade_db_redis_version
@resource_group_name='{{ resource_group_name }}' --required,
@cluster_name='{{ cluster_name }}' --required,
@database_name='{{ database_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
;