Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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

This file was deleted.

2 changes: 1 addition & 1 deletion src/azure-cli/azure/cli/command_modules/rdbms/_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -602,7 +602,7 @@ def _flexible_server_params(command_group):
# Add create mode as a parameter
if command_group == 'postgres':
c.argument('tier', default='GeneralPurpose', arg_type=tier_arg_type)
c.argument('sku_name', default='Standard_D2s_v3', arg_type=sku_name_arg_type)
c.argument('sku_name', arg_type=sku_name_arg_type)
c.argument('storage_gb', default='128', arg_type=storage_gb_arg_type)
c.argument('version', default='17', arg_type=version_arg_type)
c.argument('backup_retention', default=7, arg_type=pg_backup_retention_arg_type)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import os
import json
from importlib import import_module
from functools import cmp_to_key
import re
from urllib.parse import quote
from urllib.request import urlretrieve
Expand All @@ -33,15 +34,16 @@
cf_postgres_flexible_config, cf_postgres_flexible_admin
from ._flexible_server_util import generate_missing_parameters, resolve_poller, \
generate_password, parse_maintenance_window, get_current_time, build_identity_and_data_encryption, \
_is_resource_name, get_tenant_id, get_case_insensitive_key_value, get_enum_value_true_false
_is_resource_name, get_tenant_id, get_case_insensitive_key_value, get_enum_value_true_false, \
get_postgres_tiers, get_postgres_skus
from ._flexible_server_location_capabilities_util import get_postgres_location_capability_info
from ._util import get_index_tuning_settings_map
from .flexible_server_custom_common import create_firewall_rule
from .flexible_server_virtual_network import prepare_private_network, prepare_private_dns_zone, prepare_public_network
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
validate_virtual_endpoint_name_availability, validate_database_name, compare_sku_names

logger = get_logger(__name__)
DEFAULT_DB_NAME = 'flexibleserverdb'
Expand Down Expand Up @@ -85,6 +87,18 @@ def flexible_server_create(cmd, client,

server_name = server_name.lower()

if sku_name is None:
Comment thread
mattboentoro marked this conversation as resolved.
# set sku_name from capability API
list_location_capability_info = get_postgres_location_capability_info(cmd, location)
tiers = [item.lower() for item in get_postgres_tiers(list_location_capability_info['sku_info'])]
try:
sku_info = list_location_capability_info['sku_info']
skus = list(get_postgres_skus(sku_info, tier.lower()))
skus = sorted(skus, key=cmp_to_key(compare_sku_names))
sku_name = skus[0]
except:
raise CLIError('Incorrect value for --tier. Allowed values : {}'.format(tiers))

pg_arguments_validator(db_context,
server_name=server_name,
database_name=database_name,
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

4 changes: 2 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 @@ -470,9 +470,9 @@ def compare_sku_names(sku_1, sku_2):
return -1

# the case where version number is the same, we want to sort by the core number
if int(sku_2_match.group('core_number')) > int(sku_1_match.group('core_number')):
return 1
if int(sku_2_match.group('core_number')) < int(sku_1_match.group('core_number')):
return 1
if int(sku_2_match.group('core_number')) > int(sku_1_match.group('core_number')):
return -1

return 0
Expand Down