Skip to content

Commit d6bd8a0

Browse files
nikitagarg123Nikita Garg
authored andcommitted
release redis enterprise api version 2025-07-01 (Azure#9332)
* add api version 2025-07-01 * fix lint issue * update test * update changelog --------- Co-authored-by: Nikita Garg <nikitagarg@microsoft.com>
1 parent 1a45d43 commit d6bd8a0

40 files changed

Lines changed: 9854 additions & 4256 deletions

src/redisenterprise/HISTORY.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
33
Release History
44
===============
5+
1.3.0
6+
- Added a new required property: PublicNetworkAccess for Cluster.
7+
- Updated the default value of AccessKeysAuthentication property for Database to 'Disabled'.
8+
59
1.2.3
610
- Added breaking change warning for upcoming release
711

src/redisenterprise/azext_redisenterprise/_params.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ def load_arguments(self, _):
4444
c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False,
4545
validator=get_default_location_from_resource_group)
4646
c.argument('high_availability', arg_type=get_enum_type(['Disabled', 'Enabled']), options_list=['--high-availability'], help='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.')
47+
c.argument('public_network_access', arg_type=get_enum_type(['Disabled', 'Enabled']), options_list=['--public-network-access'], help='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.')
4748
c.argument('sku', arg_type=get_enum_type(['Balanced_B0', 'Balanced_B1', 'Balanced_B10', 'Balanced_B100', 'Balanced_B1000', 'Balanced_B150', 'Balanced_B20', 'Balanced_B250', 'Balanced_B3', 'Balanced_B350', 'Balanced_B5', 'Balanced_B50', 'Balanced_B500', 'Balanced_B700', 'ComputeOptimized_X10', 'ComputeOptimized_X100', 'ComputeOptimized_X150', 'ComputeOptimized_X20', 'ComputeOptimized_X250', 'ComputeOptimized_X3', 'ComputeOptimized_X350', 'ComputeOptimized_X5', 'ComputeOptimized_X50', 'ComputeOptimized_X500', 'ComputeOptimized_X700', 'EnterpriseFlash_F1500', 'EnterpriseFlash_F300', 'EnterpriseFlash_F700', 'Enterprise_E1', 'Enterprise_E10', 'Enterprise_E100', 'Enterprise_E20', 'Enterprise_E200', 'Enterprise_E400', 'Enterprise_E5', 'Enterprise_E50', 'FlashOptimized_A1000', 'FlashOptimized_A1500', 'FlashOptimized_A2000', 'FlashOptimized_A250', 'FlashOptimized_A4500', 'FlashOptimized_A500', 'FlashOptimized_A700', 'MemoryOptimized_M10', 'MemoryOptimized_M100', 'MemoryOptimized_M1000', 'MemoryOptimized_M150', 'MemoryOptimized_M1500', 'MemoryOptimized_M20', 'MemoryOptimized_M2000', 'MemoryOptimized_M250', 'MemoryOptimized_M350', 'MemoryOptimized_M50', 'MemoryOptimized_M500', 'MemoryOptimized_M700']), help='The type of RedisEnterprise cluster '
4849
'to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)')
4950
c.argument('capacity', type=int, help='The size of the RedisEnterprise cluster. Defaults to 2 or 3 or not applicable depending on SKU.'
@@ -80,7 +81,7 @@ def load_arguments(self, _):
8081
'can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted.')
8182
c.argument('port', type=int, help='TCP port of the database endpoint. Specified at create time. Defaults to an '
8283
'available port.')
83-
c.argument('access_keys_authentication', options_list=['--access-keys-auth', '--access-keys-authentication'], arg_type=get_enum_type(['Enabled', 'Disabled']), help='Access database using keys - default is enabled. This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created.')
84+
c.argument('access_keys_authentication', options_list=['--access-keys-auth', '--access-keys-authentication'], arg_type=get_enum_type(['Enabled', 'Disabled']), help='Access database using keys - default is disabled. This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created.')
8485
c.argument('clustering_policy', arg_type=get_enum_type(['EnterpriseCluster', 'OSSCluster', 'NoCluster']), help='Clustering policy - default '
8586
'is OSSCluster. Specified at create time.')
8687
c.argument('eviction_policy', arg_type=get_enum_type(['AllKeysLFU', 'AllKeysLRU', 'AllKeysRandom',
@@ -103,6 +104,7 @@ def load_arguments(self, _):
103104
c.argument('cluster_name', options_list=['--cluster-name', '--name', '-n'], type=str, help='The name of the '
104105
'RedisEnterprise cluster.', id_part='name')
105106
c.argument('high_availability', arg_type=get_enum_type(['Disabled', 'Enabled']), options_list=['--high-availability'], help='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.')
107+
c.argument('public_network_access', arg_type=get_enum_type(['Disabled', 'Enabled']), options_list=['--public-network-access'], help='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.')
106108
c.argument('sku', arg_type=get_enum_type(['Balanced_B0', 'Balanced_B1', 'Balanced_B10', 'Balanced_B100', 'Balanced_B1000', 'Balanced_B150', 'Balanced_B20', 'Balanced_B250', 'Balanced_B3', 'Balanced_B350', 'Balanced_B5', 'Balanced_B50', 'Balanced_B500', 'Balanced_B700', 'ComputeOptimized_X10', 'ComputeOptimized_X100', 'ComputeOptimized_X150', 'ComputeOptimized_X20', 'ComputeOptimized_X250', 'ComputeOptimized_X3', 'ComputeOptimized_X350', 'ComputeOptimized_X5', 'ComputeOptimized_X50', 'ComputeOptimized_X500', 'ComputeOptimized_X700', 'EnterpriseFlash_F1500', 'EnterpriseFlash_F300', 'EnterpriseFlash_F700', 'Enterprise_E1', 'Enterprise_E10', 'Enterprise_E100', 'Enterprise_E20', 'Enterprise_E200', 'Enterprise_E400', 'Enterprise_E5', 'Enterprise_E50', 'FlashOptimized_A1000', 'FlashOptimized_A1500', 'FlashOptimized_A2000', 'FlashOptimized_A250', 'FlashOptimized_A4500', 'FlashOptimized_A500', 'FlashOptimized_A700', 'MemoryOptimized_M10', 'MemoryOptimized_M100', 'MemoryOptimized_M1000', 'MemoryOptimized_M150', 'MemoryOptimized_M1500', 'MemoryOptimized_M20', 'MemoryOptimized_M2000', 'MemoryOptimized_M250', 'MemoryOptimized_M350', 'MemoryOptimized_M50', 'MemoryOptimized_M500', 'MemoryOptimized_M700']), help='The type of RedisEnterprise cluster '
107109
'to deploy. Possible values: (Balanced_B1, ComputeOptimized_X10, MemoryOptimized_M10, Enterprise_E10, EnterpriseFlash_F300 etc.)')
108110
c.argument('capacity', type=int, help='The size of the RedisEnterprise cluster. Defaults to 2 or 3 or not applicable depending on SKU.'
@@ -159,7 +161,7 @@ def load_arguments(self, _):
159161
c.argument('client_protocol', arg_type=get_enum_type(['Encrypted', 'Plaintext']), help='Specifies whether '
160162
'redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is '
161163
'TLS-encrypted.')
162-
c.argument('access_keys_authentication', options_list=['--access-keys-auth', '--access-keys-authentication'], arg_type=get_enum_type(['Enabled', 'Disabled']), help='Access database using keys - default is enabled. This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created.')
164+
c.argument('access_keys_authentication', options_list=['--access-keys-auth', '--access-keys-authentication'], arg_type=get_enum_type(['Enabled', 'Disabled']), help='Access database using keys - default is disabled. This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created.')
163165
c.argument('port', type=int, help='TCP port of the database endpoint. Specified at create time. Defaults to an '
164166
'available port.')
165167
c.argument('clustering_policy', arg_type=get_enum_type(['EnterpriseCluster', 'OSSCluster', 'NoCluster']), help='Clustering '
@@ -183,7 +185,7 @@ def load_arguments(self, _):
183185
c.argument('client_protocol', arg_type=get_enum_type(['Encrypted', 'Plaintext']), help='Specifies whether '
184186
'redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is '
185187
'TLS-encrypted.')
186-
c.argument('access_keys_authentication', options_list=['--access-keys-auth', '--access-keys-authentication'], arg_type=get_enum_type(['Enabled', 'Disabled']), help='Access database using keys - default is enabled. This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created.')
188+
c.argument('access_keys_authentication', options_list=['--access-keys-auth', '--access-keys-authentication'], arg_type=get_enum_type(['Enabled', 'Disabled']), help='Access database using keys - default is disabled. This property can be Enabled/Disabled to allow or deny access with the current access keys. Can be updated even after database is created.')
187189
c.argument('eviction_policy', arg_type=get_enum_type(['AllKeysLFU', 'AllKeysLRU', 'AllKeysRandom',
188190
'VolatileLRU', 'VolatileLFU', 'VolatileTTL',
189191
'VolatileRandom', 'NoEviction']), help='Redis eviction '

src/redisenterprise/azext_redisenterprise/aaz/latest/redisenterprise/_create.py

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ class Create(AAZCommand):
1919
"""
2020

2121
_aaz_info = {
22-
"version": "2025-05-01-preview",
22+
"version": "2025-07-01",
2323
"resources": [
24-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cache/redisenterprise/{}", "2025-05-01-preview"],
24+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cache/redisenterprise/{}", "2025-07-01"],
2525
]
2626
}
2727

@@ -60,7 +60,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
6060
_args_schema.key_encryption_key_url = AAZStrArg(
6161
options=["--key-encryption-key-url"],
6262
arg_group="Encryption",
63-
help="Key encryption key Url, versioned only. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78",
63+
help="Key encryption key Url, versioned only. Ex: `https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78`",
6464
)
6565

6666
# define Arg Group "Identity"
@@ -110,7 +110,7 @@ def _build_arguments_schema(cls, *args, **kwargs):
110110
_args_schema.user_assigned_identity_resource_id = AAZStrArg(
111111
options=["--identity-resource-id", "--user-assigned-identity-resource-id"],
112112
arg_group="KeyEncryptionKeyIdentity",
113-
help="User assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/<sub uuid>/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId.",
113+
help="User assigned identity to use for accessing key encryption key Url. Ex: `/subscriptions/<sub uuid>/resourceGroups/<resource group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId`.",
114114
)
115115

116116
# define Arg Group "Parameters"
@@ -156,6 +156,13 @@ def _build_arguments_schema(cls, *args, **kwargs):
156156
help="The minimum TLS version for the cluster to support, e.g. '1.2'",
157157
enum={"1.0": "1.0", "1.1": "1.1", "1.2": "1.2"},
158158
)
159+
_args_schema.public_network_access = AAZStrArg(
160+
options=["--public-network-access"],
161+
arg_group="Properties",
162+
help="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.",
163+
nullable=True,
164+
enum={"Disabled": "Disabled", "Enabled": "Enabled"},
165+
)
159166

160167
# define Arg Group "Sku"
161168

@@ -255,7 +262,7 @@ def url_parameters(self):
255262
def query_parameters(self):
256263
parameters = {
257264
**self.serialize_query_param(
258-
"api-version", "2025-05-01-preview",
265+
"api-version", "2025-07-01",
259266
required=True,
260267
),
261268
}
@@ -307,6 +314,7 @@ def content(self):
307314
properties.set_prop("encryption", AAZObjectType)
308315
properties.set_prop("highAvailability", AAZStrType, ".high_availability")
309316
properties.set_prop("minimumTlsVersion", AAZStrType, ".minimum_tls_version")
317+
properties.set_prop("publicNetworkAccess", AAZStrType, ".public_network_access", typ_kwargs={"flags": {"required": True}, "nullable": True})
310318

311319
encryption = _builder.get(".properties.encryption")
312320
if encryption is not None:
@@ -429,6 +437,11 @@ def _build_schema_on_200_201(cls):
429437
serialized_name="provisioningState",
430438
flags={"read_only": True},
431439
)
440+
properties.public_network_access = AAZStrType(
441+
serialized_name="publicNetworkAccess",
442+
flags={"required": True},
443+
nullable=True,
444+
)
432445
properties.redis_version = AAZStrType(
433446
serialized_name="redisVersion",
434447
flags={"read_only": True},

src/redisenterprise/azext_redisenterprise/aaz/latest/redisenterprise/_delete.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ class Delete(AAZCommand):
2020
"""
2121

2222
_aaz_info = {
23-
"version": "2025-05-01-preview",
23+
"version": "2025-07-01",
2424
"resources": [
25-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cache/redisenterprise/{}", "2025-05-01-preview"],
25+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cache/redisenterprise/{}", "2025-07-01"],
2626
]
2727
}
2828

@@ -143,7 +143,7 @@ def url_parameters(self):
143143
def query_parameters(self):
144144
parameters = {
145145
**self.serialize_query_param(
146-
"api-version", "2025-05-01-preview",
146+
"api-version", "2025-07-01",
147147
required=True,
148148
),
149149
}

src/redisenterprise/azext_redisenterprise/aaz/latest/redisenterprise/_list.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ class List(AAZCommand):
1919
"""
2020

2121
_aaz_info = {
22-
"version": "2025-05-01-preview",
22+
"version": "2025-07-01",
2323
"resources": [
24-
["mgmt-plane", "/subscriptions/{}/providers/microsoft.cache/redisenterprise", "2025-05-01-preview"],
25-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cache/redisenterprise", "2025-05-01-preview"],
24+
["mgmt-plane", "/subscriptions/{}/providers/microsoft.cache/redisenterprise", "2025-07-01"],
25+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cache/redisenterprise", "2025-07-01"],
2626
]
2727
}
2828

@@ -109,7 +109,7 @@ def url_parameters(self):
109109
def query_parameters(self):
110110
parameters = {
111111
**self.serialize_query_param(
112-
"api-version", "2025-05-01-preview",
112+
"api-version", "2025-07-01",
113113
required=True,
114114
),
115115
}
@@ -226,6 +226,11 @@ def _build_schema_on_200(cls):
226226
serialized_name="provisioningState",
227227
flags={"read_only": True},
228228
)
229+
properties.public_network_access = AAZStrType(
230+
serialized_name="publicNetworkAccess",
231+
flags={"required": True},
232+
nullable=True,
233+
)
229234
properties.redis_version = AAZStrType(
230235
serialized_name="redisVersion",
231236
flags={"read_only": True},
@@ -360,7 +365,7 @@ def url_parameters(self):
360365
def query_parameters(self):
361366
parameters = {
362367
**self.serialize_query_param(
363-
"api-version", "2025-05-01-preview",
368+
"api-version", "2025-07-01",
364369
required=True,
365370
),
366371
}
@@ -477,6 +482,11 @@ def _build_schema_on_200(cls):
477482
serialized_name="provisioningState",
478483
flags={"read_only": True},
479484
)
485+
properties.public_network_access = AAZStrType(
486+
serialized_name="publicNetworkAccess",
487+
flags={"required": True},
488+
nullable=True,
489+
)
480490
properties.redis_version = AAZStrType(
481491
serialized_name="redisVersion",
482492
flags={"read_only": True},

src/redisenterprise/azext_redisenterprise/aaz/latest/redisenterprise/_list_skus_for_scaling.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ class ListSkusForScaling(AAZCommand):
2222
"""
2323

2424
_aaz_info = {
25-
"version": "2025-05-01-preview",
25+
"version": "2025-07-01",
2626
"resources": [
27-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cache/redisenterprise/{}/listskusforscaling", "2025-05-01-preview"],
27+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cache/redisenterprise/{}/listskusforscaling", "2025-07-01"],
2828
]
2929
}
3030

@@ -123,7 +123,7 @@ def url_parameters(self):
123123
def query_parameters(self):
124124
parameters = {
125125
**self.serialize_query_param(
126-
"api-version", "2025-05-01-preview",
126+
"api-version", "2025-07-01",
127127
required=True,
128128
),
129129
}

src/redisenterprise/azext_redisenterprise/aaz/latest/redisenterprise/_show.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ class Show(AAZCommand):
1919
"""
2020

2121
_aaz_info = {
22-
"version": "2025-05-01-preview",
22+
"version": "2025-07-01",
2323
"resources": [
24-
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cache/redisenterprise/{}", "2025-05-01-preview"],
24+
["mgmt-plane", "/subscriptions/{}/resourcegroups/{}/providers/microsoft.cache/redisenterprise/{}", "2025-07-01"],
2525
]
2626
}
2727

@@ -120,7 +120,7 @@ def url_parameters(self):
120120
def query_parameters(self):
121121
parameters = {
122122
**self.serialize_query_param(
123-
"api-version", "2025-05-01-preview",
123+
"api-version", "2025-07-01",
124124
required=True,
125125
),
126126
}
@@ -227,6 +227,11 @@ def _build_schema_on_200(cls):
227227
serialized_name="provisioningState",
228228
flags={"read_only": True},
229229
)
230+
properties.public_network_access = AAZStrType(
231+
serialized_name="publicNetworkAccess",
232+
flags={"required": True},
233+
nullable=True,
234+
)
230235
properties.redis_version = AAZStrType(
231236
serialized_name="redisVersion",
232237
flags={"read_only": True},

0 commit comments

Comments
 (0)