From cabda2c2677a6978182f14605c4f35b919959fae Mon Sep 17 00:00:00 2001 From: Matthew Boentoro Date: Wed, 29 Jan 2025 16:05:59 -0800 Subject: [PATCH 1/3] {RDBMS} az postgres flexible-server firewall-rule create: modify firewall rule name validator --- src/azure-cli/azure/cli/command_modules/rdbms/_params.py | 6 +++--- .../azure/cli/command_modules/rdbms/validators.py | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/rdbms/_params.py b/src/azure-cli/azure/cli/command_modules/rdbms/_params.py index a7872ce8e7b..326a4d0db7d 100644 --- a/src/azure-cli/azure/cli/command_modules/rdbms/_params.py +++ b/src/azure-cli/azure/cli/command_modules/rdbms/_params.py @@ -16,8 +16,8 @@ get_three_state_flag) from azure.cli.command_modules.rdbms.validators import configuration_value_validator, validate_subnet, \ tls_validator, public_access_validator, maintenance_window_validator, ip_address_validator, \ - retention_validator, firewall_rule_name_validator, validate_identity, validate_byok_identity, validate_identities, \ - virtual_endpoint_name_validator, node_count_validator + retention_validator, validate_identity, validate_byok_identity, validate_identities, \ + virtual_endpoint_name_validator, node_count_validator, postgres_firewall_rule_name_validator from azure.cli.core.local_context import LocalContextAttribute, LocalContextAction from .randomname.generate import generate_username @@ -796,7 +796,7 @@ def _flexible_server_params(command_group): for scope in ['create', 'delete', 'show', 'update']: argument_context_string = '{} flexible-server firewall-rule {}'.format(command_group, scope) with self.argument_context(argument_context_string) as c: - c.argument('firewall_rule_name', id_part='child_name_1', options_list=['--rule-name', '-r'], validator=firewall_rule_name_validator, + c.argument('firewall_rule_name', id_part='child_name_1', options_list=['--rule-name', '-r'], validator=postgres_firewall_rule_name_validator, help='The name of the firewall rule. If name is omitted, default name will be chosen for firewall name. The firewall rule name can only contain 0-9, a-z, A-Z, \'-\' and \'_\'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length. ') c.argument('end_ip_address', options_list=['--end-ip-address'], validator=ip_address_validator, help='The end IP address of the firewall rule. Must be IPv4 format. Use value \'0.0.0.0\' to represent all Azure-internal IP addresses. ') diff --git a/src/azure-cli/azure/cli/command_modules/rdbms/validators.py b/src/azure-cli/azure/cli/command_modules/rdbms/validators.py index 4437c9968ca..b081660ea37 100644 --- a/src/azure-cli/azure/cli/command_modules/rdbms/validators.py +++ b/src/azure-cli/azure/cli/command_modules/rdbms/validators.py @@ -682,6 +682,15 @@ def firewall_rule_name_validator(ns): "and no more than 128 characters in length. ") +def postgres_firewall_rule_name_validator(ns): + if not ns.firewall_rule_name: + return + if not re.search(r'^[a-zA-Z0-9][-_a-zA-Z0-9]{0,79}(? Date: Thu, 30 Jan 2025 08:09:11 -0800 Subject: [PATCH 2/3] address feedback --- src/azure-cli/azure/cli/command_modules/rdbms/validators.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/azure-cli/azure/cli/command_modules/rdbms/validators.py b/src/azure-cli/azure/cli/command_modules/rdbms/validators.py index b081660ea37..73ff78eb27e 100644 --- a/src/azure-cli/azure/cli/command_modules/rdbms/validators.py +++ b/src/azure-cli/azure/cli/command_modules/rdbms/validators.py @@ -687,8 +687,8 @@ def postgres_firewall_rule_name_validator(ns): return if not re.search(r'^[a-zA-Z0-9][-_a-zA-Z0-9]{0,79}(? Date: Thu, 30 Jan 2025 09:17:47 -0800 Subject: [PATCH 3/3] address feedback --- src/azure-cli/azure/cli/command_modules/rdbms/validators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/azure-cli/azure/cli/command_modules/rdbms/validators.py b/src/azure-cli/azure/cli/command_modules/rdbms/validators.py index 73ff78eb27e..acbe69b5bc7 100644 --- a/src/azure-cli/azure/cli/command_modules/rdbms/validators.py +++ b/src/azure-cli/azure/cli/command_modules/rdbms/validators.py @@ -688,7 +688,7 @@ def postgres_firewall_rule_name_validator(ns): if not re.search(r'^[a-zA-Z0-9][-_a-zA-Z0-9]{0,79}(?