Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
network fixing
  • Loading branch information
DaeunYim committed May 9, 2021
commit 24f877d90a4962309655d1da94dc7c7a09e59deb
Original file line number Diff line number Diff line change
Expand Up @@ -84,52 +84,52 @@ def flexible_server_create(cmd, client,
private_dns_zone=private_dns_zone_arguments,
subnet_id=subnet_id,
location=location)
private_dns_zone_arguments = postgresql_flexibleservers.models.ServerPropertiesPrivateDnsZoneArguments(private_dns_zone_arm_resource_id=private_dns_zone_id)
else:
delegated_subnet_arguments = None
private_dns_zone_arguments = None

administrator_login_password = generate_password(administrator_login_password)
if server_result is None:
# Create postgresql
# Note : passing public_access has no effect as the accepted values are 'Enabled' and 'Disabled'. So the value ends up being ignored.
server_result = _create_server(db_context, cmd, resource_group_name, server_name, location,
backup_retention,
sku_name, tier, storage_mb, administrator_login,
administrator_login_password,
version, tags, subnet_id, assign_identity, delegated_subnet_arguments,
high_availability, zone, private_dns_zone_arguments)

# Adding firewall rule
if public_access is not None and str(public_access).lower() != 'none':
if str(public_access).lower() == 'all':
start_ip, end_ip = '0.0.0.0', '255.255.255.255'
else:
start_ip, end_ip = parse_public_access_input(public_access)
firewall_id = create_firewall_rule(db_context, cmd, resource_group_name, server_name, start_ip, end_ip)

# Create mysql database if it does not exist
if database_name is None:
database_name = DEFAULT_DB_NAME
_create_database(db_context, cmd, resource_group_name, server_name, database_name)

user = server_result.administrator_login
server_id = server_result.id
loc = server_result.location
version = server_result.version
sku = server_result.sku.name
host = server_result.fully_qualified_domain_name

logger.warning('Make a note of your password. If you forget, you would have to'
'reset your password with "az postgres flexible-server update -n %s -g %s -p <new-password>".',
server_name, resource_group_name)

_update_local_contexts(cmd, server_name, resource_group_name, location, user)

return _form_response(user, sku, loc, server_id, host, version,
administrator_login_password if administrator_login_password is not None else '*****',
_create_postgresql_connection_string(host, user, administrator_login_password), firewall_id,
subnet_id)
# private_dns_zone_arguments = postgresql_flexibleservers.models.ServerPropertiesPrivateDnsZoneArguments(private_dns_zone_arm_resource_id=private_dns_zone_id)
# else:
# delegated_subnet_arguments = None
# private_dns_zone_arguments = None

# administrator_login_password = generate_password(administrator_login_password)
# if server_result is None:
# # Create postgresql
# # Note : passing public_access has no effect as the accepted values are 'Enabled' and 'Disabled'. So the value ends up being ignored.
# server_result = _create_server(db_context, cmd, resource_group_name, server_name, location,
# backup_retention,
# sku_name, tier, storage_mb, administrator_login,
# administrator_login_password,
# version, tags, subnet_id, assign_identity, delegated_subnet_arguments,
# high_availability, zone, private_dns_zone_arguments)

# # Adding firewall rule
# if public_access is not None and str(public_access).lower() != 'none':
# if str(public_access).lower() == 'all':
# start_ip, end_ip = '0.0.0.0', '255.255.255.255'
# else:
# start_ip, end_ip = parse_public_access_input(public_access)
# firewall_id = create_firewall_rule(db_context, cmd, resource_group_name, server_name, start_ip, end_ip)

# # Create mysql database if it does not exist
# if database_name is None:
# database_name = DEFAULT_DB_NAME
# _create_database(db_context, cmd, resource_group_name, server_name, database_name)

# user = server_result.administrator_login
# server_id = server_result.id
# loc = server_result.location
# version = server_result.version
# sku = server_result.sku.name
# host = server_result.fully_qualified_domain_name

# logger.warning('Make a note of your password. If you forget, you would have to'
# 'reset your password with "az postgres flexible-server update -n %s -g %s -p <new-password>".',
# server_name, resource_group_name)

# _update_local_contexts(cmd, server_name, resource_group_name, location, user)

# return _form_response(user, sku, loc, server_id, host, version,
# administrator_login_password if administrator_login_password is not None else '*****',
# _create_postgresql_connection_string(host, user, administrator_login_password), firewall_id,
# subnet_id)


