Skip to content

Commit f1dfff0

Browse files
committed
Clean up implementation
1 parent 8c389b9 commit f1dfff0

File tree

1 file changed

+32
-26
lines changed
  • src/azure-cli/azure/cli/command_modules/appservice

1 file changed

+32
-26
lines changed

src/azure-cli/azure/cli/command_modules/appservice/custom.py

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1248,7 +1248,9 @@ def _migrate_site_properties(cmd, source, resource_group, name):
12481248
functionapp.client_cert_mode = source.client_cert_mode
12491249
functionapp.client_cert_exclusion_paths = source.client_cert_exclusion_paths
12501250

1251-
set_functionapp(cmd, resource_group, name, parameters=functionapp)
1251+
poller = set_functionapp(cmd, resource_group, name, parameters=functionapp)
1252+
LongRunningOperation(cmd.cli_ctx)(poller)
1253+
12521254
logger.warning("Successfully updated the following properties for function app '%s': "
12531255
"https_only, client_cert_enabled, client_cert_mode, client_cert_exclusion_paths", name)
12541256
except Exception as e: # pylint: disable=broad-except
@@ -1286,10 +1288,10 @@ def _migrate_cors_settings(cmd, source_site_configs, source_name, resource_group
12861288
source_name, name)
12871289
try:
12881290
source_cors_settings = source_site_configs.cors
1289-
if source_cors_settings and source_cors_settings.allowed_origins:
1290-
add_cors(cmd, resource_group, name, source_cors_settings.allowed_origins)
1291-
logger.warning("Successfully migrated CORS allowed origins")
1292-
if source_cors_settings and source_cors_settings.support_credentials:
1291+
add_cors(cmd, resource_group, name, source_cors_settings.allowed_origins)
1292+
cors_allowed_origins = ', '.join(source_cors_settings.allowed_origins)
1293+
logger.warning("Successfully migrated CORS allowed origins: %s", cors_allowed_origins)
1294+
if source_cors_settings.support_credentials:
12931295
enable_credentials(cmd, resource_group, name, enable=True)
12941296
logger.warning("Enabled Access-Control-Allow-Credentials")
12951297
except Exception as e: # pylint: disable=broad-except
@@ -1385,8 +1387,7 @@ def _migrate_access_restrictions(cmd, source_resource_group, source_name, resour
13851387
default_action = source_restrictions.get('ipSecurityRestrictionsDefaultAction')
13861388
scm_default_action = source_restrictions.get('scmIpSecurityRestrictionsDefaultAction')
13871389

1388-
# validated
1389-
if scm_use_main is not None or default_action or scm_default_action:
1390+
if scm_use_main or default_action or scm_default_action:
13901391
try:
13911392
access_restrictions.set_webapp_access_restriction(
13921393
cmd, resource_group, name,
@@ -1445,7 +1446,7 @@ def _add_single_access_restriction(cmd, resource_group, name, restriction, scm_s
14451446
description=description,
14461447
scm_site=scm_site,
14471448
ignore_missing_vnet_service_endpoint=True,
1448-
http_headers=_format_headers_for_add(headers) if headers else None
1449+
http_headers=_format_headers(headers) if headers else None
14491450
)
14501451
logger.warning("Migrated %s subnet restriction: %s (Priority: %d)",
14511452
"SCM" if scm_site else "main", rule_name or subnet_id, priority)
@@ -1462,7 +1463,7 @@ def _add_single_access_restriction(cmd, resource_group, name, restriction, scm_s
14621463
service_tag=ip_address,
14631464
description=description,
14641465
scm_site=scm_site,
1465-
http_headers=_format_headers_for_add(headers) if headers else None
1466+
http_headers=_format_headers(headers) if headers else None
14661467
)
14671468
logger.warning("Migrated %s service tag restriction: %s (Priority: %d)",
14681469
"SCM" if scm_site else "main", rule_name or ip_address, priority)
@@ -1477,7 +1478,7 @@ def _add_single_access_restriction(cmd, resource_group, name, restriction, scm_s
14771478
ip_address=ip_address,
14781479
description=description,
14791480
scm_site=scm_site,
1480-
http_headers=_format_headers_for_add(headers) if headers else None
1481+
http_headers=_format_headers(headers) if headers else None
14811482
)
14821483
logger.warning("Migrated %s IP restriction: %s (Priority: %d)",
14831484
"SCM" if scm_site else "main", rule_name or ip_address, priority)
@@ -1487,7 +1488,7 @@ def _add_single_access_restriction(cmd, resource_group, name, restriction, scm_s
14871488
"SCM" if scm_site else "main", rule_name or 'unnamed', str(e))
14881489

14891490

1490-
def _format_headers_for_add(headers_dict):
1491+
def _format_headers(headers_dict):
14911492
if not headers_dict:
14921493
return None
14931494

@@ -1508,24 +1509,29 @@ def _migrate_managed_identities_and_roles(cmd, source, resource_group, name):
15081509

15091510
source_identity = source.identity
15101511

1511-
if source_identity and 'SystemAssigned' in source_identity.type:
1512-
system_role_assignments = list_role_assignments(cmd,
1513-
assignee_object_id=source_identity.principal_id,
1514-
show_all=True)
1512+
if source_identity:
1513+
if 'SystemAssigned' in source_identity.type:
1514+
system_role_assignments = list_role_assignments(cmd,
1515+
assignee_object_id=source_identity.principal_id,
1516+
show_all=True)
1517+
1518+
assign_identity(cmd, resource_group, name, assign_identities=['[system]'])
1519+
target_identity = show_identity(cmd, resource_group, name)
1520+
logger.warning("Assigned system-assigned identity to target function app '%s' with principal ID '%s'",
1521+
name, target_identity.principal_id)
1522+
_migrate_role_assignments(cmd, system_role_assignments, target_identity.principal_id)
15151523

1516-
assign_identity(cmd, resource_group, name, assign_identities=['[system]'])
1517-
target_identity = show_identity(cmd, resource_group, name)
1518-
logger.warning("Assigned system-assigned identity to target function app '%s' with principal ID '%s'",
1519-
name, target_identity.principal_id)
1520-
_migrate_role_assignments(cmd, system_role_assignments, target_identity.principal_id)
1524+
if source_identity.user_assigned_identities:
1525+
user_identity_ids = list(source_identity.user_assigned_identities.keys())
1526+
assign_identity(cmd, resource_group, name, assign_identities=user_identity_ids)
1527+
logger.warning("Assigned user-assigned identities to target function app '%s': %s",
1528+
name, ', '.join(user_identity_ids))
15211529

1522-
if source_identity and source_identity.user_assigned_identities:
1523-
user_identity_ids = list(source_identity.user_assigned_identities.keys())
1524-
assign_identity(cmd, resource_group, name, assign_identities=user_identity_ids)
1525-
logger.warning("Assigned user-assigned identities to target function app '%s': %s",
1526-
name, ', '.join(user_identity_ids))
1530+
logger.warning("Successfully migrated managed identities and role assignments")
15271531

1528-
logger.warning("Successfully migrated managed identities and role assignments")
1532+
else:
1533+
logger.warning("No managed identities found in source function app '%s'. No action needed.",
1534+
source.name)
15291535

15301536
except Exception as e: # pylint: disable=broad-except
15311537
logger.warning("Failed to migrate managed identities and role assignments with error %s. Run "

0 commit comments

Comments
 (0)