From 0d5f23397fe6915f855818f5ce7552dcb15fbe0f Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Fri, 12 Dec 2025 18:13:35 +0800 Subject: [PATCH 01/26] feat(redis): add support to disable local authentication - Implemented `localAuthDisabled()` method to check if local auth is disabled - Added `disableLocalAuth()` method to disable SAS authentication - Updated Redis cache definition and update stages to include local auth settings - Modified tests to verify local auth disable functionality - Extended Redis cache models to support local authentication configuration - Integrated local auth settings into Redis cache creation and update flows --- .../redis/implementation/RedisCacheImpl.java | 11 +++++ .../redis/models/RedisCache.java | 42 ++++++++++++++++++- .../redis/RedisCacheOperationsTests.java | 23 ++++++---- 3 files changed, 67 insertions(+), 9 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java index 5fcbb1f737a9..1176013f0d67 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java @@ -380,6 +380,11 @@ public RedisCacheImpl withStaticIp(String staticIp) { return this; } + @Override + public boolean localAuthDisabled() { + return ResourceManagerUtils.toPrimitiveBoolean(this.innerModel().disableAccessKeyAuthentication()); + } + @Override public RedisCacheImpl withBasicSku() { if (isInCreateMode()) { @@ -742,6 +747,12 @@ public RedisCacheImpl disablePublicNetworkAccess() { return this; } + @Override + public RedisCacheImpl disableLocalAuth() { + this.innerModel().withDisableAccessKeyAuthentication(true); + return this; + } + private static final class PrivateLinkResourceImpl implements PrivateLinkResource { private final PrivateLinkResourceInner innerModel; diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index e521588c5ea9..d1e37de04a83 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -181,6 +181,15 @@ public interface RedisCache extends GroupableResource { interface WithGroup extends GroupableResource.DefinitionStages.WithGroup { } + /** + * The stage of Redis namespace definition allowing to disable local auth. + */ + interface WithLocalAuth { + /** + * Disables SAS authentication for the Redis namespace. + * + * @return next stage of the Redis namespace definition + */ + default WithCreate disableLocalAuth() { + throw new UnsupportedOperationException("[disableLocalAuth] is not supported in " + getClass()); + } + } + /** A Redis Cache definition allowing the sku to be set. */ interface WithSku { /** @@ -250,7 +273,7 @@ interface WithSku { * A Redis Cache definition with sufficient inputs to create a new Redis Cache in the cloud, but exposing * additional optional inputs to specify. */ - interface WithCreate extends Creatable, DefinitionWithTags { + interface WithCreate extends Creatable, DefinitionWithTags, DefinitionStages.WithLocalAuth { /** * Enables non-ssl Redis server port (6379). * @@ -408,6 +431,21 @@ interface WithPremiumSkuCreate extends DefinitionStages.WithCreate { /** Grouping of all the Redis Cache update stages. */ interface UpdateStages { + + /** + * The stage of Redis namespace definition allowing to disable local auth. + */ + interface WithLocalAuth { + /** + * Disables SAS authentication for the Redis namespace. + * + * @return next stage of the Redis namespace definition + */ + default Update disableLocalAuth() { + throw new UnsupportedOperationException("[disableLocalAuth] is not supported in " + getClass()); + } + } + /** A Redis Cache update stage allowing to change the parameters. */ interface WithSku { @@ -540,7 +578,7 @@ interface WithPublicNetworkAccess { /** The template for a Redis Cache update operation, containing all the settings that can be modified. */ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithSku, - UpdateStages.WithNonSslPort, UpdateStages.WithRedisConfiguration, UpdateStages.WithPublicNetworkAccess { + UpdateStages.WithNonSslPort, UpdateStages.WithRedisConfiguration, UpdateStages.WithPublicNetworkAccess, UpdateStages.WithLocalAuth { /** * The number of shards to be created on a Premium Cluster Cache. * diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index c4b260c5684c..1a2f38974dd4 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -49,14 +49,16 @@ public void canCRUDRedisCache() throws Exception { .define(rrName) .withRegion(Region.ASIA_EAST) .withNewResourceGroup(rgName) - .withBasicSku(); + .withBasicSku() + .disableLocalAuth(); Creatable redisCacheDefinition2 = redisManager.redisCaches() .define(rrNameSecond) .withRegion(Region.US_CENTRAL) .withNewResourceGroup(resourceGroups) .withPremiumSku() .withShardCount(2) - .withPatchSchedule(DayOfWeek.SUNDAY, 10, Duration.ofMinutes(302)); + .withPatchSchedule(DayOfWeek.SUNDAY, 10, Duration.ofMinutes(302)) + .disableLocalAuth(); Creatable redisCacheDefinition3 = redisManager.redisCaches() .define(rrNameThird) .withRegion(Region.US_CENTRAL) @@ -64,7 +66,8 @@ public void canCRUDRedisCache() throws Exception { .withPremiumSku(2) .withNonSslPort() .withFirewallRule("rule1", "192.168.0.1", "192.168.0.4") - .withFirewallRule("rule2", "192.168.0.10", "192.168.0.40"); + .withFirewallRule("rule2", "192.168.0.10", "192.168.0.40") + .disableLocalAuth(); // Server throws "The 'minimumTlsVersion' property is not yet supported." exception. Uncomment when fixed. // .withMinimumTlsVersion(TlsVersion.ONE_FULL_STOP_ONE); @@ -98,6 +101,7 @@ public void canCRUDRedisCache() throws Exception { .withoutFirewallRule("rule1") .withFirewallRule("rule3", "192.168.0.10", "192.168.0.104") .withoutMinimumTlsVersion() + .disableLocalAuth() .apply(); ResourceManagerUtils.sleep(Duration.ofSeconds(10)); @@ -114,7 +118,7 @@ public void canCRUDRedisCache() throws Exception { premiumCache.update().withoutRedisConfiguration().apply(); Assertions.assertEquals(0, premiumCache.patchSchedules().size()); - premiumCache.update().withPatchSchedule(DayOfWeek.MONDAY, 1).withPatchSchedule(DayOfWeek.TUESDAY, 5).apply(); + premiumCache.update().withPatchSchedule(DayOfWeek.MONDAY, 1).withPatchSchedule(DayOfWeek.TUESDAY, 5).disableLocalAuth().apply(); Assertions.assertEquals(2, premiumCache.patchSchedules().size()); // Reboot @@ -206,7 +210,7 @@ public void canCRUDRedisCache() throws Exception { // com.microsoft.azure.CloudException: One of the SAS URIs provided could not be used for the following reason: // The SAS token is poorly formatted. /*premiumCache.exportData(storageAccount.name(),"snapshot1"); - + premiumCache.importData(Arrays.asList("snapshot1"));*/ } @@ -253,6 +257,7 @@ public void canCRUDLinkedServers() throws Exception { .withNonSslPort() .withFirewallRule("rule1", "192.168.0.1", "192.168.0.4") .withFirewallRule("rule2", "192.168.0.10", "192.168.0.40") + .disableLocalAuth() .create(); RedisCache rggLinked = redisManager.redisCaches() @@ -260,6 +265,7 @@ public void canCRUDLinkedServers() throws Exception { .withRegion(Region.US_EAST) .withExistingResourceGroup(rgNameSecond) .withPremiumSku(2) + .disableLocalAuth() .create(); Assertions.assertNotNull(rgg); @@ -283,7 +289,7 @@ public void canCRUDLinkedServers() throws Exception { premiumRgg.removeLinkedServer(llName); - rgg.update().withoutPatchSchedule().apply(); + rgg.update().withoutPatchSchedule().disableLocalAuth().apply(); rggLinked.update().withFirewallRule("rulesmhule", "192.168.1.10", "192.168.1.20").apply(); @@ -303,6 +309,7 @@ public void canCreateRedisWithRdbAof() { .define(saName) .withRegion(Region.US_WEST3) .withNewResourceGroup(rgName) + .disableSharedKeyAccess() .create(); String connectionString = ResourceManagerUtils.getStorageConnectionString(saName, @@ -319,6 +326,7 @@ public void canCreateRedisWithRdbAof() { .withRdbBackupFrequency("15") .withRdbBackupMaxSnapshotCount("1") .withRdbStorageConnectionString(connectionString)) + .disableLocalAuth() .create(); Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().rdbBackupEnabled()); Assertions.assertEquals("15", redisCache.innerModel().redisConfiguration().rdbBackupFrequency()); @@ -371,9 +379,10 @@ public void canUpdatePublicNetworkAccess() { .withRegion(Region.ASIA_EAST) .withNewResourceGroup(rgName) .withBasicSku() + .disableLocalAuth() .create(); - redisCache.update().disablePublicNetworkAccess().apply(); + redisCache.update().disablePublicNetworkAccess().disableLocalAuth().apply(); Assertions.assertEquals(PublicNetworkAccess.DISABLED, redisCache.publicNetworkAccess()); redisCache.update().enablePublicNetworkAccess().apply(); From f6ee95e6858cc38707a3de18f2ddc4f015e18196 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Mon, 15 Dec 2025 16:20:28 +0800 Subject: [PATCH 02/26] test(redis): remove disableLocalAuth calls in tests - Removed disableLocalAuth() from Redis cache update operations - Commented out Redis configuration backup settings and assertions - Simplified test cases by removing redundant local auth disabling - Updated public network access test to match new behavior - Maintained core Redis cache functionality verification --- .../redis/RedisCacheOperationsTests.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index 1a2f38974dd4..5614834b79de 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -101,7 +101,6 @@ public void canCRUDRedisCache() throws Exception { .withoutFirewallRule("rule1") .withFirewallRule("rule3", "192.168.0.10", "192.168.0.104") .withoutMinimumTlsVersion() - .disableLocalAuth() .apply(); ResourceManagerUtils.sleep(Duration.ofSeconds(10)); @@ -289,7 +288,7 @@ public void canCRUDLinkedServers() throws Exception { premiumRgg.removeLinkedServer(llName); - rgg.update().withoutPatchSchedule().disableLocalAuth().apply(); + rgg.update().withoutPatchSchedule().apply(); rggLinked.update().withFirewallRule("rulesmhule", "192.168.1.10", "192.168.1.20").apply(); @@ -322,16 +321,16 @@ public void canCreateRedisWithRdbAof() { .withExistingResourceGroup(rgName) .withPremiumSku() .withMinimumTlsVersion(TlsVersion.ONE_TWO) - .withRedisConfiguration(new RedisConfiguration().withRdbBackupEnabled("true") - .withRdbBackupFrequency("15") - .withRdbBackupMaxSnapshotCount("1") - .withRdbStorageConnectionString(connectionString)) +// .withRedisConfiguration(new RedisConfiguration().withRdbBackupEnabled("true") +// .withRdbBackupFrequency("15") +// .withRdbBackupMaxSnapshotCount("1") +// .withRdbStorageConnectionString(connectionString)) .disableLocalAuth() .create(); - Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().rdbBackupEnabled()); - Assertions.assertEquals("15", redisCache.innerModel().redisConfiguration().rdbBackupFrequency()); - Assertions.assertEquals("1", redisCache.innerModel().redisConfiguration().rdbBackupMaxSnapshotCount()); - Assertions.assertNotNull(redisCache.innerModel().redisConfiguration().rdbStorageConnectionString()); +// Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().rdbBackupEnabled()); +// Assertions.assertEquals("15", redisCache.innerModel().redisConfiguration().rdbBackupFrequency()); +// Assertions.assertEquals("1", redisCache.innerModel().redisConfiguration().rdbBackupMaxSnapshotCount()); +// Assertions.assertNotNull(redisCache.innerModel().redisConfiguration().rdbStorageConnectionString()); assertSameVersion(RedisCache.RedisVersion.V6, redisCache.redisVersion()); redisManager.redisCaches().deleteById(redisCache.id()); @@ -382,7 +381,7 @@ public void canUpdatePublicNetworkAccess() { .disableLocalAuth() .create(); - redisCache.update().disablePublicNetworkAccess().disableLocalAuth().apply(); + redisCache.update().disablePublicNetworkAccess().apply(); Assertions.assertEquals(PublicNetworkAccess.DISABLED, redisCache.publicNetworkAccess()); redisCache.update().enablePublicNetworkAccess().apply(); From f5955bed28d795f542b86406e9ce04a751a75657 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Wed, 17 Dec 2025 18:43:35 +0800 Subject: [PATCH 03/26] fix(redis): correct disableLocalAuth implementation for create and update modes - Updated disableLocalAuth to properly set authentication flag during create mode - Updated disableLocalAuth to properly set authentication flag during update mode - Removed redundant disableLocalAuth call in test updates - Added assertions to verify local auth disabled state after creation - Enabled AAD configuration in multiple test scenarios for comprehensive coverage --- .../redis/implementation/RedisCacheImpl.java | 6 +++++- .../redis/RedisCacheOperationsTests.java | 14 +++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java index 1176013f0d67..59a7afa08311 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java @@ -749,7 +749,11 @@ public RedisCacheImpl disablePublicNetworkAccess() { @Override public RedisCacheImpl disableLocalAuth() { - this.innerModel().withDisableAccessKeyAuthentication(true); + if (isInCreateMode()) { + createParameters.withDisableAccessKeyAuthentication(true); + } else { + updateParameters.withDisableAccessKeyAuthentication(true); + } return this; } diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index 5614834b79de..3ce199cb736f 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -50,6 +50,7 @@ public void canCRUDRedisCache() throws Exception { .withRegion(Region.ASIA_EAST) .withNewResourceGroup(rgName) .withBasicSku() + .withRedisConfiguration("aad-enabled", "true") .disableLocalAuth(); Creatable redisCacheDefinition2 = redisManager.redisCaches() .define(rrNameSecond) @@ -58,6 +59,7 @@ public void canCRUDRedisCache() throws Exception { .withPremiumSku() .withShardCount(2) .withPatchSchedule(DayOfWeek.SUNDAY, 10, Duration.ofMinutes(302)) + .withRedisConfiguration("aad-enabled", "true") .disableLocalAuth(); Creatable redisCacheDefinition3 = redisManager.redisCaches() .define(rrNameThird) @@ -67,6 +69,7 @@ public void canCRUDRedisCache() throws Exception { .withNonSslPort() .withFirewallRule("rule1", "192.168.0.1", "192.168.0.4") .withFirewallRule("rule2", "192.168.0.10", "192.168.0.40") + .withRedisConfiguration("aad-enabled", "true") .disableLocalAuth(); // Server throws "The 'minimumTlsVersion' property is not yet supported." exception. Uncomment when fixed. // .withMinimumTlsVersion(TlsVersion.ONE_FULL_STOP_ONE); @@ -117,7 +120,7 @@ public void canCRUDRedisCache() throws Exception { premiumCache.update().withoutRedisConfiguration().apply(); Assertions.assertEquals(0, premiumCache.patchSchedules().size()); - premiumCache.update().withPatchSchedule(DayOfWeek.MONDAY, 1).withPatchSchedule(DayOfWeek.TUESDAY, 5).disableLocalAuth().apply(); + premiumCache.update().withPatchSchedule(DayOfWeek.MONDAY, 1).withPatchSchedule(DayOfWeek.TUESDAY, 5).apply(); Assertions.assertEquals(2, premiumCache.patchSchedules().size()); // Reboot @@ -224,6 +227,8 @@ public void canRedisVersionUpdate() { .withNewResourceGroup(rgName) .withBasicSku() .withRedisVersion(redisVersion) + .withRedisConfiguration("aad-enabled", "true") + .disableLocalAuth() .create(); assertSameVersion(RedisCache.RedisVersion.V4, redisCache.redisVersion()); @@ -256,6 +261,7 @@ public void canCRUDLinkedServers() throws Exception { .withNonSslPort() .withFirewallRule("rule1", "192.168.0.1", "192.168.0.4") .withFirewallRule("rule2", "192.168.0.10", "192.168.0.40") + .withRedisConfiguration("aad-enabled", "true") .disableLocalAuth() .create(); @@ -264,6 +270,7 @@ public void canCRUDLinkedServers() throws Exception { .withRegion(Region.US_EAST) .withExistingResourceGroup(rgNameSecond) .withPremiumSku(2) + .withRedisConfiguration("aad-enabled", "true") .disableLocalAuth() .create(); @@ -325,6 +332,7 @@ public void canCreateRedisWithRdbAof() { // .withRdbBackupFrequency("15") // .withRdbBackupMaxSnapshotCount("1") // .withRdbStorageConnectionString(connectionString)) + .withRedisConfiguration("aad-enabled", "true") .disableLocalAuth() .create(); // Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().rdbBackupEnabled()); @@ -345,6 +353,8 @@ public void canCreateRedisWithRdbAof() { .withRedisConfiguration("aof-backup-enabled", "true") .withRedisConfiguration("aof-storage-connection-string-0", connectionString) .withRedisConfiguration("aof-storage-connection-string-1", connectionString) + .withRedisConfiguration("aad-enabled", "true") + .disableLocalAuth() .create(); Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().aofBackupEnabled()); if (!isPlaybackMode()) { @@ -378,9 +388,11 @@ public void canUpdatePublicNetworkAccess() { .withRegion(Region.ASIA_EAST) .withNewResourceGroup(rgName) .withBasicSku() + .withRedisConfiguration("aad-enabled", "true") .disableLocalAuth() .create(); + Assertions.assertTrue(redisCache.localAuthDisabled()); redisCache.update().disablePublicNetworkAccess().apply(); Assertions.assertEquals(PublicNetworkAccess.DISABLED, redisCache.publicNetworkAccess()); From 32c29f3c05a09a04773aaef9c57fc01c07f48039 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Thu, 18 Dec 2025 17:48:09 +0800 Subject: [PATCH 04/26] fix(redis): remove non-SSL port configuration from tests - Removed deprecated `withNonSslPort()` method calls in Redis cache setup - Updated test configurations to align with current SSL-only requirements - Ensured firewall rules and other configurations remain unchanged - Verified that all existing test cases pass without non-SSL port dependency --- .../azure/resourcemanager/redis/RedisCacheOperationsTests.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index 3ce199cb736f..07970756702f 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -66,7 +66,6 @@ public void canCRUDRedisCache() throws Exception { .withRegion(Region.US_CENTRAL) .withNewResourceGroup(resourceGroups) .withPremiumSku(2) - .withNonSslPort() .withFirewallRule("rule1", "192.168.0.1", "192.168.0.4") .withFirewallRule("rule2", "192.168.0.10", "192.168.0.40") .withRedisConfiguration("aad-enabled", "true") @@ -258,7 +257,6 @@ public void canCRUDLinkedServers() throws Exception { .withPremiumSku(2) .withPatchSchedule(DayOfWeek.SATURDAY, 5, Duration.ofHours(5)) .withRedisConfiguration("maxclients", "2") - .withNonSslPort() .withFirewallRule("rule1", "192.168.0.1", "192.168.0.4") .withFirewallRule("rule2", "192.168.0.10", "192.168.0.40") .withRedisConfiguration("aad-enabled", "true") From f145c967c981fa707737e140fed0327590cd1782 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Tue, 23 Dec 2025 11:12:28 +0800 Subject: [PATCH 05/26] fix(redis): update Redis cache AOF backup configuration - Replace hardcoded connection string with storage account blob endpoint - Add managed identity authentication for data persistence - Disable secondary AOF storage connection string validation - Maintain AOF backup enabled configuration - Keep local auth disabled and AAD enabled settings --- .../resourcemanager/redis/RedisCacheOperationsTests.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index 07970756702f..7770368c4dec 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -349,15 +349,17 @@ public void canCreateRedisWithRdbAof() { .withPremiumSku() .withMinimumTlsVersion(TlsVersion.ONE_TWO) .withRedisConfiguration("aof-backup-enabled", "true") - .withRedisConfiguration("aof-storage-connection-string-0", connectionString) - .withRedisConfiguration("aof-storage-connection-string-1", connectionString) + .withRedisConfiguration("aof-storage-connection-string-0", storageAccount.endPoints().primary().blob()) + //.withRedisConfiguration("aof-storage-connection-string-0", connectionString) + //.withRedisConfiguration("aof-storage-connection-string-1", connectionString) + .withRedisConfiguration("preferred-data-persistence-auth-method", "managedIdentity") .withRedisConfiguration("aad-enabled", "true") .disableLocalAuth() .create(); Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().aofBackupEnabled()); if (!isPlaybackMode()) { Assertions.assertNotNull(redisCache.innerModel().redisConfiguration().aofStorageConnectionString0()); - Assertions.assertNotNull(redisCache.innerModel().redisConfiguration().aofStorageConnectionString1()); + //Assertions.assertNotNull(redisCache.innerModel().redisConfiguration().aofStorageConnectionString1()); } assertSameVersion(RedisCache.RedisVersion.V6, redisCache.redisVersion()); From ed2dfa9cc6b8c1d39f486a1a37014d534a91c8f5 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Thu, 25 Dec 2025 11:12:09 +0800 Subject: [PATCH 06/26] test(redis): update RedisCacheOperationsTests to use managed identity for RDB backup configuration --- .../redis/RedisCacheOperationsTests.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index 7770368c4dec..d62279f911c9 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -316,8 +316,8 @@ public void canCreateRedisWithRdbAof() { .disableSharedKeyAccess() .create(); - String connectionString = ResourceManagerUtils.getStorageConnectionString(saName, - storageAccount.getKeys().get(0).value(), AzureEnvironment.AZURE); + // String connectionString = ResourceManagerUtils.getStorageConnectionString(saName, + // storageAccount.getKeys().get(0).value(), AzureEnvironment.AZURE); // RDB RedisCache redisCache = redisManager.redisCaches() @@ -326,17 +326,19 @@ public void canCreateRedisWithRdbAof() { .withExistingResourceGroup(rgName) .withPremiumSku() .withMinimumTlsVersion(TlsVersion.ONE_TWO) -// .withRedisConfiguration(new RedisConfiguration().withRdbBackupEnabled("true") -// .withRdbBackupFrequency("15") -// .withRdbBackupMaxSnapshotCount("1") -// .withRdbStorageConnectionString(connectionString)) - .withRedisConfiguration("aad-enabled", "true") + .withRedisConfiguration(new RedisConfiguration() + .withRdbBackupEnabled("true") + .withRdbBackupFrequency("15") + .withRdbBackupMaxSnapshotCount("1") + .withRdbStorageConnectionString(storageAccount.endPoints().primary().blob()) + .withPreferredDataPersistenceAuthMethod("managedIdentity") + .withAadEnabled("true")) .disableLocalAuth() .create(); -// Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().rdbBackupEnabled()); -// Assertions.assertEquals("15", redisCache.innerModel().redisConfiguration().rdbBackupFrequency()); -// Assertions.assertEquals("1", redisCache.innerModel().redisConfiguration().rdbBackupMaxSnapshotCount()); -// Assertions.assertNotNull(redisCache.innerModel().redisConfiguration().rdbStorageConnectionString()); + Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().rdbBackupEnabled()); + Assertions.assertEquals("15", redisCache.innerModel().redisConfiguration().rdbBackupFrequency()); + Assertions.assertEquals("1", redisCache.innerModel().redisConfiguration().rdbBackupMaxSnapshotCount()); + Assertions.assertNotNull(redisCache.innerModel().redisConfiguration().rdbStorageConnectionString()); assertSameVersion(RedisCache.RedisVersion.V6, redisCache.redisVersion()); redisManager.redisCaches().deleteById(redisCache.id()); From ea6f5502de8bcbdb31bca6e5a07e7308c94de8c7 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Thu, 25 Dec 2025 11:52:42 +0800 Subject: [PATCH 07/26] test(redis): simplify Redis configuration in RedisCacheOperationsTests --- .../azure/resourcemanager/redis/RedisCacheOperationsTests.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index d62279f911c9..96591462c19f 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -326,8 +326,7 @@ public void canCreateRedisWithRdbAof() { .withExistingResourceGroup(rgName) .withPremiumSku() .withMinimumTlsVersion(TlsVersion.ONE_TWO) - .withRedisConfiguration(new RedisConfiguration() - .withRdbBackupEnabled("true") + .withRedisConfiguration(new RedisConfiguration().withRdbBackupEnabled("true") .withRdbBackupFrequency("15") .withRdbBackupMaxSnapshotCount("1") .withRdbStorageConnectionString(storageAccount.endPoints().primary().blob()) From e2d50e102898f202b7cc3ba45099e1f661b0dae0 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Thu, 25 Dec 2025 14:36:23 +0800 Subject: [PATCH 08/26] chore(redis): update assets tag for azure-resourcemanager-redis Update the assets tag from 87b73bc96e to 4829c91ebd in the assets.json file for the redis resource manager package. --- sdk/redis/azure-resourcemanager-redis/assets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/redis/azure-resourcemanager-redis/assets.json b/sdk/redis/azure-resourcemanager-redis/assets.json index ff91e635fa8b..d626082c69e9 100644 --- a/sdk/redis/azure-resourcemanager-redis/assets.json +++ b/sdk/redis/azure-resourcemanager-redis/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "java", "TagPrefix": "java/redis/azure-resourcemanager-redis", - "Tag": "java/redis/azure-resourcemanager-redis_87b73bc96e" + "Tag": "java/redis/azure-resourcemanager-redis_4829c91ebd" } From 41ff0c82376b0ecfe479b2e7f13277f5e8646561 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Thu, 25 Dec 2025 16:50:35 +0800 Subject: [PATCH 09/26] ``` docs(redis): update Redis cache documentation to use correct terminology - change "Redis namespace" to "Redis cache" in interface documentation - update method descriptions to reference Redis cache instead of namespace - correct return type descriptions to use "Redis cache definition" terminology - maintain consistent documentation across both creation and update stages ``` --- .../resourcemanager/redis/models/RedisCache.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index d1e37de04a83..c89afcaff231 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -206,13 +206,13 @@ interface WithGroup extends GroupableResource.DefinitionStages.WithGroup Date: Thu, 25 Dec 2025 16:56:53 +0800 Subject: [PATCH 10/26] refactor(test): remove unused storage connection string code in Redis cache tests - Remove commented out storage connection string generation code - Remove unused connectionString variable declaration - Remove commented out Redis configuration lines for aof-storage-connection-string-0 and aof-storage-connection-string-1 - Remove commented out assertion for aofStorageConnectionString1 - Clean up redundant test code that was not being used --- .../resourcemanager/redis/RedisCacheOperationsTests.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index 96591462c19f..f778e0dd4da9 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -316,9 +316,6 @@ public void canCreateRedisWithRdbAof() { .disableSharedKeyAccess() .create(); - // String connectionString = ResourceManagerUtils.getStorageConnectionString(saName, - // storageAccount.getKeys().get(0).value(), AzureEnvironment.AZURE); - // RDB RedisCache redisCache = redisManager.redisCaches() .define(rrName) @@ -351,8 +348,6 @@ public void canCreateRedisWithRdbAof() { .withMinimumTlsVersion(TlsVersion.ONE_TWO) .withRedisConfiguration("aof-backup-enabled", "true") .withRedisConfiguration("aof-storage-connection-string-0", storageAccount.endPoints().primary().blob()) - //.withRedisConfiguration("aof-storage-connection-string-0", connectionString) - //.withRedisConfiguration("aof-storage-connection-string-1", connectionString) .withRedisConfiguration("preferred-data-persistence-auth-method", "managedIdentity") .withRedisConfiguration("aad-enabled", "true") .disableLocalAuth() @@ -360,7 +355,6 @@ public void canCreateRedisWithRdbAof() { Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().aofBackupEnabled()); if (!isPlaybackMode()) { Assertions.assertNotNull(redisCache.innerModel().redisConfiguration().aofStorageConnectionString0()); - //Assertions.assertNotNull(redisCache.innerModel().redisConfiguration().aofStorageConnectionString1()); } assertSameVersion(RedisCache.RedisVersion.V6, redisCache.redisVersion()); From dc96b1290012116f30442d827647f818c5448eba Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Sun, 4 Jan 2026 14:52:13 +0800 Subject: [PATCH 11/26] feat(redis): add enableLocalAuth method to Redis cache implementation - Implemented enableLocalAuth method in RedisCacheImpl to enable SAS authentication - Added disableAccessKeyAuthentication(false) setting for both create and update modes - Added enableLocalAuth default method to RedisCache interface with proper Javadoc - Updated test case with proper method chaining for Redis cache configuration - Maintained consistency with existing disableLocalAuth functionality --- .../redis/implementation/RedisCacheImpl.java | 10 ++++++++++ .../resourcemanager/redis/models/RedisCache.java | 16 ++++++++++++++++ .../redis/RedisCacheOperationsTests.java | 10 +++++----- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java index 59a7afa08311..6dc6414fcbdd 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java @@ -757,6 +757,16 @@ public RedisCacheImpl disableLocalAuth() { return this; } + @Override + public RedisCacheImpl enableLocalAuth() { + if (isInCreateMode()) { + createParameters.withDisableAccessKeyAuthentication(false); + } else { + updateParameters.withDisableAccessKeyAuthentication(false); + } + return this; + } + private static final class PrivateLinkResourceImpl implements PrivateLinkResource { private final PrivateLinkResourceInner innerModel; diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index c89afcaff231..12fa3a2776cb 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -217,6 +217,14 @@ interface WithLocalAuth { default WithCreate disableLocalAuth() { throw new UnsupportedOperationException("[disableLocalAuth] is not supported in " + getClass()); } + /** + * Enable SAS authentication for the Redis cache. + * + * @return next stage of the Redis cache definition + */ + default WithCreate enableLocalAuth() { + throw new UnsupportedOperationException("[enableLocalAuth] is not supported in " + getClass()); + } } /** A Redis Cache definition allowing the sku to be set. */ @@ -444,6 +452,14 @@ interface WithLocalAuth { default Update disableLocalAuth() { throw new UnsupportedOperationException("[disableLocalAuth] is not supported in " + getClass()); } + /** + * Enable SAS authentication for the Redis cache. + * + * @return next stage of the Redis cache definition + */ + default Update enableLocalAuth() { + throw new UnsupportedOperationException("[enableLocalAuth] is not supported in " + getClass()); + } } /** A Redis Cache update stage allowing to change the parameters. */ diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index f778e0dd4da9..f947f8aaee2b 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -324,11 +324,11 @@ public void canCreateRedisWithRdbAof() { .withPremiumSku() .withMinimumTlsVersion(TlsVersion.ONE_TWO) .withRedisConfiguration(new RedisConfiguration().withRdbBackupEnabled("true") - .withRdbBackupFrequency("15") - .withRdbBackupMaxSnapshotCount("1") - .withRdbStorageConnectionString(storageAccount.endPoints().primary().blob()) - .withPreferredDataPersistenceAuthMethod("managedIdentity") - .withAadEnabled("true")) + .withRdbBackupFrequency("15") + .withRdbBackupMaxSnapshotCount("1") + .withRdbStorageConnectionString(storageAccount.endPoints().primary().blob()) + .withPreferredDataPersistenceAuthMethod("managedIdentity") + .withAadEnabled("true")) .disableLocalAuth() .create(); Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().rdbBackupEnabled()); From 7239588b153a1e0da893b332f51dd6bec8782781 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Sun, 4 Jan 2026 15:16:35 +0800 Subject: [PATCH 12/26] refactor(tests): remove unused AzureEnvironment import - Removed unused AzureEnvironment import from RedisCacheOperationsTests.java - Cleaned up import statements to remove redundant dependency --- .../azure/resourcemanager/redis/RedisCacheOperationsTests.java | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index f947f8aaee2b..2ac37f187b4a 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -3,7 +3,6 @@ package com.azure.resourcemanager.redis; -import com.azure.core.management.AzureEnvironment; import com.azure.core.management.Region; import com.azure.core.management.exception.ManagementException; import com.azure.resourcemanager.redis.models.DayOfWeek; From 09d6191f1d6c4218f7618c22b0b196aead517fdd Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Mon, 5 Jan 2026 14:04:58 +0800 Subject: [PATCH 13/26] refactor(redis): rename localAuth to accessKeyAuthentication methods and interfaces - Renamed localAuthDisabled() to withAccessKeyAuthentication() in RedisCache interface - Renamed disableLocalAuth() to disableAccessKeyAuthentication() in WithAccessKeyAuthentication interface - Renamed enableLocalAuth() to enableAccessKeyAuthentication() in WithAccessKeyAuthentication interface - Updated WithCreate interface to extend WithAccessKeyAuthentication instead of WithLocalAuth - Updated Update interface to extend WithAccessKeyAuthentication instead of WithLocalAuth - Changed method calls in test class from disableLocalAuth() to disableAccessKeyAuthentication() - Updated assertion to check withAccessKeyAuthentication() instead of localAuthDisabled() --- .../redis/implementation/RedisCacheImpl.java | 6 ++-- .../redis/models/RedisCache.java | 28 +++++++++---------- .../redis/RedisCacheOperationsTests.java | 20 ++++++------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java index 6dc6414fcbdd..e7a879d6fd6b 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java @@ -381,7 +381,7 @@ public RedisCacheImpl withStaticIp(String staticIp) { } @Override - public boolean localAuthDisabled() { + public boolean withAccessKeyAuthentication() { return ResourceManagerUtils.toPrimitiveBoolean(this.innerModel().disableAccessKeyAuthentication()); } @@ -748,7 +748,7 @@ public RedisCacheImpl disablePublicNetworkAccess() { } @Override - public RedisCacheImpl disableLocalAuth() { + public RedisCacheImpl disableAccessKeyAuthentication() { if (isInCreateMode()) { createParameters.withDisableAccessKeyAuthentication(true); } else { @@ -758,7 +758,7 @@ public RedisCacheImpl disableLocalAuth() { } @Override - public RedisCacheImpl enableLocalAuth() { + public RedisCacheImpl enableAccessKeyAuthentication() { if (isInCreateMode()) { createParameters.withDisableAccessKeyAuthentication(false); } else { diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index 12fa3a2776cb..9a9598cd4413 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -186,8 +186,8 @@ public interface RedisCache extends GroupableResource, DefinitionWithTags, DefinitionStages.WithLocalAuth { + interface WithCreate extends Creatable, DefinitionWithTags, DefinitionStages.WithAccessKeyAuthentication { /** * Enables non-ssl Redis server port (6379). * @@ -443,22 +443,22 @@ interface UpdateStages { /** * The stage of Redis cache definition allowing to disable local auth. */ - interface WithLocalAuth { + interface WithAccessKeyAuthentication { /** * Disables SAS authentication for the Redis cache. * * @return next stage of the Redis cache definition */ - default Update disableLocalAuth() { - throw new UnsupportedOperationException("[disableLocalAuth] is not supported in " + getClass()); + default Update disableAccessKeyAuthentication() { + throw new UnsupportedOperationException("[disableAccessKeyAuthentication] is not supported in " + getClass()); } /** * Enable SAS authentication for the Redis cache. * * @return next stage of the Redis cache definition */ - default Update enableLocalAuth() { - throw new UnsupportedOperationException("[enableLocalAuth] is not supported in " + getClass()); + default Update enableAccessKeyAuthentication() { + throw new UnsupportedOperationException("[enableAccessKeyAuthentication] is not supported in " + getClass()); } } @@ -594,7 +594,7 @@ interface WithPublicNetworkAccess { /** The template for a Redis Cache update operation, containing all the settings that can be modified. */ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithSku, - UpdateStages.WithNonSslPort, UpdateStages.WithRedisConfiguration, UpdateStages.WithPublicNetworkAccess, UpdateStages.WithLocalAuth { + UpdateStages.WithNonSslPort, UpdateStages.WithRedisConfiguration, UpdateStages.WithPublicNetworkAccess, UpdateStages.WithAccessKeyAuthentication { /** * The number of shards to be created on a Premium Cluster Cache. * diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index 2ac37f187b4a..d7b789ca33c5 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -50,7 +50,7 @@ public void canCRUDRedisCache() throws Exception { .withNewResourceGroup(rgName) .withBasicSku() .withRedisConfiguration("aad-enabled", "true") - .disableLocalAuth(); + .disableAccessKeyAuthentication(); Creatable redisCacheDefinition2 = redisManager.redisCaches() .define(rrNameSecond) .withRegion(Region.US_CENTRAL) @@ -59,7 +59,7 @@ public void canCRUDRedisCache() throws Exception { .withShardCount(2) .withPatchSchedule(DayOfWeek.SUNDAY, 10, Duration.ofMinutes(302)) .withRedisConfiguration("aad-enabled", "true") - .disableLocalAuth(); + .disableAccessKeyAuthentication(); Creatable redisCacheDefinition3 = redisManager.redisCaches() .define(rrNameThird) .withRegion(Region.US_CENTRAL) @@ -68,7 +68,7 @@ public void canCRUDRedisCache() throws Exception { .withFirewallRule("rule1", "192.168.0.1", "192.168.0.4") .withFirewallRule("rule2", "192.168.0.10", "192.168.0.40") .withRedisConfiguration("aad-enabled", "true") - .disableLocalAuth(); + .disableAccessKeyAuthentication(); // Server throws "The 'minimumTlsVersion' property is not yet supported." exception. Uncomment when fixed. // .withMinimumTlsVersion(TlsVersion.ONE_FULL_STOP_ONE); @@ -226,7 +226,7 @@ public void canRedisVersionUpdate() { .withBasicSku() .withRedisVersion(redisVersion) .withRedisConfiguration("aad-enabled", "true") - .disableLocalAuth() + .disableAccessKeyAuthentication() .create(); assertSameVersion(RedisCache.RedisVersion.V4, redisCache.redisVersion()); @@ -259,7 +259,7 @@ public void canCRUDLinkedServers() throws Exception { .withFirewallRule("rule1", "192.168.0.1", "192.168.0.4") .withFirewallRule("rule2", "192.168.0.10", "192.168.0.40") .withRedisConfiguration("aad-enabled", "true") - .disableLocalAuth() + .disableAccessKeyAuthentication() .create(); RedisCache rggLinked = redisManager.redisCaches() @@ -268,7 +268,7 @@ public void canCRUDLinkedServers() throws Exception { .withExistingResourceGroup(rgNameSecond) .withPremiumSku(2) .withRedisConfiguration("aad-enabled", "true") - .disableLocalAuth() + .disableAccessKeyAuthentication() .create(); Assertions.assertNotNull(rgg); @@ -328,7 +328,7 @@ public void canCreateRedisWithRdbAof() { .withRdbStorageConnectionString(storageAccount.endPoints().primary().blob()) .withPreferredDataPersistenceAuthMethod("managedIdentity") .withAadEnabled("true")) - .disableLocalAuth() + .disableAccessKeyAuthentication() .create(); Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().rdbBackupEnabled()); Assertions.assertEquals("15", redisCache.innerModel().redisConfiguration().rdbBackupFrequency()); @@ -349,7 +349,7 @@ public void canCreateRedisWithRdbAof() { .withRedisConfiguration("aof-storage-connection-string-0", storageAccount.endPoints().primary().blob()) .withRedisConfiguration("preferred-data-persistence-auth-method", "managedIdentity") .withRedisConfiguration("aad-enabled", "true") - .disableLocalAuth() + .disableAccessKeyAuthentication() .create(); Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().aofBackupEnabled()); if (!isPlaybackMode()) { @@ -383,10 +383,10 @@ public void canUpdatePublicNetworkAccess() { .withNewResourceGroup(rgName) .withBasicSku() .withRedisConfiguration("aad-enabled", "true") - .disableLocalAuth() + .disableAccessKeyAuthentication() .create(); - Assertions.assertTrue(redisCache.localAuthDisabled()); + Assertions.assertTrue(redisCache.withAccessKeyAuthentication()); redisCache.update().disablePublicNetworkAccess().apply(); Assertions.assertEquals(PublicNetworkAccess.DISABLED, redisCache.publicNetworkAccess()); From 758ae02bcb75b1dc87b31ddd2d66e05692acfd94 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Mon, 5 Jan 2026 14:17:05 +0800 Subject: [PATCH 14/26] refactor(redis): rename withAccessKeyAuthentication to isAccessKeyAuthenticationEnabled - Renamed method from withAccessKeyAuthentication to isAccessKeyAuthenticationEnabled in RedisCacheImpl - Updated default method name in RedisCache interface - Changed method reference in test assertions to use new method name - Maintained same functionality while improving method naming consistency --- .../resourcemanager/redis/implementation/RedisCacheImpl.java | 2 +- .../com/azure/resourcemanager/redis/models/RedisCache.java | 4 ++-- .../resourcemanager/redis/RedisCacheOperationsTests.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java index e7a879d6fd6b..15f450a0c595 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java @@ -381,7 +381,7 @@ public RedisCacheImpl withStaticIp(String staticIp) { } @Override - public boolean withAccessKeyAuthentication() { + public boolean isAccessKeyAuthenticationEnabled() { return ResourceManagerUtils.toPrimitiveBoolean(this.innerModel().disableAccessKeyAuthentication()); } diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index 9a9598cd4413..77f52d728a4f 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -186,8 +186,8 @@ public interface RedisCache extends GroupableResource Date: Mon, 5 Jan 2026 14:28:42 +0800 Subject: [PATCH 15/26] style(redis): format code according to team style guide - Standardized indentation and spacing in method implementations - Organized interface declarations with proper line breaks - Removed redundant blank lines and whitespace - Applied consistent formatting to method chaining in test cases - Aligned code structure with established style patterns - Improved readability through standardized formatting practices --- .../redis/models/RedisCache.java | 20 +++++++++++++------ .../redis/RedisCacheOperationsTests.java | 12 +++++------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index 77f52d728a4f..f52ba7058641 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -215,15 +215,18 @@ interface WithAccessKeyAuthentication { * @return next stage of the Redis cache definition */ default WithCreate disableAccessKeyAuthentication() { - throw new UnsupportedOperationException("[disableAccessKeyAuthentication] is not supported in " + getClass()); + throw new UnsupportedOperationException( + "[disableAccessKeyAuthentication] is not supported in " + getClass()); } + /** * Enable SAS authentication for the Redis cache. * * @return next stage of the Redis cache definition */ default WithCreate enableAccessKeyAuthentication() { - throw new UnsupportedOperationException("[enableAccessKeyAuthentication] is not supported in " + getClass()); + throw new UnsupportedOperationException( + "[enableAccessKeyAuthentication] is not supported in " + getClass()); } } @@ -281,7 +284,8 @@ interface WithSku { * A Redis Cache definition with sufficient inputs to create a new Redis Cache in the cloud, but exposing * additional optional inputs to specify. */ - interface WithCreate extends Creatable, DefinitionWithTags, DefinitionStages.WithAccessKeyAuthentication { + interface WithCreate extends Creatable, DefinitionWithTags, + DefinitionStages.WithAccessKeyAuthentication { /** * Enables non-ssl Redis server port (6379). * @@ -450,15 +454,18 @@ interface WithAccessKeyAuthentication { * @return next stage of the Redis cache definition */ default Update disableAccessKeyAuthentication() { - throw new UnsupportedOperationException("[disableAccessKeyAuthentication] is not supported in " + getClass()); + throw new UnsupportedOperationException( + "[disableAccessKeyAuthentication] is not supported in " + getClass()); } + /** * Enable SAS authentication for the Redis cache. * * @return next stage of the Redis cache definition */ default Update enableAccessKeyAuthentication() { - throw new UnsupportedOperationException("[enableAccessKeyAuthentication] is not supported in " + getClass()); + throw new UnsupportedOperationException( + "[enableAccessKeyAuthentication] is not supported in " + getClass()); } } @@ -594,7 +601,8 @@ interface WithPublicNetworkAccess { /** The template for a Redis Cache update operation, containing all the settings that can be modified. */ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithSku, - UpdateStages.WithNonSslPort, UpdateStages.WithRedisConfiguration, UpdateStages.WithPublicNetworkAccess, UpdateStages.WithAccessKeyAuthentication { + UpdateStages.WithNonSslPort, UpdateStages.WithRedisConfiguration, UpdateStages.WithPublicNetworkAccess, + UpdateStages.WithAccessKeyAuthentication { /** * The number of shards to be created on a Premium Cluster Cache. * diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index 789ad402901a..fb5519cd79f9 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -210,7 +210,7 @@ public void canCRUDRedisCache() throws Exception { // com.microsoft.azure.CloudException: One of the SAS URIs provided could not be used for the following reason: // The SAS token is poorly formatted. /*premiumCache.exportData(storageAccount.name(),"snapshot1"); - + premiumCache.importData(Arrays.asList("snapshot1"));*/ } @@ -323,11 +323,11 @@ public void canCreateRedisWithRdbAof() { .withPremiumSku() .withMinimumTlsVersion(TlsVersion.ONE_TWO) .withRedisConfiguration(new RedisConfiguration().withRdbBackupEnabled("true") - .withRdbBackupFrequency("15") - .withRdbBackupMaxSnapshotCount("1") - .withRdbStorageConnectionString(storageAccount.endPoints().primary().blob()) - .withPreferredDataPersistenceAuthMethod("managedIdentity") - .withAadEnabled("true")) + .withRdbBackupFrequency("15") + .withRdbBackupMaxSnapshotCount("1") + .withRdbStorageConnectionString(storageAccount.endPoints().primary().blob()) + .withPreferredDataPersistenceAuthMethod("managedIdentity") + .withAadEnabled("true")) .disableAccessKeyAuthentication() .create(); Assertions.assertEquals("true", redisCache.innerModel().redisConfiguration().rdbBackupEnabled()); From 32aa26d333eb029545eb02539fcb44317988aa00 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Mon, 5 Jan 2026 15:51:33 +0800 Subject: [PATCH 16/26] fix(redis): correct access key authentication logic - Fixed isAccessKeyAuthenticationEnabled method to return correct boolean value - Added negation to ResourceManagerUtils.toPrimitiveBoolean call - Updated test assertion to match corrected authentication logic - Removed unnecessary blank line in test file --- .../resourcemanager/redis/implementation/RedisCacheImpl.java | 2 +- .../resourcemanager/redis/RedisCacheOperationsTests.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java index 15f450a0c595..f735066bef05 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/implementation/RedisCacheImpl.java @@ -382,7 +382,7 @@ public RedisCacheImpl withStaticIp(String staticIp) { @Override public boolean isAccessKeyAuthenticationEnabled() { - return ResourceManagerUtils.toPrimitiveBoolean(this.innerModel().disableAccessKeyAuthentication()); + return !ResourceManagerUtils.toPrimitiveBoolean(this.innerModel().disableAccessKeyAuthentication()); } @Override diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index fb5519cd79f9..ad7a88c94d71 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -210,7 +210,7 @@ public void canCRUDRedisCache() throws Exception { // com.microsoft.azure.CloudException: One of the SAS URIs provided could not be used for the following reason: // The SAS token is poorly formatted. /*premiumCache.exportData(storageAccount.name(),"snapshot1"); - + premiumCache.importData(Arrays.asList("snapshot1"));*/ } @@ -386,7 +386,7 @@ public void canUpdatePublicNetworkAccess() { .disableAccessKeyAuthentication() .create(); - Assertions.assertTrue(redisCache.isAccessKeyAuthenticationEnabled()); + Assertions.assertTrue(!redisCache.isAccessKeyAuthenticationEnabled()); redisCache.update().disablePublicNetworkAccess().apply(); Assertions.assertEquals(PublicNetworkAccess.DISABLED, redisCache.publicNetworkAccess()); From e4e0658ed24b3a6aa2185518f1dc723515dc87b6 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Mon, 5 Jan 2026 16:08:07 +0800 Subject: [PATCH 17/26] test(redis): remove unused import statement in RedisCacheOperationsTests - Removed commented out importData test code - Cleaned up whitespace in test file --- .../azure/resourcemanager/redis/RedisCacheOperationsTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java index ad7a88c94d71..cb3b42432ea5 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java +++ b/sdk/redis/azure-resourcemanager-redis/src/test/java/com/azure/resourcemanager/redis/RedisCacheOperationsTests.java @@ -210,7 +210,7 @@ public void canCRUDRedisCache() throws Exception { // com.microsoft.azure.CloudException: One of the SAS URIs provided could not be used for the following reason: // The SAS token is poorly formatted. /*premiumCache.exportData(storageAccount.name(),"snapshot1"); - + premiumCache.importData(Arrays.asList("snapshot1"));*/ } From 1e55a6bacd2cc8792d3c00f06e6f1a55f87964ff Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Mon, 5 Jan 2026 16:44:06 +0800 Subject: [PATCH 18/26] docs(redis): update access key authentication documentation - Clarify that authentication through access keys is disabled when set as true - Update return documentation to reflect access keys instead of local auth - Modify stage interface descriptions to reference access keys rather than local auth --- .../azure/resourcemanager/redis/models/RedisCache.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index f52ba7058641..6918ba2c0caa 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -182,9 +182,9 @@ public interface RedisCache extends GroupableResource Date: Mon, 5 Jan 2026 16:51:34 +0800 Subject: [PATCH 19/26] Update sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java Co-authored-by: Xiaofei Cao <92354331+XiaofeiCao@users.noreply.github.com> --- .../java/com/azure/resourcemanager/redis/models/RedisCache.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index 6918ba2c0caa..0d827a1bfe90 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -182,7 +182,7 @@ public interface RedisCache extends GroupableResource Date: Mon, 5 Jan 2026 16:56:31 +0800 Subject: [PATCH 20/26] Apply suggestions from code review Co-authored-by: Xiaofei Cao <92354331+XiaofeiCao@users.noreply.github.com> --- .../com/azure/resourcemanager/redis/models/RedisCache.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index 0d827a1bfe90..c807dd88d1bd 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -184,7 +184,7 @@ public interface RedisCache extends GroupableResource Date: Mon, 5 Jan 2026 17:00:35 +0800 Subject: [PATCH 21/26] Apply suggestions from code review Co-authored-by: Xiaofei Cao <92354331+XiaofeiCao@users.noreply.github.com> --- .../com/azure/resourcemanager/redis/models/RedisCache.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index c807dd88d1bd..54917ba0658a 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -206,7 +206,7 @@ interface WithGroup extends GroupableResource.DefinitionStages.WithGroup Date: Mon, 5 Jan 2026 17:04:28 +0800 Subject: [PATCH 22/26] docs(redis): update Redis cache authentication documentation - Clarified that disabled authentication means access keys are disabled - Updated enable authentication description to specify access key authentication - Improved documentation clarity for Redis cache authentication methods --- .../com/azure/resourcemanager/redis/models/RedisCache.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index 54917ba0658a..ccab4e302337 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -449,7 +449,7 @@ interface UpdateStages { */ interface WithAccessKeyAuthentication { /** - * Disables SAS authentication for the Redis cache. + * Specifies that authentication to Redis through access keys is disabled. * * @return next stage of the Redis cache definition */ @@ -459,7 +459,7 @@ default Update disableAccessKeyAuthentication() { } /** - * Enable SAS authentication for the Redis cache. + * Specifies that authentication to Redis through access keys is enabled. * * @return next stage of the Redis cache definition */ From 435181ef76fbdbadf50a4a42a3a143f68c783a1c Mon Sep 17 00:00:00 2001 From: v-huizhu2 Date: Mon, 5 Jan 2026 17:14:39 +0800 Subject: [PATCH 23/26] Apply suggestions from code review Co-authored-by: Xiaofei Cao <92354331+XiaofeiCao@users.noreply.github.com> --- .../com/azure/resourcemanager/redis/models/RedisCache.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index ccab4e302337..d2f5152bcd32 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -445,13 +445,13 @@ interface WithPremiumSkuCreate extends DefinitionStages.WithCreate { interface UpdateStages { /** - * The stage of Redis cache definition allowing to toggle authentication through access keys. + * The stage of Redis cache update allowing to toggle authentication through access keys. */ interface WithAccessKeyAuthentication { /** * Specifies that authentication to Redis through access keys is disabled. * - * @return next stage of the Redis cache definition + * @return next stage of the Redis cache update */ default Update disableAccessKeyAuthentication() { throw new UnsupportedOperationException( @@ -461,7 +461,7 @@ default Update disableAccessKeyAuthentication() { /** * Specifies that authentication to Redis through access keys is enabled. * - * @return next stage of the Redis cache definition + * @return next stage of the Redis cache update */ default Update enableAccessKeyAuthentication() { throw new UnsupportedOperationException( From 07a07dc207cbfdc76144565badd06a72ac0457cc Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Tue, 6 Jan 2026 15:09:38 +0800 Subject: [PATCH 24/26] ``` feat(redis): support disabling authentication through access keys - Added support for disabling authentication through access keys for RedisCache - Removed unused enableAccessKeyAuthentication method from RedisCache interface - Updated changelog to reflect the new RedisCache authentication feature ``` --- sdk/redis/azure-resourcemanager-redis/CHANGELOG.md | 2 ++ .../azure/resourcemanager/redis/models/RedisCache.java | 10 ---------- sdk/resourcemanager/azure-resourcemanager/CHANGELOG.md | 6 +++--- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/sdk/redis/azure-resourcemanager-redis/CHANGELOG.md b/sdk/redis/azure-resourcemanager-redis/CHANGELOG.md index f536203cffd7..53663c13fdae 100644 --- a/sdk/redis/azure-resourcemanager-redis/CHANGELOG.md +++ b/sdk/redis/azure-resourcemanager-redis/CHANGELOG.md @@ -4,6 +4,8 @@ ### Features Added +- Supported disabling authentication through access keys for `RedisCache`. + ### Breaking Changes ### Bugs Fixed diff --git a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java index d2f5152bcd32..2683f80aa9ec 100644 --- a/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java +++ b/sdk/redis/azure-resourcemanager-redis/src/main/java/com/azure/resourcemanager/redis/models/RedisCache.java @@ -218,16 +218,6 @@ default WithCreate disableAccessKeyAuthentication() { throw new UnsupportedOperationException( "[disableAccessKeyAuthentication] is not supported in " + getClass()); } - - /** - * Specifies that authentication to Redis through access keys is enabled. - * - * @return next stage of the Redis cache definition - */ - default WithCreate enableAccessKeyAuthentication() { - throw new UnsupportedOperationException( - "[enableAccessKeyAuthentication] is not supported in " + getClass()); - } } /** A Redis Cache definition allowing the sku to be set. */ diff --git a/sdk/resourcemanager/azure-resourcemanager/CHANGELOG.md b/sdk/resourcemanager/azure-resourcemanager/CHANGELOG.md index 7693a73529b6..8a5ebdf0ae6d 100644 --- a/sdk/resourcemanager/azure-resourcemanager/CHANGELOG.md +++ b/sdk/resourcemanager/azure-resourcemanager/CHANGELOG.md @@ -2,11 +2,11 @@ ## 2.59.0-beta.1 (Unreleased) -### Features Added +### azure-resourcemanager-redis -### Breaking Changes +#### Features Added -### Bugs Fixed +- Supported disabling authentication through access keys for `RedisCache`. ### Other Changes From c406902c9468df96dc62dee94aad8d87f754b7df Mon Sep 17 00:00:00 2001 From: v-huizhu2 Date: Tue, 6 Jan 2026 15:20:18 +0800 Subject: [PATCH 25/26] Apply suggestion from @XiaofeiCao Co-authored-by: Xiaofei Cao <92354331+XiaofeiCao@users.noreply.github.com> --- sdk/redis/azure-resourcemanager-redis/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/redis/azure-resourcemanager-redis/CHANGELOG.md b/sdk/redis/azure-resourcemanager-redis/CHANGELOG.md index 53663c13fdae..4d2c7437ec33 100644 --- a/sdk/redis/azure-resourcemanager-redis/CHANGELOG.md +++ b/sdk/redis/azure-resourcemanager-redis/CHANGELOG.md @@ -4,7 +4,7 @@ ### Features Added -- Supported disabling authentication through access keys for `RedisCache`. +- Supported enabling/disabling authentication through access keys for `RedisCache`. ### Breaking Changes From 500415f0ce9e6dc77ed6721cb07a531827079dd1 Mon Sep 17 00:00:00 2001 From: Hui Zhu Date: Tue, 6 Jan 2026 15:27:28 +0800 Subject: [PATCH 26/26] feat(resourcemanager): update RedisCache access key authentication description - Changed the changelog entry to accurately reflect that both enabling and disabling authentication through access keys is supported for RedisCache --- sdk/resourcemanager/azure-resourcemanager/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/resourcemanager/azure-resourcemanager/CHANGELOG.md b/sdk/resourcemanager/azure-resourcemanager/CHANGELOG.md index 8a5ebdf0ae6d..286bf5209860 100644 --- a/sdk/resourcemanager/azure-resourcemanager/CHANGELOG.md +++ b/sdk/resourcemanager/azure-resourcemanager/CHANGELOG.md @@ -6,7 +6,7 @@ #### Features Added -- Supported disabling authentication through access keys for `RedisCache`. +- Supported enabling/disabling authentication through access keys for `RedisCache`. ### Other Changes