Skip to content

Commit

Permalink
cherry-pick appsettings fix
Browse files Browse the repository at this point in the history
  • Loading branch information
amberwang113 committed Apr 1, 2024
1 parent 62b9805 commit e1ce5ab
Show file tree
Hide file tree
Showing 12 changed files with 3,133 additions and 3,513 deletions.
19 changes: 15 additions & 4 deletions src/azure-cli/azure/cli/command_modules/appservice/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,7 @@ def update_app_settings(cmd, resource_group_name, name, settings=None, slot=None
app_settings_slot_cfg_names = slot_cfg_names.app_setting_names
client.web_apps.update_slot_configuration_names(resource_group_name, name, slot_cfg_names)

return _build_app_settings_output(result.properties, app_settings_slot_cfg_names)
return _build_app_settings_output(result.properties, app_settings_slot_cfg_names, redact=True)


def add_azure_storage_account(cmd, resource_group_name, name, custom_id, storage_type, account_name,
Expand Down Expand Up @@ -1406,7 +1406,9 @@ def delete_app_settings(cmd, resource_group_name, name, setting_names, slot=None
'update_application_settings',
app_settings, slot, client)

return _build_app_settings_output(result.properties, slot_cfg_names.app_setting_names)
return _build_app_settings_output(result.properties,
slot_cfg_names.app_setting_names if slot_cfg_names else [],
redact=True)


def delete_azure_storage_accounts(cmd, resource_group_name, name, custom_id, slot=None):
Expand Down Expand Up @@ -1442,11 +1444,20 @@ def _ssl_context():
return ssl.create_default_context()


def _build_app_settings_output(app_settings, slot_cfg_names):
def _build_app_settings_output(app_settings, slot_cfg_names, redact=False):
slot_cfg_names = slot_cfg_names or []
return [{'name': p,
'value': app_settings[p],
'slotSetting': p in slot_cfg_names} for p in _mask_creds_related_appsettings(app_settings)]
'slotSetting': p in slot_cfg_names} for p in (_redact_appsettings(app_settings) if redact
else _mask_creds_related_appsettings(app_settings))]


def _redact_appsettings(settings):
logger.warning('App settings have been redacted. '
'Use `az webapp/logicapp/functionapp config appsettings list` to view.')
for x in settings:
settings[x] = None
return settings


def update_connection_strings(cmd, resource_group_name, name, connection_string_type,
Expand Down
15 changes: 13 additions & 2 deletions src/azure-cli/azure/cli/command_modules/appservice/static_sites.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,9 +291,11 @@ def set_staticsite_app_settings(cmd, name, setting_pairs, resource_group_name=No
for k, v in setting_dict.items():
settings.properties[k] = v

return client.create_or_update_static_site_app_settings(
result = client.create_or_update_static_site_app_settings(
resource_group_name, name, app_settings=settings)

return _redact_appsettings(result)


def delete_staticsite_app_settings(cmd, name, setting_names, resource_group_name=None):
client = _get_staticsites_client_factory(cmd.cli_ctx)
Expand All @@ -308,9 +310,18 @@ def delete_staticsite_app_settings(cmd, name, setting_names, resource_group_name
else:
logger.warning("key '%s' not found in app settings", key)

return client.create_or_update_static_site_app_settings(
result = client.create_or_update_static_site_app_settings(
resource_group_name, name, app_settings=app_settings)

return _redact_appsettings(result)


def _redact_appsettings(payload):
logger.warning('App settings have been redacted. Use `az staticwebapp appsettings list` to view.')
for x in payload.properties:
payload.properties[x] = None
return payload


def list_staticsite_users(cmd, name, resource_group_name=None, authentication_provider='all'):
client = _get_staticsites_client_factory(cmd.cli_ctx)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ interactions:
cache-control:
- no-cache
content-length:
- '310'
- '381'
content-type:
- application/json; charset=utf-8
date:
Expand All @@ -36,6 +36,8 @@ interactions:
- max-age=31536000; includeSubDomains
vary:
- Accept-Encoding
vary:
- Accept-Encoding
x-content-type-options:
- nosniff
status:
Expand Down Expand Up @@ -72,7 +74,7 @@ interactions:
cache-control:
- no-cache
content-length:
- '1500'
- '1620'
content-type:
- application/json
date:
Expand All @@ -91,6 +93,10 @@ interactions:
- chunked
vary:
- Accept-Encoding
transfer-encoding:
- chunked
vary:
- Accept-Encoding
x-aspnet-version:
- 4.0.30319
x-content-type-options:
Expand Down Expand Up @@ -128,7 +134,7 @@ interactions:
cache-control:
- no-cache
content-length:
- '1426'
- '1540'
content-type:
- application/json
date:
Expand All @@ -145,6 +151,10 @@ interactions:
- chunked
vary:
- Accept-Encoding
transfer-encoding:
- chunked
vary:
- Accept-Encoding
x-aspnet-version:
- 4.0.30319
x-content-type-options:
Expand Down

Large diffs are not rendered by default.

Loading

0 comments on commit e1ce5ab

Please sign in to comment.