Skip to content

Commit 6ce2ed1

Browse files
authored
Add 2026-05-01-preview API version - custom access strings for Access Policy Assignments (#42459)
* Add 2026-05-01-preview API version with custom access strings for Access Policy Assignments - Add accessString (optional, defaults to +@ALL ~*) for custom Redis ACL permissions - Make accessPolicyName optional in 2026-05-01-preview (still returned as 'default' in response) - Add provisioningError structured error (code, message, target) for failed ACL provisioning - Add AccessPolicyAssignmentProvisioningError model with required code/message fields - Add examples for custom access string creation and failed provisioning state - Fix access policy assignment resource type and ID paths in examples - Add MigrationValidate example for 2026-05-01-preview * Include accessPolicyName in CreateUpdate request example for backward compatibility * Mark accessPolicyName as deprecated, add descriptive deprecation message
1 parent 25b0524 commit 6ce2ed1

88 files changed

Lines changed: 8482 additions & 5 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"parameters": {
3+
"api-version": "2026-05-01-preview"
4+
},
5+
"responses": {
6+
"200": {
7+
"body": {
8+
"value": [
9+
{
10+
"name": "Microsoft.Cache/redisEnterprise/read",
11+
"display": {
12+
"description": "View the Redis Enterprise cache's settings and configuration in the management portal",
13+
"operation": "Manage Redis Enterprise cache (read)",
14+
"provider": "Microsoft Cache",
15+
"resource": "Redis Enterprise cache"
16+
}
17+
},
18+
{
19+
"name": "Microsoft.Cache/redisEnterprise/write",
20+
"display": {
21+
"description": "Modify the Redis Enterprise cache's settings and configuration in the management portal",
22+
"operation": "Manage Redis Enterprise cache (write)",
23+
"provider": "Microsoft Cache",
24+
"resource": "Redis Enterprise cache"
25+
}
26+
}
27+
]
28+
}
29+
}
30+
},
31+
"operationId": "Operations_List",
32+
"title": "OperationsList"
33+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"parameters": {
3+
"operationId": "testoperationid",
4+
"api-version": "2026-05-01-preview",
5+
"location": "West US",
6+
"subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f"
7+
},
8+
"responses": {
9+
"200": {
10+
"body": {
11+
"name": "testoperationid",
12+
"endTime": "2017-01-01T16:13:13.933Z",
13+
"id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/locations/westus/operationsStatus/testoperationid",
14+
"startTime": "2017-01-01T13:13:13.933Z",
15+
"status": "Succeeded"
16+
}
17+
}
18+
},
19+
"operationId": "OperationsStatus_Get",
20+
"title": "OperationsStatusGet"
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{
2+
"parameters": {
3+
"accessPolicyAssignmentName": "defaultTestEntraApp1",
4+
"api-version": "2026-05-01-preview",
5+
"clusterName": "cache1",
6+
"databaseName": "default",
7+
"parameters": {
8+
"properties": {
9+
"accessPolicyName": "default",
10+
"user": {
11+
"objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0"
12+
}
13+
}
14+
},
15+
"resourceGroupName": "rg1",
16+
"subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f"
17+
},
18+
"responses": {
19+
"200": {
20+
"body": {
21+
"name": "defaultTestEntraApp1",
22+
"type": "Microsoft.Cache/redisEnterprise/databases/accessPolicyAssignments",
23+
"id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/default-TestEntraApp1",
24+
"properties": {
25+
"accessPolicyName": "default",
26+
"accessString": "+@all ~*",
27+
"provisioningState": "Succeeded",
28+
"user": {
29+
"objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0"
30+
}
31+
}
32+
}
33+
},
34+
"201": {
35+
"body": {
36+
"name": "defaultTestEntraApp1",
37+
"type": "Microsoft.Cache/redisEnterprise/databases/accessPolicyAssignments",
38+
"id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/default-TestEntraApp1",
39+
"properties": {
40+
"accessPolicyName": "default",
41+
"accessString": "+@all ~*",
42+
"provisioningState": "Succeeded",
43+
"user": {
44+
"objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0"
45+
}
46+
}
47+
}
48+
}
49+
},
50+
"operationId": "AccessPolicyAssignment_CreateUpdate",
51+
"title": "RedisEnterpriseAccessPolicyAssignmentCreateUpdate"
52+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{
2+
"parameters": {
3+
"accessPolicyAssignmentName": "defaultTestEntraApp1",
4+
"api-version": "2026-05-01-preview",
5+
"clusterName": "cache1",
6+
"databaseName": "default",
7+
"parameters": {
8+
"properties": {
9+
"accessPolicyName": "default",
10+
"accessString": "+@read ~cache:*",
11+
"user": {
12+
"objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0"
13+
}
14+
}
15+
},
16+
"resourceGroupName": "rg1",
17+
"subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f"
18+
},
19+
"responses": {
20+
"200": {
21+
"body": {
22+
"name": "defaultTestEntraApp1",
23+
"type": "Microsoft.Cache/redisEnterprise/databases/accessPolicyAssignments",
24+
"id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/default-TestEntraApp1",
25+
"properties": {
26+
"accessPolicyName": "default",
27+
"accessString": "+@read ~cache:*",
28+
"provisioningState": "Succeeded",
29+
"user": {
30+
"objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0"
31+
}
32+
}
33+
}
34+
},
35+
"201": {
36+
"body": {
37+
"name": "defaultTestEntraApp1",
38+
"type": "Microsoft.Cache/redisEnterprise/databases/accessPolicyAssignments",
39+
"id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/default-TestEntraApp1",
40+
"properties": {
41+
"accessPolicyName": "default",
42+
"accessString": "+@read ~cache:*",
43+
"provisioningState": "Succeeded",
44+
"user": {
45+
"objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0"
46+
}
47+
}
48+
}
49+
}
50+
},
51+
"operationId": "AccessPolicyAssignment_CreateUpdate",
52+
"title": "RedisEnterpriseAccessPolicyAssignmentCreateUpdateWithCustomAccessString"
53+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"parameters": {
3+
"accessPolicyAssignmentName": "defaultTestEntraApp1",
4+
"api-version": "2026-05-01-preview",
5+
"clusterName": "cache1",
6+
"databaseName": "default",
7+
"resourceGroupName": "rg1",
8+
"subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f"
9+
},
10+
"responses": {
11+
"202": {
12+
"headers": {
13+
"Azure-AsyncOperation": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationStatus...",
14+
"Location": "https://management.azure.com/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/providers/Microsoft.Cache/...pathToOperationResult..."
15+
}
16+
},
17+
"204": {}
18+
},
19+
"operationId": "AccessPolicyAssignment_Delete",
20+
"title": "RedisEnterpriseAccessPolicyAssignmentDelete"
21+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"parameters": {
3+
"accessPolicyAssignmentName": "accessPolicyAssignmentName1",
4+
"api-version": "2026-05-01-preview",
5+
"clusterName": "cache1",
6+
"databaseName": "default",
7+
"resourceGroupName": "rg1",
8+
"subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f"
9+
},
10+
"responses": {
11+
"200": {
12+
"body": {
13+
"name": "accessPolicyAssignmentName1",
14+
"type": "Microsoft.Cache/redisEnterprise/databases/accessPolicyAssignments",
15+
"id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/accessPolicyAssignmentName1",
16+
"properties": {
17+
"accessPolicyName": "default",
18+
"accessString": "+@all ~*",
19+
"provisioningState": "Succeeded",
20+
"user": {
21+
"objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0"
22+
}
23+
}
24+
}
25+
}
26+
},
27+
"operationId": "AccessPolicyAssignment_Get",
28+
"title": "RedisEnterpriseAccessPolicyAssignmentGet"
29+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"parameters": {
3+
"accessPolicyAssignmentName": "accessPolicyAssignmentName1",
4+
"api-version": "2026-05-01-preview",
5+
"clusterName": "cache1",
6+
"databaseName": "default",
7+
"resourceGroupName": "rg1",
8+
"subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f"
9+
},
10+
"responses": {
11+
"200": {
12+
"body": {
13+
"name": "accessPolicyAssignmentName1",
14+
"type": "Microsoft.Cache/redisEnterprise/databases/accessPolicyAssignments",
15+
"id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/accessPolicyAssignmentName1",
16+
"properties": {
17+
"accessPolicyName": "default",
18+
"accessString": "+@invalid-syntax",
19+
"provisioningError": {
20+
"code": "InvalidAccessString",
21+
"message": "ERR Error in ACL SETUSER modifier '+@invalid-syntax': Adding a subcommand of a command already fully added is not allowed. A full command can only be added to a rule",
22+
"target": "properties.accessString"
23+
},
24+
"provisioningState": "Failed",
25+
"user": {
26+
"objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0"
27+
}
28+
}
29+
}
30+
}
31+
},
32+
"operationId": "AccessPolicyAssignment_Get",
33+
"title": "RedisEnterpriseAccessPolicyAssignmentGetWithFailedProvisioningState"
34+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"parameters": {
3+
"api-version": "2026-05-01-preview",
4+
"clusterName": "cache1",
5+
"databaseName": "default",
6+
"resourceGroupName": "rg1",
7+
"subscriptionId": "e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f"
8+
},
9+
"responses": {
10+
"200": {
11+
"body": {
12+
"value": [
13+
{
14+
"name": "accessPolicyAssignmentName1",
15+
"type": "Microsoft.Cache/redisEnterprise/databases/accessPolicyAssignments",
16+
"id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/accessPolicyAssignmentName1",
17+
"properties": {
18+
"accessPolicyName": "default",
19+
"accessString": "+@all ~*",
20+
"provisioningState": "Succeeded",
21+
"user": {
22+
"objectId": "6497c918-11ad-41e7-1b0f-7c518a87d0b0"
23+
}
24+
}
25+
},
26+
{
27+
"name": "accessPolicyAssignmentName2",
28+
"type": "Microsoft.Cache/redisEnterprise/databases/accessPolicyAssignments",
29+
"id": "/subscriptions/e7b5a9d2-6b6a-4d2f-9143-20d9a10f5b8f/resourceGroups/rg1/providers/Microsoft.Cache/redisEnterprise/cache1/databases/default/accessPolicyAssignments/accessPolicyAssignmentName2",
30+
"properties": {
31+
"accessPolicyName": "default",
32+
"accessString": "+@all ~*",
33+
"provisioningState": "Succeeded",
34+
"user": {
35+
"objectId": "7497c918-11ad-41e7-1b0f-7c518a87d0b0"
36+
}
37+
}
38+
}
39+
]
40+
}
41+
}
42+
},
43+
"operationId": "AccessPolicyAssignment_List",
44+
"title": "RedisEnterpriseAccessPolicyAssignmentList"
45+
}

0 commit comments

Comments
 (0)