diff --git a/specification/redisenterprise/RedisEnterprise.Management/AccessPolicyAssignment.tsp b/specification/redisenterprise/RedisEnterprise.Management/AccessPolicyAssignment.tsp new file mode 100644 index 000000000000..0bc0a97715ab --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/AccessPolicyAssignment.tsp @@ -0,0 +1,68 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./Database.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Cache; +/** + * Describes the access policy assignment of Redis Enterprise database + */ +@parentResource(Database) +model AccessPolicyAssignment + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = AccessPolicyAssignment, + KeyName = "accessPolicyAssignmentName", + SegmentName = "accessPolicyAssignments", + NamePattern = "^[A-Za-z0-9]{1,60}$" + >; +} + +@armResourceOperations +interface AccessPolicyAssignments { + /** + * Gets information about access policy assignment for database. + */ + get is ArmResourceRead; + + /** + * Creates/Updates a particular access policy assignment for a database + */ + @Azure.Core.useFinalStateVia("original-uri") + createUpdate is ArmResourceCreateOrReplaceAsync; + + /** + * Deletes a single access policy assignment. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @Azure.Core.useFinalStateVia("azure-async-operation") + delete is ArmResourceDeleteWithoutOkAsync< + AccessPolicyAssignment, + LroHeaders = ArmCombinedLroHeaders & Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Gets all access policy assignments.. + */ + list is ArmResourceListByParent< + AccessPolicyAssignment, + Response = ArmResponse + >; +} + +@@doc(AccessPolicyAssignment.name, + "The name of the Redis Enterprise database access policy assignment." +); +@@doc(AccessPolicyAssignment.properties, + "Properties of the access policy assignment." +); +@@doc(AccessPolicyAssignments.createUpdate::parameters.resource, + "Parameters supplied to the create access policy assignment for database." +); diff --git a/specification/redisenterprise/RedisEnterprise.Management/Cluster.tsp b/specification/redisenterprise/RedisEnterprise.Management/Cluster.tsp new file mode 100644 index 000000000000..b6293845bee7 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/Cluster.tsp @@ -0,0 +1,128 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Cache; +/** + * Describes the Redis Enterprise cluster + */ +model Cluster + is Azure.ResourceManager.TrackedResource { + ...ResourceNameParameter< + Resource = Cluster, + KeyName = "clusterName", + SegmentName = "redisEnterprise", + NamePattern = "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + >; + + /** + * Distinguishes the kind of cluster. Read-only. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + kind?: Kind; + + /** + * The SKU to create, which affects price, performance, and features. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + sku: Sku; + + ...Azure.ResourceManager.AvailabilityZonesProperty; + + /** + * The identity of the resource. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + identity?: Azure.ResourceManager.CommonTypes.ManagedServiceIdentity; +} + +@armResourceOperations +interface Clusters { + /** + * Gets information about a Redis Enterprise cluster + */ + get is ArmResourceRead; + + /** + * Creates or updates an existing (overwrite/recreate, with potential downtime) cache cluster + */ + @Azure.Core.useFinalStateVia("original-uri") + create is ArmResourceCreateOrReplaceAsync; + + /** + * Updates an existing Redis Enterprise cluster + */ + @Azure.Core.useFinalStateVia("azure-async-operation") + @patch(#{ implicitOptionality: false }) + update is ArmCustomPatchAsync< + Cluster, + PatchModel = ClusterUpdate, + LroHeaders = ArmCombinedLroHeaders & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Deletes a Redis Enterprise cache cluster. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @Azure.Core.useFinalStateVia("azure-async-operation") + delete is ArmResourceDeleteWithoutOkAsync< + Cluster, + Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse + >; + + /** + * Lists all Redis Enterprise clusters in a resource group. + */ + listByResourceGroup is ArmResourceListByParent< + Cluster, + Response = ArmResponse + >; + + /** + * Lists all Redis Enterprise clusters in the specified subscription. + */ + list is ArmListBySubscription>; + + /** + * Lists the available SKUs for scaling the Redis Enterprise cluster. + */ + listSkusForScaling is ArmResourceActionSync< + Cluster, + void, + ArmResponse + >; + + /** + * Gets the private link resources that need to be created for a Redis Enterprise cluster. + */ + @list + @get + @action("privateLinkResources") + listByCluster is ArmResourceActionSync< + Cluster, + void, + ArmResponse + >; +} + +@@doc(Cluster.name, + "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" +); +@@doc(Cluster.properties, "Other properties of the cluster."); +@@doc(Clusters.create::parameters.resource, + "Parameters supplied to the Create Redis Enterprise operation." +); +@@doc(Clusters.update::parameters.properties, + "Parameters supplied to the Update Redis Enterprise operation." +); diff --git a/specification/redisenterprise/RedisEnterprise.Management/Database.tsp b/specification/redisenterprise/RedisEnterprise.Management/Database.tsp new file mode 100644 index 000000000000..2232a318c565 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/Database.tsp @@ -0,0 +1,185 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./Cluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Cache; +/** + * Describes a database on the Redis Enterprise cluster + */ +@parentResource(Cluster) +model Database + is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = Database, + KeyName = "databaseName", + SegmentName = "databases", + NamePattern = "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + >; +} + +@armResourceOperations +interface Databases { + /** + * Gets information about a database in a Redis Enterprise cluster. + */ + get is ArmResourceRead; + + /** + * Creates a database + */ + @Azure.Core.useFinalStateVia("original-uri") + create is ArmResourceCreateOrReplaceAsync; + + /** + * Updates a database + */ + @patch(#{ implicitOptionality: false }) + @Azure.Core.useFinalStateVia("azure-async-operation") + update is ArmCustomPatchAsync< + Database, + PatchModel = DatabaseUpdate, + LroHeaders = ArmCombinedLroHeaders & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Deletes a single database + */ + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @Azure.Core.useFinalStateVia("azure-async-operation") + delete is ArmResourceDeleteWithoutOkAsync< + Database, + Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse + >; + + /** + * Gets all databases in the specified Redis Enterprise cluster. + */ + listByCluster is ArmResourceListByParent< + Database, + Response = ArmResponse + >; + + /** + * Retrieves the access keys for the Redis Enterprise database. + */ + listKeys is ArmResourceActionSync>; + + /** + * Regenerates the Redis Enterprise database's access keys. + */ + @Azure.Core.useFinalStateVia("azure-async-operation") + regenerateKey is ArmResourceActionAsync< + Database, + RegenerateKeyParameters, + ArmResponse, + LroHeaders = ArmCombinedLroHeaders & + Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Imports database files to target database. + */ + @Azure.Core.useFinalStateVia("azure-async-operation") + `import` is ArmResourceActionAsync< + Database, + ImportClusterParameters, + OkResponse, + LroHeaders = ArmCombinedLroHeaders & Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Exports a database file from target database. + */ + @Azure.Core.useFinalStateVia("azure-async-operation") + export is ArmResourceActionAsync< + Database, + ExportClusterParameters, + OkResponse, + LroHeaders = ArmCombinedLroHeaders & Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * Forcibly removes the link to the specified database resource. + */ + @Azure.Core.useFinalStateVia("azure-async-operation") + forceUnlink is ArmResourceActionAsync< + Database, + ForceUnlinkParameters, + OkResponse, + LroHeaders = ArmCombinedLroHeaders & Azure.Core.Foundations.RetryAfterHeader + >; + + /** + * 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. + */ + @Azure.Core.useFinalStateVia("azure-async-operation") + forceLinkToReplicationGroup is ArmResourceActionAsyncBase< + Database, + ForceLinkParameters, + ArmAcceptedLroResponse, + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters + >; + + /** + * Flushes all the keys in this database and also from its linked databases. + */ + flush is ArmResourceActionAsyncBase< + Database, + FlushParameters, + Response = OkResponse | ArmAcceptedLroResponse, + OptionalRequestBody = true, + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters + >; + + /** + * Upgrades the database Redis version to the latest available. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + upgradeDBRedisVersion is ArmResourceActionAsyncBase< + Database, + void, + Response = ArmAcceptedLroResponse, + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters + >; +} + +@@doc(Database.name, "The name of the Redis Enterprise database."); +@@doc(Database.properties, "Other properties of the database."); +@@doc(Databases.create::parameters.resource, + "Parameters supplied to the create or update database operation." +); +@@doc(Databases.update::parameters.properties, + "Parameters supplied to the create or update database operation." +); +@@doc(Databases.regenerateKey::parameters.body, + "Specifies which key to regenerate." +); +@@doc(Databases.`import`::parameters.body, + "Storage information for importing into the cluster" +); +@@doc(Databases.export::parameters.body, + "Storage information for exporting into the cluster" +); +@@doc(Databases.forceUnlink::parameters.body, + "Information identifying the database to be unlinked." +); +@@doc(Databases.forceLinkToReplicationGroup::parameters.body, + "Information identifying the database to be unlinked." +); +@@doc(Databases.flush::parameters.body, + "Information identifying the databases to be flushed" +); diff --git a/specification/redisenterprise/RedisEnterprise.Management/Migration.tsp b/specification/redisenterprise/RedisEnterprise.Management/Migration.tsp new file mode 100644 index 000000000000..4c28fde21e4a --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/Migration.tsp @@ -0,0 +1,70 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./Cluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Cache; +/** + * Describes the current migration operation on a Redis Enterprise cluster. + */ +@singleton("default") +@parentResource(Cluster) +model Migration is Azure.ResourceManager.ProxyResource { + ...ResourceNameParameter< + Resource = Migration, + KeyName = "migration", + SegmentName = "migrations", + NamePattern = "" + >; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@armResourceOperations +interface Migrations { + /** + * Gets information about a migration in a Redis Enterprise cluster. + */ + get is ArmResourceRead; + + /** + * Starts a new migration + */ + @Azure.Core.useFinalStateVia("original-uri") + start is ArmResourceCreateOrReplaceAsync< + Migration, + Response = (ArmResponse & + ArmCombinedLroHeaders) | (ArmCreatedResponse & + ArmCombinedLroHeaders) + >; + + /** + * Gets information about all migrations attempts in a Redis Enterprise cluster. + */ + list is ArmResourceListByParent< + Migration, + Response = ArmResponse + >; + + /** + * Cancel or rollback the migration operation in a Redis Enterprise cluster. + */ + cancel is ArmResourceActionAsyncBase< + Migration, + void, + ArmAcceptedLroResponse, + BaseParameters = Azure.ResourceManager.Foundations.DefaultBaseParameters + >; +} + +@@doc(Migration.name, ""); +@@doc(Migration.properties, "Properties of the migration operation."); +@@doc(Migrations.start::parameters.resource, + "Parameters supplied to start a migration operation." +); diff --git a/specification/redisenterprise/RedisEnterprise.Management/PrivateEndpointConnection.tsp b/specification/redisenterprise/RedisEnterprise.Management/PrivateEndpointConnection.tsp new file mode 100644 index 000000000000..6618bcb7b8bf --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/PrivateEndpointConnection.tsp @@ -0,0 +1,63 @@ +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; +import "@typespec/rest"; +import "./models.tsp"; +import "./Cluster.tsp"; + +using TypeSpec.Rest; +using Azure.ResourceManager; +using TypeSpec.Http; +using TypeSpec.OpenAPI; + +namespace Microsoft.Cache; +/** + * The Private Endpoint Connection resource. + */ +model PrivateEndpointConnection is PrivateEndpointConnectionResource; +alias PrivateEndpointOperations = PrivateEndpoints; + +@armResourceOperations +interface PrivateEndpointConnections { + /** + * Gets the specified private endpoint connection associated with the Redis Enterprise cluster. + */ + get is PrivateEndpointOperations.Read; + + /** + * Updates the state of the specified private endpoint connection associated with the Redis Enterprise cluster. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + put is PrivateEndpointOperations.CreateOrReplaceAsync< + Cluster, + PrivateEndpointConnection, + Response = ArmResourceCreatedResponse< + Azure.ResourceManager.CommonTypes.PrivateEndpointConnection, + ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader + > + >; + + /** + * Deletes the specified private endpoint connection associated with the Redis Enterprise cluster. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + delete is PrivateEndpointOperations.DeleteAsync< + Cluster, + PrivateEndpointConnection, + Response = ArmDeletedResponse | ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse + >; + + /** + * Lists all the private endpoint connections associated with the Redis Enterprise cluster. + */ + list is PrivateEndpointOperations.ListByParent< + Cluster, + PrivateEndpointConnection, + Response = ArmResponse + >; +} + +@@doc(PrivateEndpointConnection.properties, "Resource properties."); +@@doc(PrivateEndpointConnections.put::parameters.resource, + "The private endpoint connection properties." +); diff --git a/specification/redisenterprise/RedisEnterprise.Management/back-compatible.tsp b/specification/redisenterprise/RedisEnterprise.Management/back-compatible.tsp new file mode 100644 index 000000000000..153f713785e5 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/back-compatible.tsp @@ -0,0 +1,60 @@ +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; +using Microsoft.Cache; + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(ClusterUpdate.properties); + +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(DatabaseUpdate.properties); + +@@clientLocation(Clusters.get, "RedisEnterprise"); +@@clientLocation(Clusters.create, "RedisEnterprise"); +@@clientName(Clusters.create::parameters.resource, "parameters"); +@@clientLocation(Clusters.update, "RedisEnterprise"); +@@clientName(Clusters.update::parameters.properties, "parameters"); +@@clientLocation(Clusters.delete, "RedisEnterprise"); +@@clientLocation(Clusters.listByResourceGroup, "RedisEnterprise"); +@@clientLocation(Clusters.list, "RedisEnterprise"); +@@clientLocation(Clusters.listSkusForScaling, "RedisEnterprise"); +@@clientLocation(Clusters.listByCluster, "PrivateLinkResources"); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(Cluster.properties); + +@@clientName(PrivateEndpointConnections.put::parameters.resource, "properties"); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(PrivateEndpointConnection.properties); + +@@clientName(Databases.create::parameters.resource, "parameters"); +@@clientName(Databases.update::parameters.properties, "parameters"); +@@clientName(Databases.regenerateKey::parameters.body, "parameters"); +@@clientName(Databases.`import`::parameters.body, "parameters"); +@@clientName(Databases.export::parameters.body, "parameters"); +@@clientName(Databases.forceUnlink::parameters.body, "parameters"); +@@clientName(Databases.forceLinkToReplicationGroup::parameters.body, + "parameters" +); +@@clientName(Databases.flush::parameters.body, "parameters"); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(Database.properties); + +@@clientLocation(AccessPolicyAssignments.get, "AccessPolicyAssignment"); +@@clientLocation(AccessPolicyAssignments.createUpdate, + "AccessPolicyAssignment" +); +@@clientName(AccessPolicyAssignments.createUpdate::parameters.resource, + "parameters" +); +@@clientLocation(AccessPolicyAssignments.delete, "AccessPolicyAssignment"); +@@clientLocation(AccessPolicyAssignments.list, "AccessPolicyAssignment"); +#suppress "@azure-tools/typespec-azure-core/no-legacy-usage" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +@@Legacy.flattenProperty(AccessPolicyAssignment.properties); + +@@clientLocation(Migrations.get, "Migration"); +@@clientLocation(Migrations.start, "Migration"); +@@clientName(Migrations.start::parameters.resource, "parameters"); +@@clientLocation(Migrations.list, "Migration"); +@@clientLocation(Migrations.cancel, "Migration"); + +@@clientLocation(OperationsStatusOperationGroup.get, "OperationsStatus"); diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/OperationsList.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/OperationsList.json new file mode 100644 index 000000000000..3b3a61b4ae77 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/OperationsList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Cache/redisEnterprise/read", + "display": { + "description": "View the Redis Enterprise cache's settings and configuration in the management portal", + "operation": "Manage Redis Enterprise cache (read)", + "provider": "Microsoft Cache", + "resource": "Redis Enterprise cache" + } + }, + { + "name": "Microsoft.Cache/redisEnterprise/write", + "display": { + "description": "Modify the Redis Enterprise cache's settings and configuration in the management portal", + "operation": "Manage Redis Enterprise cache (write)", + "provider": "Microsoft Cache", + "resource": "Redis Enterprise cache" + } + } + ] + } + } + }, + "operationId": "Operations_List", + "title": "OperationsList" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/OperationsStatusGet.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/OperationsStatusGet.json new file mode 100644 index 000000000000..25717fff3adb --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/OperationsStatusGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "operationId": "testoperationid", + "api-version": "2025-08-01-preview", + "location": "West US", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "testoperationid", + "endTime": "2017-01-01T16:13:13.933Z", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/locations/westus/operationsStatus/testoperationid", + "startTime": "2017-01-01T13:13:13.933Z", + "status": "Succeeded" + } + } + }, + "operationId": "OperationsStatus_Get", + "title": "OperationsStatusGet" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentCreateUpdate.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentCreateUpdate.json new file mode 100644 index 000000000000..dda5d33fe696 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentCreateUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "accessPolicyAssignmentName": "defaultTestEntraApp1", + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "properties": { + "accessPolicyName": "default", + "user": { + "objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0" + } + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "defaultTestEntraApp1", + "type": "Microsoft.Cache/redisEnterprise/accessPolicyAssignments", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/default-TestEntraApp1", + "properties": { + "accessPolicyName": "default", + "provisioningState": "Succeeded", + "user": { + "objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0" + } + } + } + }, + "201": { + "body": { + "name": "defaultTestEntraApp1", + "type": "Microsoft.Cache/redisEnterprise/accessPolicyAssignments", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/default-TestEntraApp1", + "properties": { + "accessPolicyName": "default", + "provisioningState": "Succeeded", + "user": { + "objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0" + } + } + } + } + }, + "operationId": "AccessPolicyAssignment_CreateUpdate", + "title": "RedisEnterpriseAccessPolicyAssignmentCreateUpdate" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentDelete.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentDelete.json new file mode 100644 index 000000000000..f7c2cbef4539 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentDelete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "accessPolicyAssignmentName": "defaultTestEntraApp1", + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." + } + }, + "204": {} + }, + "operationId": "AccessPolicyAssignment_Delete", + "title": "RedisEnterpriseAccessPolicyAssignmentDelete" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentGet.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentGet.json new file mode 100644 index 000000000000..f1c043c75fd8 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accessPolicyAssignmentName": "accessPolicyAssignmentName1", + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "accessPolicyAssignmentName1", + "type": "Microsoft.Cache/Redis/accessPolicyAssignments", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1/accessPolicyAssignments/accessPolicyAssignmentName1", + "properties": { + "accessPolicyName": "default", + "provisioningState": "Succeeded", + "user": { + "objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0" + } + } + } + } + }, + "operationId": "AccessPolicyAssignment_Get", + "title": "RedisEnterpriseAccessPolicyAssignmentGet" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentsList.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentsList.json new file mode 100644 index 000000000000..f7306be70b91 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseAccessPolicyAssignmentsList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "accessPolicyAssignmentName1", + "type": "Microsoft.Cache/Redis/accessPolicyAssignments", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1/accessPolicyAssignments/accessPolicyAssignmentName1", + "properties": { + "accessPolicyName": "default", + "provisioningState": "Succeeded", + "user": { + "objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0" + } + } + }, + { + "name": "accessPolicyAssignmentName2", + "type": "Microsoft.Cache/Redis/accessPolicyAssignments", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1/accessPolicyAssignments/accessPolicyAssignmentName2", + "properties": { + "accessPolicyName": "default", + "provisioningState": "Succeeded", + "user": { + "objectId": "7497c918-11ad-41e7-1b0f-7c518a87d0b0" + } + } + } + ] + } + } + }, + "operationId": "AccessPolicyAssignment_List", + "title": "RedisEnterpriseAccessPolicyAssignmentList" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseCreate.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseCreate.json new file mode 100644 index 000000000000..69e85e85bf04 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseCreate.json @@ -0,0 +1,215 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/your-subscription/resourceGroups/your-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/your-identity": {} + } + }, + "location": "West US", + "properties": { + "encryption": { + "customerManagedKeyEncryption": { + "keyEncryptionKeyIdentity": { + "identityType": "userAssignedIdentity", + "userAssignedIdentityResourceId": "/subscriptions/your-subscription/resourceGroups/your-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/your-identity" + }, + "keyEncryptionKeyUrl": "https://your-kv.vault.azure.net/keys/your-key/your-key-version" + } + }, + "minimumTlsVersion": "1.2", + "publicNetworkAccess": "Disabled", + "maintenanceConfiguration": { + "maintenanceWindows": [ + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Monday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Tuesday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Wednesday" + } + } + ] + } + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 3 + }, + "tags": { + "tag1": "value1" + }, + "zones": [ + "1", + "2", + "3" + ] + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "cache1", + "type": "Microsoft.Cache/redisEnterprise", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/your-subscription/resourceGroups/your-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/your-identity": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "kind": "v1", + "location": "West US", + "properties": { + "hostName": "cache1.westus.something.azure.net", + "minimumTlsVersion": "1.2", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "maintenanceConfiguration": { + "maintenanceWindows": [ + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Monday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Tuesday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Wednesday" + } + } + ] + }, + "redisVersion": "5", + "resourceState": "Running" + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 3 + }, + "tags": { + "tag1": "value1" + }, + "zones": [ + "1", + "2", + "3" + ] + } + }, + "201": { + "body": { + "name": "cache1", + "type": "Microsoft.Cache/redisEnterprise", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/your-subscription/resourceGroups/your-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/your-identity": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "kind": "v1", + "location": "West US", + "properties": { + "encryption": { + "customerManagedKeyEncryption": { + "keyEncryptionKeyIdentity": { + "identityType": "userAssignedIdentity", + "userAssignedIdentityResourceId": "/subscriptions/your-subscription/resourceGroups/your-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/your-identity" + }, + "keyEncryptionKeyUrl": "https://your-kv.vault.azure.net/keys/your-key/your-key-version" + } + }, + "hostName": "cache1.westus.something.azure.net", + "minimumTlsVersion": "1.2", + "provisioningState": "Creating", + "publicNetworkAccess": "Disabled", + "maintenanceConfiguration": { + "maintenanceWindows": [ + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Monday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Tuesday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Wednesday" + } + } + ] + }, + "redisVersion": "5", + "resourceState": "Creating" + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 3 + }, + "tags": { + "tag1": "value1" + }, + "zones": [ + "1", + "2", + "3" + ] + } + } + }, + "operationId": "RedisEnterprise_Create", + "title": "RedisEnterpriseCreate" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesCreate.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesCreate.json new file mode 100644 index 000000000000..197e3a72d143 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesCreate.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Encrypted", + "clusteringPolicy": "EnterpriseCluster", + "deferUpgrade": "NotDeferred", + "evictionPolicy": "AllKeysLRU", + "modules": [ + { + "name": "RedisBloom", + "args": "ERROR_RATE 0.00 INITIAL_SIZE 400" + }, + { + "name": "RedisTimeSeries", + "args": "RETENTION_POLICY 20" + }, + { + "name": "RediSearch" + } + ], + "persistence": { + "aofEnabled": true, + "aofFrequency": "1s" + }, + "port": 10000 + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "cache1/default", + "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Encrypted", + "clusteringPolicy": "EnterpriseCluster", + "deferUpgrade": "NotDeferred", + "evictionPolicy": "AllKeysLRU", + "modules": [ + { + "name": "RedisBloom", + "args": "ERROR_RATE 0.00 INITIAL_SIZE 400", + "version": "1.0.0" + }, + { + "name": "RedisTimeSeries", + "args": "RETENTION_POLICY 20", + "version": "1.0.0" + }, + { + "name": "RediSearch", + "args": "", + "version": "1.0.0" + } + ], + "persistence": { + "aofEnabled": true, + "aofFrequency": "1s" + }, + "port": 10000, + "provisioningState": "Updating", + "redisVersion": "6.0", + "resourceState": "Updating" + } + } + }, + "201": { + "body": { + "name": "cache1/db1", + "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/db1", + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Encrypted", + "clusteringPolicy": "EnterpriseCluster", + "evictionPolicy": "AllKeysLRU", + "modules": [ + { + "name": "RedisBloom", + "args": "ERROR_RATE 0.00 INITIAL_SIZE 400", + "version": "1.0.0" + }, + { + "name": "RedisTimeSeries", + "args": "RETENTION_POLICY 20", + "version": "1.0.0" + }, + { + "name": "RediSearch", + "args": "", + "version": "1.0.0" + } + ], + "persistence": { + "aofEnabled": true, + "aofFrequency": "1s" + }, + "port": 10000, + "provisioningState": "Creating", + "resourceState": "Creating" + } + } + } + }, + "operationId": "Databases_Create", + "title": "RedisEnterpriseDatabasesCreate" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesCreateWithGeoReplication.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesCreateWithGeoReplication.json new file mode 100644 index 000000000000..9d80a315e558 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesCreateWithGeoReplication.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Encrypted", + "clusteringPolicy": "EnterpriseCluster", + "evictionPolicy": "NoEviction", + "geoReplication": { + "groupNickname": "groupName", + "linkedDatabases": [ + { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default" + }, + { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8e/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default" + } + ] + }, + "port": 10000 + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "cache1/default", + "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Encrypted", + "clusteringPolicy": "EnterpriseCluster", + "deferUpgrade": "NotDeferred", + "evictionPolicy": "NoEviction", + "geoReplication": { + "groupNickname": "groupName", + "linkedDatabases": [ + { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8e/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", + "state": "Linking" + }, + { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f2/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default", + "state": "Linking" + } + ] + }, + "port": 10000, + "provisioningState": "Updating", + "redisVersion": "6.0", + "resourceState": "Updating" + } + } + }, + "201": { + "body": { + "name": "cache1/db1", + "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/db1", + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Plaintext", + "clusteringPolicy": "EnterpriseCluster", + "deferUpgrade": "NotDeferred", + "evictionPolicy": "NoEviction", + "geoReplication": { + "groupNickname": "groupName", + "linkedDatabases": [ + { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8e/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", + "state": "Linking" + }, + { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f2/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default", + "state": "Linking" + } + ] + }, + "port": 10000, + "provisioningState": "Creating", + "redisVersion": "6.0", + "resourceState": "Creating" + } + } + } + }, + "operationId": "Databases_Create", + "title": "RedisEnterpriseDatabasesCreate With Active Geo Replication" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesDelete.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesDelete.json new file mode 100644 index 000000000000..48b477383a80 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesDelete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "db1", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." + } + }, + "204": {} + }, + "operationId": "Databases_Delete", + "title": "RedisEnterpriseDatabasesDelete" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesExport.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesExport.json new file mode 100644 index 000000000000..853bc55b9d87 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesExport.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "sasUri": "https://contosostorage.blob.core.window.net/urlToBlobContainer?sasKeyParameters" + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." + } + } + }, + "operationId": "Databases_Export", + "title": "RedisEnterpriseDatabasesExport" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesFlush.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesFlush.json new file mode 100644 index 000000000000..b1ea9df3d112 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesFlush.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "ids": [ + "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f2/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default" + ] + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." + } + } + }, + "operationId": "Databases_Flush", + "title": "How to flush all the keys in the database" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesForceLink.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesForceLink.json new file mode 100644 index 000000000000..1bb78b13e715 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesForceLink.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "geoReplication": { + "groupNickname": "groupName", + "linkedDatabases": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default" + }, + { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default" + } + ] + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Cache/...pathToOperationStatus..." + } + } + }, + "operationId": "Databases_ForceLinkToReplicationGroup", + "title": "How to relink a database after a regional outage" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesForceUnlink.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesForceUnlink.json new file mode 100644 index 000000000000..a76ed5fddddb --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesForceUnlink.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "ids": [ + "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f2/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default" + ] + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." + } + } + }, + "operationId": "Databases_ForceUnlink", + "title": "How to unlink a database during a regional outage" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesGet.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesGet.json new file mode 100644 index 000000000000..65a2dfb4527b --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "cache1/default", + "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Encrypted", + "clusteringPolicy": "OSSCluster", + "deferUpgrade": "NotDeferred", + "evictionPolicy": "AllKeysLRU", + "modules": [ + { + "name": "RediSearch", + "args": "", + "version": "1.0.0" + } + ], + "persistence": { + "rdbEnabled": true, + "rdbFrequency": "12h" + }, + "port": 10000, + "provisioningState": "Succeeded", + "redisVersion": "6.0", + "resourceState": "Running" + } + } + } + }, + "operationId": "Databases_Get", + "title": "RedisEnterpriseDatabasesGet" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesImport.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesImport.json new file mode 100644 index 000000000000..651ad2b024f7 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesImport.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "sasUris": [ + "https://contosostorage.blob.core.window.net/urltoBlobFile1?sasKeyParameters", + "https://contosostorage.blob.core.window.net/urltoBlobFile2?sasKeyParameters" + ] + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." + } + } + }, + "operationId": "Databases_Import", + "title": "RedisEnterpriseDatabasesImport" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesListByCluster.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesListByCluster.json new file mode 100644 index 000000000000..cd8fb6267481 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesListByCluster.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "cache1/default", + "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", + "properties": { + "accessKeysAuthentication": "Disabled", + "clientProtocol": "Encrypted", + "clusteringPolicy": "OSSCluster", + "deferUpgrade": "NotDeferred", + "evictionPolicy": "AllKeysLRU", + "modules": [ + { + "name": "RediSearch", + "args": "", + "version": "1.0.0" + } + ], + "persistence": { + "rdbEnabled": true, + "rdbFrequency": "12h" + }, + "port": 10000, + "provisioningState": "Succeeded", + "redisVersion": "6.0", + "resourceState": "Running" + } + } + ] + } + } + }, + "operationId": "Databases_ListByCluster", + "title": "RedisEnterpriseDatabasesListByCluster" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesListKeys.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesListKeys.json new file mode 100644 index 000000000000..0c517b232145 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesListKeys.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + } + }, + "operationId": "Databases_ListKeys", + "title": "RedisEnterpriseDatabasesListKeys" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesNoClusterCacheCreate.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesNoClusterCacheCreate.json new file mode 100644 index 000000000000..110afb130068 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesNoClusterCacheCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "properties": { + "clientProtocol": "Encrypted", + "clusteringPolicy": "NoCluster", + "evictionPolicy": "NoEviction", + "port": 10000 + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "cache1/default", + "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Encrypted", + "clusteringPolicy": "NoCluster", + "deferUpgrade": "NotDeferred", + "evictionPolicy": "NoEviction", + "port": 10000, + "provisioningState": "Updating", + "redisVersion": "7.2", + "resourceState": "Updating" + } + } + }, + "201": { + "body": { + "name": "cache1/default", + "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Encrypted", + "clusteringPolicy": "NoCluster", + "deferUpgrade": "NotDeferred", + "evictionPolicy": "NoEviction", + "port": 10000, + "provisioningState": "Creating", + "redisVersion": "7.2", + "resourceState": "Creating" + } + } + } + }, + "operationId": "Databases_Create", + "title": "RedisEnterpriseDatabasesCreate No Cluster Cache" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesNoClusterCacheUpdateClustering.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesNoClusterCacheUpdateClustering.json new file mode 100644 index 000000000000..a475d3058bd5 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesNoClusterCacheUpdateClustering.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "properties": { + "clientProtocol": "Encrypted", + "clusteringPolicy": "EnterpriseCluster", + "evictionPolicy": "NoEviction", + "port": 10000 + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "cache1/default", + "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Encrypted", + "clusteringPolicy": "EnterpriseCluster", + "deferUpgrade": "NotDeferred", + "evictionPolicy": "NoEviction", + "port": 10000, + "provisioningState": "Updating", + "redisVersion": "7.2", + "resourceState": "Updating" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." + } + } + }, + "operationId": "Databases_Update", + "title": "RedisEnterpriseDatabasesUpdate Clustering on No Cluster Cache" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesRegenerateKey.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesRegenerateKey.json new file mode 100644 index 000000000000..b7afca7d9598 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesRegenerateKey.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "keyType": "Primary" + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." + } + } + }, + "operationId": "Databases_RegenerateKey", + "title": "RedisEnterpriseDatabasesRegenerateKey" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesUpdate.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesUpdate.json new file mode 100644 index 000000000000..4cdbf59d95d6 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "parameters": { + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Encrypted", + "evictionPolicy": "AllKeysLRU", + "persistence": { + "rdbEnabled": true, + "rdbFrequency": "12h" + } + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "cache1/default", + "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", + "properties": { + "accessKeysAuthentication": "Enabled", + "clientProtocol": "Encrypted", + "clusteringPolicy": "OSSCluster", + "deferUpgrade": "NotDeferred", + "evictionPolicy": "AllKeysLRU", + "modules": [ + { + "name": "RediSearch", + "args": "", + "version": "1.0.0" + } + ], + "persistence": { + "rdbEnabled": true, + "rdbFrequency": "12h" + }, + "port": 10000, + "provisioningState": "Updating", + "redisVersion": "6.0", + "resourceState": "Updating" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." + } + } + }, + "operationId": "Databases_Update", + "title": "RedisEnterpriseDatabasesUpdate" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesUpgradeDBRedisVersion.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesUpgradeDBRedisVersion.json new file mode 100644 index 000000000000..ebe965a0db6c --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDatabasesUpgradeDBRedisVersion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." + } + } + }, + "operationId": "Databases_UpgradeDBRedisVersion", + "title": "How to upgrade your database Redis version" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDelete.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDelete.json new file mode 100644 index 000000000000..3db51b972f51 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." + } + }, + "204": {} + }, + "operationId": "RedisEnterprise_Delete", + "title": "RedisEnterpriseDelete" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDeletePrivateEndpointConnection.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..a5848a2dee98 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseDeletePrivateEndpointConnection.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "privateEndpointConnectionName": "pectest01", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." + } + }, + "204": {} + }, + "operationId": "PrivateEndpointConnections_Delete", + "title": "RedisEnterpriseDeletePrivateEndpointConnection" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseGet.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseGet.json new file mode 100644 index 000000000000..616885a40d3e --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "cache1", + "type": "Microsoft.Cache/redisEnterprise", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", + "kind": "v1", + "location": "West US", + "properties": { + "hostName": "cache1.westus.something.azure.com", + "minimumTlsVersion": "1.2", + "privateEndpointConnections": [ + { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/cachePec", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/cachePe" + }, + "privateLinkServiceConnectionState": { + "description": "Please approve my connection", + "actionsRequired": "None", + "status": "Approved" + } + } + } + ], + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "maintenanceConfiguration": { + "maintenanceWindows": [ + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Monday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Tuesday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Wednesday" + } + } + ] + }, + "redisVersion": "6", + "resourceState": "Running" + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 3 + }, + "tags": {}, + "zones": [ + "1", + "2", + "3" + ] + } + } + }, + "operationId": "RedisEnterprise_Get", + "title": "RedisEnterpriseGet" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseGetPrivateEndpointConnection.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..6b0480e93811 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseGetPrivateEndpointConnection.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "privateEndpointConnectionName": "pectest01", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "pectest01", + "type": "Microsoft.Cache/redisEnterprise/privateEndpointConnections", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "description": "Auto-Approved", + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "PrivateEndpointConnections_Get", + "title": "RedisEnterpriseGetPrivateEndpointConnection" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseList.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseList.json new file mode 100644 index 000000000000..17ffb224165f --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "name": "cache1", + "type": "Microsoft.Cache/redisEnterprise", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", + "kind": "v1", + "location": "West US", + "properties": { + "hostName": "cache1.westus.something.azure.com", + "minimumTlsVersion": "1.2", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "redisVersion": "6", + "resourceState": "Running" + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 3 + }, + "tags": {} + } + ] + } + } + }, + "operationId": "RedisEnterprise_List", + "title": "RedisEnterpriseList" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListByResourceGroup.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListByResourceGroup.json new file mode 100644 index 000000000000..66886dabd788 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "name": "cache1", + "type": "Microsoft.Cache/redisEnterprise", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", + "kind": "v1", + "location": "West US", + "properties": { + "hostName": "cache1.westus.something.azure.com", + "minimumTlsVersion": "1.2", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "redisVersion": "5", + "resourceState": "Running" + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 3 + }, + "tags": {}, + "zones": [ + "1", + "2", + "3" + ] + } + ] + } + } + }, + "operationId": "RedisEnterprise_ListByResourceGroup", + "title": "RedisEnterpriseListByResourceGroup" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListPrivateEndpointConnections.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListPrivateEndpointConnections.json new file mode 100644 index 000000000000..8e3b985cb933 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListPrivateEndpointConnections.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "privateEndpointConnectionName": "pectest01", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "pectest01", + "type": "Microsoft.Cache/redisEnterprise/privateEndpointConnections", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "description": "Auto-Approved", + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + }, + { + "name": "pectest01", + "type": "Microsoft.Cache/redisEnterprise/privateEndpointConnections", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "description": "Auto-Approved", + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + }, + "operationId": "PrivateEndpointConnections_List", + "title": "RedisEnterpriseListPrivateEndpointConnections" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListPrivateLinkResources.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListPrivateLinkResources.json new file mode 100644 index 000000000000..50968a4abe10 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListPrivateLinkResources.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "redisEnterpriseCache", + "type": "Microsoft.Cache/redisEnterprise/privateLinkResources", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateLinkResources/redisEnterpriseCache", + "properties": { + "groupId": "redisEnterpriseCache", + "requiredMembers": [ + "redisEnterpriseCache" + ], + "requiredZoneNames": [ + "privatelink.redisenterprise.cache.windows.net" + ] + } + } + ] + } + } + }, + "operationId": "PrivateLinkResources_ListByCluster", + "title": "RedisEnterpriseListPrivateLinkResources" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListSkusForScaling.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListSkusForScaling.json new file mode 100644 index 000000000000..eb84e192a79e --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseListSkusForScaling.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "skus": [ + { + "name": "MemoryOptimized_M100", + "sizeInGB": 120 + }, + { + "name": "ComputeOptimized_X700", + "sizeInGB": 720 + }, + { + "name": "Balanced_B5", + "sizeInGB": 6 + } + ] + } + } + }, + "operationId": "RedisEnterprise_ListSkusForScaling", + "title": "RedisEnterpriseListSkusForScaling" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationCancel.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationCancel.json new file mode 100644 index 000000000000..5a0e2686bc54 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationCancel.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "databaseName": "default", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." + } + } + }, + "operationId": "Migration_Cancel", + "title": "RedisEnterpriseMigrationCancel" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationGet.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationGet.json new file mode 100644 index 000000000000..fa72e33a545a --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "cache1/default", + "type": "Microsoft.Cache/redisEnterprise/migrations", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", + "properties": { + "creationTime": "2024-10-01T12:00:00Z", + "lastModifiedTime": "2024-10-01T12:00:00Z", + "provisioningState": "InProgress", + "skipDataMigration": true, + "sourceResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1", + "sourceType": "AzureCacheForRedis", + "statusDetails": "", + "switchDns": true, + "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1" + } + } + } + }, + "operationId": "Migration_Get", + "title": "RedisEnterpriseMigrationGet" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationList.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationList.json new file mode 100644 index 000000000000..2c58c98eef23 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "cache1/default", + "type": "Microsoft.Cache/redisEnterprise/migrations", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", + "properties": { + "creationTime": "2024-10-01T12:00:00Z", + "lastModifiedTime": "2024-10-01T12:00:00Z", + "provisioningState": "InProgress", + "skipDataMigration": true, + "sourceResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1", + "sourceType": "AzureCacheForRedis", + "statusDetails": "", + "switchDns": true, + "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1" + } + } + ] + } + } + }, + "operationId": "Migration_List", + "title": "RedisEnterpriseMigrationList" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationStart.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationStart.json new file mode 100644 index 000000000000..6c832f1ba319 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseMigrationStart.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "parameters": { + "properties": { + "skipDataMigration": true, + "sourceResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1", + "sourceType": "AzureCacheForRedis", + "switchDns": true + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "default", + "type": "Microsoft.Cache/redisEnterprise/migrations", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", + "properties": { + "creationTime": "2024-10-01T12:00:00Z", + "lastModifiedTime": "2024-10-01T12:00:00Z", + "provisioningState": "Completed", + "skipDataMigration": true, + "sourceResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1", + "sourceType": "AzureCacheForRedis", + "statusDetails": "", + "switchDns": true, + "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." + } + }, + "201": { + "body": { + "name": "default", + "type": "Microsoft.Cache/redisEnterprise/migrations", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", + "properties": { + "creationTime": "2024-10-01T12:00:00Z", + "lastModifiedTime": "2024-10-01T12:00:00Z", + "provisioningState": "Completed", + "skipDataMigration": true, + "sourceResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1", + "sourceType": "AzureCacheForRedis", + "statusDetails": "", + "switchDns": true, + "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1" + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." + } + } + }, + "operationId": "Migration_Start", + "title": "RedisEnterpriseMigrationStart" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterprisePutPrivateEndpointConnection.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterprisePutPrivateEndpointConnection.json new file mode 100644 index 000000000000..19c517381b6b --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterprisePutPrivateEndpointConnection.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "privateEndpointConnectionName": "pectest01", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "description": "Auto-Approved", + "status": "Approved" + } + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "201": { + "body": { + "name": "pectest01", + "type": "Microsoft.Cache/redisEnterprise/privateEndpointConnections", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "description": "Auto-Approved", + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + } + }, + "operationId": "PrivateEndpointConnections_Put", + "title": "RedisEnterprisePutPrivateEndpointConnection" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseUpdate.json b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseUpdate.json new file mode 100644 index 000000000000..ceb7e2143c95 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/examples/2025-08-01-preview/RedisEnterpriseUpdate.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2025-08-01-preview", + "clusterName": "cache1", + "parameters": { + "properties": { + "minimumTlsVersion": "1.2", + "publicNetworkAccess": "Enabled", + "maintenanceConfiguration": { + "maintenanceWindows": [ + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Monday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Tuesday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Wednesday" + } + } + ] + } + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 9 + }, + "tags": { + "tag1": "value1" + } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" + }, + "responses": { + "200": { + "body": { + "name": "cache1", + "type": "Microsoft.Cache/redisEnterprise", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", + "identity": { + "type": "None" + }, + "kind": "v1", + "location": "West US", + "properties": { + "hostName": "cache1.westus.something.azure.com", + "minimumTlsVersion": "1.2", + "provisioningState": "Updating", + "publicNetworkAccess": "Enabled", + "maintenanceConfiguration": { + "maintenanceWindows": [ + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Monday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Tuesday" + } + }, + { + "type": "Weekly", + "duration": "PT6H", + "startHourUtc": 3, + "schedule": { + "dayOfWeek": "Wednesday" + } + } + ] + }, + "redisVersion": "5", + "resourceState": "Updating" + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 9 + }, + "tags": { + "tag1": "value1" + }, + "zones": [ + "1", + "2", + "3" + ] + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus...", + "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." + } + } + }, + "operationId": "RedisEnterprise_Update", + "title": "RedisEnterpriseUpdate" +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/main.tsp b/specification/redisenterprise/RedisEnterprise.Management/main.tsp new file mode 100644 index 000000000000..8a6e285173e8 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/main.tsp @@ -0,0 +1,52 @@ +/** + * PLEASE DO NOT REMOVE - USED FOR CONVERTER METRICS + * Generated by package: @autorest/openapi-to-typespec + * Parameters used: + * isFullCompatible: true + * guessResourceKey: false + * Version: 0.11.12 + * Date: 2025-10-27T05:30:24.399Z + */ +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; +import "./back-compatible.tsp"; +import "./Cluster.tsp"; +import "./Database.tsp"; +import "./AccessPolicyAssignment.tsp"; +import "./PrivateEndpointConnection.tsp"; +import "./Migration.tsp"; +import "./routes.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager.Foundations; +using Azure.Core; +using Azure.ResourceManager; +using TypeSpec.Versioning; +/** + * REST API for managing Redis Enterprise resources in Azure. + */ +@armProviderNamespace +@service(#{ title: "RedisEnterpriseManagementClient" }) +@versioned(Versions) +@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v6) +namespace Microsoft.Cache; + +/** + * The available API versions. + */ +enum Versions { + /** + * The 2025-08-01-preview API version. + */ + v2025_08_01_preview: "2025-08-01-preview", +} + +interface Operations extends Azure.ResourceManager.Operations {} + +@@doc(Operations.list, + "Lists all of the available REST API operations of the Microsoft.Cache provider." +); diff --git a/specification/redisenterprise/RedisEnterprise.Management/models.tsp b/specification/redisenterprise/RedisEnterprise.Management/models.tsp new file mode 100644 index 000000000000..ed7895865366 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/models.tsp @@ -0,0 +1,1665 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; + +namespace Microsoft.Cache; + +/** + * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system" + */ +union Origin { + string, + + /** + * user + */ + User: "user", + + /** + * system + */ + System: "system", + + /** + * user,system + */ + UserSystem: "user,system", +} + +/** + * Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. + */ +union ActionType { + string, + + /** + * Internal + */ + Internal: "Internal", +} + +/** + * Distinguishes the kind of cluster. Read-only. + */ +union Kind { + string, + + /** + * v1 + */ + V1: "v1", + + /** + * v2 + */ + V2: "v2", +} + +/** + * The level of Redis Enterprise cluster to deploy. Possible values: ('Balanced_B5', 'MemoryOptimized_M10', 'ComputeOptimized_X5', etc.). For more information on SKUs see the latest pricing documentation. Note that additional SKUs may become supported in the future. + */ +union SkuName { + string, + + /** + * Enterprise_E1 + */ + EnterpriseE1: "Enterprise_E1", + + /** + * Enterprise_E5 + */ + EnterpriseE5: "Enterprise_E5", + + /** + * Enterprise_E10 + */ + EnterpriseE10: "Enterprise_E10", + + /** + * Enterprise_E20 + */ + EnterpriseE20: "Enterprise_E20", + + /** + * Enterprise_E50 + */ + EnterpriseE50: "Enterprise_E50", + + /** + * Enterprise_E100 + */ + EnterpriseE100: "Enterprise_E100", + + /** + * Enterprise_E200 + */ + EnterpriseE200: "Enterprise_E200", + + /** + * Enterprise_E400 + */ + EnterpriseE400: "Enterprise_E400", + + /** + * EnterpriseFlash_F300 + */ + EnterpriseFlashF300: "EnterpriseFlash_F300", + + /** + * EnterpriseFlash_F700 + */ + EnterpriseFlashF700: "EnterpriseFlash_F700", + + /** + * EnterpriseFlash_F1500 + */ + EnterpriseFlashF1500: "EnterpriseFlash_F1500", + + /** + * Balanced_B0 + */ + BalancedB0: "Balanced_B0", + + /** + * Balanced_B1 + */ + BalancedB1: "Balanced_B1", + + /** + * Balanced_B3 + */ + BalancedB3: "Balanced_B3", + + /** + * Balanced_B5 + */ + BalancedB5: "Balanced_B5", + + /** + * Balanced_B10 + */ + BalancedB10: "Balanced_B10", + + /** + * Balanced_B20 + */ + BalancedB20: "Balanced_B20", + + /** + * Balanced_B50 + */ + BalancedB50: "Balanced_B50", + + /** + * Balanced_B100 + */ + BalancedB100: "Balanced_B100", + + /** + * Balanced_B150 + */ + BalancedB150: "Balanced_B150", + + /** + * Balanced_B250 + */ + BalancedB250: "Balanced_B250", + + /** + * Balanced_B350 + */ + BalancedB350: "Balanced_B350", + + /** + * Balanced_B500 + */ + BalancedB500: "Balanced_B500", + + /** + * Balanced_B700 + */ + BalancedB700: "Balanced_B700", + + /** + * Balanced_B1000 + */ + BalancedB1000: "Balanced_B1000", + + /** + * MemoryOptimized_M10 + */ + MemoryOptimizedM10: "MemoryOptimized_M10", + + /** + * MemoryOptimized_M20 + */ + MemoryOptimizedM20: "MemoryOptimized_M20", + + /** + * MemoryOptimized_M50 + */ + MemoryOptimizedM50: "MemoryOptimized_M50", + + /** + * MemoryOptimized_M100 + */ + MemoryOptimizedM100: "MemoryOptimized_M100", + + /** + * MemoryOptimized_M150 + */ + MemoryOptimizedM150: "MemoryOptimized_M150", + + /** + * MemoryOptimized_M250 + */ + MemoryOptimizedM250: "MemoryOptimized_M250", + + /** + * MemoryOptimized_M350 + */ + MemoryOptimizedM350: "MemoryOptimized_M350", + + /** + * MemoryOptimized_M500 + */ + MemoryOptimizedM500: "MemoryOptimized_M500", + + /** + * MemoryOptimized_M700 + */ + MemoryOptimizedM700: "MemoryOptimized_M700", + + /** + * MemoryOptimized_M1000 + */ + MemoryOptimizedM1000: "MemoryOptimized_M1000", + + /** + * MemoryOptimized_M1500 + */ + MemoryOptimizedM1500: "MemoryOptimized_M1500", + + /** + * MemoryOptimized_M2000 + */ + MemoryOptimizedM2000: "MemoryOptimized_M2000", + + /** + * ComputeOptimized_X3 + */ + ComputeOptimizedX3: "ComputeOptimized_X3", + + /** + * ComputeOptimized_X5 + */ + ComputeOptimizedX5: "ComputeOptimized_X5", + + /** + * ComputeOptimized_X10 + */ + ComputeOptimizedX10: "ComputeOptimized_X10", + + /** + * ComputeOptimized_X20 + */ + ComputeOptimizedX20: "ComputeOptimized_X20", + + /** + * ComputeOptimized_X50 + */ + ComputeOptimizedX50: "ComputeOptimized_X50", + + /** + * ComputeOptimized_X100 + */ + ComputeOptimizedX100: "ComputeOptimized_X100", + + /** + * ComputeOptimized_X150 + */ + ComputeOptimizedX150: "ComputeOptimized_X150", + + /** + * ComputeOptimized_X250 + */ + ComputeOptimizedX250: "ComputeOptimized_X250", + + /** + * ComputeOptimized_X350 + */ + ComputeOptimizedX350: "ComputeOptimized_X350", + + /** + * ComputeOptimized_X500 + */ + ComputeOptimizedX500: "ComputeOptimized_X500", + + /** + * ComputeOptimized_X700 + */ + ComputeOptimizedX700: "ComputeOptimized_X700", + + /** + * FlashOptimized_A250 + */ + FlashOptimizedA250: "FlashOptimized_A250", + + /** + * FlashOptimized_A500 + */ + FlashOptimizedA500: "FlashOptimized_A500", + + /** + * FlashOptimized_A700 + */ + FlashOptimizedA700: "FlashOptimized_A700", + + /** + * FlashOptimized_A1000 + */ + FlashOptimizedA1000: "FlashOptimized_A1000", + + /** + * FlashOptimized_A1500 + */ + FlashOptimizedA1500: "FlashOptimized_A1500", + + /** + * FlashOptimized_A2000 + */ + FlashOptimizedA2000: "FlashOptimized_A2000", + + /** + * FlashOptimized_A4500 + */ + FlashOptimizedA4500: "FlashOptimized_A4500", +} + +/** + * Whether or not public network traffic can access the Redis cluster. Only 'Enabled' or 'Disabled' can be set. null is returned only for clusters created using an old API version which do not have this property and cannot be set. + */ +union PublicNetworkAccess { + string, + + /** + * Enabled + */ + Enabled: "Enabled", + + /** + * Disabled + */ + Disabled: "Disabled", +} + +/** + * Enabled by default. If highAvailability is disabled, the data set is not replicated. This affects the availability SLA, and increases the risk of data loss. + */ +union HighAvailability { + string, + + /** + * Enabled + */ + Enabled: "Enabled", + + /** + * Disabled + */ + Disabled: "Disabled", +} + +/** + * The minimum TLS version for the cluster to support, e.g. '1.2'. Newer versions can be added in the future. Note that TLS 1.0 and TLS 1.1 are now completely obsolete -- you cannot use them. They are mentioned only for the sake of consistency with old API versions. + */ +union TlsVersion { + string, + + /** + * 1.0 + */ + One0: "1.0", + + /** + * 1.1 + */ + One1: "1.1", + + /** + * 1.2 + */ + One2: "1.2", +} + +/** + * Only userAssignedIdentity is supported in this API version; other types may be supported in the future + */ +union CmkIdentityType { + string, + + /** + * systemAssignedIdentity + */ + SystemAssignedIdentity: "systemAssignedIdentity", + + /** + * userAssignedIdentity + */ + UserAssignedIdentity: "userAssignedIdentity", +} + +/** + * Current provisioning status + */ +union ProvisioningState { + string, + + /** + * Succeeded + */ + Succeeded: "Succeeded", + + /** + * Failed + */ + Failed: "Failed", + + /** + * Canceled + */ + Canceled: "Canceled", + + /** + * Creating + */ + Creating: "Creating", + + /** + * Updating + */ + Updating: "Updating", + + /** + * Deleting + */ + Deleting: "Deleting", +} + +/** + * Explains the current redundancy strategy of the cluster, which affects the expected SLA. + */ +union RedundancyMode { + string, + + /** + * No redundancy. Availability loss will occur. + */ + None: "None", + + /** + * Local redundancy with high availability. + */ + LR: "LR", + + /** + * Zone redundant. Higher availability. + */ + ZR: "ZR", +} + +/** + * Current resource status + */ +union ResourceState { + string, + + /** + * Running + */ + Running: "Running", + + /** + * Creating + */ + Creating: "Creating", + + /** + * CreateFailed + */ + CreateFailed: "CreateFailed", + + /** + * Updating + */ + Updating: "Updating", + + /** + * UpdateFailed + */ + UpdateFailed: "UpdateFailed", + + /** + * Deleting + */ + Deleting: "Deleting", + + /** + * DeleteFailed + */ + DeleteFailed: "DeleteFailed", + + /** + * Enabling + */ + Enabling: "Enabling", + + /** + * EnableFailed + */ + EnableFailed: "EnableFailed", + + /** + * Disabling + */ + Disabling: "Disabling", + + /** + * DisableFailed + */ + DisableFailed: "DisableFailed", + + /** + * Disabled + */ + Disabled: "Disabled", + + /** + * Scaling + */ + Scaling: "Scaling", + + /** + * ScalingFailed + */ + ScalingFailed: "ScalingFailed", + + /** + * Moving + */ + Moving: "Moving", +} + +/** + * Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted. + */ +union Protocol { + string, + + /** + * Encrypted + */ + Encrypted: "Encrypted", + + /** + * Plaintext + */ + Plaintext: "Plaintext", +} + +/** + * 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. + */ +union ClusteringPolicy { + string, + + /** + * Enterprise clustering policy uses only the classic redis protocol, which does not support redis cluster commands. + */ + EnterpriseCluster: "EnterpriseCluster", + + /** + * OSS clustering policy follows the redis cluster specification, and requires all clients to support redis clustering. + */ + OSSCluster: "OSSCluster", + + /** + * The NoCluster policy is used for non-clustered Redis instances that do not require clustering features. + */ + NoCluster: "NoCluster", +} + +/** + * Redis eviction policy - default is VolatileLRU + */ +union EvictionPolicy { + string, + + /** + * AllKeysLFU + */ + AllKeysLFU: "AllKeysLFU", + + /** + * AllKeysLRU + */ + AllKeysLRU: "AllKeysLRU", + + /** + * AllKeysRandom + */ + AllKeysRandom: "AllKeysRandom", + + /** + * VolatileLRU + */ + VolatileLRU: "VolatileLRU", + + /** + * VolatileLFU + */ + VolatileLFU: "VolatileLFU", + + /** + * VolatileTTL + */ + VolatileTTL: "VolatileTTL", + + /** + * VolatileRandom + */ + VolatileRandom: "VolatileRandom", + + /** + * NoEviction + */ + NoEviction: "NoEviction", +} + +/** + * Sets the frequency at which data is written to disk. Defaults to '1s', meaning 'every second'. Note that the 'always' setting is deprecated, because of its performance impact. + */ +union AofFrequency { + string, + + /** + * 1s + */ + OneS: "1s", + + /** + * always + */ + Always: "always", +} + +/** + * Sets the frequency at which a snapshot of the database is created. + */ +union RdbFrequency { + string, + + /** + * 1h + */ + OneH: "1h", + + /** + * 6h + */ + SixH: "6h", + + /** + * 12h + */ + TwelveH: "12h", +} + +/** + * State of the link between the database resources. + */ +union LinkState { + string, + + /** + * Linked + */ + Linked: "Linked", + + /** + * Linking + */ + Linking: "Linking", + + /** + * Unlinking + */ + Unlinking: "Unlinking", + + /** + * LinkFailed + */ + LinkFailed: "LinkFailed", + + /** + * UnlinkFailed + */ + UnlinkFailed: "UnlinkFailed", +} + +/** + * Option to defer upgrade when newest version is released - default is NotDeferred. Learn more: https://aka.ms/redisversionupgrade + */ +union DeferUpgradeSetting { + string, + + /** + * Deferred + */ + Deferred: "Deferred", + + /** + * NotDeferred + */ + NotDeferred: "NotDeferred", +} + +/** + * This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created. + */ +union AccessKeysAuthentication { + string, + + /** + * Disabled + */ + Disabled: "Disabled", + + /** + * Enabled + */ + Enabled: "Enabled", +} + +/** + * The type of identity that created the resource. + */ +union CreatedByType { + string, + + /** + * User + */ + User: "User", + + /** + * Application + */ + Application: "Application", + + /** + * ManagedIdentity + */ + ManagedIdentity: "ManagedIdentity", + + /** + * Key + */ + Key: "Key", +} + +/** + * Describes the source of the migration operation. + */ +union SourceType { + string, + + /** + * Migration from Azure Cache for Redis to Redis Enterprise. + */ + AzureCacheForRedis: "AzureCacheForRedis", +} + +/** + * Current provisioning status + */ +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +union MigrationProvisioningState { + string, + + /** + * The request has been accepted and the migration operation is being initialized. + */ + Accepted: "Accepted", + + /** + * The migration operation is in progress. + */ + InProgress: "InProgress", + + /** + * The migration operation has completed transferring data and is ready for DNS switch. + */ + ReadyForDnsSwitch: "ReadyForDnsSwitch", + + /** + * The migration operation has completed successfully. + */ + Succeeded: "Succeeded", + + /** + * The migration operation has failed. + */ + Failed: "Failed", + + /** + * The migration operation is being cancelled. + */ + Cancelling: "Cancelling", + + /** + * The migration operation has been cancelled. + */ + Cancelled: "Cancelled", +} + +/** + * Which access key to regenerate. + */ +#suppress "@azure-tools/typespec-azure-core/no-enum" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +enum AccessKeyType { + /** + * Primary + */ + Primary, + + /** + * Secondary + */ + Secondary, +} + +/** + * Localized display information for this particular operation. + */ +model OperationDisplay { + /** + * The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft Compute". + */ + @visibility(Lifecycle.Read) + provider?: string; + + /** + * The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job Schedule Collections". + */ + @visibility(Lifecycle.Read) + resource?: string; + + /** + * The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine". + */ + @visibility(Lifecycle.Read) + operation?: string; + + /** + * The short, localized friendly description of the operation; suitable for tool tips and detailed views. + */ + @visibility(Lifecycle.Read) + description?: string; +} + +/** + * The status of a long-running operation. + */ +model OperationStatus { + /** + * The operation's unique id. + */ + id?: string; + + /** + * The operation's name. + */ + name?: string; + + /** + * The start time of the operation. + */ + startTime?: string; + + /** + * The end time of the operation. + */ + endTime?: string; + + /** + * The current status of the operation. + */ + status?: string; + + /** + * Error response describing why the operation failed. + */ + error?: Azure.ResourceManager.CommonTypes.ErrorResponse; +} + +/** + * SKU parameters supplied to the create Redis Enterprise cluster operation. + */ +model Sku { + /** + * The level of Redis Enterprise cluster to deploy. Possible values: ('Balanced_B5', 'MemoryOptimized_M10', 'ComputeOptimized_X5', etc.). For more information on SKUs see the latest pricing documentation. Note that additional SKUs may become supported in the future. + */ + name: SkuName; + + /** + * This property is only used with Enterprise and EnterpriseFlash SKUs. Determines the size of the cluster. Valid values are (2, 4, 6, ...) for Enterprise SKUs and (3, 9, 15, ...) for EnterpriseFlash SKUs. + */ + capacity?: int32; +} + +/** + * Properties of Redis Enterprise clusters for create operations + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ClusterCreateProperties extends ClusterProperties { + /** + * Whether or not public network traffic can access the Redis cluster. Only 'Enabled' or 'Disabled' can be set. null is returned only for clusters created using an old API version which do not have this property and cannot be set. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + publicNetworkAccess: PublicNetworkAccess | null; +} + +/** + * Properties of Redis Enterprise clusters, as opposed to general resource properties like location, tags + */ +model ClusterProperties { + /** + * Enabled by default. If highAvailability is disabled, the data set is not replicated. This affects the availability SLA, and increases the risk of data loss. + */ + highAvailability?: HighAvailability; + + /** + * The minimum TLS version for the cluster to support, e.g. '1.2'. Newer versions can be added in the future. Note that TLS 1.0 and TLS 1.1 are now completely obsolete -- you cannot use them. They are mentioned only for the sake of consistency with old API versions. + */ + minimumTlsVersion?: TlsVersion; + + /** + * Encryption-at-rest configuration for the cluster. + */ + encryption?: ClusterPropertiesEncryption; + + /** + * Cluster-level maintenance configuration. + */ + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) + maintenanceConfiguration?: MaintenanceConfiguration; + + /** + * DNS name of the cluster endpoint + */ + @visibility(Lifecycle.Read) + hostName?: string; + + /** + * Current provisioning status of the cluster + */ + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; + + /** + * Explains the current redundancy strategy of the cluster, which affects the expected SLA. + */ + @visibility(Lifecycle.Read) + redundancyMode?: RedundancyMode; + + /** + * Current resource status of the cluster + */ + @visibility(Lifecycle.Read) + resourceState?: ResourceState; + + /** + * Version of redis the cluster supports, e.g. '6' + */ + @visibility(Lifecycle.Read) + redisVersion?: string; + + /** + * List of private endpoint connections associated with the specified Redis Enterprise cluster + */ + @visibility(Lifecycle.Read) + privateEndpointConnections?: PrivateEndpointConnection[]; +} + +/** Cluster-level maintenance configuration. */ +model MaintenanceConfiguration { + /** Custom maintenance windows that apply to the cluster. */ + @identifiers(#[]) + maintenanceWindows?: MaintenanceWindow[]; +} + +/** A single custom maintenance window. */ +model MaintenanceWindow { + /** Maintenance window type. */ + type: MaintenanceWindowType; + + /** Duration in ISO-8601 format, for example 'PT5H'. */ + duration: string; + + /** Start hour (0-23) in UTC when the maintenance window begins. */ + @minValue(0) + @maxValue(23) + startHourUtc: int32; + + /** Recurring schedule for the maintenance window. */ + schedule: MaintenanceWindowSchedule; +} + +/** Maintenance window type. */ +union MaintenanceWindowType { + string, + + /** Weekly maintenance window. */ + Weekly: "Weekly", +} + +/** Schedule details for a maintenance window. */ +model MaintenanceWindowSchedule { + /** Day of week. Required when the maintenance window type is 'Weekly'. */ + dayOfWeek?: MaintenanceDayOfWeek; +} + +/** Day of week. Required when the maintenance window type is 'Weekly'. */ +union MaintenanceDayOfWeek { + string, + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Sunday: "Sunday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Monday: "Monday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Tuesday: "Tuesday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Wednesday: "Wednesday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Thursday: "Thursday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Friday: "Friday", + #suppress "@azure-tools/typespec-azure-core/documentation-required" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + Saturday: "Saturday", +} + +/** + * Encryption-at-rest configuration for the cluster. + */ +model ClusterPropertiesEncryption { + /** + * All Customer-managed key encryption properties for the resource. Set this to an empty object to use Microsoft-managed key encryption. + */ + customerManagedKeyEncryption?: ClusterPropertiesEncryptionCustomerManagedKeyEncryption; +} + +/** + * All Customer-managed key encryption properties for the resource. Set this to an empty object to use Microsoft-managed key encryption. + */ +model ClusterPropertiesEncryptionCustomerManagedKeyEncryption { + /** + * All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + */ + keyEncryptionKeyIdentity?: ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity; + + /** + * Key encryption key Url, versioned only. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 + */ + keyEncryptionKeyUrl?: string; +} + +/** + * All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault. + */ +model ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity { + /** + * User assigned identity to use for accessing key encryption key Url. Ex: /subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. + */ + userAssignedIdentityResourceId?: string; + + /** + * Only userAssignedIdentity is supported in this API version; other types may be supported in the future + */ + identityType?: CmkIdentityType; +} + +/** + * A partial update to the Redis Enterprise cluster + */ +model ClusterUpdate { + /** + * The SKU to create, which affects price, performance, and features. + */ + sku?: Sku; + + /** + * Other properties of the cluster. + */ + properties?: ClusterUpdateProperties; + + /** + * The identity of the resource. + */ + identity?: Azure.ResourceManager.CommonTypes.ManagedServiceIdentity; + + /** + * Resource tags. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) + tags?: Record; +} + +/** + * Properties of Redis Enterprise clusters for update operations + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model ClusterUpdateProperties extends ClusterProperties { + /** + * Whether or not public network traffic can access the Redis cluster. Only 'Enabled' or 'Disabled' can be set. null is returned only for clusters created using an old API version which do not have this property and cannot be set. + */ + #suppress "@azure-tools/typespec-azure-core/no-nullable" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + publicNetworkAccess?: PublicNetworkAccess | null; +} + +/** + * The response of a list-all operation. + */ +model ClusterList is Azure.Core.Page; + +/** + * The response of a list-all operation. + */ +model DatabaseList is Azure.Core.Page; + +/** + * Properties for creating Redis Enterprise databases + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model DatabaseCreateProperties extends DatabaseProperties { + /** + * This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created. Default is Disabled. + */ + accessKeysAuthentication?: AccessKeysAuthentication = AccessKeysAuthentication.Disabled; +} + +/** + * Properties of Redis Enterprise databases, as opposed to general resource properties like location, tags + */ +model DatabaseProperties { + /** + * Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted. + */ + clientProtocol?: Protocol; + + /** + * TCP port of the database endpoint. Specified at create time. Defaults to an available port. + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + port?: int32; + + /** + * Current provisioning status of the database + */ + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; + + /** + * Current resource status of the database + */ + @visibility(Lifecycle.Read) + resourceState?: ResourceState; + + /** + * 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. + */ + @visibility(Lifecycle.Read, Lifecycle.Create, Lifecycle.Update) + clusteringPolicy?: ClusteringPolicy; + + /** + * Redis eviction policy - default is VolatileLRU + */ + evictionPolicy?: EvictionPolicy; + + /** + * Persistence settings + */ + persistence?: Persistence; + + /** + * Optional set of redis modules to enable in this database - modules can only be added at creation time. + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + @identifiers(#["name"]) + modules?: Module[]; + + /** + * Optional set of properties to configure geo replication for this database. + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + geoReplication?: DatabasePropertiesGeoReplication; + + /** + * Version of Redis the database is running on, e.g. '6.0' + */ + @visibility(Lifecycle.Read) + redisVersion?: string; + + /** + * Option to defer upgrade when newest version is released - default is NotDeferred. Learn more: https://aka.ms/redisversionupgrade + */ + deferUpgrade?: DeferUpgradeSetting; + + /** + * This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created. + */ + accessKeysAuthentication?: AccessKeysAuthentication; +} + +/** + * Persistence-related configuration for the Redis Enterprise database + */ +model Persistence { + /** + * Sets whether AOF is enabled. Note that at most one of AOF or RDB persistence may be enabled. + */ + aofEnabled?: boolean; + + /** + * Sets whether RDB is enabled. Note that at most one of AOF or RDB persistence may be enabled. + */ + rdbEnabled?: boolean; + + /** + * Sets the frequency at which data is written to disk. Defaults to '1s', meaning 'every second'. Note that the 'always' setting is deprecated, because of its performance impact. + */ + aofFrequency?: AofFrequency; + + /** + * Sets the frequency at which a snapshot of the database is created. + */ + rdbFrequency?: RdbFrequency; +} + +/** + * Specifies configuration of a redis module + */ +model Module { + /** + * The name of the module, e.g. 'RedisBloom', 'RediSearch', 'RedisTimeSeries' + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + name: string; + + /** + * Configuration options for the module, e.g. 'ERROR_RATE 0.01 INITIAL_SIZE 400'. + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + args?: string; + + /** + * The version of the module, e.g. '1.0'. + */ + @visibility(Lifecycle.Read) + version?: string; +} + +/** + * Optional set of properties to configure geo replication for this database. + */ +model DatabasePropertiesGeoReplication { + /** + * Name for the group of linked database resources + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + groupNickname?: string; + + /** + * List of database resources to link with this database + */ + linkedDatabases?: LinkedDatabase[]; +} + +/** + * Specifies details of a linked database resource. + */ +model LinkedDatabase { + /** + * Resource ID of a database resource to link with this database. + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + id?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Cache/redisEnterprise/databases"; + } + ]>; + + /** + * State of the link between the database resources. + */ + @visibility(Lifecycle.Read) + state?: LinkState; +} + +/** + * Common fields that are returned in the response for all Azure Resource Manager resources + */ +model ResourceAutoGenerated { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + */ + @visibility(Lifecycle.Read) + id?: string; + + /** + * The name of the resource + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + */ + @visibility(Lifecycle.Read) + type?: string; + + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + */ + @visibility(Lifecycle.Read) + systemData?: SystemData; +} + +/** + * A partial update to the Redis Enterprise database + */ +model DatabaseUpdate { + /** + * Properties of the database. + */ + properties?: DatabaseUpdateProperties; +} + +/** + * Properties for updating Redis Enterprise databases + */ +#suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +model DatabaseUpdateProperties extends DatabaseProperties { + /** + * This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created. Default is Disabled. + */ + accessKeysAuthentication?: AccessKeysAuthentication; +} + +/** + * The secret access keys used for authenticating connections to redis + */ +model AccessKeys { + /** + * The current primary key that clients can use to authenticate + */ + @visibility(Lifecycle.Read) + primaryKey?: string; + + /** + * The current secondary key that clients can use to authenticate + */ + @visibility(Lifecycle.Read) + secondaryKey?: string; +} + +/** + * Specifies which access keys to reset to a new random value. + */ +model RegenerateKeyParameters { + /** + * Which access key to regenerate. + */ + keyType: AccessKeyType; +} + +/** + * Parameters for a Redis Enterprise import operation. + */ +model ImportClusterParameters { + /** + * SAS URIs for the target blobs to import from + */ + @secret + sasUris: string[]; +} + +/** + * Parameters for a Redis Enterprise export operation. + */ +model ExportClusterParameters { + /** + * SAS URI for the target directory to export to + */ + @secret + sasUri: string; +} + +/** + * Properties of Redis Enterprise database access policy assignment. + */ +model AccessPolicyAssignmentProperties { + /** + * Current provisioning status of the access policy assignment. + */ + @visibility(Lifecycle.Read) + provisioningState?: ProvisioningState; + + /** + * Name of access policy under specific access policy assignment. Only "default" policy is supported for now. + */ + @pattern("^([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]|[a-zA-Z0-9])$") + accessPolicyName: string; + + /** + * The user associated with the access policy. + */ + user: AccessPolicyAssignmentPropertiesUser; +} + +/** + * The user associated with the access policy. + */ +model AccessPolicyAssignmentPropertiesUser { + /** + * The object ID of the user. + */ + objectId?: string; +} + +/** + * The response of a list-all operation. + */ +model AccessPolicyAssignmentList is Azure.Core.Page; + +/** + * The response of a listSkusForScaling operation. + */ +model SkuDetailsList { + /** + * List of SKUS available to scale up or scale down. + */ + skus?: SkuDetails[]; +} + +/** + * Details of a Redis Enterprise cluster SKU. + */ +model SkuDetails { + /** + * The name of the SKU. + */ + @visibility(Lifecycle.Read) + name?: string; + + /** + * The cache size in GB. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" + @visibility(Lifecycle.Read) + sizeInGB?: float32; +} + +/** + * Parameters for a Redis Enterprise Active Geo Replication Force Unlink operation. + */ +model ForceUnlinkParameters { + /** + * The resource IDs of the database resources to be unlinked. + */ + ids: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Cache/redisEnterprise/databases"; + } + ]>[]; +} + +/** + * Parameters for reconfiguring active geo-replication, of an existing database that was previously unlinked from a replication group. + */ +model ForceLinkParameters { + /** + * Properties to configure geo replication for this database. + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + geoReplication: ForceLinkParametersGeoReplication; +} + +/** + * Properties to configure geo replication for this database. + */ +model ForceLinkParametersGeoReplication { + /** + * The name of the group of linked database resources. This should match the existing replication group name. + */ + @visibility(Lifecycle.Read, Lifecycle.Create) + groupNickname?: string; + + /** + * The resource IDs of the databases that are expected to be linked and included in the replication group. This parameter is used to validate that the linking is to the expected (unlinked) part of the replication group, if it is splintered. + */ + linkedDatabases?: LinkedDatabase[]; +} + +/** + * Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). + */ +@error +model ErrorResponseAutoGenerated { + /** + * The error object. + */ + error?: ErrorDetailAutoGenerated; +} + +/** + * The error detail. + */ +model ErrorDetailAutoGenerated { + /** + * The error code. + */ + @visibility(Lifecycle.Read) + code?: string; + + /** + * The error message. + */ + @visibility(Lifecycle.Read) + message?: string; + + /** + * The error target. + */ + @visibility(Lifecycle.Read) + target?: string; + + /** + * The error details. + */ + @visibility(Lifecycle.Read) + @identifiers(#["message", "target"]) + details?: ErrorDetailAutoGenerated[]; + + /** + * The error additional info. + */ + @visibility(Lifecycle.Read) + @identifiers(#[]) + additionalInfo?: ErrorAdditionalInfo[]; +} + +/** + * Parameters for a Redis Enterprise active geo-replication flush operation + */ +model FlushParameters { + /** + * The identifiers of all the other database resources in the georeplication group to be flushed. + */ + ids?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Cache/redisEnterprise/databases"; + } + ]>[]; +} + +/** + * The response of a list-all migrations. + */ +model MigrationList is Azure.Core.Page; + +/** + * Properties for Redis Enterprise migration operation. + */ +@discriminator("sourceType") +model MigrationProperties { + /** + * Describes the source of the migration operation. + */ + sourceType: SourceType; + + /** + * The Azure resource ID of the Azure Managed Redis destination cache to migrate. + */ + @visibility(Lifecycle.Read) + targetResourceId?: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Cache/redisEnterprise"; + } + ]>; + + /** + * Current provisioning status of the migration + */ + @visibility(Lifecycle.Read) + provisioningState?: MigrationProvisioningState; + + /** + * Additional details about the migration operation's status in free text format. + */ + @visibility(Lifecycle.Read) + statusDetails?: string; + + /** + * The timestamp when the migration operation was created. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + creationTime?: utcDateTime; + + /** + * The timestamp when the migration operation was last updated. + */ + @visibility(Lifecycle.Read) + // FIXME: (utcDateTime) Please double check that this is the correct type for your scenario. + lastModifiedTime?: utcDateTime; +} + +/** + * Properties for Redis Enterprise migration operation for Azure Cache for Redis. + */ +model AzureCacheForRedisMigrationProperties extends MigrationProperties { + /** + * The source resource ID to migrate from. This is the resource ID of the Azure Cache for Redis. + */ + sourceResourceId: Azure.Core.armResourceIdentifier<[ + { + type: "Microsoft.Cache/redis"; + } + ]>; + + /** + * Sets whether the DNS is switched automatically after the data is transferred from the source cache to the target cache. This property must be true during the preview. + */ + switchDns: boolean; + + /** + * Sets whether the data is migrated from source to target or not. This property must be true during the preview. + */ + skipDataMigration: boolean; + + /** + * Describes the source of the migration operation. + */ + sourceType: "AzureCacheForRedis"; +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/routes.tsp b/specification/redisenterprise/RedisEnterprise.Management/routes.tsp new file mode 100644 index 000000000000..33adbdf802b3 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/routes.tsp @@ -0,0 +1,35 @@ +// FIXME: Operations in this file are not detected as a resource operation, please confirm the conversion result manually + +import "@azure-tools/typespec-azure-core"; +import "@typespec/rest"; +import "./models.tsp"; +import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/openapi"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.ResourceManager; +using TypeSpec.OpenAPI; + +namespace Microsoft.Cache; + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator" "FIXME: Update justification, follow aka.ms/tsp/conversion-fix for details" +interface OperationsStatusOperationGroup { + /** + * Gets the status of operation. + */ + @route("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/operationsStatus/{operationId}") + @get + get( + ...ApiVersionParameter, + ...LocationResourceParameter, + ...SubscriptionIdParameter, + + /** + * The ID of an ongoing async operation. + */ + @minLength(1) + @path + operationId: string, + ): ArmResponse | ErrorResponse; +} diff --git a/specification/redisenterprise/RedisEnterprise.Management/tspconfig.yaml b/specification/redisenterprise/RedisEnterprise.Management/tspconfig.yaml new file mode 100644 index 000000000000..f1fed4c55fc7 --- /dev/null +++ b/specification/redisenterprise/RedisEnterprise.Management/tspconfig.yaml @@ -0,0 +1,45 @@ +parameters: + "service-dir": + default: "sdk/redisenterprise" + "dependencies": + default: "" +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + omit-unreachable-types: true + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/RedisEnterprise/{version-status}/{version}/redisenterprise.json" + emit-lro-options: "all" + examples-dir: "{project-root}/examples" + "@azure-tools/typespec-python": + emitter-output-dir: "{output-dir}/{service-dir}/azure-mgmt-redisenterprise" + namespace: "azure.mgmt.redisenterprise" + generate-test: true + generate-sample: true + flavor: azure + "@azure-tools/typespec-ts": + emitter-output-dir: "{output-dir}/{service-dir}/arm-redisenterprisecache" + package-details: + name: "@azure/arm-redisenterprisecache" + is-modular-library: true + experimental-extensible-enums: true + flavor: azure + "@azure-tools/typespec-java": + emitter-output-dir: "{output-dir}/{service-dir}/azure-resourcemanager-redisenterprise" + namespace: com.azure.resourcemanager.redisenterprise + flavor: azure + "@azure-tools/typespec-go": + module: "github.com/Azure/azure-sdk-for-go/{service-dir}/armredisenterprise" + service-dir: "sdk/resourcemanager/redisenterprise" + emitter-output-dir: "{output-dir}/{service-dir}/armredisenterprise" + generate-fakes: true + inject-spans: true + single-client: true + flavor: azure + generate-samples: true + head-as-boolean: true +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/OperationsList.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/OperationsList.json index d16a5398041b..3b3a61b4ae77 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/OperationsList.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/OperationsList.json @@ -9,23 +9,25 @@ { "name": "Microsoft.Cache/redisEnterprise/read", "display": { - "provider": "Microsoft Cache", - "resource": "Redis Enterprise cache", + "description": "View the Redis Enterprise cache's settings and configuration in the management portal", "operation": "Manage Redis Enterprise cache (read)", - "description": "View the Redis Enterprise cache's settings and configuration in the management portal" + "provider": "Microsoft Cache", + "resource": "Redis Enterprise cache" } }, { "name": "Microsoft.Cache/redisEnterprise/write", "display": { - "provider": "Microsoft Cache", - "resource": "Redis Enterprise cache", + "description": "Modify the Redis Enterprise cache's settings and configuration in the management portal", "operation": "Manage Redis Enterprise cache (write)", - "description": "Modify the Redis Enterprise cache's settings and configuration in the management portal" + "provider": "Microsoft Cache", + "resource": "Redis Enterprise cache" } } ] } } - } + }, + "operationId": "Operations_List", + "title": "OperationsList" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/OperationsStatusGet.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/OperationsStatusGet.json index 71ddc2eb5906..25717fff3adb 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/OperationsStatusGet.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/OperationsStatusGet.json @@ -1,19 +1,21 @@ { "parameters": { - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", - "location": "West US", "operationId": "testoperationid", - "api-version": "2025-08-01-preview" + "api-version": "2025-08-01-preview", + "location": "West US", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/locations/westus/operationsStatus/testoperationid", "name": "testoperationid", - "startTime": "2017-01-01T13:13:13.933Z", "endTime": "2017-01-01T16:13:13.933Z", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/locations/westus/operationsStatus/testoperationid", + "startTime": "2017-01-01T13:13:13.933Z", "status": "Succeeded" } } - } + }, + "operationId": "OperationsStatus_Get", + "title": "OperationsStatusGet" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentCreateUpdate.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentCreateUpdate.json index dde31f9c14cb..dda5d33fe696 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentCreateUpdate.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentCreateUpdate.json @@ -1,11 +1,9 @@ { "parameters": { + "accessPolicyAssignmentName": "defaultTestEntraApp1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", - "resourceGroupName": "rg1", "clusterName": "cache1", "databaseName": "default", - "accessPolicyAssignmentName": "defaultTestEntraApp1", "parameters": { "properties": { "accessPolicyName": "default", @@ -13,17 +11,19 @@ "objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0" } } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/default-TestEntraApp1", "name": "defaultTestEntraApp1", "type": "Microsoft.Cache/redisEnterprise/accessPolicyAssignments", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/default-TestEntraApp1", "properties": { - "provisioningState": "Succeeded", "accessPolicyName": "default", + "provisioningState": "Succeeded", "user": { "objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0" } @@ -32,17 +32,19 @@ }, "201": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/default-TestEntraApp1", "name": "defaultTestEntraApp1", "type": "Microsoft.Cache/redisEnterprise/accessPolicyAssignments", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/default-TestEntraApp1", "properties": { - "provisioningState": "Succeeded", "accessPolicyName": "default", + "provisioningState": "Succeeded", "user": { "objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0" } } } } - } + }, + "operationId": "AccessPolicyAssignment_CreateUpdate", + "title": "RedisEnterpriseAccessPolicyAssignmentCreateUpdate" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentDelete.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentDelete.json index 7845d29fc7a0..f7c2cbef4539 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentDelete.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentDelete.json @@ -1,11 +1,11 @@ { "parameters": { + "accessPolicyAssignmentName": "defaultTestEntraApp1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", - "resourceGroupName": "rg1", "clusterName": "cache1", "databaseName": "default", - "accessPolicyAssignmentName": "defaultTestEntraApp1" + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "202": { @@ -15,5 +15,7 @@ } }, "204": {} - } + }, + "operationId": "AccessPolicyAssignment_Delete", + "title": "RedisEnterpriseAccessPolicyAssignmentDelete" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentGet.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentGet.json index c6a6e55ea314..f1c043c75fd8 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentGet.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentGet.json @@ -1,26 +1,28 @@ { "parameters": { + "accessPolicyAssignmentName": "accessPolicyAssignmentName1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", - "resourceGroupName": "rg1", "clusterName": "cache1", "databaseName": "default", - "accessPolicyAssignmentName": "accessPolicyAssignmentName1" + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1/accessPolicyAssignments/accessPolicyAssignmentName1", "name": "accessPolicyAssignmentName1", "type": "Microsoft.Cache/Redis/accessPolicyAssignments", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1/accessPolicyAssignments/accessPolicyAssignmentName1", "properties": { - "provisioningState": "Succeeded", "accessPolicyName": "default", + "provisioningState": "Succeeded", "user": { "objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0" } } } } - } + }, + "operationId": "AccessPolicyAssignment_Get", + "title": "RedisEnterpriseAccessPolicyAssignmentGet" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentsList.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentsList.json index 499cbe51b477..f7306be70b91 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentsList.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseAccessPolicyAssignmentsList.json @@ -1,34 +1,34 @@ { "parameters": { "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", - "resourceGroupName": "rg1", "clusterName": "cache1", - "databaseName": "default" + "databaseName": "default", + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1/accessPolicyAssignments/accessPolicyAssignmentName1", "name": "accessPolicyAssignmentName1", "type": "Microsoft.Cache/Redis/accessPolicyAssignments", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1/accessPolicyAssignments/accessPolicyAssignmentName1", "properties": { - "provisioningState": "Succeeded", "accessPolicyName": "default", + "provisioningState": "Succeeded", "user": { "objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0" } } }, { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1/accessPolicyAssignments/accessPolicyAssignmentName2", "name": "accessPolicyAssignmentName2", "type": "Microsoft.Cache/Redis/accessPolicyAssignments", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1/accessPolicyAssignments/accessPolicyAssignmentName2", "properties": { - "provisioningState": "Succeeded", "accessPolicyName": "default", + "provisioningState": "Succeeded", "user": { "objectId": "7497c918-11ad-41e7-1b0f-7c518a87d0b0" } @@ -37,5 +37,7 @@ ] } } - } + }, + "operationId": "AccessPolicyAssignment_List", + "title": "RedisEnterpriseAccessPolicyAssignmentList" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseCreate.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseCreate.json index 4869c1a9a32e..69e85e85bf04 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseCreate.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseCreate.json @@ -1,28 +1,16 @@ { "parameters": { - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", "parameters": { - "location": "West US", - "sku": { - "name": "EnterpriseFlash_F300", - "capacity": 3 - }, - "zones": [ - "1", - "2", - "3" - ], "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/your-subscription/resourceGroups/your-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/your-identity": {} } }, + "location": "West US", "properties": { - "minimumTlsVersion": "1.2", "encryption": { "customerManagedKeyEncryption": { "keyEncryptionKeyIdentity": { @@ -32,6 +20,7 @@ "keyEncryptionKeyUrl": "https://your-kv.vault.azure.net/keys/your-key/your-key-version" } }, + "minimumTlsVersion": "1.2", "publicNetworkAccess": "Disabled", "maintenanceConfiguration": { "maintenanceWindows": [ @@ -62,43 +51,43 @@ ] } }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 3 + }, "tags": { "tag1": "value1" - } - } + }, + "zones": [ + "1", + "2", + "3" + ] + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { - "201": { + "200": { "body": { "name": "cache1", "type": "Microsoft.Cache/redisEnterprise", "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", - "location": "West US", - "kind": "v1", - "sku": { - "name": "EnterpriseFlash_F300", - "capacity": 3 - }, - "zones": [ - "1", - "2", - "3" - ], "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/your-subscription/resourceGroups/your-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/your-identity": { - "principalId": "00000000-0000-0000-0000-000000000000", - "clientId": "00000000-0000-0000-0000-000000000000" + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" } } }, + "kind": "v1", + "location": "West US", "properties": { - "provisioningState": "Creating", - "resourceState": "Creating", "hostName": "cache1.westus.something.azure.net", - "redisVersion": "5", "minimumTlsVersion": "1.2", + "provisioningState": "Succeeded", "publicNetworkAccess": "Disabled", "maintenanceConfiguration": { "maintenanceWindows": [ @@ -128,52 +117,52 @@ } ] }, - "encryption": { - "customerManagedKeyEncryption": { - "keyEncryptionKeyIdentity": { - "userAssignedIdentityResourceId": "/subscriptions/your-subscription/resourceGroups/your-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/your-identity", - "identityType": "userAssignedIdentity" - }, - "keyEncryptionKeyUrl": "https://your-kv.vault.azure.net/keys/your-key/your-key-version" - } - } + "redisVersion": "5", + "resourceState": "Running" }, - "tags": { - "tag1": "value1" - } - } - }, - "200": { - "body": { - "name": "cache1", - "type": "Microsoft.Cache/redisEnterprise", - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", - "location": "West US", - "kind": "v1", "sku": { "name": "EnterpriseFlash_F300", "capacity": 3 }, + "tags": { + "tag1": "value1" + }, "zones": [ "1", "2", "3" - ], + ] + } + }, + "201": { + "body": { + "name": "cache1", + "type": "Microsoft.Cache/redisEnterprise", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/your-subscription/resourceGroups/your-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/your-identity": { - "principalId": "00000000-0000-0000-0000-000000000000", - "clientId": "00000000-0000-0000-0000-000000000000" + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" } } }, + "kind": "v1", + "location": "West US", "properties": { - "provisioningState": "Succeeded", - "resourceState": "Running", + "encryption": { + "customerManagedKeyEncryption": { + "keyEncryptionKeyIdentity": { + "identityType": "userAssignedIdentity", + "userAssignedIdentityResourceId": "/subscriptions/your-subscription/resourceGroups/your-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/your-identity" + }, + "keyEncryptionKeyUrl": "https://your-kv.vault.azure.net/keys/your-key/your-key-version" + } + }, "hostName": "cache1.westus.something.azure.net", - "redisVersion": "5", "minimumTlsVersion": "1.2", + "provisioningState": "Creating", "publicNetworkAccess": "Disabled", "maintenanceConfiguration": { "maintenanceWindows": [ @@ -202,12 +191,25 @@ } } ] - } + }, + "redisVersion": "5", + "resourceState": "Creating" + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 3 }, "tags": { "tag1": "value1" - } + }, + "zones": [ + "1", + "2", + "3" + ] } } - } + }, + "operationId": "RedisEnterprise_Create", + "title": "RedisEnterpriseCreate" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesCreate.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesCreate.json index 83b8dcc20857..197e3a72d143 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesCreate.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesCreate.json @@ -1,20 +1,15 @@ { "parameters": { - "databaseName": "default", - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", + "databaseName": "default", "parameters": { "properties": { + "accessKeysAuthentication": "Enabled", "clientProtocol": "Encrypted", "clusteringPolicy": "EnterpriseCluster", + "deferUpgrade": "NotDeferred", "evictionPolicy": "AllKeysLRU", - "persistence": { - "aofEnabled": true, - "aofFrequency": "1s" - }, - "port": 10000, "modules": [ { "name": "RedisBloom", @@ -28,28 +23,28 @@ "name": "RediSearch" } ], - "deferUpgrade": "NotDeferred", - "accessKeysAuthentication": "Enabled" + "persistence": { + "aofEnabled": true, + "aofFrequency": "1s" + }, + "port": 10000 } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "name": "cache1/default", "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "properties": { - "provisioningState": "Updating", - "resourceState": "Updating", + "accessKeysAuthentication": "Enabled", "clientProtocol": "Encrypted", "clusteringPolicy": "EnterpriseCluster", + "deferUpgrade": "NotDeferred", "evictionPolicy": "AllKeysLRU", - "persistence": { - "aofEnabled": true, - "aofFrequency": "1s" - }, - "port": 10000, "modules": [ { "name": "RedisBloom", @@ -67,28 +62,27 @@ "version": "1.0.0" } ], - "deferUpgrade": "NotDeferred", - "accessKeysAuthentication": "Enabled", - "redisVersion": "6.0" + "persistence": { + "aofEnabled": true, + "aofFrequency": "1s" + }, + "port": 10000, + "provisioningState": "Updating", + "redisVersion": "6.0", + "resourceState": "Updating" } } }, "201": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/db1", "name": "cache1/db1", "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/db1", "properties": { - "provisioningState": "Creating", - "resourceState": "Creating", + "accessKeysAuthentication": "Enabled", "clientProtocol": "Encrypted", "clusteringPolicy": "EnterpriseCluster", "evictionPolicy": "AllKeysLRU", - "persistence": { - "aofEnabled": true, - "aofFrequency": "1s" - }, - "port": 10000, "modules": [ { "name": "RedisBloom", @@ -106,9 +100,17 @@ "version": "1.0.0" } ], - "accessKeysAuthentication": "Enabled" + "persistence": { + "aofEnabled": true, + "aofFrequency": "1s" + }, + "port": 10000, + "provisioningState": "Creating", + "resourceState": "Creating" } } } - } + }, + "operationId": "Databases_Create", + "title": "RedisEnterpriseDatabasesCreate" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesCreateWithGeoReplication.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesCreateWithGeoReplication.json index 303fdeccaeeb..9d80a315e558 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesCreateWithGeoReplication.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesCreateWithGeoReplication.json @@ -1,17 +1,14 @@ { "parameters": { - "databaseName": "default", - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", + "databaseName": "default", "parameters": { "properties": { + "accessKeysAuthentication": "Enabled", "clientProtocol": "Encrypted", "clusteringPolicy": "EnterpriseCluster", "evictionPolicy": "NoEviction", - "port": 10000, - "accessKeysAuthentication": "Enabled", "geoReplication": { "groupNickname": "groupName", "linkedDatabases": [ @@ -22,23 +19,25 @@ "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8e/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default" } ] - } + }, + "port": 10000 } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "name": "cache1/default", "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "properties": { - "provisioningState": "Updating", - "resourceState": "Updating", + "accessKeysAuthentication": "Enabled", "clientProtocol": "Encrypted", "clusteringPolicy": "EnterpriseCluster", + "deferUpgrade": "NotDeferred", "evictionPolicy": "NoEviction", - "port": 10000, "geoReplication": { "groupNickname": "groupName", "linkedDatabases": [ @@ -52,24 +51,24 @@ } ] }, - "deferUpgrade": "NotDeferred", - "accessKeysAuthentication": "Enabled", - "redisVersion": "6.0" + "port": 10000, + "provisioningState": "Updating", + "redisVersion": "6.0", + "resourceState": "Updating" } } }, "201": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/db1", "name": "cache1/db1", "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/db1", "properties": { - "provisioningState": "Creating", - "resourceState": "Creating", + "accessKeysAuthentication": "Enabled", "clientProtocol": "Plaintext", "clusteringPolicy": "EnterpriseCluster", + "deferUpgrade": "NotDeferred", "evictionPolicy": "NoEviction", - "port": 10000, "geoReplication": { "groupNickname": "groupName", "linkedDatabases": [ @@ -83,11 +82,14 @@ } ] }, - "deferUpgrade": "NotDeferred", - "accessKeysAuthentication": "Enabled", - "redisVersion": "6.0" + "port": 10000, + "provisioningState": "Creating", + "redisVersion": "6.0", + "resourceState": "Creating" } } } - } + }, + "operationId": "Databases_Create", + "title": "RedisEnterpriseDatabasesCreate With Active Geo Replication" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesDelete.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesDelete.json index 978c4f783c6d..48b477383a80 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesDelete.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesDelete.json @@ -1,9 +1,9 @@ { "parameters": { - "databaseName": "db1", + "api-version": "2025-08-01-preview", "clusterName": "cache1", + "databaseName": "db1", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { @@ -15,5 +15,7 @@ } }, "204": {} - } + }, + "operationId": "Databases_Delete", + "title": "RedisEnterpriseDatabasesDelete" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesExport.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesExport.json index 5f8d17d518e3..853bc55b9d87 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesExport.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesExport.json @@ -1,13 +1,13 @@ { "parameters": { - "databaseName": "default", - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", + "databaseName": "default", "parameters": { "sasUri": "https://contosostorage.blob.core.window.net/urlToBlobContainer?sasKeyParameters" - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": {}, @@ -17,5 +17,7 @@ "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." } } - } + }, + "operationId": "Databases_Export", + "title": "RedisEnterpriseDatabasesExport" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesFlush.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesFlush.json index 02df4e96f665..b1ea9df3d112 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesFlush.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesFlush.json @@ -1,15 +1,15 @@ { "parameters": { - "databaseName": "default", - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", + "databaseName": "default", "parameters": { "ids": [ "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f2/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default" ] - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": {}, @@ -18,5 +18,7 @@ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." } } - } + }, + "operationId": "Databases_Flush", + "title": "How to flush all the keys in the database" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesForceLink.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesForceLink.json index 1fa4444e3e4b..1bb78b13e715 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesForceLink.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesForceLink.json @@ -1,10 +1,8 @@ { "parameters": { - "databaseName": "default", - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", + "clusterName": "cache1", + "databaseName": "default", "parameters": { "geoReplication": { "groupNickname": "groupName", @@ -17,7 +15,9 @@ } ] } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "00000000-0000-0000-0000-000000000000" }, "responses": { "202": { @@ -25,5 +25,7 @@ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Cache/...pathToOperationStatus..." } } - } + }, + "operationId": "Databases_ForceLinkToReplicationGroup", + "title": "How to relink a database after a regional outage" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesForceUnlink.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesForceUnlink.json index 02df4e96f665..a76ed5fddddb 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesForceUnlink.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesForceUnlink.json @@ -1,15 +1,15 @@ { "parameters": { - "databaseName": "default", - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", + "databaseName": "default", "parameters": { "ids": [ "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f2/resourceGroups/rg2/providers/Microsoft.Cache/redisEnterprise/cache2/databases/default" ] - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": {}, @@ -18,5 +18,7 @@ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." } } - } + }, + "operationId": "Databases_ForceUnlink", + "title": "How to unlink a database during a regional outage" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesGet.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesGet.json index 41efb6a975b7..65a2dfb4527b 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesGet.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesGet.json @@ -1,28 +1,23 @@ { "parameters": { - "databaseName": "default", + "api-version": "2025-08-01-preview", "clusterName": "cache1", + "databaseName": "default", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "name": "cache1/default", "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "properties": { - "provisioningState": "Succeeded", - "resourceState": "Running", + "accessKeysAuthentication": "Enabled", "clientProtocol": "Encrypted", "clusteringPolicy": "OSSCluster", + "deferUpgrade": "NotDeferred", "evictionPolicy": "AllKeysLRU", - "persistence": { - "rdbEnabled": true, - "rdbFrequency": "12h" - }, - "port": 10000, "modules": [ { "name": "RediSearch", @@ -30,11 +25,18 @@ "version": "1.0.0" } ], - "deferUpgrade": "NotDeferred", - "accessKeysAuthentication": "Enabled", - "redisVersion": "6.0" + "persistence": { + "rdbEnabled": true, + "rdbFrequency": "12h" + }, + "port": 10000, + "provisioningState": "Succeeded", + "redisVersion": "6.0", + "resourceState": "Running" } } } - } + }, + "operationId": "Databases_Get", + "title": "RedisEnterpriseDatabasesGet" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesImport.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesImport.json index 21894711c23d..651ad2b024f7 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesImport.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesImport.json @@ -1,16 +1,16 @@ { "parameters": { - "databaseName": "default", - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", + "databaseName": "default", "parameters": { "sasUris": [ "https://contosostorage.blob.core.window.net/urltoBlobFile1?sasKeyParameters", "https://contosostorage.blob.core.window.net/urltoBlobFile2?sasKeyParameters" ] - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": {}, @@ -20,5 +20,7 @@ "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." } } - } + }, + "operationId": "Databases_Import", + "title": "RedisEnterpriseDatabasesImport" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesListByCluster.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesListByCluster.json index edf897f5630c..cd8fb6267481 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesListByCluster.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesListByCluster.json @@ -1,8 +1,8 @@ { "parameters": { + "api-version": "2025-08-01-preview", "clusterName": "cache1", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { @@ -10,20 +10,15 @@ "body": { "value": [ { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "name": "cache1/default", "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "properties": { - "provisioningState": "Succeeded", - "resourceState": "Running", + "accessKeysAuthentication": "Disabled", "clientProtocol": "Encrypted", "clusteringPolicy": "OSSCluster", + "deferUpgrade": "NotDeferred", "evictionPolicy": "AllKeysLRU", - "persistence": { - "rdbEnabled": true, - "rdbFrequency": "12h" - }, - "port": 10000, "modules": [ { "name": "RediSearch", @@ -31,13 +26,20 @@ "version": "1.0.0" } ], - "deferUpgrade": "NotDeferred", + "persistence": { + "rdbEnabled": true, + "rdbFrequency": "12h" + }, + "port": 10000, + "provisioningState": "Succeeded", "redisVersion": "6.0", - "accessKeysAuthentication": "Disabled" + "resourceState": "Running" } } ] } } - } + }, + "operationId": "Databases_ListByCluster", + "title": "RedisEnterpriseDatabasesListByCluster" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesListKeys.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesListKeys.json index 796646936b78..0c517b232145 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesListKeys.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesListKeys.json @@ -1,9 +1,9 @@ { "parameters": { - "databaseName": "default", + "api-version": "2025-08-01-preview", "clusterName": "cache1", + "databaseName": "default", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { @@ -13,5 +13,7 @@ "secondaryKey": "" } } - } + }, + "operationId": "Databases_ListKeys", + "title": "RedisEnterpriseDatabasesListKeys" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesNoClusterCacheCreate.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesNoClusterCacheCreate.json index 740521f10b07..110afb130068 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesNoClusterCacheCreate.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesNoClusterCacheCreate.json @@ -1,10 +1,8 @@ { "parameters": { - "databaseName": "default", - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", + "databaseName": "default", "parameters": { "properties": { "clientProtocol": "Encrypted", @@ -12,44 +10,48 @@ "evictionPolicy": "NoEviction", "port": 10000 } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { - "201": { + "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "name": "cache1/default", "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "properties": { + "accessKeysAuthentication": "Enabled", "clientProtocol": "Encrypted", - "port": 10000, - "provisioningState": "Creating", - "resourceState": "Creating", "clusteringPolicy": "NoCluster", - "evictionPolicy": "NoEviction", "deferUpgrade": "NotDeferred", + "evictionPolicy": "NoEviction", + "port": 10000, + "provisioningState": "Updating", "redisVersion": "7.2", - "accessKeysAuthentication": "Enabled" + "resourceState": "Updating" } } }, - "200": { + "201": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "name": "cache1/default", "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "properties": { + "accessKeysAuthentication": "Enabled", "clientProtocol": "Encrypted", - "port": 10000, - "provisioningState": "Updating", - "resourceState": "Updating", "clusteringPolicy": "NoCluster", - "evictionPolicy": "NoEviction", "deferUpgrade": "NotDeferred", + "evictionPolicy": "NoEviction", + "port": 10000, + "provisioningState": "Creating", "redisVersion": "7.2", - "accessKeysAuthentication": "Enabled" + "resourceState": "Creating" } } } - } + }, + "operationId": "Databases_Create", + "title": "RedisEnterpriseDatabasesCreate No Cluster Cache" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesNoClusterCacheUpdateClustering.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesNoClusterCacheUpdateClustering.json index 1e3c897ebb49..a475d3058bd5 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesNoClusterCacheUpdateClustering.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesNoClusterCacheUpdateClustering.json @@ -1,10 +1,8 @@ { "parameters": { - "databaseName": "default", - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", + "databaseName": "default", "parameters": { "properties": { "clientProtocol": "Encrypted", @@ -12,24 +10,26 @@ "evictionPolicy": "NoEviction", "port": 10000 } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "name": "cache1/default", "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "properties": { + "accessKeysAuthentication": "Enabled", "clientProtocol": "Encrypted", - "port": 10000, - "provisioningState": "Updating", - "resourceState": "Updating", "clusteringPolicy": "EnterpriseCluster", - "evictionPolicy": "NoEviction", "deferUpgrade": "NotDeferred", + "evictionPolicy": "NoEviction", + "port": 10000, + "provisioningState": "Updating", "redisVersion": "7.2", - "accessKeysAuthentication": "Enabled" + "resourceState": "Updating" } } }, @@ -39,5 +39,7 @@ "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." } } - } + }, + "operationId": "Databases_Update", + "title": "RedisEnterpriseDatabasesUpdate Clustering on No Cluster Cache" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesRegenerateKey.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesRegenerateKey.json index d21e68bf2df0..b7afca7d9598 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesRegenerateKey.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesRegenerateKey.json @@ -1,13 +1,13 @@ { "parameters": { - "databaseName": "default", - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", + "databaseName": "default", "parameters": { "keyType": "Primary" - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { @@ -22,5 +22,7 @@ "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." } } - } + }, + "operationId": "Databases_RegenerateKey", + "title": "RedisEnterpriseDatabasesRegenerateKey" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesUpdate.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesUpdate.json index a163954a9a61..4cdbf59d95d6 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesUpdate.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesUpdate.json @@ -1,39 +1,34 @@ { "parameters": { - "databaseName": "default", - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", + "databaseName": "default", "parameters": { "properties": { + "accessKeysAuthentication": "Enabled", "clientProtocol": "Encrypted", "evictionPolicy": "AllKeysLRU", "persistence": { "rdbEnabled": true, "rdbFrequency": "12h" - }, - "accessKeysAuthentication": "Enabled" + } } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "name": "cache1/default", "type": "Microsoft.Cache/redisEnterprise/databases", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default", "properties": { - "provisioningState": "Updating", - "resourceState": "Updating", + "accessKeysAuthentication": "Enabled", "clientProtocol": "Encrypted", "clusteringPolicy": "OSSCluster", + "deferUpgrade": "NotDeferred", "evictionPolicy": "AllKeysLRU", - "persistence": { - "rdbEnabled": true, - "rdbFrequency": "12h" - }, - "port": 10000, "modules": [ { "name": "RediSearch", @@ -41,9 +36,14 @@ "version": "1.0.0" } ], - "deferUpgrade": "NotDeferred", - "accessKeysAuthentication": "Enabled", - "redisVersion": "6.0" + "persistence": { + "rdbEnabled": true, + "rdbFrequency": "12h" + }, + "port": 10000, + "provisioningState": "Updating", + "redisVersion": "6.0", + "resourceState": "Updating" } } }, @@ -53,5 +53,7 @@ "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." } } - } + }, + "operationId": "Databases_Update", + "title": "RedisEnterpriseDatabasesUpdate" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesUpgradeDBRedisVersion.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesUpgradeDBRedisVersion.json index 84e5e4af88f4..ebe965a0db6c 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesUpgradeDBRedisVersion.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDatabasesUpgradeDBRedisVersion.json @@ -1,9 +1,9 @@ { "parameters": { - "databaseName": "default", + "api-version": "2025-08-01-preview", "clusterName": "cache1", + "databaseName": "default", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { @@ -12,5 +12,7 @@ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." } } - } + }, + "operationId": "Databases_UpgradeDBRedisVersion", + "title": "How to upgrade your database Redis version" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDelete.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDelete.json index 1f3e979ec877..3db51b972f51 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDelete.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDelete.json @@ -1,8 +1,8 @@ { "parameters": { + "api-version": "2025-08-01-preview", "clusterName": "cache1", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { @@ -14,5 +14,7 @@ } }, "204": {} - } + }, + "operationId": "RedisEnterprise_Delete", + "title": "RedisEnterpriseDelete" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDeletePrivateEndpointConnection.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDeletePrivateEndpointConnection.json index 04d0e1de6343..a5848a2dee98 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDeletePrivateEndpointConnection.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseDeletePrivateEndpointConnection.json @@ -1,10 +1,10 @@ { "parameters": { + "api-version": "2025-08-01-preview", "clusterName": "cache1", + "privateEndpointConnectionName": "pectest01", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", - "privateEndpointConnectionName": "pectest01" + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": {}, @@ -15,5 +15,7 @@ } }, "204": {} - } + }, + "operationId": "PrivateEndpointConnections_Delete", + "title": "RedisEnterpriseDeletePrivateEndpointConnection" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseGet.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseGet.json index 56d771332b67..616885a40d3e 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseGet.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseGet.json @@ -1,34 +1,37 @@ { "parameters": { + "api-version": "2025-08-01-preview", "clusterName": "cache1", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", - "location": "West US", - "kind": "v1", - "sku": { - "name": "EnterpriseFlash_F300", - "capacity": 3 - }, - "zones": [ - "1", - "2", - "3" - ], "name": "cache1", "type": "Microsoft.Cache/redisEnterprise", - "tags": {}, + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", + "kind": "v1", + "location": "West US", "properties": { "hostName": "cache1.westus.something.azure.com", - "provisioningState": "Succeeded", - "resourceState": "Running", - "redisVersion": "6", "minimumTlsVersion": "1.2", + "privateEndpointConnections": [ + { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/cachePec", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/cachePe" + }, + "privateLinkServiceConnectionState": { + "description": "Please approve my connection", + "actionsRequired": "None", + "status": "Approved" + } + } + } + ], + "provisioningState": "Succeeded", "publicNetworkAccess": "Disabled", "maintenanceConfiguration": { "maintenanceWindows": [ @@ -58,23 +61,22 @@ } ] }, - "privateEndpointConnections": [ - { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/cachePec", - "properties": { - "privateEndpoint": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/cachePe" - }, - "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "Please approve my connection", - "actionsRequired": "None" - } - } - } - ] - } + "redisVersion": "6", + "resourceState": "Running" + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 3 + }, + "tags": {}, + "zones": [ + "1", + "2", + "3" + ] } } - } + }, + "operationId": "RedisEnterprise_Get", + "title": "RedisEnterpriseGet" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseGetPrivateEndpointConnection.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseGetPrivateEndpointConnection.json index 5f7157e9dc11..6b0480e93811 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseGetPrivateEndpointConnection.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseGetPrivateEndpointConnection.json @@ -1,29 +1,31 @@ { "parameters": { + "api-version": "2025-08-01-preview", "clusterName": "cache1", + "privateEndpointConnectionName": "pectest01", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", - "privateEndpointConnectionName": "pectest01" + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", "name": "pectest01", "type": "Microsoft.Cache/redisEnterprise/privateEndpointConnections", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", "properties": { - "provisioningState": "Succeeded", "privateEndpoint": { "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/petest01" }, "privateLinkServiceConnectionState": { - "status": "Approved", "description": "Auto-Approved", - "actionsRequired": "None" - } + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" } } } - } + }, + "operationId": "PrivateEndpointConnections_Get", + "title": "RedisEnterpriseGetPrivateEndpointConnection" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseList.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseList.json index efd94cd72a55..17ffb224165f 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseList.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseList.json @@ -6,30 +6,32 @@ "responses": { "200": { "body": { + "nextLink": null, "value": [ { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", - "location": "West US", - "kind": "v1", - "sku": { - "name": "EnterpriseFlash_F300", - "capacity": 3 - }, "name": "cache1", "type": "Microsoft.Cache/redisEnterprise", - "tags": {}, + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", + "kind": "v1", + "location": "West US", "properties": { "hostName": "cache1.westus.something.azure.com", + "minimumTlsVersion": "1.2", "provisioningState": "Succeeded", - "resourceState": "Running", + "publicNetworkAccess": "Disabled", "redisVersion": "6", - "minimumTlsVersion": "1.2", - "publicNetworkAccess": "Disabled" - } + "resourceState": "Running" + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 3 + }, + "tags": {} } - ], - "nextLink": null + ] } } - } + }, + "operationId": "RedisEnterprise_List", + "title": "RedisEnterpriseList" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListByResourceGroup.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListByResourceGroup.json index 84ec7f265cef..66886dabd788 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListByResourceGroup.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListByResourceGroup.json @@ -7,35 +7,37 @@ "responses": { "200": { "body": { + "nextLink": null, "value": [ { + "name": "cache1", + "type": "Microsoft.Cache/redisEnterprise", "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", - "location": "West US", "kind": "v1", + "location": "West US", + "properties": { + "hostName": "cache1.westus.something.azure.com", + "minimumTlsVersion": "1.2", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Disabled", + "redisVersion": "5", + "resourceState": "Running" + }, "sku": { "name": "EnterpriseFlash_F300", "capacity": 3 }, + "tags": {}, "zones": [ "1", "2", "3" - ], - "name": "cache1", - "type": "Microsoft.Cache/redisEnterprise", - "tags": {}, - "properties": { - "hostName": "cache1.westus.something.azure.com", - "provisioningState": "Succeeded", - "resourceState": "Running", - "redisVersion": "5", - "minimumTlsVersion": "1.2", - "publicNetworkAccess": "Disabled" - } + ] } - ], - "nextLink": null + ] } } - } + }, + "operationId": "RedisEnterprise_ListByResourceGroup", + "title": "RedisEnterpriseListByResourceGroup" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListPrivateEndpointConnections.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListPrivateEndpointConnections.json index 4bd23ce28c38..8e3b985cb933 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListPrivateEndpointConnections.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListPrivateEndpointConnections.json @@ -1,49 +1,51 @@ { "parameters": { + "api-version": "2025-08-01-preview", "clusterName": "cache1", + "privateEndpointConnectionName": "pectest01", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", - "privateEndpointConnectionName": "pectest01" + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { "value": [ { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", "name": "pectest01", "type": "Microsoft.Cache/redisEnterprise/privateEndpointConnections", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", "properties": { - "provisioningState": "Succeeded", "privateEndpoint": { "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/petest01" }, "privateLinkServiceConnectionState": { - "status": "Approved", "description": "Auto-Approved", - "actionsRequired": "None" - } + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" } }, { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", "name": "pectest01", "type": "Microsoft.Cache/redisEnterprise/privateEndpointConnections", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", "properties": { - "provisioningState": "Succeeded", "privateEndpoint": { "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/petest01" }, "privateLinkServiceConnectionState": { - "status": "Approved", "description": "Auto-Approved", - "actionsRequired": "None" - } + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" } } ] } } - } + }, + "operationId": "PrivateEndpointConnections_List", + "title": "RedisEnterpriseListPrivateEndpointConnections" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListPrivateLinkResources.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListPrivateLinkResources.json index 72d6b0419d11..50968a4abe10 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListPrivateLinkResources.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListPrivateLinkResources.json @@ -1,8 +1,8 @@ { "parameters": { + "api-version": "2025-08-01-preview", "clusterName": "cache1", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { @@ -10,9 +10,9 @@ "body": { "value": [ { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateLinkResources/redisEnterpriseCache", "name": "redisEnterpriseCache", "type": "Microsoft.Cache/redisEnterprise/privateLinkResources", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateLinkResources/redisEnterpriseCache", "properties": { "groupId": "redisEnterpriseCache", "requiredMembers": [ @@ -26,5 +26,7 @@ ] } } - } + }, + "operationId": "PrivateLinkResources_ListByCluster", + "title": "RedisEnterpriseListPrivateLinkResources" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListSkusForScaling.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListSkusForScaling.json index 2fb75b967bc4..eb84e192a79e 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListSkusForScaling.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseListSkusForScaling.json @@ -1,8 +1,8 @@ { "parameters": { + "api-version": "2025-08-01-preview", "clusterName": "cache1", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { @@ -11,18 +11,20 @@ "skus": [ { "name": "MemoryOptimized_M100", - "sizeInGB": 120.0 + "sizeInGB": 120 }, { "name": "ComputeOptimized_X700", - "sizeInGB": 720.0 + "sizeInGB": 720 }, { "name": "Balanced_B5", - "sizeInGB": 6.0 + "sizeInGB": 6 } ] } } - } + }, + "operationId": "RedisEnterprise_ListSkusForScaling", + "title": "RedisEnterpriseListSkusForScaling" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationCancel.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationCancel.json index 84e5e4af88f4..5a0e2686bc54 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationCancel.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationCancel.json @@ -1,9 +1,9 @@ { "parameters": { - "databaseName": "default", + "api-version": "2025-08-01-preview", "clusterName": "cache1", + "databaseName": "default", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { @@ -12,5 +12,7 @@ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." } } - } + }, + "operationId": "Migration_Cancel", + "title": "RedisEnterpriseMigrationCancel" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationGet.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationGet.json index 2bd077eb69b5..fa72e33a545a 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationGet.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationGet.json @@ -1,28 +1,30 @@ { "parameters": { + "api-version": "2025-08-01-preview", "clusterName": "cache1", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", "name": "cache1/default", "type": "Microsoft.Cache/redisEnterprise/migrations", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", "properties": { "creationTime": "2024-10-01T12:00:00Z", + "lastModifiedTime": "2024-10-01T12:00:00Z", + "provisioningState": "InProgress", + "skipDataMigration": true, "sourceResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1", "sourceType": "AzureCacheForRedis", - "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", - "skipDataMigration": true, - "provisioningState": "InProgress", "statusDetails": "", "switchDns": true, - "lastModifiedTime": "2024-10-01T12:00:00Z" + "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1" } } } - } + }, + "operationId": "Migration_Get", + "title": "RedisEnterpriseMigrationGet" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationList.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationList.json index 04b9fdb9898d..2c58c98eef23 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationList.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationList.json @@ -1,8 +1,8 @@ { "parameters": { + "api-version": "2025-08-01-preview", "clusterName": "cache1", "resourceGroupName": "rg1", - "api-version": "2025-08-01-preview", "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { @@ -10,23 +10,25 @@ "body": { "value": [ { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", "name": "cache1/default", "type": "Microsoft.Cache/redisEnterprise/migrations", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", "properties": { "creationTime": "2024-10-01T12:00:00Z", + "lastModifiedTime": "2024-10-01T12:00:00Z", + "provisioningState": "InProgress", + "skipDataMigration": true, "sourceResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1", "sourceType": "AzureCacheForRedis", - "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", - "skipDataMigration": true, - "provisioningState": "InProgress", "statusDetails": "", "switchDns": true, - "lastModifiedTime": "2024-10-01T12:00:00Z" + "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1" } } ] } } - } + }, + "operationId": "Migration_List", + "title": "RedisEnterpriseMigrationList" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationStart.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationStart.json index a91b902a05f0..6c832f1ba319 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationStart.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseMigrationStart.json @@ -1,60 +1,62 @@ { "parameters": { - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", "parameters": { "properties": { - "sourceType": "AzureCacheForRedis", + "skipDataMigration": true, "sourceResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1", - "switchDns": true, - "skipDataMigration": true + "sourceType": "AzureCacheForRedis", + "switchDns": true } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." - }, "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", "name": "default", "type": "Microsoft.Cache/redisEnterprise/migrations", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", "properties": { "creationTime": "2024-10-01T12:00:00Z", + "lastModifiedTime": "2024-10-01T12:00:00Z", + "provisioningState": "Completed", + "skipDataMigration": true, "sourceResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1", "sourceType": "AzureCacheForRedis", - "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", - "skipDataMigration": true, - "provisioningState": "Completed", "statusDetails": "", "switchDns": true, - "lastModifiedTime": "2024-10-01T12:00:00Z" + "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1" } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." } }, "201": { - "headers": { - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." - }, "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", "name": "default", "type": "Microsoft.Cache/redisEnterprise/migrations", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/migrations/default", "properties": { "creationTime": "2024-10-01T12:00:00Z", + "lastModifiedTime": "2024-10-01T12:00:00Z", + "provisioningState": "Completed", + "skipDataMigration": true, "sourceResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redis/cache1", "sourceType": "AzureCacheForRedis", - "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", - "skipDataMigration": true, - "provisioningState": "Completed", "statusDetails": "", "switchDns": true, - "lastModifiedTime": "2024-10-01T12:00:00Z" + "targetResourceId": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1" } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus..." } } - } + }, + "operationId": "Migration_Start", + "title": "RedisEnterpriseMigrationStart" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterprisePutPrivateEndpointConnection.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterprisePutPrivateEndpointConnection.json index a42ab40bda52..19c517381b6b 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterprisePutPrivateEndpointConnection.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterprisePutPrivateEndpointConnection.json @@ -1,37 +1,39 @@ { "parameters": { - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", "privateEndpointConnectionName": "pectest01", "properties": { "properties": { "privateLinkServiceConnectionState": { - "status": "Approved", - "description": "Auto-Approved" + "description": "Auto-Approved", + "status": "Approved" } } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "201": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", "name": "pectest01", "type": "Microsoft.Cache/redisEnterprise/privateEndpointConnections", + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/privateEndpointConnections/pectest01", "properties": { - "provisioningState": "Succeeded", "privateEndpoint": { "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/petest01" }, "privateLinkServiceConnectionState": { - "status": "Approved", "description": "Auto-Approved", - "actionsRequired": "None" - } + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" } } } - } + }, + "operationId": "PrivateEndpointConnections_Put", + "title": "RedisEnterprisePutPrivateEndpointConnection" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseUpdate.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseUpdate.json index ed7ba916e8d7..ceb7e2143c95 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseUpdate.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/examples/RedisEnterpriseUpdate.json @@ -1,14 +1,8 @@ { "parameters": { - "clusterName": "cache1", - "resourceGroupName": "rg1", "api-version": "2025-08-01-preview", - "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f", + "clusterName": "cache1", "parameters": { - "sku": { - "name": "EnterpriseFlash_F300", - "capacity": 9 - }, "properties": { "minimumTlsVersion": "1.2", "publicNetworkAccess": "Enabled", @@ -41,40 +35,32 @@ ] } }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 9 + }, "tags": { "tag1": "value1" } - } + }, + "resourceGroupName": "rg1", + "subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f" }, "responses": { "200": { "body": { - "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", "name": "cache1", "type": "Microsoft.Cache/redisEnterprise", - "location": "West US", - "kind": "v1", - "sku": { - "name": "EnterpriseFlash_F300", - "capacity": 9 - }, + "id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1", "identity": { "type": "None" }, - "zones": [ - "1", - "2", - "3" - ], - "tags": { - "tag1": "value1" - }, + "kind": "v1", + "location": "West US", "properties": { "hostName": "cache1.westus.something.azure.com", - "provisioningState": "Updating", - "resourceState": "Updating", - "redisVersion": "5", "minimumTlsVersion": "1.2", + "provisioningState": "Updating", "publicNetworkAccess": "Enabled", "maintenanceConfiguration": { "maintenanceWindows": [ @@ -103,8 +89,22 @@ } } ] - } - } + }, + "redisVersion": "5", + "resourceState": "Updating" + }, + "sku": { + "name": "EnterpriseFlash_F300", + "capacity": 9 + }, + "tags": { + "tag1": "value1" + }, + "zones": [ + "1", + "2", + "3" + ] } }, "202": { @@ -113,5 +113,7 @@ "Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..." } } - } + }, + "operationId": "RedisEnterprise_Update", + "title": "RedisEnterpriseUpdate" } diff --git a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/redisenterprise.json b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/redisenterprise.json index 9709e95169d1..d78cb46db425 100644 --- a/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/redisenterprise.json +++ b/specification/redisenterprise/resource-manager/Microsoft.Cache/RedisEnterprise/preview/2025-08-01-preview/redisenterprise.json @@ -1,18 +1,23 @@ { "swagger": "2.0", "info": { - "version": "2025-08-01-preview", "title": "RedisEnterpriseManagementClient", - "description": "REST API for managing Redis Enterprise resources in Azure." + "version": "2025-08-01-preview", + "description": "REST API for managing Redis Enterprise resources in Azure.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] }, - "host": "management.azure.com", "schemes": [ "https" ], - "consumes": [ + "host": "management.azure.com", + "produces": [ "application/json" ], - "produces": [ + "consumes": [ "application/json" ], "security": [ @@ -25,46 +30,66 @@ "securityDefinitions": { "azure_auth": { "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "Clusters" + }, + { + "name": "Databases" + }, + { + "name": "AccessPolicyAssignments" + }, + { + "name": "PrivateEndpointConnections" + }, + { + "name": "Migrations" + } + ], "paths": { "/providers/Microsoft.Cache/operations": { "get": { + "operationId": "Operations_List", "tags": [ "Operations" ], "description": "Lists all of the available REST API operations of the Microsoft.Cache provider.", - "operationId": "Operations_List", - "x-ms-examples": { - "OperationsList": { - "$ref": "./examples/OperationsList.json" - } - }, "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "Success. The response describes the list of operations.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/OperationListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -72,348 +97,441 @@ }, "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/operationsStatus/{operationId}": { "get": { - "tags": [ - "OperationsStatus" - ], "operationId": "OperationsStatus_Get", - "x-ms-examples": { - "OperationsStatusGet": { - "$ref": "./examples/OperationsStatusGet.json" - } - }, "description": "Gets the status of operation.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/LocationParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/OperationIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/LocationParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "operationId", + "in": "path", + "description": "The ID of an ongoing async operation.", + "required": true, + "type": "string", + "minLength": 1 } ], "responses": { "200": { - "description": "Success. The detailed status of the operation is in the response.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OperationStatus" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "OperationsStatusGet": { + "$ref": "./examples/OperationsStatusGet.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}": { - "put": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/redisEnterprise": { + "get": { + "operationId": "RedisEnterprise_List", "tags": [ - "RedisEnterprise" + "Clusters" ], - "operationId": "RedisEnterprise_Create", - "x-ms-examples": { - "RedisEnterpriseCreate": { - "$ref": "./examples/RedisEnterpriseCreate.json" + "description": "Lists all Redis Enterprise clusters in the specified subscription.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ClusterList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } } }, - "description": "Creates or updates an existing (overwrite/recreate, with potential downtime) cache cluster", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "original-uri" + "x-ms-examples": { + "RedisEnterpriseList": { + "$ref": "./examples/RedisEnterpriseList.json" + } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise": { + "get": { + "operationId": "RedisEnterprise_ListByResourceGroup", + "tags": [ + "Clusters" + ], + "description": "Lists all Redis Enterprise clusters in a resource group.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "parameters", - "in": "body", - "required": true, + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/Cluster" - }, - "description": "Parameters supplied to the Create Redis Enterprise operation." + "$ref": "#/definitions/ClusterList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "RedisEnterpriseListByResourceGroup": { + "$ref": "./examples/RedisEnterpriseListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}": { + "get": { + "operationId": "RedisEnterprise_Get", + "tags": [ + "Clusters" + ], + "description": "Gets information about a Redis Enterprise cluster", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { - "201": { - "description": "The cluster was/is being created. Check provisioningState and resourceState to see detailed status.", - "schema": { - "$ref": "#/definitions/Cluster" - } - }, "200": { - "description": "The cluster was/is being updated. Check provisioningState and resourceState to see detailed status.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Cluster" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "RedisEnterpriseGet": { + "$ref": "./examples/RedisEnterpriseGet.json" + } } }, - "patch": { + "put": { + "operationId": "RedisEnterprise_Create", "tags": [ - "RedisEnterprise" + "Clusters" ], - "operationId": "RedisEnterprise_Update", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "RedisEnterpriseUpdate": { - "$ref": "./examples/RedisEnterpriseUpdate.json" - } - }, - "description": "Updates an existing Redis Enterprise cluster", + "description": "Creates or updates an existing (overwrite/recreate, with potential downtime) cache cluster", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterUpdate" - }, - "description": "Parameters supplied to the Update Redis Enterprise operation." + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the Create Redis Enterprise operation.", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + } } ], "responses": { "200": { - "description": "The cluster was/is being updated. Check provisioningState and resourceState to see detailed status.", + "description": "Resource 'Cluster' update operation succeeded", "schema": { "$ref": "#/definitions/Cluster" } }, - "202": { - "description": "The cluster update operation was started. GET the URL in the Azure-AsyncOperation or Location headers to retrieve updated status.", + "201": { + "description": "Resource 'Cluster' create operation succeeded", + "schema": { + "$ref": "#/definitions/Cluster" + }, "headers": { - "Location": { - "description": "Location URI to poll for result", - "type": "string", - "format": "uri" - }, "Azure-AsyncOperation": { - "description": "Azure-AsyncOperation URI to poll for result", "type": "string", - "format": "uri" + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - }, - "delete": { - "tags": [ - "RedisEnterprise" - ], - "operationId": "RedisEnterprise_Delete", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" }, "x-ms-examples": { - "RedisEnterpriseDelete": { - "$ref": "./examples/RedisEnterpriseDelete.json" + "RedisEnterpriseCreate": { + "$ref": "./examples/RedisEnterpriseCreate.json" } }, - "description": "Deletes a Redis Enterprise cache cluster.", + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri", + "final-state-schema": "#/definitions/Cluster" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "RedisEnterprise_Update", + "tags": [ + "Clusters" + ], + "description": "Updates an existing Redis Enterprise cluster", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the Update Redis Enterprise operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdate" + } } ], "responses": { "200": { - "description": "The cluster was successfully deleted." + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/Cluster" + } }, "202": { - "description": "The cluster delete operation was successfully started. GET the URL in the Azure-AsyncOperation or Location headers to retrieve updated status.", + "description": "Resource update request accepted.", "headers": { - "Location": { - "description": "Location URI to poll for result", + "Azure-AsyncOperation": { "type": "string", - "format": "uri" + "format": "uri", + "description": "A link to the status monitor" }, - "Azure-AsyncOperation": { - "description": "Azure-AsyncOperation URI to poll for result", + "Location": { "type": "string", - "format": "uri" + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, - "204": { - "description": "The cluster was successfully deleted." - }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - }, - "get": { - "tags": [ - "RedisEnterprise" - ], - "operationId": "RedisEnterprise_Get", + }, "x-ms-examples": { - "RedisEnterpriseGet": { - "$ref": "./examples/RedisEnterpriseGet.json" + "RedisEnterpriseUpdate": { + "$ref": "./examples/RedisEnterpriseUpdate.json" } }, - "description": "Gets information about a Redis Enterprise cluster", + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/Cluster" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "RedisEnterprise_Delete", + "tags": [ + "Clusters" + ], + "description": "Deletes a Redis Enterprise cache cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { "200": { - "description": "The request succeeded, response body contains the requested details.", - "schema": { - "$ref": "#/definitions/Cluster" + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, - "default": { - "description": "Error response describing why the operation failed.", + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "RedisEnterpriseDelete": { + "$ref": "./examples/RedisEnterpriseDelete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases": { "get": { + "operationId": "Databases_ListByCluster", "tags": [ - "RedisEnterprise" + "Databases" ], - "operationId": "RedisEnterprise_ListByResourceGroup", - "x-ms-examples": { - "RedisEnterpriseListByResourceGroup": { - "$ref": "./examples/RedisEnterpriseListByResourceGroup.json" - } - }, - "description": "Lists all Redis Enterprise clusters in a resource group.", + "description": "Gets all databases in the specified Redis Enterprise cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { "200": { - "description": "The list of Redis Enterprise clusters", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ClusterList" + "$ref": "#/definitions/DatabaseList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/redisEnterprise": { - "get": { - "tags": [ - "RedisEnterprise" - ], - "operationId": "RedisEnterprise_List", "x-ms-examples": { - "RedisEnterpriseList": { - "$ref": "./examples/RedisEnterpriseList.json" - } - }, - "description": "Lists all Redis Enterprise clusters in the specified subscription.", - "parameters": [ - { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The list of Redis Enterprise clusters", - "schema": { - "$ref": "#/definitions/ClusterList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } + "RedisEnterpriseDatabasesListByCluster": { + "$ref": "./examples/RedisEnterpriseDatabasesListByCluster.json" } }, "x-ms-pageable": { @@ -421,2645 +539,2672 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}": { "get": { + "operationId": "Databases_Get", "tags": [ - "RedisEnterprise", "Databases" ], - "operationId": "Databases_ListByCluster", - "description": "Gets all databases in the specified Redis Enterprise cluster.", - "x-ms-examples": { - "RedisEnterpriseDatabasesListByCluster": { - "$ref": "./examples/RedisEnterpriseDatabasesListByCluster.json" - } - }, + "description": "Gets information about a database in a Redis Enterprise cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "#/parameters/ClusterNameParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { "200": { - "description": "The list of databases", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/DatabaseList" + "$ref": "#/definitions/Database" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-examples": { + "RedisEnterpriseDatabasesGet": { + "$ref": "./examples/RedisEnterpriseDatabasesGet.json" + } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}": { + }, "put": { + "operationId": "Databases_Create", "tags": [ - "RedisEnterprise", "Databases" ], - "operationId": "Databases_Create", "description": "Creates a database", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "original-uri" - }, - "x-ms-examples": { - "RedisEnterpriseDatabasesCreate": { - "$ref": "./examples/RedisEnterpriseDatabasesCreate.json" + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, - "RedisEnterpriseDatabasesCreate With Active Geo Replication": { - "$ref": "./examples/RedisEnterpriseDatabasesCreateWithGeoReplication.json" + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, - "RedisEnterpriseDatabasesCreate No Cluster Cache": { - "$ref": "./examples/RedisEnterpriseDatabasesNoClusterCacheCreate.json" - } - }, - "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { "name": "parameters", "in": "body", + "description": "Parameters supplied to the create or update database operation.", "required": true, "schema": { "$ref": "#/definitions/Database" - }, - "description": "Parameters supplied to the create or update database operation." - }, - { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } } ], "responses": { "200": { - "description": "The database was/is being updated. Check provisioningState and resourceState for detailed status.", + "description": "Resource 'Database' update operation succeeded", "schema": { "$ref": "#/definitions/Database" } }, "201": { - "description": "The database was/is being created. Check provisioningState and resourceState for detailed status.", + "description": "Resource 'Database' create operation succeeded", "schema": { "$ref": "#/definitions/Database" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "RedisEnterpriseDatabasesCreate": { + "$ref": "./examples/RedisEnterpriseDatabasesCreate.json" + }, + "RedisEnterpriseDatabasesCreate No Cluster Cache": { + "$ref": "./examples/RedisEnterpriseDatabasesNoClusterCacheCreate.json" + }, + "RedisEnterpriseDatabasesCreate With Active Geo Replication": { + "$ref": "./examples/RedisEnterpriseDatabasesCreateWithGeoReplication.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri", + "final-state-schema": "#/definitions/Database" + }, + "x-ms-long-running-operation": true }, "patch": { + "operationId": "Databases_Update", "tags": [ - "RedisEnterprise", "Databases" ], - "operationId": "Databases_Update", "description": "Updates a database", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "RedisEnterpriseDatabasesUpdate": { - "$ref": "./examples/RedisEnterpriseDatabasesUpdate.json" - }, - "RedisEnterpriseDatabasesUpdate Clustering on No Cluster Cache": { - "$ref": "./examples/RedisEnterpriseDatabasesNoClusterCacheUpdateClustering.json" - } - }, "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "clusterName", + "in": "path", + "description": "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": true, - "schema": { - "$ref": "#/definitions/DatabaseUpdate" - }, - "description": "Parameters supplied to the create or update database operation." + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the create or update database operation.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseUpdate" + } } ], "responses": { "200": { - "description": "The database was/is being updated. Check provisioningState and resourceState for detailed status.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Database" } }, "202": { - "description": "The database update operation was successfully started. GET the URL in the Azure-AsyncOperation or Location headers to retrieve updated status.", + "description": "Resource update request accepted.", "headers": { - "Location": { - "description": "Location URI to poll for result", + "Azure-AsyncOperation": { "type": "string", - "format": "uri" + "format": "uri", + "description": "A link to the status monitor" }, - "Azure-AsyncOperation": { - "description": "Azure-AsyncOperation URI to poll for result", + "Location": { "type": "string", - "format": "uri" + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "RedisEnterpriseDatabasesUpdate": { + "$ref": "./examples/RedisEnterpriseDatabasesUpdate.json" + }, + "RedisEnterpriseDatabasesUpdate Clustering on No Cluster Cache": { + "$ref": "./examples/RedisEnterpriseDatabasesNoClusterCacheUpdateClustering.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/Database" + }, + "x-ms-long-running-operation": true }, - "get": { + "delete": { + "operationId": "Databases_Delete", "tags": [ - "RedisEnterprise", "Databases" ], - "operationId": "Databases_Get", - "description": "Gets information about a database in a Redis Enterprise cluster.", - "x-ms-examples": { - "RedisEnterpriseDatabasesGet": { - "$ref": "./examples/RedisEnterpriseDatabasesGet.json" - } - }, + "description": "Deletes a single database", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { "200": { - "description": "Successfully found the database", - "schema": { - "$ref": "#/definitions/Database" + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - }, - "delete": { - "tags": [ - "RedisEnterprise", - "Databases" - ], - "operationId": "Databases_Delete", - "description": "Deletes a single database", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" }, "x-ms-examples": { "RedisEnterpriseDatabasesDelete": { "$ref": "./examples/RedisEnterpriseDatabasesDelete.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/accessPolicyAssignments": { + "get": { + "operationId": "AccessPolicyAssignment_List", + "tags": [ + "AccessPolicyAssignments" + ], + "description": "Gets all access policy assignments..", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { "200": { - "description": "Successfully deleted the database." - }, - "202": { - "description": "The database delete operation started. GET the URL in the Azure-AsyncOperation or Location headers to retrieve updated status.", - "headers": { - "Location": { - "description": "Location URI to poll for result", - "type": "string", - "format": "uri" - }, - "Azure-AsyncOperation": { - "description": "Azure-AsyncOperation URI to poll for result", - "type": "string", - "format": "uri" - } + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AccessPolicyAssignmentList" } }, - "204": { - "description": "Successfully deleted the database." - }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/listKeys": { - "post": { - "tags": [ - "RedisEnterprise", - "Databases" - ], - "operationId": "Databases_ListKeys", + }, "x-ms-examples": { - "RedisEnterpriseDatabasesListKeys": { - "$ref": "./examples/RedisEnterpriseDatabasesListKeys.json" + "RedisEnterpriseAccessPolicyAssignmentList": { + "$ref": "./examples/RedisEnterpriseAccessPolicyAssignmentsList.json" } }, - "description": "Retrieves the access keys for the Redis Enterprise database.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/accessPolicyAssignments/{accessPolicyAssignmentName}": { + "get": { + "operationId": "AccessPolicyAssignment_Get", + "tags": [ + "AccessPolicyAssignments" + ], + "description": "Gets information about access policy assignment for database.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "accessPolicyAssignmentName", + "in": "path", + "description": "The name of the Redis Enterprise database access policy assignment.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,60}$" } ], "responses": { "200": { - "description": "The access keys for the specified database.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AccessKeys" + "$ref": "#/definitions/AccessPolicyAssignment" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/regenerateKey": { - "post": { - "tags": [ - "RedisEnterprise", - "Databases" - ], - "operationId": "Databases_RegenerateKey", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" }, "x-ms-examples": { - "RedisEnterpriseDatabasesRegenerateKey": { - "$ref": "./examples/RedisEnterpriseDatabasesRegenerateKey.json" + "RedisEnterpriseAccessPolicyAssignmentGet": { + "$ref": "./examples/RedisEnterpriseAccessPolicyAssignmentGet.json" } - }, - "description": "Regenerates the Redis Enterprise database's access keys.", + } + }, + "put": { + "operationId": "AccessPolicyAssignment_CreateUpdate", + "tags": [ + "AccessPolicyAssignments" + ], + "description": "Creates/Updates a particular access policy assignment for a database", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "clusterName", + "in": "path", + "description": "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": true, - "schema": { - "$ref": "#/definitions/RegenerateKeyParameters" - }, - "description": "Specifies which key to regenerate." + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + }, + { + "name": "accessPolicyAssignmentName", + "in": "path", + "description": "The name of the Redis Enterprise database access policy assignment.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,60}$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "Parameters supplied to the create access policy assignment for database.", + "required": true, + "schema": { + "$ref": "#/definitions/AccessPolicyAssignment" + } } ], "responses": { "200": { - "description": "Returns the new access keys for the database", + "description": "Resource 'AccessPolicyAssignment' update operation succeeded", "schema": { - "$ref": "#/definitions/AccessKeys" + "$ref": "#/definitions/AccessPolicyAssignment" } }, - "202": { - "description": "The cluster update operation was started. GET the URL in the Azure-AsyncOperation or Location headers to retrieve updated status.", + "201": { + "description": "Resource 'AccessPolicyAssignment' create operation succeeded", + "schema": { + "$ref": "#/definitions/AccessPolicyAssignment" + }, "headers": { - "Location": { - "description": "Location URI to poll for result", - "type": "string", - "format": "uri" - }, "Azure-AsyncOperation": { - "description": "Azure-AsyncOperation URI to poll for result", "type": "string", - "format": "uri" + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/import": { - "post": { - "tags": [ - "RedisEnterprise", - "Databases" - ], - "operationId": "Databases_Import", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" }, "x-ms-examples": { - "RedisEnterpriseDatabasesImport": { - "$ref": "./examples/RedisEnterpriseDatabasesImport.json" + "RedisEnterpriseAccessPolicyAssignmentCreateUpdate": { + "$ref": "./examples/RedisEnterpriseAccessPolicyAssignmentCreateUpdate.json" } }, - "description": "Imports database files to target database.", + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri", + "final-state-schema": "#/definitions/AccessPolicyAssignment" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "AccessPolicyAssignment_Delete", + "tags": [ + "AccessPolicyAssignments" + ], + "description": "Deletes a single access policy assignment.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "clusterName", + "in": "path", + "description": "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": true, - "schema": { - "$ref": "#/definitions/ImportClusterParameters" - }, - "description": "Storage information for importing into the cluster" + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "accessPolicyAssignmentName", + "in": "path", + "description": "The name of the Redis Enterprise database access policy assignment.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]{1,60}$" } ], "responses": { - "200": { - "description": "Import operation succeeded." - }, "202": { - "description": "The import operation was started. GET the URL in the Azure-AsyncOperation or Location headers to retrieve updated status.", + "description": "Resource deletion accepted.", "headers": { - "Location": { - "description": "Location URI to poll for result", + "Azure-AsyncOperation": { "type": "string", - "format": "uri" + "format": "uri", + "description": "A link to the status monitor" }, - "Azure-AsyncOperation": { - "description": "Azure-AsyncOperation URI to poll for result", + "Location": { "type": "string", - "format": "uri" + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "RedisEnterpriseAccessPolicyAssignmentDelete": { + "$ref": "./examples/RedisEnterpriseAccessPolicyAssignmentDelete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/export": { "post": { + "operationId": "Databases_Export", "tags": [ - "RedisEnterprise", "Databases" ], - "operationId": "Databases_Export", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "RedisEnterpriseDatabasesExport": { - "$ref": "./examples/RedisEnterpriseDatabasesExport.json" - } - }, "description": "Exports a database file from target database.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "clusterName", + "in": "path", + "description": "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": true, - "schema": { - "$ref": "#/definitions/ExportClusterParameters" - }, - "description": "Storage information for exporting into the cluster" + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "Storage information for exporting into the cluster", + "required": true, + "schema": { + "$ref": "#/definitions/ExportClusterParameters" + } } ], "responses": { "200": { - "description": "Export operation succeeded." + "description": "The request has succeeded." }, "202": { - "description": "Export operation successfully enqueued; follow the Location header to poll for final outcome.", + "description": "Resource operation accepted.", "headers": { - "Location": { - "description": "Location URI to poll for result", + "Azure-AsyncOperation": { "type": "string", - "format": "uri" + "format": "uri", + "description": "A link to the status monitor" }, - "Azure-AsyncOperation": { - "description": "Azure-AsyncOperation URI to poll for result", + "Location": { "type": "string", - "format": "uri" + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/accessPolicyAssignments/{accessPolicyAssignmentName}": { - "put": { - "tags": [ - "RedisEnterprise", - "Databases", - "AccessPolicyAssignments" - ], - "operationId": "AccessPolicyAssignment_CreateUpdate", - "description": "Creates/Updates a particular access policy assignment for a database", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "original-uri" }, "x-ms-examples": { - "RedisEnterpriseAccessPolicyAssignmentCreateUpdate": { - "$ref": "./examples/RedisEnterpriseAccessPolicyAssignmentCreateUpdate.json" + "RedisEnterpriseDatabasesExport": { + "$ref": "./examples/RedisEnterpriseDatabasesExport.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/flush": { + "post": { + "operationId": "Databases_Flush", + "tags": [ + "Databases" + ], + "description": "Flushes all the keys in this database and also from its linked databases.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/AccessPolicyAssignmentNameParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { "name": "parameters", "in": "body", - "required": true, + "description": "Information identifying the databases to be flushed", + "required": false, "schema": { - "$ref": "#/definitions/AccessPolicyAssignment" - }, - "description": "Parameters supplied to the create access policy assignment for database." + "$ref": "#/definitions/FlushParameters" + } } ], "responses": { "200": { - "description": "The database access policy assignment is being created. Check provisioningState and resourceState for detailed status.", - "schema": { - "$ref": "#/definitions/AccessPolicyAssignment" - } + "description": "The request has succeeded." }, - "201": { - "description": "The database access policy assignment is being created. Check provisioningState and resourceState for detailed status.", - "schema": { - "$ref": "#/definitions/AccessPolicyAssignment" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - }, - "get": { - "tags": [ - "RedisEnterprise", - "Databases", - "AccessPolicyAssignments" - ], - "operationId": "AccessPolicyAssignment_Get", - "description": "Gets information about access policy assignment for database.", + }, "x-ms-examples": { - "RedisEnterpriseAccessPolicyAssignmentGet": { - "$ref": "./examples/RedisEnterpriseAccessPolicyAssignmentGet.json" + "How to flush all the keys in the database": { + "$ref": "./examples/RedisEnterpriseDatabasesFlush.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/forceLinkToReplicationGroup": { + "post": { + "operationId": "Databases_ForceLinkToReplicationGroup", + "tags": [ + "Databases" + ], + "description": "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.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "#/parameters/AccessPolicyAssignmentNameParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully found the access policy assignment", + "name": "parameters", + "in": "body", + "description": "Information identifying the database to be unlinked.", + "required": true, "schema": { - "$ref": "#/definitions/AccessPolicyAssignment" + "$ref": "#/definitions/ForceLinkParameters" + } + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - }, - "delete": { - "tags": [ - "RedisEnterprise", - "Databases", - "AccessPolicyAssignments" - ], - "operationId": "AccessPolicyAssignment_Delete", - "description": "Deletes a single access policy assignment.", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" }, "x-ms-examples": { - "RedisEnterpriseAccessPolicyAssignmentDelete": { - "$ref": "./examples/RedisEnterpriseAccessPolicyAssignmentDelete.json" + "How to relink a database after a regional outage": { + "$ref": "./examples/RedisEnterpriseDatabasesForceLink.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/forceUnlink": { + "post": { + "operationId": "Databases_ForceUnlink", + "tags": [ + "Databases" + ], + "description": "Forcibly removes the link to the specified database resource.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "#/parameters/AccessPolicyAssignmentNameParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "parameters", + "in": "body", + "description": "Information identifying the database to be unlinked.", + "required": true, + "schema": { + "$ref": "#/definitions/ForceUnlinkParameters" + } } ], "responses": { + "200": { + "description": "The request has succeeded." + }, "202": { - "description": "The access policy assignment delete operation started for database. GET the URL in the Azure-AsyncOperation or Location headers to retrieve updated status.", + "description": "Resource operation accepted.", "headers": { - "Location": { - "description": "Location URI to poll for result", + "Azure-AsyncOperation": { "type": "string", - "format": "uri" + "format": "uri", + "description": "A link to the status monitor" }, - "Azure-AsyncOperation": { - "description": "Azure-AsyncOperation URI to poll for result", + "Location": { "type": "string", - "format": "uri" + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, - "204": { - "description": "Successfully deleted the access policy assignment." - }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "How to unlink a database during a regional outage": { + "$ref": "./examples/RedisEnterpriseDatabasesForceUnlink.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/accessPolicyAssignments": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/import": { + "post": { + "operationId": "Databases_Import", "tags": [ - "RedisEnterprise", - "Databases", - "AccessPolicyAssignments" + "Databases" ], - "operationId": "AccessPolicyAssignment_List", - "description": "Gets all access policy assignments..", - "x-ms-examples": { - "RedisEnterpriseAccessPolicyAssignmentList": { - "$ref": "./examples/RedisEnterpriseAccessPolicyAssignmentsList.json" - } - }, + "description": "Imports database files to target database.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "#/parameters/ClusterNameParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "name": "parameters", + "in": "body", + "description": "Storage information for importing into the cluster", + "required": true, + "schema": { + "$ref": "#/definitions/ImportClusterParameters" + } } ], "responses": { "200": { - "description": "The list of access policy assignment.", - "schema": { - "$ref": "#/definitions/AccessPolicyAssignmentList" + "description": "The request has succeeded." + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + "x-ms-examples": { + "RedisEnterpriseDatabasesImport": { + "$ref": "./examples/RedisEnterpriseDatabasesImport.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/listSkusForScaling": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/listKeys": { "post": { + "operationId": "Databases_ListKeys", "tags": [ - "RedisEnterprise" + "Databases" ], - "operationId": "RedisEnterprise_ListSkusForScaling", - "description": "Lists the available SKUs for scaling the Redis Enterprise cluster.", - "x-ms-examples": { - "RedisEnterpriseListSkusForScaling": { - "$ref": "./examples/RedisEnterpriseListSkusForScaling.json" - } - }, + "description": "Retrieves the access keys for the Redis Enterprise database.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { "200": { - "description": "Returns the available SKUs for scaling up or scaling down.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/SkuDetailsList" + "$ref": "#/definitions/AccessKeys" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "RedisEnterpriseDatabasesListKeys": { + "$ref": "./examples/RedisEnterpriseDatabasesListKeys.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/regenerateKey": { + "post": { + "operationId": "Databases_RegenerateKey", "tags": [ - "PrivateEndpointConnections" + "Databases" ], - "operationId": "PrivateEndpointConnections_List", - "description": "Lists all the private endpoint connections associated with the Redis Enterprise cluster.", - "x-ms-examples": { - "RedisEnterpriseListPrivateEndpointConnections": { - "$ref": "./examples/RedisEnterpriseListPrivateEndpointConnections.json" - } - }, + "description": "Regenerates the Redis Enterprise database's access keys.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "parameters", + "in": "body", + "description": "Specifies which key to regenerate.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + } } ], "responses": { "200": { - "description": "OK -- Successfully retrieved private endpoint connections.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + "$ref": "#/definitions/AccessKeys" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": null - } + "x-ms-examples": { + "RedisEnterpriseDatabasesRegenerateKey": { + "$ref": "./examples/RedisEnterpriseDatabasesRegenerateKey.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation", + "final-state-schema": "#/definitions/AccessKeys" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/upgradeDBRedisVersion": { + "post": { + "operationId": "Databases_UpgradeDBRedisVersion", "tags": [ - "PrivateEndpointConnections" + "Databases" ], - "operationId": "PrivateEndpointConnections_Get", - "description": "Gets the specified private endpoint connection associated with the Redis Enterprise cluster.", - "x-ms-examples": { - "RedisEnterpriseGetPrivateEndpointConnection": { - "$ref": "./examples/RedisEnterpriseGetPrivateEndpointConnection.json" - } - }, + "description": "Upgrades the database Redis version to the latest available.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v2/privatelinks.json#/parameters/PrivateEndpointConnectionName" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "databaseName", + "in": "path", + "description": "The name of the Redis Enterprise database.", + "required": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { - "200": { - "description": "OK -- Get the private endpoint connection properties successfully.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + "202": { + "description": "Resource operation accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - }, - "put": { - "tags": [ - "PrivateEndpointConnections" - ], - "operationId": "PrivateEndpointConnections_Put", - "description": "Updates the state of the specified private endpoint connection associated with the Redis Enterprise cluster.", + }, "x-ms-examples": { - "RedisEnterprisePutPrivateEndpointConnection": { - "$ref": "./examples/RedisEnterprisePutPrivateEndpointConnection.json" + "How to upgrade your database Redis version": { + "$ref": "./examples/RedisEnterpriseDatabasesUpgradeDBRedisVersion.json" } }, - "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/listSkusForScaling": { + "post": { + "operationId": "RedisEnterprise_ListSkusForScaling", + "tags": [ + "Clusters" + ], + "description": "Lists the available SKUs for scaling the Redis Enterprise cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v2/privatelinks.json#/parameters/PrivateEndpointConnectionName" - }, - { - "name": "properties", - "in": "body", + "name": "clusterName", + "in": "path", + "description": "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": true, - "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" - }, - "description": "The private endpoint connection properties." + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { - "201": { - "description": "OK -- Update the private endpoint connection properties successfully.", + "200": { + "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "#/definitions/SkuDetailsList" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "RedisEnterpriseListSkusForScaling": { + "$ref": "./examples/RedisEnterpriseListSkusForScaling.json" + } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/migrations": { + "get": { + "operationId": "Migration_List", "tags": [ - "PrivateEndpointConnections" + "Migrations" ], - "operationId": "PrivateEndpointConnections_Delete", - "description": "Deletes the specified private endpoint connection associated with the Redis Enterprise cluster.", - "x-ms-examples": { - "RedisEnterpriseDeletePrivateEndpointConnection": { - "$ref": "./examples/RedisEnterpriseDeletePrivateEndpointConnection.json" - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, + "description": "Gets information about all migrations attempts in a Redis Enterprise cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v2/privatelinks.json#/parameters/PrivateEndpointConnectionName" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { "200": { - "description": "OK -- Delete the private endpoint connection successfully." - }, - "202": { - "description": "Deletion of specified private endpoint connection was started. GET the URL in the Azure-AsyncOperation or Location headers to retrieve updated status.", - "headers": { - "Location": { - "description": "Location URI to poll for result", - "type": "string" - }, - "Azure-AsyncOperation": { - "description": "URI to poll for the operation status", - "type": "string" - } + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/MigrationList" } }, - "204": { - "description": "No Content -- The private endpoint connection does not exist." - }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "RedisEnterpriseMigrationList": { + "$ref": "./examples/RedisEnterpriseMigrationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateLinkResources": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/migrations/default": { "get": { + "operationId": "Migration_Get", "tags": [ - "PrivateLinkResources" + "Migrations" ], - "operationId": "PrivateLinkResources_ListByCluster", - "description": "Gets the private link resources that need to be created for a Redis Enterprise cluster.", - "x-ms-examples": { - "RedisEnterpriseListPrivateLinkResources": { - "$ref": "./examples/RedisEnterpriseListPrivateLinkResources.json" - } - }, + "description": "Gets information about a migration in a Redis Enterprise cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { "200": { - "description": "Successfully retrieved private link resources.", + "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkResourceListResult" + "$ref": "#/definitions/Migration" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, - "x-ms-pageable": { - "nextLinkName": null + "x-ms-examples": { + "RedisEnterpriseMigrationGet": { + "$ref": "./examples/RedisEnterpriseMigrationGet.json" + } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/forceUnlink": { - "post": { + }, + "put": { + "operationId": "Migration_Start", "tags": [ - "RedisEnterprise", - "Databases" + "Migrations" ], - "operationId": "Databases_ForceUnlink", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "How to unlink a database during a regional outage": { - "$ref": "./examples/RedisEnterpriseDatabasesForceUnlink.json" - } - }, - "description": "Forcibly removes the link to the specified database resource.", + "description": "Starts a new migration", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { "name": "parameters", "in": "body", + "description": "Parameters supplied to start a migration operation.", "required": true, "schema": { - "$ref": "#/definitions/ForceUnlinkParameters" - }, - "description": "Information identifying the database to be unlinked." - }, - { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "#/definitions/Migration" + } } ], "responses": { "200": { - "description": "Force unlink operation succeeded. The unlinked database must be deleted before it can be recreated and linked again." - }, - "202": { - "description": "Force unlink operation successfully enqueued; follow the Azure-AsyncOperation header to poll for final outcome.", + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Migration" + }, "headers": { - "Location": { - "description": "Location URI to poll for result", + "Azure-AsyncOperation": { "type": "string", - "format": "uri" + "format": "uri", + "description": "A link to the status monitor" }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/Migration" + }, + "headers": { "Azure-AsyncOperation": { - "description": "Azure-AsyncOperation URI to poll for result", "type": "string", - "format": "uri" + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "RedisEnterpriseMigrationStart": { + "$ref": "./examples/RedisEnterpriseMigrationStart.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "original-uri", + "final-state-schema": "#/definitions/Migration" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/forceLinkToReplicationGroup": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/migrations/default/cancel": { "post": { + "operationId": "Migration_Cancel", "tags": [ - "RedisEnterprise", - "Databases" + "Migrations" ], - "operationId": "Databases_ForceLinkToReplicationGroup", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "How to relink a database after a regional outage": { - "$ref": "./examples/RedisEnterpriseDatabasesForceLink.json" - } - }, - "description": "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.", + "description": "Cancel or rollback the migration operation in a Redis Enterprise cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", + "name": "clusterName", + "in": "path", + "description": "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": true, - "schema": { - "$ref": "#/definitions/ForceLinkParameters" - }, - "description": "Information identifying the database to be unlinked." - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { "202": { - "description": "Force link operation successfully enqueued; follow the Azure-AsyncOperation header to poll for final outcome.", + "description": "Resource operation accepted.", "headers": { - "Location": { - "description": "Location URI to poll for result", + "Azure-AsyncOperation": { "type": "string", - "format": "uri" + "format": "uri", + "description": "A link to the status monitor" }, - "Azure-AsyncOperation": { - "description": "Azure-AsyncOperation URI to poll for result", + "Location": { "type": "string", - "format": "uri" + "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/flush": { - "post": { - "tags": [ - "RedisEnterprise", - "Databases" - ], - "operationId": "Databases_Flush", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" }, "x-ms-examples": { - "How to flush all the keys in the database": { - "$ref": "./examples/RedisEnterpriseDatabasesFlush.json" + "RedisEnterpriseMigrationCancel": { + "$ref": "./examples/RedisEnterpriseMigrationCancel.json" } }, - "description": "Flushes all the keys in this database and also from its linked databases.", + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections": { + "get": { + "operationId": "PrivateEndpointConnections_List", + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Lists all the private endpoint connections associated with the Redis Enterprise cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "name": "parameters", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/FlushParameters" - }, - "description": "Information identifying the databases to be flushed" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { "200": { - "description": "Flush operation succeeded. All the keys are cleared in this and all its linked databases." - }, - "202": { - "description": "Flush operation successfully enqueued; follow the Azure-AsyncOperation header to poll for final outcome.", - "headers": { - "Location": { - "description": "Location URI to poll for result", - "type": "string" - }, - "Azure-AsyncOperation": { - "description": "URI to poll for the operation status", - "type": "string" - } + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "RedisEnterpriseListPrivateEndpointConnections": { + "$ref": "./examples/RedisEnterpriseListPrivateEndpointConnections.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName}/upgradeDBRedisVersion": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "operationId": "PrivateEndpointConnections_Get", "tags": [ - "RedisEnterprise", - "Databases" + "PrivateEndpointConnections" ], - "operationId": "Databases_UpgradeDBRedisVersion", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "x-ms-examples": { - "How to upgrade your database Redis version": { - "$ref": "./examples/RedisEnterpriseDatabasesUpgradeDBRedisVersion.json" - } - }, - "description": "Upgrades the database Redis version to the latest available.", + "description": "Gets the specified private endpoint connection associated with the Redis Enterprise cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/parameters/PrivateEndpointConnectionName" } ], "responses": { - "202": { - "description": "Upgrade operation successfully enqueued; follow the Azure-AsyncOperation header to poll for final outcome.", - "headers": { - "Location": { - "description": "Location URI to poll for result", - "type": "string" - }, - "Azure-AsyncOperation": { - "description": "URI to poll for the operation status", - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnection" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "RedisEnterpriseGetPrivateEndpointConnection": { + "$ref": "./examples/RedisEnterpriseGetPrivateEndpointConnection.json" + } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/migrations": { - "get": { + }, + "put": { + "operationId": "PrivateEndpointConnections_Put", "tags": [ - "RedisEnterprise", - "Migration" + "PrivateEndpointConnections" ], - "operationId": "Migration_List", - "description": "Gets information about all migrations attempts in a Redis Enterprise cluster.", - "x-ms-examples": { - "RedisEnterpriseMigrationList": { - "$ref": "./examples/RedisEnterpriseMigrationList.json" - } - }, + "description": "Updates the state of the specified private endpoint connection associated with the Redis Enterprise cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully found the migration", - "schema": { - "$ref": "#/definitions/MigrationList" - } + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/migrations/default": { - "put": { - "tags": [ - "RedisEnterprise", - "Migration" - ], - "operationId": "Migration_Start", - "description": "Starts a new migration", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "original-uri" - }, - "x-ms-examples": { - "RedisEnterpriseMigrationStart": { - "$ref": "./examples/RedisEnterpriseMigrationStart.json" - } - }, - "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/parameters/PrivateEndpointConnectionName" }, { - "name": "parameters", + "name": "properties", "in": "body", + "description": "The private endpoint connection properties.", "required": true, "schema": { - "$ref": "#/definitions/Migration" - }, - "description": "Parameters supplied to start a migration operation." - }, - { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnection" + } } ], "responses": { - "200": { - "description": "The migration was/is being started. Check the migration for detailed status.", - "headers": { - "Location": { - "description": "Location URI to poll for result", - "type": "string" - }, - "Azure-AsyncOperation": { - "description": "URI to poll for the operation status", - "type": "string" - } - }, - "schema": { - "$ref": "#/definitions/Migration" - } - }, "201": { - "description": "The migration was/is being started. Check the migration for detailed status.", + "description": "Resource 'PrivateEndpointConnection' create operation succeeded", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnection" + }, "headers": { "Location": { - "description": "Location URI to poll for result", - "type": "string" + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." }, - "Azure-AsyncOperation": { - "description": "URI to poll for the operation status", - "type": "string" + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } - }, - "schema": { - "$ref": "#/definitions/Migration" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } - }, - "get": { - "tags": [ - "RedisEnterprise", - "Migration" - ], - "operationId": "Migration_Get", - "description": "Gets information about a migration in a Redis Enterprise cluster.", + }, "x-ms-examples": { - "RedisEnterpriseMigrationGet": { - "$ref": "./examples/RedisEnterpriseMigrationGet.json" + "RedisEnterprisePutPrivateEndpointConnection": { + "$ref": "./examples/RedisEnterprisePutPrivateEndpointConnection.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "PrivateEndpointConnections_Delete", + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes the specified private endpoint connection associated with the Redis Enterprise cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/parameters/PrivateEndpointConnectionName" } ], "responses": { "200": { - "description": "Successfully found the migration", - "schema": { - "$ref": "#/definitions/Migration" + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "format": "uri", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } } }, + "204": { + "description": "Resource does not exist." + }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-examples": { + "RedisEnterpriseDeletePrivateEndpointConnection": { + "$ref": "./examples/RedisEnterpriseDeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/migrations/default/cancel": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/privateLinkResources": { + "get": { + "operationId": "PrivateLinkResources_ListByCluster", "tags": [ - "RedisEnterprise", - "Migration" + "Clusters" ], - "operationId": "Migration_Cancel", - "description": "Cancel or rollback the migration operation in a Redis Enterprise cluster.", - "x-ms-long-running-operation": true, - "x-ms-examples": { - "RedisEnterpriseMigrationCancel": { - "$ref": "./examples/RedisEnterpriseMigrationCancel.json" - } - }, + "description": "Gets the private link resources that need to be created for a Redis Enterprise cluster.", "parameters": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "name": "clusterName", + "in": "path", + "description": "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": true, + "type": "string", + "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" } ], "responses": { - "202": { - "description": "The migration was/is being canceled. Check the migration for detailed status.", - "headers": { - "Location": { - "description": "Location URI to poll for result", - "type": "string" - }, - "Azure-AsyncOperation": { - "description": "URI to poll for the operation status", - "type": "string" - } + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateLinkResourceListResult" } }, "default": { - "description": "Error response describing why the operation failed.", + "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-examples": { + "RedisEnterpriseListPrivateLinkResources": { + "$ref": "./examples/RedisEnterpriseListPrivateLinkResources.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } } }, "definitions": { - "Kind": { + "AccessKeyType": { "type": "string", - "readOnly": true, - "description": "Distinguishes the kind of cluster. Read-only.", + "description": "Which access key to regenerate.", "enum": [ - "v1", - "v2" + "Primary", + "Secondary" ], "x-ms-enum": { - "name": "Kind", - "modelAsString": true + "name": "AccessKeyType", + "modelAsString": false, + "values": [ + { + "name": "Primary", + "value": "Primary", + "description": "Primary" + }, + { + "name": "Secondary", + "value": "Secondary", + "description": "Secondary" + } + ] } }, - "Sku": { - "description": "SKU parameters supplied to the create Redis Enterprise cluster operation.", + "AccessKeys": { "type": "object", + "description": "The secret access keys used for authenticating connections to redis", "properties": { - "name": { + "primaryKey": { "type": "string", - "description": "The level of Redis Enterprise cluster to deploy. Possible values: ('Balanced_B5', 'MemoryOptimized_M10', 'ComputeOptimized_X5', etc.). For more information on SKUs see the latest pricing documentation. Note that additional SKUs may become supported in the future.", - "enum": [ - "Enterprise_E1", - "Enterprise_E5", - "Enterprise_E10", - "Enterprise_E20", - "Enterprise_E50", - "Enterprise_E100", - "Enterprise_E200", - "Enterprise_E400", - "EnterpriseFlash_F300", - "EnterpriseFlash_F700", - "EnterpriseFlash_F1500", - "Balanced_B0", - "Balanced_B1", - "Balanced_B3", - "Balanced_B5", - "Balanced_B10", - "Balanced_B20", - "Balanced_B50", - "Balanced_B100", - "Balanced_B150", - "Balanced_B250", - "Balanced_B350", - "Balanced_B500", - "Balanced_B700", - "Balanced_B1000", - "MemoryOptimized_M10", - "MemoryOptimized_M20", - "MemoryOptimized_M50", - "MemoryOptimized_M100", - "MemoryOptimized_M150", - "MemoryOptimized_M250", - "MemoryOptimized_M350", - "MemoryOptimized_M500", - "MemoryOptimized_M700", - "MemoryOptimized_M1000", - "MemoryOptimized_M1500", - "MemoryOptimized_M2000", - "ComputeOptimized_X3", - "ComputeOptimized_X5", - "ComputeOptimized_X10", - "ComputeOptimized_X20", - "ComputeOptimized_X50", - "ComputeOptimized_X100", - "ComputeOptimized_X150", - "ComputeOptimized_X250", - "ComputeOptimized_X350", - "ComputeOptimized_X500", - "ComputeOptimized_X700", - "FlashOptimized_A250", - "FlashOptimized_A500", - "FlashOptimized_A700", - "FlashOptimized_A1000", - "FlashOptimized_A1500", - "FlashOptimized_A2000", - "FlashOptimized_A4500" - ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": true - } + "description": "The current primary key that clients can use to authenticate", + "readOnly": true }, - "capacity": { - "type": "integer", - "format": "int32", - "description": "This property is only used with Enterprise and EnterpriseFlash SKUs. Determines the size of the cluster. Valid values are (2, 4, 6, ...) for Enterprise SKUs and (3, 9, 15, ...) for EnterpriseFlash SKUs." + "secondaryKey": { + "type": "string", + "description": "The current secondary key that clients can use to authenticate", + "readOnly": true } - }, - "required": [ - "name" - ] - }, - "ProvisioningState": { - "type": "string", - "readOnly": true, - "description": "Current provisioning status", - "enum": [ - "Succeeded", - "Failed", - "Canceled", - "Creating", - "Updating", - "Deleting" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true } }, - "ResourceState": { + "AccessKeysAuthentication": { "type": "string", - "readOnly": true, - "description": "Current resource status", + "description": "This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created.", "enum": [ - "Running", - "Creating", - "CreateFailed", - "Updating", - "UpdateFailed", - "Deleting", - "DeleteFailed", - "Enabling", - "EnableFailed", - "Disabling", - "DisableFailed", "Disabled", - "Scaling", - "ScalingFailed", - "Moving" + "Enabled" ], "x-ms-enum": { - "name": "ResourceState", - "modelAsString": true + "name": "AccessKeysAuthentication", + "modelAsString": true, + "values": [ + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled" + }, + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled" + } + ] } }, - "Cluster": { - "description": "Describes the Redis Enterprise cluster", + "AccessPolicyAssignment": { "type": "object", + "description": "Describes the access policy assignment of Redis Enterprise database", "properties": { - "kind": { - "$ref": "#/definitions/Kind" - }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU to create, which affects price, performance, and features." - }, - "zones": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The Availability Zones where this cluster will be deployed." - }, - "identity": { - "$ref": "../../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity", - "description": "The identity of the resource." - }, "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ClusterCreateProperties", - "description": "Other properties of the cluster." + "$ref": "#/definitions/AccessPolicyAssignmentProperties", + "description": "Properties of the access policy assignment.", + "x-ms-client-flatten": true } }, - "required": [ - "sku" - ], "allOf": [ { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, - "ClusterUpdate": { - "description": "A partial update to the Redis Enterprise cluster", + "AccessPolicyAssignmentList": { "type": "object", + "description": "The response of a list-all operation.", "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU to create, which affects price, performance, and features." - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ClusterUpdateProperties", - "description": "Other properties of the cluster." - }, - "identity": { - "$ref": "../../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity", - "description": "The identity of the resource." + "value": { + "type": "array", + "description": "The AccessPolicyAssignment items on this page", + "items": { + "$ref": "#/definitions/AccessPolicyAssignment" + } }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Resource tags." + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, - "ClusterProperties": { - "title": "Redis Enterprise cluster properties", - "description": "Properties of Redis Enterprise clusters, as opposed to general resource properties like location, tags", + "AccessPolicyAssignmentProperties": { "type": "object", + "description": "Properties of Redis Enterprise database access policy assignment.", "properties": { - "highAvailability": { - "type": "string", - "description": "Enabled by default. If highAvailability is disabled, the data set is not replicated. This affects the availability SLA, and increases the risk of data loss.", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "HighAvailability", - "modelAsString": true - } + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Current provisioning status of the access policy assignment.", + "readOnly": true }, - "minimumTlsVersion": { + "accessPolicyName": { "type": "string", - "description": "The minimum TLS version for the cluster to support, e.g. '1.2'. Newer versions can be added in the future. Note that TLS 1.0 and TLS 1.1 are now completely obsolete -- you cannot use them. They are mentioned only for the sake of consistency with old API versions.", - "enum": [ - "1.0", - "1.1", - "1.2" - ], - "x-ms-enum": { - "name": "TlsVersion", - "modelAsString": true - } - }, - "encryption": { - "type": "object", - "description": "Encryption-at-rest configuration for the cluster.", - "properties": { - "customerManagedKeyEncryption": { - "type": "object", - "description": "All Customer-managed key encryption properties for the resource. Set this to an empty object to use Microsoft-managed key encryption.", - "properties": { - "keyEncryptionKeyIdentity": { - "type": "object", - "description": "All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault.", - "properties": { - "userAssignedIdentityResourceId": { - "type": "string", - "description": "User assigned identity to use for accessing key encryption key Url. Ex: /subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId." - }, - "identityType": { - "type": "string", - "enum": [ - "systemAssignedIdentity", - "userAssignedIdentity" - ], - "description": "Only userAssignedIdentity is supported in this API version; other types may be supported in the future", - "x-ms-enum": { - "name": "CmkIdentityType", - "modelAsString": true - } - } - } - }, - "keyEncryptionKeyUrl": { - "type": "string", - "description": "Key encryption key Url, versioned only. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78" - } - } - } - } - }, - "maintenanceConfiguration": { - "$ref": "#/definitions/MaintenanceConfiguration", - "description": "Cluster-level maintenance configuration.", - "x-ms-mutability": [ - "read", - "create", - "update" - ] + "description": "Name of access policy under specific access policy assignment. Only \"default\" policy is supported for now.", + "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]|[a-zA-Z0-9])$" }, - "hostName": { + "user": { + "$ref": "#/definitions/AccessPolicyAssignmentPropertiesUser", + "description": "The user associated with the access policy." + } + }, + "required": [ + "accessPolicyName", + "user" + ] + }, + "AccessPolicyAssignmentPropertiesUser": { + "type": "object", + "description": "The user associated with the access policy.", + "properties": { + "objectId": { "type": "string", - "readOnly": true, - "description": "DNS name of the cluster endpoint" - }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "readOnly": true, - "description": "Current provisioning status of the cluster" - }, - "redundancyMode": { + "description": "The object ID of the user." + } + } + }, + "AofFrequency": { + "type": "string", + "description": "Sets the frequency at which data is written to disk. Defaults to '1s', meaning 'every second'. Note that the 'always' setting is deprecated, because of its performance impact.", + "enum": [ + "1s", + "always" + ], + "x-ms-enum": { + "name": "AofFrequency", + "modelAsString": true, + "values": [ + { + "name": "OneS", + "value": "1s", + "description": "1s" + }, + { + "name": "Always", + "value": "always", + "description": "always" + } + ] + } + }, + "AzureCacheForRedisMigrationProperties": { + "type": "object", + "description": "Properties for Redis Enterprise migration operation for Azure Cache for Redis.", + "properties": { + "sourceResourceId": { "type": "string", - "readOnly": true, - "description": "Explains the current redundancy strategy of the cluster, which affects the expected SLA.", - "enum": [ - "None", - "LR", - "ZR" - ], - "x-ms-enum": { - "name": "RedundancyMode", - "modelAsString": true, - "values": [ - { - "name": "None", - "value": "None", - "description": "No redundancy. Availability loss will occur." - }, - { - "name": "LR", - "value": "LR", - "description": "Local redundancy with high availability." - }, + "format": "arm-id", + "description": "The source resource ID to migrate from. This is the resource ID of the Azure Cache for Redis.", + "x-ms-arm-id-details": { + "allowedResources": [ { - "name": "ZR", - "value": "ZR", - "description": "Zone redundant. Higher availability." + "type": "Microsoft.Cache/redis" } ] } }, - "resourceState": { - "$ref": "#/definitions/ResourceState", - "readOnly": true, - "description": "Current resource status of the cluster" + "switchDns": { + "type": "boolean", + "description": "Sets whether the DNS is switched automatically after the data is transferred from the source cache to the target cache. This property must be true during the preview." }, - "redisVersion": { - "type": "string", - "readOnly": true, - "description": "Version of redis the cluster supports, e.g. '6'" + "skipDataMigration": { + "type": "boolean", + "description": "Sets whether the data is migrated from source to target or not. This property must be true during the preview." + } + }, + "required": [ + "sourceResourceId", + "switchDns", + "skipDataMigration" + ], + "allOf": [ + { + "$ref": "#/definitions/MigrationProperties" + } + ], + "x-ms-discriminator-value": "AzureCacheForRedis" + }, + "Cluster": { + "type": "object", + "description": "Describes the Redis Enterprise cluster", + "properties": { + "properties": { + "$ref": "#/definitions/ClusterCreateProperties", + "description": "Other properties of the cluster.", + "x-ms-client-flatten": true }, - "privateEndpointConnections": { + "kind": { + "$ref": "#/definitions/Kind", + "description": "Distinguishes the kind of cluster. Read-only.", + "readOnly": true + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU to create, which affects price, performance, and features." + }, + "zones": { "type": "array", - "readOnly": true, - "description": "List of private endpoint connections associated with the specified Redis Enterprise cluster", + "description": "The availability zones.", "items": { - "$ref": "../../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + "type": "string" } + }, + "identity": { + "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the resource." } - } - }, - "ClusterCreateProperties": { - "title": "Redis Enterprise cluster properties for create operations", - "description": "Properties of Redis Enterprise clusters for create operations", - "type": "object", + }, + "required": [ + "sku" + ], "allOf": [ { - "$ref": "#/definitions/ClusterProperties" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" } - ], + ] + }, + "ClusterCreateProperties": { + "type": "object", + "description": "Properties of Redis Enterprise clusters for create operations", "properties": { "publicNetworkAccess": { - "type": "string", + "$ref": "#/definitions/PublicNetworkAccess", "description": "Whether or not public network traffic can access the Redis cluster. Only 'Enabled' or 'Disabled' can be set. null is returned only for clusters created using an old API version which do not have this property and cannot be set.", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "PublicNetworkAccess", - "modelAsString": true - }, "x-nullable": true } }, "required": [ "publicNetworkAccess" - ] - }, - "ClusterUpdateProperties": { - "title": "Redis Enterprise cluster properties for update operations", - "description": "Properties of Redis Enterprise clusters for update operations", - "type": "object", + ], "allOf": [ { "$ref": "#/definitions/ClusterProperties" } - ], - "properties": { - "publicNetworkAccess": { - "type": "string", - "description": "Whether or not public network traffic can access the Redis cluster. Only 'Enabled' or 'Disabled' can be set. null is returned only for clusters created using an old API version which do not have this property and cannot be set.", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "PublicNetworkAccess", - "modelAsString": true - }, - "x-nullable": true - } - } + ] }, "ClusterList": { "type": "object", + "description": "The response of a list-all operation.", "properties": { "value": { "type": "array", + "description": "The Cluster items on this page", "items": { "$ref": "#/definitions/Cluster" - }, - "description": "List of clusters." + } }, "nextLink": { "type": "string", - "readOnly": true, - "description": "The URI to fetch the next page of results." - } - }, - "description": "The response of a list-all operation." - }, - "Database": { - "description": "Describes a database on the Redis Enterprise cluster", - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/DatabaseCreateProperties", - "description": "Other properties of the database." + "format": "uri", + "description": "The link to the next page of items" } }, - "allOf": [ - { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" - } + "required": [ + "value" ] }, - "DatabaseUpdate": { - "description": "A partial update to the Redis Enterprise database", - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/DatabaseUpdateProperties", - "description": "Properties of the database." - } - } - }, - "DatabaseProperties": { - "title": "Redis Enterprise database properties", - "description": "Properties of Redis Enterprise databases, as opposed to general resource properties like location, tags", + "ClusterProperties": { "type": "object", + "description": "Properties of Redis Enterprise clusters, as opposed to general resource properties like location, tags", "properties": { - "clientProtocol": { - "type": "string", - "description": "Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted.", - "enum": [ - "Encrypted", - "Plaintext" - ], - "x-ms-enum": { - "name": "Protocol", - "modelAsString": true - } + "highAvailability": { + "$ref": "#/definitions/HighAvailability", + "description": "Enabled by default. If highAvailability is disabled, the data set is not replicated. This affects the availability SLA, and increases the risk of data loss." }, - "port": { - "type": "integer", - "format": "int32", + "minimumTlsVersion": { + "$ref": "#/definitions/TlsVersion", + "description": "The minimum TLS version for the cluster to support, e.g. '1.2'. Newer versions can be added in the future. Note that TLS 1.0 and TLS 1.1 are now completely obsolete -- you cannot use them. They are mentioned only for the sake of consistency with old API versions." + }, + "encryption": { + "$ref": "#/definitions/ClusterPropertiesEncryption", + "description": "Encryption-at-rest configuration for the cluster." + }, + "maintenanceConfiguration": { + "$ref": "#/definitions/MaintenanceConfiguration", + "description": "Cluster-level maintenance configuration.", "x-ms-mutability": [ "read", + "update", "create" - ], - "description": "TCP port of the database endpoint. Specified at create time. Defaults to an available port." + ] + }, + "hostName": { + "type": "string", + "description": "DNS name of the cluster endpoint", + "readOnly": true }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", - "readOnly": true, - "description": "Current provisioning status of the database" + "description": "Current provisioning status of the cluster", + "readOnly": true + }, + "redundancyMode": { + "$ref": "#/definitions/RedundancyMode", + "description": "Explains the current redundancy strategy of the cluster, which affects the expected SLA.", + "readOnly": true }, "resourceState": { "$ref": "#/definitions/ResourceState", - "readOnly": true, - "description": "Current resource status of the database" + "description": "Current resource status of the cluster", + "readOnly": true }, - "clusteringPolicy": { + "redisVersion": { "type": "string", - "description": "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.", - "enum": [ - "EnterpriseCluster", - "OSSCluster", - "NoCluster" - ], - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "x-ms-enum": { - "name": "ClusteringPolicy", - "modelAsString": true, - "values": [ - { - "value": "EnterpriseCluster", - "name": "EnterpriseCluster", - "description": "Enterprise clustering policy uses only the classic redis protocol, which does not support redis cluster commands." - }, - { - "value": "OSSCluster", - "name": "OSSCluster", - "description": "OSS clustering policy follows the redis cluster specification, and requires all clients to support redis clustering." - }, - { - "value": "NoCluster", - "name": "NoCluster", - "description": "The NoCluster policy is used for non-clustered Redis instances that do not require clustering features." - } - ] - } - }, - "evictionPolicy": { - "type": "string", - "description": "Redis eviction policy - default is VolatileLRU", - "enum": [ - "AllKeysLFU", - "AllKeysLRU", - "AllKeysRandom", - "VolatileLRU", - "VolatileLFU", - "VolatileTTL", - "VolatileRandom", - "NoEviction" - ], - "x-ms-enum": { - "name": "EvictionPolicy", - "modelAsString": true - } - }, - "persistence": { - "$ref": "#/definitions/Persistence", - "description": "Persistence settings", - "x-ms-identifiers": [] + "description": "Version of redis the cluster supports, e.g. '6'", + "readOnly": true }, - "modules": { + "privateEndpointConnections": { "type": "array", - "description": "Optional set of redis modules to enable in this database - modules can only be added at creation time.", + "description": "List of private endpoint connections associated with the specified Redis Enterprise cluster", "items": { - "$ref": "#/definitions/Module" + "$ref": "../../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnection" }, - "x-ms-mutability": [ - "read", - "create" - ], - "x-ms-identifiers": [ - "name" - ] - }, - "geoReplication": { - "type": "object", - "description": "Optional set of properties to configure geo replication for this database.", - "x-ms-mutability": [ - "read", - "create" - ], - "properties": { - "groupNickname": { - "type": "string", - "description": "Name for the group of linked database resources", - "x-ms-mutability": [ - "read", - "create" - ] - }, - "linkedDatabases": { - "type": "array", - "description": "List of database resources to link with this database", - "items": { - "$ref": "#/definitions/LinkedDatabase" - } - } - } - }, - "redisVersion": { - "type": "string", - "readOnly": true, - "description": "Version of Redis the database is running on, e.g. '6.0'" - }, - "deferUpgrade": { - "type": "string", - "description": "Option to defer upgrade when newest version is released - default is NotDeferred. Learn more: https://aka.ms/redisversionupgrade", - "enum": [ - "Deferred", - "NotDeferred" - ], - "x-ms-enum": { - "name": "DeferUpgradeSetting", - "modelAsString": true - } - }, - "accessKeysAuthentication": { - "type": "string", - "description": "This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created.", - "enum": [ - "Disabled", - "Enabled" - ], - "x-ms-enum": { - "name": "accessKeysAuthentication", - "modelAsString": true - } + "readOnly": true } } }, - "DatabaseCreateProperties": { - "title": "Redis Enterprise database create properties", - "description": "Properties for creating Redis Enterprise databases", - "allOf": [ - { - "$ref": "#/definitions/DatabaseProperties" - } - ], + "ClusterPropertiesEncryption": { "type": "object", + "description": "Encryption-at-rest configuration for the cluster.", "properties": { - "accessKeysAuthentication": { - "type": "string", - "description": "This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created. Default is Disabled.", - "enum": [ - "Disabled", - "Enabled" - ], - "default": "Disabled", - "x-ms-enum": { - "name": "accessKeysAuthentication", - "modelAsString": true - } + "customerManagedKeyEncryption": { + "$ref": "#/definitions/ClusterPropertiesEncryptionCustomerManagedKeyEncryption", + "description": "All Customer-managed key encryption properties for the resource. Set this to an empty object to use Microsoft-managed key encryption." } } }, - "DatabaseUpdateProperties": { - "title": "Redis Enterprise database update properties", - "description": "Properties for updating Redis Enterprise databases", - "allOf": [ - { - "$ref": "#/definitions/DatabaseProperties" - } - ], + "ClusterPropertiesEncryptionCustomerManagedKeyEncryption": { "type": "object", + "description": "All Customer-managed key encryption properties for the resource. Set this to an empty object to use Microsoft-managed key encryption.", "properties": { - "accessKeysAuthentication": { + "keyEncryptionKeyIdentity": { + "$ref": "#/definitions/ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity", + "description": "All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault." + }, + "keyEncryptionKeyUrl": { "type": "string", - "description": "This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created. Default is Disabled.", - "enum": [ - "Disabled", - "Enabled" - ], - "x-ms-enum": { - "name": "accessKeysAuthentication", - "modelAsString": true - } + "description": "Key encryption key Url, versioned only. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78" } } }, - "DatabaseList": { + "ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyIdentity": { "type": "object", + "description": "All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault.", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Database" - }, - "description": "List of databases" - }, - "nextLink": { + "userAssignedIdentityResourceId": { "type": "string", - "readOnly": true, - "description": "The URI to fetch the next page of results." + "description": "User assigned identity to use for accessing key encryption key Url. Ex: /subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId." + }, + "identityType": { + "$ref": "#/definitions/CmkIdentityType", + "description": "Only userAssignedIdentity is supported in this API version; other types may be supported in the future" } - }, - "description": "The response of a list-all operation." + } }, - "AccessPolicyAssignmentProperties": { - "title": "Redis Enterprise database access policy assignment properties", - "description": "Properties of Redis Enterprise database access policy assignment.", + "ClusterUpdate": { "type": "object", + "description": "A partial update to the Redis Enterprise cluster", "properties": { - "provisioningState": { - "$ref": "#/definitions/ProvisioningState", - "readOnly": true, - "description": "Current provisioning status of the access policy assignment." + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU to create, which affects price, performance, and features." }, - "accessPolicyName": { - "type": "string", - "description": "Name of access policy under specific access policy assignment. Only \"default\" policy is supported for now.", - "pattern": "^([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]|[a-zA-Z0-9])$" + "properties": { + "$ref": "#/definitions/ClusterUpdateProperties", + "description": "Other properties of the cluster.", + "x-ms-client-flatten": true }, - "user": { + "identity": { + "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the resource." + }, + "tags": { "type": "object", - "properties": { - "objectId": { - "type": "string", - "description": "The object ID of the user.", - "example": "6497c918-11ad-41e7-1b0f-7c518a87d0b0" - } + "description": "Resource tags.", + "additionalProperties": { + "type": "string" }, - "description": "The user associated with the access policy." + "x-ms-mutability": [ + "read", + "update", + "create" + ] + } + } + }, + "ClusterUpdateProperties": { + "type": "object", + "description": "Properties of Redis Enterprise clusters for update operations", + "properties": { + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess", + "description": "Whether or not public network traffic can access the Redis cluster. Only 'Enabled' or 'Disabled' can be set. null is returned only for clusters created using an old API version which do not have this property and cannot be set.", + "x-nullable": true } }, - "required": [ - "user", - "accessPolicyName" + "allOf": [ + { + "$ref": "#/definitions/ClusterProperties" + } ] }, - "AccessPolicyAssignment": { - "description": "Describes the access policy assignment of Redis Enterprise database", + "ClusteringPolicy": { + "type": "string", + "description": "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.", + "enum": [ + "EnterpriseCluster", + "OSSCluster", + "NoCluster" + ], + "x-ms-enum": { + "name": "ClusteringPolicy", + "modelAsString": true, + "values": [ + { + "name": "EnterpriseCluster", + "value": "EnterpriseCluster", + "description": "Enterprise clustering policy uses only the classic redis protocol, which does not support redis cluster commands." + }, + { + "name": "OSSCluster", + "value": "OSSCluster", + "description": "OSS clustering policy follows the redis cluster specification, and requires all clients to support redis clustering." + }, + { + "name": "NoCluster", + "value": "NoCluster", + "description": "The NoCluster policy is used for non-clustered Redis instances that do not require clustering features." + } + ] + } + }, + "CmkIdentityType": { + "type": "string", + "description": "Only userAssignedIdentity is supported in this API version; other types may be supported in the future", + "enum": [ + "systemAssignedIdentity", + "userAssignedIdentity" + ], + "x-ms-enum": { + "name": "CmkIdentityType", + "modelAsString": true, + "values": [ + { + "name": "SystemAssignedIdentity", + "value": "systemAssignedIdentity", + "description": "systemAssignedIdentity" + }, + { + "name": "UserAssignedIdentity", + "value": "userAssignedIdentity", + "description": "userAssignedIdentity" + } + ] + } + }, + "Database": { "type": "object", + "description": "Describes a database on the Redis Enterprise cluster", "properties": { "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AccessPolicyAssignmentProperties", - "description": "Properties of the access policy assignment." + "$ref": "#/definitions/DatabaseCreateProperties", + "description": "Other properties of the database.", + "x-ms-client-flatten": true } }, "allOf": [ { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, - "AccessPolicyAssignmentList": { + "DatabaseCreateProperties": { + "type": "object", + "description": "Properties for creating Redis Enterprise databases", + "properties": { + "accessKeysAuthentication": { + "type": "string", + "description": "This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created. Default is Disabled.", + "default": "Disabled", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "AccessKeysAuthentication", + "modelAsString": true, + "values": [ + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled" + }, + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled" + } + ] + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + } + ] + }, + "DatabaseList": { "type": "object", + "description": "The response of a list-all operation.", "properties": { "value": { "type": "array", + "description": "The Database items on this page", "items": { - "$ref": "#/definitions/AccessPolicyAssignment" - }, - "description": "List of access policy assignments." + "$ref": "#/definitions/Database" + } }, "nextLink": { "type": "string", - "readOnly": true, - "description": "The URI to fetch the next page of results." + "format": "uri", + "description": "The link to the next page of items" } }, - "description": "The response of a list-all operation." + "required": [ + "value" + ] }, - "Persistence": { - "title": "Persistence settings", - "description": "Persistence-related configuration for the Redis Enterprise database", + "DatabaseProperties": { "type": "object", + "description": "Properties of Redis Enterprise databases, as opposed to general resource properties like location, tags", "properties": { - "aofEnabled": { - "type": "boolean", - "description": "Sets whether AOF is enabled. Note that at most one of AOF or RDB persistence may be enabled." + "clientProtocol": { + "$ref": "#/definitions/Protocol", + "description": "Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted." }, - "rdbEnabled": { - "type": "boolean", - "description": "Sets whether RDB is enabled. Note that at most one of AOF or RDB persistence may be enabled." + "port": { + "type": "integer", + "format": "int32", + "description": "TCP port of the database endpoint. Specified at create time. Defaults to an available port.", + "x-ms-mutability": [ + "read", + "create" + ] }, - "aofFrequency": { - "type": "string", - "description": "Sets the frequency at which data is written to disk. Defaults to '1s', meaning 'every second'. Note that the 'always' setting is deprecated, because of its performance impact.", - "enum": [ - "1s", - "always" - ], - "x-ms-enum": { - "name": "AofFrequency", - "modelAsString": true - } + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Current provisioning status of the database", + "readOnly": true }, - "rdbFrequency": { - "type": "string", - "description": "Sets the frequency at which a snapshot of the database is created.", - "enum": [ - "1h", - "6h", - "12h" - ], - "x-ms-enum": { - "name": "RdbFrequency", - "modelAsString": true - } - } - } - }, - "Module": { - "title": "Module settings", - "description": "Specifies configuration of a redis module", - "type": "object", - "properties": { - "name": { - "type": "string", + "resourceState": { + "$ref": "#/definitions/ResourceState", + "description": "Current resource status of the database", + "readOnly": true + }, + "clusteringPolicy": { + "$ref": "#/definitions/ClusteringPolicy", + "description": "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.", "x-ms-mutability": [ "read", + "update", "create" + ] + }, + "evictionPolicy": { + "$ref": "#/definitions/EvictionPolicy", + "description": "Redis eviction policy - default is VolatileLRU" + }, + "persistence": { + "$ref": "#/definitions/Persistence", + "description": "Persistence settings" + }, + "modules": { + "type": "array", + "description": "Optional set of redis modules to enable in this database - modules can only be added at creation time.", + "items": { + "$ref": "#/definitions/Module" + }, + "x-ms-identifiers": [ + "name" ], - "description": "The name of the module, e.g. 'RedisBloom', 'RediSearch', 'RedisTimeSeries'" + "x-ms-mutability": [ + "read", + "create" + ] }, - "args": { - "type": "string", + "geoReplication": { + "$ref": "#/definitions/DatabasePropertiesGeoReplication", + "description": "Optional set of properties to configure geo replication for this database.", "x-ms-mutability": [ "read", "create" - ], - "description": "Configuration options for the module, e.g. 'ERROR_RATE 0.01 INITIAL_SIZE 400'." + ] }, - "version": { + "redisVersion": { "type": "string", - "readOnly": true, - "description": "The version of the module, e.g. '1.0'." + "description": "Version of Redis the database is running on, e.g. '6.0'", + "readOnly": true + }, + "deferUpgrade": { + "$ref": "#/definitions/DeferUpgradeSetting", + "description": "Option to defer upgrade when newest version is released - default is NotDeferred. Learn more: https://aka.ms/redisversionupgrade" + }, + "accessKeysAuthentication": { + "$ref": "#/definitions/AccessKeysAuthentication", + "description": "This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created." } - }, - "required": [ - "name" - ] + } }, - "LinkedDatabase": { - "title": "Linked Database", - "description": "Specifies details of a linked database resource.", + "DatabasePropertiesGeoReplication": { "type": "object", + "description": "Optional set of properties to configure geo replication for this database.", "properties": { - "id": { + "groupNickname": { "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Cache/redisEnterprise/databases" - } - ] - }, + "description": "Name for the group of linked database resources", "x-ms-mutability": [ "read", "create" - ], - "description": "Resource ID of a database resource to link with this database." + ] }, - "state": { - "type": "string", - "description": "State of the link between the database resources.", - "enum": [ - "Linked", - "Linking", - "Unlinking", - "LinkFailed", - "UnlinkFailed" - ], - "x-ms-enum": { - "name": "LinkState", - "modelAsString": true - }, - "readOnly": true + "linkedDatabases": { + "type": "array", + "description": "List of database resources to link with this database", + "items": { + "$ref": "#/definitions/LinkedDatabase" + } } } }, - "MaintenanceConfiguration": { - "title": "Cluster maintenance configuration", - "description": "Cluster-level maintenance configuration.", + "DatabaseUpdate": { "type": "object", + "description": "A partial update to the Redis Enterprise database", "properties": { - "maintenanceWindows": { - "type": "array", - "description": "Custom maintenance windows that apply to the cluster.", - "items": { - "$ref": "#/definitions/MaintenanceWindow" - }, - "x-ms-identifiers": [] + "properties": { + "$ref": "#/definitions/DatabaseUpdateProperties", + "description": "Properties of the database.", + "x-ms-client-flatten": true } } }, - "MaintenanceWindow": { - "title": "Maintenance window", - "description": "A single custom maintenance window.", + "DatabaseUpdateProperties": { "type": "object", + "description": "Properties for updating Redis Enterprise databases", "properties": { - "type": { - "type": "string", - "description": "Maintenance window type.", - "enum": [ - "Weekly" - ], - "x-ms-enum": { - "name": "MaintenanceWindowType", - "modelAsString": true - } - }, - "duration": { - "type": "string", - "description": "Duration in ISO-8601 format, for example 'PT5H'." - }, - "startHourUtc": { - "type": "integer", - "format": "int32", - "description": "Start hour (0-23) in UTC when the maintenance window begins.", - "minimum": 0, - "maximum": 23 - }, - "schedule": { - "$ref": "#/definitions/MaintenanceWindowSchedule", - "description": "Recurring schedule for the maintenance window." + "accessKeysAuthentication": { + "$ref": "#/definitions/AccessKeysAuthentication", + "description": "This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created. Default is Disabled." } }, - "required": [ - "type", - "duration", - "startHourUtc", - "schedule" + "allOf": [ + { + "$ref": "#/definitions/DatabaseProperties" + } ] }, - "MaintenanceWindowSchedule": { - "title": "Maintenance window schedule", - "description": "Schedule details for a maintenance window.", - "type": "object", - "properties": { - "dayOfWeek": { - "type": "string", - "description": "Day of week. Required when the maintenance window type is 'Weekly'.", - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "x-ms-enum": { - "name": "MaintenanceDayOfWeek", - "modelAsString": true + "DeferUpgradeSetting": { + "type": "string", + "description": "Option to defer upgrade when newest version is released - default is NotDeferred. Learn more: https://aka.ms/redisversionupgrade", + "enum": [ + "Deferred", + "NotDeferred" + ], + "x-ms-enum": { + "name": "DeferUpgradeSetting", + "modelAsString": true, + "values": [ + { + "name": "Deferred", + "value": "Deferred", + "description": "Deferred" + }, + { + "name": "NotDeferred", + "value": "NotDeferred", + "description": "NotDeferred" } - } + ] } }, - "AccessKeys": { - "title": "Access keys", - "description": "The secret access keys used for authenticating connections to redis", - "type": "object", - "properties": { - "primaryKey": { - "readOnly": true, - "type": "string", - "description": "The current primary key that clients can use to authenticate" - }, - "secondaryKey": { - "readOnly": true, - "type": "string", - "description": "The current secondary key that clients can use to authenticate" - } + "EvictionPolicy": { + "type": "string", + "description": "Redis eviction policy - default is VolatileLRU", + "enum": [ + "AllKeysLFU", + "AllKeysLRU", + "AllKeysRandom", + "VolatileLRU", + "VolatileLFU", + "VolatileTTL", + "VolatileRandom", + "NoEviction" + ], + "x-ms-enum": { + "name": "EvictionPolicy", + "modelAsString": true, + "values": [ + { + "name": "AllKeysLFU", + "value": "AllKeysLFU", + "description": "AllKeysLFU" + }, + { + "name": "AllKeysLRU", + "value": "AllKeysLRU", + "description": "AllKeysLRU" + }, + { + "name": "AllKeysRandom", + "value": "AllKeysRandom", + "description": "AllKeysRandom" + }, + { + "name": "VolatileLRU", + "value": "VolatileLRU", + "description": "VolatileLRU" + }, + { + "name": "VolatileLFU", + "value": "VolatileLFU", + "description": "VolatileLFU" + }, + { + "name": "VolatileTTL", + "value": "VolatileTTL", + "description": "VolatileTTL" + }, + { + "name": "VolatileRandom", + "value": "VolatileRandom", + "description": "VolatileRandom" + }, + { + "name": "NoEviction", + "value": "NoEviction", + "description": "NoEviction" + } + ] } }, - "RegenerateKeyParameters": { - "title": "Regenerate access keys request", + "ExportClusterParameters": { "type": "object", + "description": "Parameters for a Redis Enterprise export operation.", "properties": { - "keyType": { + "sasUri": { "type": "string", - "description": "Which access key to regenerate.", - "enum": [ - "Primary", - "Secondary" - ], - "x-ms-enum": { - "name": "AccessKeyType", - "modelAsString": false - } + "format": "password", + "description": "SAS URI for the target directory to export to", + "x-ms-secret": true } }, "required": [ - "keyType" - ], - "description": "Specifies which access keys to reset to a new random value." + "sasUri" + ] }, - "ImportClusterParameters": { - "title": "Import RDB files into a target database", + "FlushParameters": { "type": "object", + "description": "Parameters for a Redis Enterprise active geo-replication flush operation", "properties": { - "sasUris": { + "ids": { "type": "array", + "description": "The identifiers of all the other database resources in the georeplication group to be flushed.", "items": { - "type": "string" - }, - "description": "SAS URIs for the target blobs to import from", - "x-ms-secret": true + "type": "string", + "format": "arm-id", + "description": "A type definition that refers the id to an Azure Resource Manager resource.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Cache/redisEnterprise/databases" + } + ] + } + } } - }, - "required": [ - "sasUris" - ], - "description": "Parameters for a Redis Enterprise import operation." + } }, - "ExportClusterParameters": { - "title": "Export an RDB file into a target database", + "ForceLinkParameters": { "type": "object", + "description": "Parameters for reconfiguring active geo-replication, of an existing database that was previously unlinked from a replication group.", "properties": { - "sasUri": { - "type": "string", - "description": "SAS URI for the target directory to export to", - "x-ms-secret": true + "geoReplication": { + "$ref": "#/definitions/ForceLinkParametersGeoReplication", + "description": "Properties to configure geo replication for this database.", + "x-ms-mutability": [ + "read", + "create" + ] } }, "required": [ - "sasUri" - ], - "description": "Parameters for a Redis Enterprise export operation." + "geoReplication" + ] }, - "OperationStatus": { - "description": "The status of a long-running operation.", + "ForceLinkParametersGeoReplication": { "type": "object", + "description": "Properties to configure geo replication for this database.", "properties": { - "id": { + "groupNickname": { "type": "string", - "description": "The operation's unique id." + "description": "The name of the group of linked database resources. This should match the existing replication group name.", + "x-ms-mutability": [ + "read", + "create" + ] }, - "name": { - "type": "string", - "description": "The operation's name." - }, - "startTime": { - "type": "string", - "description": "The start time of the operation." - }, - "endTime": { - "type": "string", - "description": "The end time of the operation." - }, - "status": { - "type": "string", - "description": "The current status of the operation." - }, - "error": { - "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse", - "description": "Error response describing why the operation failed." - } - } - }, - "ForceLinkParameters": { - "type": "object", - "description": "Parameters for reconfiguring active geo-replication, of an existing database that was previously unlinked from a replication group.", - "required": [ - "geoReplication" - ], - "properties": { - "geoReplication": { - "type": "object", - "description": "Properties to configure geo replication for this database.", - "x-ms-mutability": [ - "read", - "create" - ], - "properties": { - "groupNickname": { - "type": "string", - "description": "The name of the group of linked database resources. This should match the existing replication group name.", - "x-ms-mutability": [ - "read", - "create" - ] - }, - "linkedDatabases": { - "type": "array", - "description": "The resource IDs of the databases that are expected to be linked and included in the replication group. This parameter is used to validate that the linking is to the expected (unlinked) part of the replication group, if it is splintered.", - "items": { - "$ref": "#/definitions/LinkedDatabase" - } - } + "linkedDatabases": { + "type": "array", + "description": "The resource IDs of the databases that are expected to be linked and included in the replication group. This parameter is used to validate that the linking is to the expected (unlinked) part of the replication group, if it is splintered.", + "items": { + "$ref": "#/definitions/LinkedDatabase" } } } }, "ForceUnlinkParameters": { - "title": "Forcibly unlink another database from this database.", - "description": "Parameters for a Redis Enterprise Active Geo Replication Force Unlink operation.", "type": "object", + "description": "Parameters for a Redis Enterprise Active Geo Replication Force Unlink operation.", "properties": { "ids": { "type": "array", + "description": "The resource IDs of the database resources to be unlinked.", "items": { "type": "string", "format": "arm-id", + "description": "A type definition that refers the id to an Azure Resource Manager resource.", "x-ms-arm-id-details": { "allowedResources": [ { @@ -3067,288 +3212,1198 @@ } ] } - }, - "description": "The resource IDs of the database resources to be unlinked." + } } }, "required": [ "ids" ] }, - "FlushParameters": { - "title": "Flush all the keys from the current and all its linked databases.", + "HighAvailability": { + "type": "string", + "description": "Enabled by default. If highAvailability is disabled, the data set is not replicated. This affects the availability SLA, and increases the risk of data loss.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "HighAvailability", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled" + } + ] + } + }, + "ImportClusterParameters": { "type": "object", + "description": "Parameters for a Redis Enterprise import operation.", "properties": { - "ids": { + "sasUris": { "type": "array", + "format": "password", + "description": "SAS URIs for the target blobs to import from", "items": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Cache/redisEnterprise/databases" - } - ] - } + "type": "string" }, - "description": "The identifiers of all the other database resources in the georeplication group to be flushed." + "x-ms-secret": true } }, - "description": "Parameters for a Redis Enterprise active geo-replication flush operation" + "required": [ + "sasUris" + ] }, - "SkuDetails": { - "title": "SKU details", - "description": "Details of a Redis Enterprise cluster SKU.", + "Kind": { + "type": "string", + "description": "Distinguishes the kind of cluster. Read-only.", + "enum": [ + "v1", + "v2" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true, + "values": [ + { + "name": "V1", + "value": "v1", + "description": "v1" + }, + { + "name": "V2", + "value": "v2", + "description": "v2" + } + ] + } + }, + "LinkState": { + "type": "string", + "description": "State of the link between the database resources.", + "enum": [ + "Linked", + "Linking", + "Unlinking", + "LinkFailed", + "UnlinkFailed" + ], + "x-ms-enum": { + "name": "LinkState", + "modelAsString": true, + "values": [ + { + "name": "Linked", + "value": "Linked", + "description": "Linked" + }, + { + "name": "Linking", + "value": "Linking", + "description": "Linking" + }, + { + "name": "Unlinking", + "value": "Unlinking", + "description": "Unlinking" + }, + { + "name": "LinkFailed", + "value": "LinkFailed", + "description": "LinkFailed" + }, + { + "name": "UnlinkFailed", + "value": "UnlinkFailed", + "description": "UnlinkFailed" + } + ] + } + }, + "LinkedDatabase": { "type": "object", + "description": "Specifies details of a linked database resource.", "properties": { - "name": { - "readOnly": true, + "id": { "type": "string", - "description": "The name of the SKU." + "format": "arm-id", + "description": "Resource ID of a database resource to link with this database.", + "x-ms-mutability": [ + "read", + "create" + ], + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Cache/redisEnterprise/databases" + } + ] + } }, - "sizeInGB": { - "readOnly": true, - "type": "number", - "description": "The cache size in GB." + "state": { + "$ref": "#/definitions/LinkState", + "description": "State of the link between the database resources.", + "readOnly": true } } }, - "SkuDetailsList": { + "MaintenanceConfiguration": { "type": "object", + "description": "Cluster-level maintenance configuration.", "properties": { - "skus": { + "maintenanceWindows": { "type": "array", + "description": "Custom maintenance windows that apply to the cluster.", "items": { - "$ref": "#/definitions/SkuDetails" + "$ref": "#/definitions/MaintenanceWindow" }, - "description": "List of SKUS available to scale up or scale down." + "x-ms-identifiers": [] } - }, - "description": "The response of a listSkusForScaling operation." + } }, - "MigrationProvisioningState": { + "MaintenanceDayOfWeek": { "type": "string", - "readOnly": true, - "description": "Current provisioning status", + "description": "Day of week. Required when the maintenance window type is 'Weekly'.", "enum": [ - "Accepted", - "InProgress", - "ReadyForDnsSwitch", - "Succeeded", - "Failed", - "Cancelling", - "Cancelled" + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" ], "x-ms-enum": { - "name": "MigrationProvisioningState", + "name": "MaintenanceDayOfWeek", "modelAsString": true, "values": [ { - "name": "Accepted", - "value": "Accepted", - "description": "The request has been accepted and the migration operation is being initialized." + "name": "Sunday", + "value": "Sunday" }, { - "name": "InProgress", - "value": "InProgress", - "description": "The migration operation is in progress." + "name": "Monday", + "value": "Monday" }, { - "name": "ReadyForDnsSwitch", - "value": "ReadyForDnsSwitch", - "description": "The migration operation has completed transferring data and is ready for DNS switch." + "name": "Tuesday", + "value": "Tuesday" }, { - "name": "Succeeded", - "value": "Succeeded", - "description": "The migration operation has completed successfully." + "name": "Wednesday", + "value": "Wednesday" }, { - "name": "Failed", - "value": "Failed", - "description": "The migration operation has failed." + "name": "Thursday", + "value": "Thursday" }, { - "name": "Cancelling", - "value": "Cancelling", - "description": "The migration operation is being cancelled." + "name": "Friday", + "value": "Friday" }, { - "name": "Cancelled", - "value": "Cancelled", - "description": "The migration operation has been cancelled." + "name": "Saturday", + "value": "Saturday" + } + ] + } + }, + "MaintenanceWindow": { + "type": "object", + "description": "A single custom maintenance window.", + "properties": { + "type": { + "$ref": "#/definitions/MaintenanceWindowType", + "description": "Maintenance window type." + }, + "duration": { + "type": "string", + "description": "Duration in ISO-8601 format, for example 'PT5H'." + }, + "startHourUtc": { + "type": "integer", + "format": "int32", + "description": "Start hour (0-23) in UTC when the maintenance window begins.", + "minimum": 0, + "maximum": 23 + }, + "schedule": { + "$ref": "#/definitions/MaintenanceWindowSchedule", + "description": "Recurring schedule for the maintenance window." + } + }, + "required": [ + "type", + "duration", + "startHourUtc", + "schedule" + ] + }, + "MaintenanceWindowSchedule": { + "type": "object", + "description": "Schedule details for a maintenance window.", + "properties": { + "dayOfWeek": { + "$ref": "#/definitions/MaintenanceDayOfWeek", + "description": "Day of week. Required when the maintenance window type is 'Weekly'." + } + } + }, + "MaintenanceWindowType": { + "type": "string", + "description": "Maintenance window type.", + "enum": [ + "Weekly" + ], + "x-ms-enum": { + "name": "MaintenanceWindowType", + "modelAsString": true, + "values": [ + { + "name": "Weekly", + "value": "Weekly", + "description": "Weekly maintenance window." } ] } }, "Migration": { - "description": "Describes the current migration operation on a Redis Enterprise cluster.", "type": "object", + "description": "Describes the current migration operation on a Redis Enterprise cluster.", "properties": { "properties": { - "x-ms-client-flatten": true, "$ref": "#/definitions/MigrationProperties", "description": "Properties of the migration operation." } }, "allOf": [ { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "MigrationList": { "type": "object", + "description": "The response of a list-all migrations.", "properties": { "value": { "type": "array", + "description": "The Migration items on this page", "items": { "$ref": "#/definitions/Migration" - }, - "description": "List of migration operations." + } }, "nextLink": { "type": "string", "format": "uri", - "readOnly": true, - "description": "The URI to fetch the next page of results." + "description": "The link to the next page of items" } }, - "description": "The response of a list-all migrations." + "required": [ + "value" + ] }, "MigrationProperties": { - "title": "Redis Enterprise migration properties", - "description": "Properties for Redis Enterprise migration operation.", "type": "object", - "discriminator": "sourceType", + "description": "Properties for Redis Enterprise migration operation.", "properties": { "sourceType": { - "type": "string", - "description": "Describes the source of the migration operation.", - "enum": [ - "AzureCacheForRedis" - ], - "x-ms-enum": { - "name": "SourceType", - "modelAsString": true, - "values": [ - { - "name": "AzureCacheForRedis", - "value": "AzureCacheForRedis", - "description": "Migration from Azure Cache for Redis to Redis Enterprise." - } - ] - } + "$ref": "#/definitions/SourceType", + "description": "Describes the source of the migration operation." }, "targetResourceId": { "type": "string", "format": "arm-id", + "description": "The Azure resource ID of the Azure Managed Redis destination cache to migrate.", + "readOnly": true, "x-ms-arm-id-details": { "allowedResources": [ { "type": "Microsoft.Cache/redisEnterprise" } ] - }, - "readOnly": true, - "description": "The Azure resource ID of the Azure Managed Redis destination cache to migrate." + } }, "provisioningState": { "$ref": "#/definitions/MigrationProvisioningState", - "readOnly": true, - "description": "Current provisioning status of the migration" + "description": "Current provisioning status of the migration", + "readOnly": true }, "statusDetails": { "type": "string", - "readOnly": true, - "description": "Additional details about the migration operation's status in free text format." + "description": "Additional details about the migration operation's status in free text format.", + "readOnly": true }, "creationTime": { "type": "string", "format": "date-time", - "readOnly": true, - "description": "The timestamp when the migration operation was created." + "description": "The timestamp when the migration operation was created.", + "readOnly": true }, "lastModifiedTime": { "type": "string", "format": "date-time", - "readOnly": true, - "description": "The timestamp when the migration operation was last updated." + "description": "The timestamp when the migration operation was last updated.", + "readOnly": true } }, + "discriminator": "sourceType", "required": [ "sourceType" ] }, - "AzureCacheForRedisMigrationProperties": { - "title": "Redis Enterprise migration properties for Azure Cache for Redis", - "description": "Properties for Redis Enterprise migration operation for Azure Cache for Redis.", - "x-ms-discriminator-value": "AzureCacheForRedis", - "allOf": [ - { - "$ref": "#/definitions/MigrationProperties" - }, - { - "type": "object", - "properties": { - "sourceResourceId": { - "type": "string", - "format": "arm-id", - "x-ms-arm-id-details": { - "allowedResources": [ - { - "type": "Microsoft.Cache/redis" - } - ] - }, - "description": "The source resource ID to migrate from. This is the resource ID of the Azure Cache for Redis." - }, - "switchDns": { - "type": "boolean", - "description": "Sets whether the DNS is switched automatically after the data is transferred from the source cache to the target cache. This property must be true during the preview." - }, - "skipDataMigration": { - "type": "boolean", - "description": "Sets whether the data is migrated from source to target or not. This property must be true during the preview." - } + "MigrationProvisioningState": { + "type": "string", + "description": "Current provisioning status", + "enum": [ + "Accepted", + "InProgress", + "ReadyForDnsSwitch", + "Succeeded", + "Failed", + "Cancelling", + "Cancelled" + ], + "x-ms-enum": { + "name": "MigrationProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Accepted", + "value": "Accepted", + "description": "The request has been accepted and the migration operation is being initialized." + }, + { + "name": "InProgress", + "value": "InProgress", + "description": "The migration operation is in progress." + }, + { + "name": "ReadyForDnsSwitch", + "value": "ReadyForDnsSwitch", + "description": "The migration operation has completed transferring data and is ready for DNS switch." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The migration operation has completed successfully." }, - "required": [ - "sourceResourceId", - "switchDns", - "skipDataMigration" + { + "name": "Failed", + "value": "Failed", + "description": "The migration operation has failed." + }, + { + "name": "Cancelling", + "value": "Cancelling", + "description": "The migration operation is being cancelled." + }, + { + "name": "Cancelled", + "value": "Cancelled", + "description": "The migration operation has been cancelled." + } + ] + } + }, + "Module": { + "type": "object", + "description": "Specifies configuration of a redis module", + "properties": { + "name": { + "type": "string", + "description": "The name of the module, e.g. 'RedisBloom', 'RediSearch', 'RedisTimeSeries'", + "x-ms-mutability": [ + "read", + "create" ] + }, + "args": { + "type": "string", + "description": "Configuration options for the module, e.g. 'ERROR_RATE 0.01 INITIAL_SIZE 400'.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "version": { + "type": "string", + "description": "The version of the module, e.g. '1.0'.", + "readOnly": true } + }, + "required": [ + "name" ] - } - }, - "parameters": { - "ClusterNameParameter": { - "name": "clusterName", - "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$", - "in": "path", - "required": true, + }, + "OperationStatus": { + "type": "object", + "description": "The status of a long-running operation.", + "properties": { + "id": { + "type": "string", + "description": "The operation's unique id." + }, + "name": { + "type": "string", + "description": "The operation's name." + }, + "startTime": { + "type": "string", + "description": "The start time of the operation." + }, + "endTime": { + "type": "string", + "description": "The end time of the operation." + }, + "status": { + "type": "string", + "description": "The current status of the operation." + }, + "error": { + "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse", + "description": "Error response describing why the operation failed." + } + } + }, + "Persistence": { + "type": "object", + "description": "Persistence-related configuration for the Redis Enterprise database", + "properties": { + "aofEnabled": { + "type": "boolean", + "description": "Sets whether AOF is enabled. Note that at most one of AOF or RDB persistence may be enabled." + }, + "rdbEnabled": { + "type": "boolean", + "description": "Sets whether RDB is enabled. Note that at most one of AOF or RDB persistence may be enabled." + }, + "aofFrequency": { + "$ref": "#/definitions/AofFrequency", + "description": "Sets the frequency at which data is written to disk. Defaults to '1s', meaning 'every second'. Note that the 'always' setting is deprecated, because of its performance impact." + }, + "rdbFrequency": { + "$ref": "#/definitions/RdbFrequency", + "description": "Sets the frequency at which a snapshot of the database is created." + } + } + }, + "Protocol": { "type": "string", - "description": "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", - "x-ms-parameter-location": "method" - }, - "DatabaseNameParameter": { - "name": "databaseName", - "pattern": "^(?=.{1,60}$)[A-Za-z0-9]+(-[A-Za-z0-9]+)*$", - "in": "path", - "required": true, + "description": "Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted.", + "enum": [ + "Encrypted", + "Plaintext" + ], + "x-ms-enum": { + "name": "Protocol", + "modelAsString": true, + "values": [ + { + "name": "Encrypted", + "value": "Encrypted", + "description": "Encrypted" + }, + { + "name": "Plaintext", + "value": "Plaintext", + "description": "Plaintext" + } + ] + } + }, + "ProvisioningState": { "type": "string", - "description": "The name of the Redis Enterprise database.", - "x-ms-parameter-location": "method" - }, - "AccessPolicyAssignmentNameParameter": { - "name": "accessPolicyAssignmentName", - "pattern": "^[A-Za-z0-9]{1,60}$", - "in": "path", - "required": true, + "description": "Current provisioning status", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Succeeded" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Failed" + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Canceled" + }, + { + "name": "Creating", + "value": "Creating", + "description": "Creating" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Updating" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Deleting" + } + ] + } + }, + "PublicNetworkAccess": { + "type": "string", + "description": "Whether or not public network traffic can access the Redis cluster. Only 'Enabled' or 'Disabled' can be set. null is returned only for clusters created using an old API version which do not have this property and cannot be set.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled" + } + ] + } + }, + "RdbFrequency": { + "type": "string", + "description": "Sets the frequency at which a snapshot of the database is created.", + "enum": [ + "1h", + "6h", + "12h" + ], + "x-ms-enum": { + "name": "RdbFrequency", + "modelAsString": true, + "values": [ + { + "name": "OneH", + "value": "1h", + "description": "1h" + }, + { + "name": "SixH", + "value": "6h", + "description": "6h" + }, + { + "name": "TwelveH", + "value": "12h", + "description": "12h" + } + ] + } + }, + "RedundancyMode": { + "type": "string", + "description": "Explains the current redundancy strategy of the cluster, which affects the expected SLA.", + "enum": [ + "None", + "LR", + "ZR" + ], + "x-ms-enum": { + "name": "RedundancyMode", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "No redundancy. Availability loss will occur." + }, + { + "name": "LR", + "value": "LR", + "description": "Local redundancy with high availability." + }, + { + "name": "ZR", + "value": "ZR", + "description": "Zone redundant. Higher availability." + } + ] + } + }, + "RegenerateKeyParameters": { + "type": "object", + "description": "Specifies which access keys to reset to a new random value.", + "properties": { + "keyType": { + "$ref": "#/definitions/AccessKeyType", + "description": "Which access key to regenerate." + } + }, + "required": [ + "keyType" + ] + }, + "ResourceState": { "type": "string", - "description": "The name of the Redis Enterprise database access policy assignment.", - "x-ms-parameter-location": "method" + "description": "Current resource status", + "enum": [ + "Running", + "Creating", + "CreateFailed", + "Updating", + "UpdateFailed", + "Deleting", + "DeleteFailed", + "Enabling", + "EnableFailed", + "Disabling", + "DisableFailed", + "Disabled", + "Scaling", + "ScalingFailed", + "Moving" + ], + "x-ms-enum": { + "name": "ResourceState", + "modelAsString": true, + "values": [ + { + "name": "Running", + "value": "Running", + "description": "Running" + }, + { + "name": "Creating", + "value": "Creating", + "description": "Creating" + }, + { + "name": "CreateFailed", + "value": "CreateFailed", + "description": "CreateFailed" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Updating" + }, + { + "name": "UpdateFailed", + "value": "UpdateFailed", + "description": "UpdateFailed" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Deleting" + }, + { + "name": "DeleteFailed", + "value": "DeleteFailed", + "description": "DeleteFailed" + }, + { + "name": "Enabling", + "value": "Enabling", + "description": "Enabling" + }, + { + "name": "EnableFailed", + "value": "EnableFailed", + "description": "EnableFailed" + }, + { + "name": "Disabling", + "value": "Disabling", + "description": "Disabling" + }, + { + "name": "DisableFailed", + "value": "DisableFailed", + "description": "DisableFailed" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Disabled" + }, + { + "name": "Scaling", + "value": "Scaling", + "description": "Scaling" + }, + { + "name": "ScalingFailed", + "value": "ScalingFailed", + "description": "ScalingFailed" + }, + { + "name": "Moving", + "value": "Moving", + "description": "Moving" + } + ] + } + }, + "Sku": { + "type": "object", + "description": "SKU parameters supplied to the create Redis Enterprise cluster operation.", + "properties": { + "name": { + "$ref": "#/definitions/SkuName", + "description": "The level of Redis Enterprise cluster to deploy. Possible values: ('Balanced_B5', 'MemoryOptimized_M10', 'ComputeOptimized_X5', etc.). For more information on SKUs see the latest pricing documentation. Note that additional SKUs may become supported in the future." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "This property is only used with Enterprise and EnterpriseFlash SKUs. Determines the size of the cluster. Valid values are (2, 4, 6, ...) for Enterprise SKUs and (3, 9, 15, ...) for EnterpriseFlash SKUs." + } + }, + "required": [ + "name" + ] + }, + "SkuDetails": { + "type": "object", + "description": "Details of a Redis Enterprise cluster SKU.", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU.", + "readOnly": true + }, + "sizeInGB": { + "type": "number", + "format": "float", + "description": "The cache size in GB.", + "readOnly": true + } + } + }, + "SkuDetailsList": { + "type": "object", + "description": "The response of a listSkusForScaling operation.", + "properties": { + "skus": { + "type": "array", + "description": "List of SKUS available to scale up or scale down.", + "items": { + "$ref": "#/definitions/SkuDetails" + } + } + } + }, + "SkuName": { + "type": "string", + "description": "The level of Redis Enterprise cluster to deploy. Possible values: ('Balanced_B5', 'MemoryOptimized_M10', 'ComputeOptimized_X5', etc.). For more information on SKUs see the latest pricing documentation. Note that additional SKUs may become supported in the future.", + "enum": [ + "Enterprise_E1", + "Enterprise_E5", + "Enterprise_E10", + "Enterprise_E20", + "Enterprise_E50", + "Enterprise_E100", + "Enterprise_E200", + "Enterprise_E400", + "EnterpriseFlash_F300", + "EnterpriseFlash_F700", + "EnterpriseFlash_F1500", + "Balanced_B0", + "Balanced_B1", + "Balanced_B3", + "Balanced_B5", + "Balanced_B10", + "Balanced_B20", + "Balanced_B50", + "Balanced_B100", + "Balanced_B150", + "Balanced_B250", + "Balanced_B350", + "Balanced_B500", + "Balanced_B700", + "Balanced_B1000", + "MemoryOptimized_M10", + "MemoryOptimized_M20", + "MemoryOptimized_M50", + "MemoryOptimized_M100", + "MemoryOptimized_M150", + "MemoryOptimized_M250", + "MemoryOptimized_M350", + "MemoryOptimized_M500", + "MemoryOptimized_M700", + "MemoryOptimized_M1000", + "MemoryOptimized_M1500", + "MemoryOptimized_M2000", + "ComputeOptimized_X3", + "ComputeOptimized_X5", + "ComputeOptimized_X10", + "ComputeOptimized_X20", + "ComputeOptimized_X50", + "ComputeOptimized_X100", + "ComputeOptimized_X150", + "ComputeOptimized_X250", + "ComputeOptimized_X350", + "ComputeOptimized_X500", + "ComputeOptimized_X700", + "FlashOptimized_A250", + "FlashOptimized_A500", + "FlashOptimized_A700", + "FlashOptimized_A1000", + "FlashOptimized_A1500", + "FlashOptimized_A2000", + "FlashOptimized_A4500" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true, + "values": [ + { + "name": "EnterpriseE1", + "value": "Enterprise_E1", + "description": "Enterprise_E1" + }, + { + "name": "EnterpriseE5", + "value": "Enterprise_E5", + "description": "Enterprise_E5" + }, + { + "name": "EnterpriseE10", + "value": "Enterprise_E10", + "description": "Enterprise_E10" + }, + { + "name": "EnterpriseE20", + "value": "Enterprise_E20", + "description": "Enterprise_E20" + }, + { + "name": "EnterpriseE50", + "value": "Enterprise_E50", + "description": "Enterprise_E50" + }, + { + "name": "EnterpriseE100", + "value": "Enterprise_E100", + "description": "Enterprise_E100" + }, + { + "name": "EnterpriseE200", + "value": "Enterprise_E200", + "description": "Enterprise_E200" + }, + { + "name": "EnterpriseE400", + "value": "Enterprise_E400", + "description": "Enterprise_E400" + }, + { + "name": "EnterpriseFlashF300", + "value": "EnterpriseFlash_F300", + "description": "EnterpriseFlash_F300" + }, + { + "name": "EnterpriseFlashF700", + "value": "EnterpriseFlash_F700", + "description": "EnterpriseFlash_F700" + }, + { + "name": "EnterpriseFlashF1500", + "value": "EnterpriseFlash_F1500", + "description": "EnterpriseFlash_F1500" + }, + { + "name": "BalancedB0", + "value": "Balanced_B0", + "description": "Balanced_B0" + }, + { + "name": "BalancedB1", + "value": "Balanced_B1", + "description": "Balanced_B1" + }, + { + "name": "BalancedB3", + "value": "Balanced_B3", + "description": "Balanced_B3" + }, + { + "name": "BalancedB5", + "value": "Balanced_B5", + "description": "Balanced_B5" + }, + { + "name": "BalancedB10", + "value": "Balanced_B10", + "description": "Balanced_B10" + }, + { + "name": "BalancedB20", + "value": "Balanced_B20", + "description": "Balanced_B20" + }, + { + "name": "BalancedB50", + "value": "Balanced_B50", + "description": "Balanced_B50" + }, + { + "name": "BalancedB100", + "value": "Balanced_B100", + "description": "Balanced_B100" + }, + { + "name": "BalancedB150", + "value": "Balanced_B150", + "description": "Balanced_B150" + }, + { + "name": "BalancedB250", + "value": "Balanced_B250", + "description": "Balanced_B250" + }, + { + "name": "BalancedB350", + "value": "Balanced_B350", + "description": "Balanced_B350" + }, + { + "name": "BalancedB500", + "value": "Balanced_B500", + "description": "Balanced_B500" + }, + { + "name": "BalancedB700", + "value": "Balanced_B700", + "description": "Balanced_B700" + }, + { + "name": "BalancedB1000", + "value": "Balanced_B1000", + "description": "Balanced_B1000" + }, + { + "name": "MemoryOptimizedM10", + "value": "MemoryOptimized_M10", + "description": "MemoryOptimized_M10" + }, + { + "name": "MemoryOptimizedM20", + "value": "MemoryOptimized_M20", + "description": "MemoryOptimized_M20" + }, + { + "name": "MemoryOptimizedM50", + "value": "MemoryOptimized_M50", + "description": "MemoryOptimized_M50" + }, + { + "name": "MemoryOptimizedM100", + "value": "MemoryOptimized_M100", + "description": "MemoryOptimized_M100" + }, + { + "name": "MemoryOptimizedM150", + "value": "MemoryOptimized_M150", + "description": "MemoryOptimized_M150" + }, + { + "name": "MemoryOptimizedM250", + "value": "MemoryOptimized_M250", + "description": "MemoryOptimized_M250" + }, + { + "name": "MemoryOptimizedM350", + "value": "MemoryOptimized_M350", + "description": "MemoryOptimized_M350" + }, + { + "name": "MemoryOptimizedM500", + "value": "MemoryOptimized_M500", + "description": "MemoryOptimized_M500" + }, + { + "name": "MemoryOptimizedM700", + "value": "MemoryOptimized_M700", + "description": "MemoryOptimized_M700" + }, + { + "name": "MemoryOptimizedM1000", + "value": "MemoryOptimized_M1000", + "description": "MemoryOptimized_M1000" + }, + { + "name": "MemoryOptimizedM1500", + "value": "MemoryOptimized_M1500", + "description": "MemoryOptimized_M1500" + }, + { + "name": "MemoryOptimizedM2000", + "value": "MemoryOptimized_M2000", + "description": "MemoryOptimized_M2000" + }, + { + "name": "ComputeOptimizedX3", + "value": "ComputeOptimized_X3", + "description": "ComputeOptimized_X3" + }, + { + "name": "ComputeOptimizedX5", + "value": "ComputeOptimized_X5", + "description": "ComputeOptimized_X5" + }, + { + "name": "ComputeOptimizedX10", + "value": "ComputeOptimized_X10", + "description": "ComputeOptimized_X10" + }, + { + "name": "ComputeOptimizedX20", + "value": "ComputeOptimized_X20", + "description": "ComputeOptimized_X20" + }, + { + "name": "ComputeOptimizedX50", + "value": "ComputeOptimized_X50", + "description": "ComputeOptimized_X50" + }, + { + "name": "ComputeOptimizedX100", + "value": "ComputeOptimized_X100", + "description": "ComputeOptimized_X100" + }, + { + "name": "ComputeOptimizedX150", + "value": "ComputeOptimized_X150", + "description": "ComputeOptimized_X150" + }, + { + "name": "ComputeOptimizedX250", + "value": "ComputeOptimized_X250", + "description": "ComputeOptimized_X250" + }, + { + "name": "ComputeOptimizedX350", + "value": "ComputeOptimized_X350", + "description": "ComputeOptimized_X350" + }, + { + "name": "ComputeOptimizedX500", + "value": "ComputeOptimized_X500", + "description": "ComputeOptimized_X500" + }, + { + "name": "ComputeOptimizedX700", + "value": "ComputeOptimized_X700", + "description": "ComputeOptimized_X700" + }, + { + "name": "FlashOptimizedA250", + "value": "FlashOptimized_A250", + "description": "FlashOptimized_A250" + }, + { + "name": "FlashOptimizedA500", + "value": "FlashOptimized_A500", + "description": "FlashOptimized_A500" + }, + { + "name": "FlashOptimizedA700", + "value": "FlashOptimized_A700", + "description": "FlashOptimized_A700" + }, + { + "name": "FlashOptimizedA1000", + "value": "FlashOptimized_A1000", + "description": "FlashOptimized_A1000" + }, + { + "name": "FlashOptimizedA1500", + "value": "FlashOptimized_A1500", + "description": "FlashOptimized_A1500" + }, + { + "name": "FlashOptimizedA2000", + "value": "FlashOptimized_A2000", + "description": "FlashOptimized_A2000" + }, + { + "name": "FlashOptimizedA4500", + "value": "FlashOptimized_A4500", + "description": "FlashOptimized_A4500" + } + ] + } + }, + "SourceType": { + "type": "string", + "description": "Describes the source of the migration operation.", + "enum": [ + "AzureCacheForRedis" + ], + "x-ms-enum": { + "name": "SourceType", + "modelAsString": true, + "values": [ + { + "name": "AzureCacheForRedis", + "value": "AzureCacheForRedis", + "description": "Migration from Azure Cache for Redis to Redis Enterprise." + } + ] + } + }, + "TlsVersion": { + "type": "string", + "description": "The minimum TLS version for the cluster to support, e.g. '1.2'. Newer versions can be added in the future. Note that TLS 1.0 and TLS 1.1 are now completely obsolete -- you cannot use them. They are mentioned only for the sake of consistency with old API versions.", + "enum": [ + "1.0", + "1.1", + "1.2" + ], + "x-ms-enum": { + "name": "TlsVersion", + "modelAsString": true, + "values": [ + { + "name": "One0", + "value": "1.0", + "description": "1.0" + }, + { + "name": "One1", + "value": "1.1", + "description": "1.1" + }, + { + "name": "One2", + "value": "1.2", + "description": "1.2" + } + ] + } } - } + }, + "parameters": {} }