def flexible_server_restore(cmd, client,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,14 +63,15 @@ def prepare_private_network(cmd, resource_group_name, server_name, vnet, subnet,
location, server_name, vnet_address_pref, subnet_address_pref)

else:
raise ValidationError("If you pass both --vnet and --subnet, consider passing names instead of IDs. If you want to use exising subnet, please provide subnet Id (not vnet Id).")
raise ValidationError("If you pass both --vnet and --subnet, consider passing names instead of IDs. If you want to use exising subnet, please provide the subnet Id (not vnet Id).")

elif subnet is None and vnet is None:
subnet_result = _create_vnet_subnet_delegation(cmd, nw_client, resource_client, delegation_service_name, resource_group_name, 'Vnet' + server_name[6:], 'Subnet' + server_name[6:],
location, server_name, vnet_address_pref, subnet_address_pref)
else:
return None

print(subnet_result)
return subnet_result.id


Expand Down Expand Up @@ -118,7 +119,7 @@ def _create_vnet_subnet_delegation(cmd, nw_client, resource_client, delegation_s
prefixes = vnet.address_space.address_prefixes
subnet_exist = check_existence(resource_client, subnet_name, resource_group, 'Microsoft.Network', 'subnets', parent_name=vnet_name, parent_type='virtualNetworks')
if not subnet_exist and vnet_address_pref not in prefixes:
logger.warning('Adding address prefix %s to Vnet %s', vnet_address_pref, vnet_name)
logger.warning('The default/input address prefix does not exist in the Vnet. Adding address prefix %s to Vnet %s.', vnet_address_pref, vnet_name)
nw_client.virtual_networks.begin_create_or_update(resource_group, vnet_name,
VirtualNetwork(location=location,
address_space=AddressSpace(
Expand All @@ -128,10 +129,12 @@ def _create_vnet_subnet_delegation(cmd, nw_client, resource_client, delegation_s


def _create_subnet_delegation(cmd, nw_client, resource_client, delegation_service_name, resource_group, vnet_name, subnet_name, location, server_name, subnet_address_pref):
Delegation, Subnet, ServiceEndpoint = cmd.get_models('Delegation', 'Subnet', 'ServiceEndpointPropertiesFormat', resource_type=ResourceType.MGMT_NETWORK)
Delegation, Subnet = cmd.get_models('Delegation', 'Subnet', resource_type=ResourceType.MGMT_NETWORK)
delegation = Delegation(name=delegation_service_name, service_name=delegation_service_name)
print(resource_group, vnet_name, subnet_name)
print(check_existence(resource_client, subnet_name, resource_group, 'Microsoft.Network', 'subnets', parent_name=vnet_name, parent_type='virtualNetworks'))

# subnet exist
# subnet not exist
if not check_existence(resource_client, subnet_name, resource_group, 'Microsoft.Network', 'subnets', parent_name=vnet_name, parent_type='virtualNetworks'):
subnet_result = Subnet(
name=subnet_name,
Expand All @@ -147,6 +150,7 @@ def _create_subnet_delegation(cmd, nw_client, resource_client, delegation_servic
logger.warning('Creating new Subnet "%s" in resource group "%s"', subnet_name, resource_group)
subnet = nw_client.subnets.begin_create_or_update(resource_group, vnet_name, subnet_name,
subnet_result).result()
# subnet exist
else:
subnet = nw_client.subnets.get(resource_group, vnet_name, subnet_name)
logger.warning('Using existing Subnet "%s" in resource group "%s"', subnet_name, resource_group)
Expand All @@ -156,15 +160,14 @@ def _create_subnet_delegation(cmd, nw_client, resource_client, delegation_servic
# Add Delegation if not delegated already
if not subnet.delegations:
logger.warning('Adding "%s" delegation to the existing subnet %s.', delegation_service_name, subnet_name)
subnet.delegations = [delegation]
subnet = nw_client.subnets.begin_create_or_update(resource_group, vnet_name, subnet_name, subnet).result()
else:
for delgtn in subnet.delegations:
if delgtn.service_name != delegation_service_name:
raise CLIError("Can not use subnet with existing delegations other than {}".format(
delegation_service_name))

subnet.delegations = [delegation]
subnet = nw_client.subnets.begin_create_or_update(resource_group, vnet_name, subnet_name, subnet).result()

return subnet


Expand Down