Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
ee1192c
add to ignore
nasc17 Feb 24, 2025
d9d34d4
Merge pull request #5 from nasc17/nasc/gitUpdates
nasc17 Feb 24, 2025
6c0e048
Merge branch 'Azure:dev' into dev2
nasc17 Mar 4, 2025
6370088
Fix bug when updating cmk geo
nasc17 Mar 4, 2025
7f19801
Revert "add to ignore"
nasc17 Mar 4, 2025
4857a1a
Merge branch 'Azure:dev' into dev2
nasc17 Mar 7, 2025
50e8d48
Merge branch 'dev2' of https://github.com/nasc17/azure-cli into dev2
nasc17 Mar 7, 2025
3b1d20b
Updates to not create password if pasword is disabled
nasc17 Mar 10, 2025
c0c36b5
Revert "Updates to not create password if pasword is disabled"
nasc17 Mar 11, 2025
2e0117c
Merge branch 'Azure:dev' into dev2
nasc17 Mar 11, 2025
e6dbe6a
Merge branch 'Azure:dev' into dev2
nasc17 Mar 11, 2025
b54254b
Merge branch 'Azure:dev' into dev2
nasc17 Mar 19, 2025
647ab9f
Merge branch 'Azure:dev' into dev2
nasc17 Mar 21, 2025
881bf8b
Merge branch 'Azure:dev' into dev2
nasc17 Mar 24, 2025
f7943d8
Merge branch 'Azure:dev' into dev2
nasc17 Mar 24, 2025
5b654d3
Merge branch 'Azure:dev' into dev2
nasc17 Mar 24, 2025
88e0438
Merge branch 'Azure:dev' into dev2
nasc17 Apr 1, 2025
3db45d3
Merge branch 'Azure:dev' into dev2
nasc17 Apr 24, 2025
00bf86a
Merge branch 'Azure:dev' into dev2
nasc17 Apr 25, 2025
6a1b57d
Merge branch 'Azure:dev' into dev2
nasc17 Apr 28, 2025
de7b4c9
Merge branch 'Azure:dev' into dev2
nasc17 Apr 30, 2025
0389be8
Merge branch 'Azure:dev' into dev2
nasc17 May 23, 2025
cabdb07
Merge branch 'Azure:dev' into dev2
nasc17 Jun 26, 2025
5c1151c
Merge branch 'Azure:dev' into dev2
nasc17 Jul 18, 2025
bcb1b0d
Merge branch 'Azure:dev' into dev2
nasc17 Aug 1, 2025
7335c68
Merge branch 'Azure:dev' into dev2
nasc17 Aug 14, 2025
cf6af3a
add validation check for burstable ssdv2 in case capabilites is missed
nasc17 Aug 14, 2025
1c02a91
lint error
nasc17 Aug 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
from .validators import pg_arguments_validator, validate_server_name, validate_and_format_restore_point_in_time, \
validate_postgres_replica, validate_georestore_network, pg_byok_validator, validate_migration_runtime_server, \
validate_resource_group, check_resource_group, validate_citus_cluster, cluster_byok_validator, validate_backup_name, \
validate_virtual_endpoint_name_availability, validate_database_name, compare_sku_names, is_citus_cluster
validate_virtual_endpoint_name_availability, validate_database_name, compare_sku_names, is_citus_cluster, pg_restore_validator

logger = get_logger(__name__)
DEFAULT_DB_NAME = 'flexibleserverdb'
Expand Down Expand Up @@ -274,6 +274,7 @@ def flexible_server_restore(cmd, client,
cluster_byok_validator(byok_identity, byok_key, backup_byok_identity, backup_byok_key, geo_redundant_backup, source_server_object)
pg_byok_validator(byok_identity, byok_key, backup_byok_identity, backup_byok_key, geo_redundant_backup)

pg_restore_validator(source_server_object.sku.tier, storage_type=storage_type)
storage = postgresql_flexibleservers.models.Storage(type=storage_type if source_server_object.storage.type != "PremiumV2_LRS" else None)

parameters = postgresql_flexibleservers.models.Server(
Expand Down
13 changes: 11 additions & 2 deletions src/azure-cli/azure/cli/command_modules/rdbms/validators.py
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ def pg_arguments_validator(db_context, location, tier, sku_name, storage_gb, ser
else:
supported_storageV2_size = None
_pg_storage_type_validator(storage_type, auto_grow, high_availability, geo_redundant_backup, performance_tier,
supported_storageV2_size, iops, throughput, instance)
tier, supported_storageV2_size, iops, throughput, instance)
_pg_storage_performance_tier_validator(performance_tier,
sku_info,
tier,
Expand Down Expand Up @@ -905,7 +905,7 @@ def validate_identities(cmd, namespace):
namespace.identities = [_validate_identity(cmd, namespace, identity) for identity in namespace.identities]


def _pg_storage_type_validator(storage_type, auto_grow, high_availability, geo_redundant_backup, performance_tier,
def _pg_storage_type_validator(storage_type, auto_grow, high_availability, geo_redundant_backup, performance_tier, tier,
supported_storageV2_size, iops, throughput, instance):
is_create_ssdv2 = storage_type == "PremiumV2_LRS"
is_update_ssdv2 = instance is not None and instance.storage.type == "PremiumV2_LRS"
Expand All @@ -928,13 +928,22 @@ def _pg_storage_type_validator(storage_type, auto_grow, high_availability, geo_r
raise ValidationError("Geo-redundancy is not supported for servers with Premium SSD V2.")
if performance_tier:
raise ValidationError("Performance tier is not supported for servers with Premium SSD V2.")
if tier and tier.lower() == 'burstable':
raise ValidationError("Burstable tier is not supported for servers with Premium SSD V2.")
else:
if throughput is not None:
raise CLIError('Updating throughput is only capable for server created with Premium SSD v2.')
if iops is not None:
raise CLIError('Updating storage iops is only capable for server created with Premium SSD v2.')


def pg_restore_validator(compute_tier, **args):
is_ssdv2_enabled = args.get('storage_type', None) == "PremiumV2_LRS"

if is_ssdv2_enabled and compute_tier.lower() == 'burstable':
Copy link

Copilot AI Aug 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function does not handle the case where compute_tier might be None or empty. This could cause an AttributeError when calling .lower() on a None value.

Suggested change
if is_ssdv2_enabled and compute_tier.lower() == 'burstable':
if is_ssdv2_enabled and compute_tier and compute_tier.lower() == 'burstable':

Copilot uses AI. Check for mistakes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a good suggestion

raise ValidationError("Burstable tier is not supported for servers with Premium SSD V2.")


def _pg_authentication_validator(password_auth, is_microsoft_entra_auth_enabled,
admin_name, admin_id, admin_type, instance):
if instance is None:
Expand Down
Loading