diff --git a/src/azure-cli/HISTORY.rst b/src/azure-cli/HISTORY.rst index 4ffb7bca0a5..865c5b6a9f3 100644 --- a/src/azure-cli/HISTORY.rst +++ b/src/azure-cli/HISTORY.rst @@ -12,6 +12,7 @@ Release History * Fix issue #11217: webapp: az webapp config ssl upload should support slot parameter * Fix issue #10965: Error: Name cannot be empty. Allow remove by ip_address and subnet +* Add support for importing certificates from Key Vault `az webapp config ssl import` **Compute** diff --git a/src/azure-cli/azure/cli/command_modules/appservice/_help.py b/src/azure-cli/azure/cli/command_modules/appservice/_help.py index 4a747dfae1e..2d177c251f1 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/_help.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/_help.py @@ -320,6 +320,14 @@ crafted: true """ +helps['functionapp config ssl import'] = """ +type: command +short-summary: Import an SSL certificate to a function app from Key Vault. +examples: + - name: Import an SSL certificate to a function app from Key Vault. + text: az functionapp config ssl import --resource-group MyResourceGroup --name MyFunctionApp --key-vault MyKeyVault --key-vault-certificate-name MyCertificateName +""" + helps['functionapp cors'] = """ type: group short-summary: Manage Cross-Origin Resource Sharing (CORS) @@ -1164,6 +1172,14 @@ crafted: true """ +helps['webapp config ssl import'] = """ +type: command +short-summary: Import an SSL certificate to a web app from Key Vault. +examples: + - name: Import an SSL certificate to a web app from Key Vault. + text: az webapp config ssl import --resource-group MyResourceGroup --name MyWebapp --key-vault MyKeyVault --key-vault-certificate-name MyCertificateName +""" + helps['webapp config storage-account'] = """ type: group short-summary: Manage a web app's Azure storage account configurations. (Linux Web Apps and Windows Containers Web Apps Only) diff --git a/src/azure-cli/azure/cli/command_modules/appservice/_params.py b/src/azure-cli/azure/cli/command_modules/appservice/_params.py index 6a5c20140b5..ee4fea9d423 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/_params.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/_params.py @@ -174,7 +174,9 @@ def load_arguments(self, _): with self.argument_context(scope + ' config appsettings') as c: c.argument('settings', nargs='+', help="space-separated app settings in a format of =") c.argument('setting_names', nargs='+', help="space-separated app setting names") - + with self.argument_context(scope + ' config ssl import') as c: + c.argument('key_vault', help='The name or resource ID of the Key Vault') + c.argument('key_vault_certificate_name', help='The name of the certificate in Key Vault') with self.argument_context(scope + ' config hostname') as c: c.argument('hostname', completer=get_hostname_completion_list, help="hostname assigned to the site, such as custom domains", id_part='child_name_1') with self.argument_context(scope + ' deployment user') as c: diff --git a/src/azure-cli/azure/cli/command_modules/appservice/commands.py b/src/azure-cli/azure/cli/command_modules/appservice/commands.py index 5eadfac54e6..d866b4b4f00 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/commands.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/commands.py @@ -143,6 +143,7 @@ def load_command_table(self, _): g.custom_command('bind', 'bind_ssl_cert', exception_handler=ex_handler_factory(), validator=validate_app_or_slot_exists_in_rg) g.custom_command('unbind', 'unbind_ssl_cert', validator=validate_app_or_slot_exists_in_rg) g.custom_command('delete', 'delete_ssl_cert', exception_handler=ex_handler_factory()) + g.custom_command('import', 'import_ssl_cert', exception_handler=ex_handler_factory(), is_preview=True) with self.command_group('webapp config backup') as g: g.custom_command('list', 'list_backups') @@ -283,6 +284,7 @@ def load_command_table(self, _): g.custom_command('bind', 'bind_ssl_cert', exception_handler=ex_handler_factory()) g.custom_command('unbind', 'unbind_ssl_cert') g.custom_command('delete', 'delete_ssl_cert') + g.custom_command('import', 'import_ssl_cert', exception_handler=ex_handler_factory(), is_preview=True) with self.command_group('functionapp deployment source') as g: g.custom_command('config-local-git', 'enable_local_git') diff --git a/src/azure-cli/azure/cli/command_modules/appservice/custom.py b/src/azure-cli/azure/cli/command_modules/appservice/custom.py index cfa0c25ac15..cb9c5f59cd4 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/custom.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/custom.py @@ -2005,6 +2005,54 @@ def delete_ssl_cert(cmd, resource_group_name, certificate_thumbprint): raise CLIError("Certificate for thumbprint '{}' not found".format(certificate_thumbprint)) +def import_ssl_cert(cmd, resource_group_name, name, key_vault, key_vault_certificate_name): + client = web_client_factory(cmd.cli_ctx) + webapp = client.web_apps.get(resource_group_name, name) + if not webapp: + raise CLIError("'{}' app doesn't exist in resource group {}".format(name, resource_group_name)) + server_farm_id = webapp.server_farm_id + location = webapp.location + kv_id = _format_key_vault_id(cmd.cli_ctx, key_vault, resource_group_name) + kv_id_parts = parse_resource_id(kv_id) + kv_name = kv_id_parts['name'] + kv_resource_group_name = kv_id_parts['resource_group'] + cert_name = '{}-{}-{}'.format(resource_group_name, kv_name, key_vault_certificate_name) + lnk = 'https://azure.github.io/AppService/2016/05/24/Deploying-Azure-Web-App-Certificate-through-Key-Vault.html' + lnk_msg = 'Find more details here: {}'.format(lnk) + if not _check_service_principal_permissions(cmd, kv_resource_group_name, kv_name): + logger.warning('Unable to verify Key Vault permissions.') + logger.warning('You may need to grant Microsoft.Azure.WebSites service principal the Secret:Get permission') + logger.warning(lnk_msg) + + kv_cert_def = Certificate(location=location, key_vault_id=kv_id, password='', + key_vault_secret_name=key_vault_certificate_name, server_farm_id=server_farm_id) + + return client.certificates.create_or_update(name=cert_name, resource_group_name=resource_group_name, + certificate_envelope=kv_cert_def) + + +def _check_service_principal_permissions(cmd, resource_group_name, key_vault_name): + from azure.cli.command_modules.keyvault._client_factory import keyvault_client_vaults_factory + from azure.cli.command_modules.role._client_factory import _graph_client_factory + from azure.graphrbac.models import GraphErrorException + kv_client = keyvault_client_vaults_factory(cmd.cli_ctx, None) + vault = kv_client.get(resource_group_name=resource_group_name, vault_name=key_vault_name) + # Check for Microsoft.Azure.WebSites app registration + AZURE_PUBLIC_WEBSITES_APP_ID = 'abfa0a7c-a6b6-4736-8310-5855508787cd' + AZURE_GOV_WEBSITES_APP_ID = '6a02c803-dafd-4136-b4c3-5a6f318b4714' + graph_sp_client = _graph_client_factory(cmd.cli_ctx).service_principals + for policy in vault.properties.access_policies: + try: + sp = graph_sp_client.get(policy.object_id) + if sp.app_id == AZURE_PUBLIC_WEBSITES_APP_ID or sp.app_id == AZURE_GOV_WEBSITES_APP_ID: + for perm in policy.permissions.secrets: + if perm == "Get": + return True + except GraphErrorException: + pass # Lookup will fail for non service principals (users, groups, etc.) + return False + + def _update_host_name_ssl_state(cli_ctx, resource_group_name, webapp_name, webapp, host_name, ssl_state, thumbprint, slot=None): updated_webapp = Site(host_name_ssl_states=[HostNameSslState(name=host_name, @@ -3251,3 +3299,18 @@ def _validate_asp_sku(app_service_environment, sku): if app_service_environment: raise CLIError("Only pricing tier 'Isolated' is allowed in this app service plan. Use this link to " "learn more: https://docs.microsoft.com/en-us/azure/app-service/overview-hosting-plans") + + +def _format_key_vault_id(cli_ctx, key_vault, resource_group_name): + key_vault_is_id = is_valid_resource_id(key_vault) + if key_vault_is_id: + return key_vault + + from msrestazure.tools import resource_id + from azure.cli.core.commands.client_factory import get_subscription_id + return resource_id( + subscription=get_subscription_id(cli_ctx), + resource_group=resource_group_name, + namespace='Microsoft.KeyVault', + type='vaults', + name=key_vault) diff --git a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_webapp_ssl_import.yaml b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_webapp_ssl_import.yaml new file mode 100644 index 00000000000..e0a6d399305 --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_webapp_ssl_import.yaml @@ -0,0 +1,1824 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/4.0.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","date":"2019-12-04T20:15:29Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '432' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 04 Dec 2019 20:15:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"name": "ssl-test-plan000002", "type": "Microsoft.Web/serverfarms", "location": + "westeurope", "properties": {"skuName": "B1", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '147' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --sku + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2018-02-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:15:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/4.0.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","date":"2019-12-04T20:15:29Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '432' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 04 Dec 2019 20:15:46 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "westeurope", "properties": {"perSiteScaling": false, "isXenon": + false}, "sku": {"name": "B1", "tier": "BASIC", "capacity": 1}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '140' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --sku + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002?api-version=2018-02-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002","name":"ssl-test-plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + Europe","properties":{"serverFarmId":24501,"name":"ssl-test-plan000002","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestEuropewebspace","subscription":"a6f7834d-3304-4890-82af-ec04cb382539","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + Europe","perSiteScaling":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-am2-217_24501","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1536' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:15:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002?api-version=2018-02-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002","name":"ssl-test-plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + Europe","properties":{"serverFarmId":24501,"name":"ssl-test-plan000002","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestEuropewebspace","subscription":"a6f7834d-3304-4890-82af-ec04cb382539","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + Europe","perSiteScaling":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-am2-217_24501","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1536' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:15:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"name": "web-ssl-test000003", "type": "Microsoft.Web/sites", "location": + "West Europe", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '329' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --plan + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2018-02-01 + response: + body: + string: '{"status":"Success","error":null}' + headers: + cache-control: + - no-cache + content-length: + - '33' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:15:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n --plan + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002?api-version=2018-02-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002","name":"ssl-test-plan000002","type":"Microsoft.Web/serverfarms","kind":"app","location":"West + Europe","properties":{"serverFarmId":24501,"name":"ssl-test-plan000002","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestEuropewebspace","subscription":"a6f7834d-3304-4890-82af-ec04cb382539","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + Europe","perSiteScaling":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-am2-217_24501","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1536' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:15:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "West Europe", "properties": {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": + "v4.6", "appSettings": [{"name": "WEBSITE_NODE_DEFAULT_VERSION", "value": "10.14"}], + "localMySqlEnabled": false, "http20Enabled": true}, "scmSiteAlsoStopped": false}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '524' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --plan + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003?api-version=2018-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003","name":"web-ssl-test000003","type":"Microsoft.Web/sites","kind":"app","location":"West + Europe","properties":{"name":"web-ssl-test000003","state":"Running","hostNames":["web-ssl-test000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestEuropewebspace","selfLink":"https://waws-prod-am2-217.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestEuropewebspace/sites/web-ssl-test000003","repositorySiteName":"web-ssl-test000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["web-ssl-test000003.azurewebsites.net","web-ssl-test000003.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":""},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"web-ssl-test000003.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"web-ssl-test000003.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2019-12-04T20:16:09.2733333","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":null,"deploymentId":"web-ssl-test000003","trafficManagerHostNames":null,"sku":"Basic","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"63FB5634EE85CDC1234270D3438998F2618E81F68C098BD16994FDCE8EF2E6EE","kind":"app","inboundIpAddress":"137.117.218.101","possibleInboundIpAddresses":"137.117.218.101","outboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13","possibleOutboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13,137.117.208.108,137.117.208.41,137.117.211.152","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-am2-217","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"web-ssl-test000003.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"buildVersion":null,"targetBuildVersion":null}}' + headers: + cache-control: + - no-cache + content-length: + - '3595' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:16:26 GMT + etag: + - '"1D5AADFAB031835"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp create + Connection: + - keep-alive + Content-Length: + - '2' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --plan + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003/publishxml?api-version=2018-11-01 + response: + body: + string: + headers: + cache-control: + - no-cache + content-length: + - '1678' + content-type: + - application/xml + date: + - Wed, 04 Dec 2019 20:16:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-resource/4.0.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2019-07-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westeurope","tags":{"product":"azurecli","cause":"automation","date":"2019-12-04T20:15:29Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '432' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 04 Dec 2019 20:16:27 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-graphrbac/0.60.0 Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/me?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/@Element","odata.type":"Microsoft.DirectoryServices.User","objectType":"User","objectId":"0b9188a0-540d-4262-9311-61bb1a0235ef","deletionTimestamp":null,"accountEnabled":true,"ageGroup":null,"assignedLicenses":[{"disabledPlans":["2f442157-a11c-46b9-ae5b-6e39ff4e5849","c4801e8a-cb58-4c35-aca6-f2dcc106f287","0898bdbb-73b0-471a-81e5-20f1fe4dd66e","617b097b-4b93-4ede-83de-5f075bb5fb2f","33c4f319-9bdd-48d6-9c4d-410b750a4a5a","4828c8ec-dc2e-4779-b502-87ac9ce28ab7","3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40"],"skuId":"c7df2760-2c81-4ef7-b578-5b5392b571df"},{"disabledPlans":["39b5c996-467e-4e60-bd62-46066f572726"],"skuId":"90d8b3f8-712e-4f7b-aa1e-62e7ae6cbe96"},{"disabledPlans":["e95bec33-7c88-4a70-8e19-b10bd9d0c014","5dbe027f-2339-4123-9542-606e4d348a72"],"skuId":"09015f9f-377f-4538-bbb5-f75ceb09358a"},{"disabledPlans":[],"skuId":"dcb1a3ae-b33f-4487-846a-a640262fadf4"},{"disabledPlans":[],"skuId":"f30db892-07e9-47e9-837c-80727f46fd3d"},{"disabledPlans":[],"skuId":"26a18e8f-4d14-46f8-835a-ed3ba424a961"},{"disabledPlans":[],"skuId":"412ce1a7-a499-41b3-8eb6-b38f2bbc5c3f"},{"disabledPlans":[],"skuId":"488ba24a-39a9-4473-8ee5-19291e71b002"},{"disabledPlans":[],"skuId":"b05e124f-c7cc-45a0-a6aa-8cf78c946968"},{"disabledPlans":["0b03f40b-c404-40c3-8651-2aceb74365fa","b650d915-9886-424b-a08d-633cede56f57","e95bec33-7c88-4a70-8e19-b10bd9d0c014","5dbe027f-2339-4123-9542-606e4d348a72","fe71d6c3-a2ea-4499-9778-da042bf08063","fafd7243-e5c1-4a3a-9e40-495efcb1d3c3"],"skuId":"ea126fc5-a19e-42e2-a731-da9d437bffcf"},{"disabledPlans":[],"skuId":"c5928f49-12ba-48f7-ada3-0d743a3601d5"},{"disabledPlans":[],"skuId":"87bbbc60-4754-4998-8c88-227dca264858"}],"assignedPlans":[{"assignedTimestamp":"2019-11-24T23:36:32Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"fe71d6c3-a2ea-4499-9778-da042bf08063"},{"assignedTimestamp":"2019-11-24T23:36:32Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"e95bec33-7c88-4a70-8e19-b10bd9d0c014"},{"assignedTimestamp":"2019-11-24T23:36:32Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"5dbe027f-2339-4123-9542-606e4d348a72"},{"assignedTimestamp":"2019-11-24T23:36:32Z","capabilityStatus":"Enabled","service":"MicrosoftOffice","servicePlanId":"fafd7243-e5c1-4a3a-9e40-495efcb1d3c3"},{"assignedTimestamp":"2019-11-04T20:02:03Z","capabilityStatus":"Enabled","service":"WhiteboardServices","servicePlanId":"4a51bca5-1eff-43f5-878c-177680f191af"},{"assignedTimestamp":"2019-10-15T04:17:14Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"5136a095-5cf0-4aff-bec3-e84448b38ea5"},{"assignedTimestamp":"2019-10-15T04:17:14Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"efb0351d-3b08-4503-993d-383af8de41e3"},{"assignedTimestamp":"2019-08-08T23:29:37Z","capabilityStatus":"Enabled","service":"MicrosoftFormsProTest","servicePlanId":"97f29a83-1a20-44ff-bf48-5e4ad11f3e51"},{"assignedTimestamp":"2019-05-23T01:47:36Z","capabilityStatus":"Enabled","service":"DYN365AISERVICEINSIGHTS","servicePlanId":"1412cdc1-d593-4ad1-9050-40c30ad0b023"},{"assignedTimestamp":"2019-05-09T22:32:19Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"199a5c09-e0ca-4e37-8f7c-b05d533e1ea2"},{"assignedTimestamp":"2019-04-02T05:38:04Z","capabilityStatus":"Enabled","service":"ProjectProgramsAndPortfolios","servicePlanId":"818523f5-016b-4355-9be8-ed6944946ea7"},{"assignedTimestamp":"2019-04-02T05:38:04Z","capabilityStatus":"Enabled","service":"ProcessSimple","servicePlanId":"fa200448-008c-4acb-abd4-ea106ed2199d"},{"assignedTimestamp":"2019-04-02T05:38:04Z","capabilityStatus":"Enabled","service":"CRM","servicePlanId":"50554c47-71d9-49fd-bc54-42a2765c555c"},{"assignedTimestamp":"2018-11-18T17:43:28Z","capabilityStatus":"Enabled","service":"ProcessSimple","servicePlanId":"d20bfa21-e9ae-43fc-93c2-20783f0840c3"},{"assignedTimestamp":"2018-11-18T17:43:28Z","capabilityStatus":"Enabled","service":"PowerAppsService","servicePlanId":"d5368ca3-357e-4acb-9c21-8495fb025d1f"},{"assignedTimestamp":"2018-11-17T17:45:51Z","capabilityStatus":"Enabled","service":"ProcessSimple","servicePlanId":"50e68c76-46c6-4674-81f9-75456511b170"},{"assignedTimestamp":"2018-11-17T17:45:51Z","capabilityStatus":"Enabled","service":"CRM","servicePlanId":"17ab22cd-a0b3-4536-910a-cb6eb12696c0"},{"assignedTimestamp":"2018-10-11T18:25:27Z","capabilityStatus":"Enabled","service":"MicrosoftCommunicationsOnline","servicePlanId":"018fb91e-cee3-418c-9063-d7562978bdaf"},{"assignedTimestamp":"2018-10-11T18:25:26Z","capabilityStatus":"Enabled","service":"MicrosoftCommunicationsOnline","servicePlanId":"ca4be917-fbce-4b52-839e-6647467a1668"},{"assignedTimestamp":"2018-10-11T18:25:25Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"b1188c4c-1b36-4018-b48b-ee07604f6feb"},{"assignedTimestamp":"2018-10-11T18:25:25Z","capabilityStatus":"Deleted","service":"MicrosoftCommunicationsOnline","servicePlanId":"3e26ee1f-8a5f-4d52-aee2-b81ce45c8f40"},{"assignedTimestamp":"2018-10-11T18:25:25Z","capabilityStatus":"Deleted","service":"MicrosoftCommunicationsOnline","servicePlanId":"4828c8ec-dc2e-4779-b502-87ac9ce28ab7"},{"assignedTimestamp":"2018-08-29T07:16:06Z","capabilityStatus":"Enabled","service":"Sway","servicePlanId":"a23b959c-7ce8-4e57-9140-b90eb88a9e97"},{"assignedTimestamp":"2018-08-29T07:16:06Z","capabilityStatus":"Deleted","service":"OfficeForms","servicePlanId":"159f4cd6-e380-449f-a816-af1a9ef76344"},{"assignedTimestamp":"2018-04-26T17:45:50Z","capabilityStatus":"Enabled","service":"RMSOnline","servicePlanId":"bea4c11e-220a-4e6d-8eb8-8ea15d019f90"},{"assignedTimestamp":"2018-04-26T17:45:50Z","capabilityStatus":"Enabled","service":"RMSOnline","servicePlanId":"6c57d4b6-3b23-47a5-9bc9-69f17b4947b3"},{"assignedTimestamp":"2018-04-24T03:21:47Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"2bdbaf8f-738f-4ac7-9234-3c3ee2ce7d0f"},{"assignedTimestamp":"2018-04-24T03:21:47Z","capabilityStatus":"Deleted","service":"SharePoint","servicePlanId":"2125cfd7-2110-4567-83c4-c1cd5275163d"},{"assignedTimestamp":"2018-04-24T03:21:47Z","capabilityStatus":"Enabled","service":"SharePoint","servicePlanId":"da792a53-cbc0-4184-a10d-e544dd34b3c1"},{"assignedTimestamp":"2018-04-24T03:21:47Z","capabilityStatus":"Deleted","service":"SharePoint","servicePlanId":"c4048e79-4474-4c74-ba9b-c31ff225e511"},{"assignedTimestamp":"2018-03-20T15:10:18Z","capabilityStatus":"Deleted","service":"MicrosoftStream","servicePlanId":"acffdce6-c30f-4dc2-81c0-372e33c515ec"},{"assignedTimestamp":"2018-03-17T08:10:29Z","capabilityStatus":"Enabled","service":"WindowsDefenderATP","servicePlanId":"871d91ec-ec1a-452b-a83f-bd76c7d770ef"},{"assignedTimestamp":"2018-03-17T08:10:29Z","capabilityStatus":"Enabled","service":"Windows","servicePlanId":"e7c91390-7625-45be-94e0-e16907e03118"},{"assignedTimestamp":"2018-03-17T02:35:48Z","capabilityStatus":"Enabled","service":"AzureAdvancedThreatAnalytics","servicePlanId":"14ab5db5-e6c4-4b20-b4bc-13e36fd2227f"},{"assignedTimestamp":"2018-02-24T03:21:01Z","capabilityStatus":"Deleted","service":"CRM","servicePlanId":"bf36ca64-95c6-4918-9275-eb9f4ce2c04f"},{"assignedTimestamp":"2018-02-24T03:21:01Z","capabilityStatus":"Deleted","service":"PowerAppsService","servicePlanId":"874fc546-6efe-4d22-90b8-5c4e7aa59f4b"},{"assignedTimestamp":"2018-02-24T03:21:01Z","capabilityStatus":"Deleted","service":"ProcessSimple","servicePlanId":"7e6d7d78-73de-46ba-83b1-6d25117334ba"},{"assignedTimestamp":"2018-01-09T00:28:58Z","capabilityStatus":"Enabled","service":"ProjectWorkManagement","servicePlanId":"b737dad2-2f6c-4c65-90e3-ca563267e8b9"},{"assignedTimestamp":"2017-12-31T23:10:50Z","capabilityStatus":"Enabled","service":"AADPremiumService","servicePlanId":"41781fb2-bc02-4b7c-bd55-b576c07bb09d"},{"assignedTimestamp":"2017-12-31T23:10:50Z","capabilityStatus":"Enabled","service":"MultiFactorService","servicePlanId":"8a256a2b-b617-496d-b51b-e76466e88db0"},{"assignedTimestamp":"2017-12-31T06:32:41Z","capabilityStatus":"Deleted","service":"Adallom","servicePlanId":"932ad362-64a8-4783-9106-97849a1a30b9"},{"assignedTimestamp":"2017-12-16T19:57:33Z","capabilityStatus":"Enabled","service":"RMSOnline","servicePlanId":"5689bec4-755d-4753-8b61-40975025187c"},{"assignedTimestamp":"2017-12-16T19:57:33Z","capabilityStatus":"Enabled","service":"Adallom","servicePlanId":"2e2ddb96-6af9-4b1d-a3f0-d6ecfd22edb2"},{"assignedTimestamp":"2016-10-27T10:37:21Z","capabilityStatus":"Enabled","service":"Adallom","servicePlanId":"8c098270-9dd4-4350-9b30-ba4703f3b36b"},{"assignedTimestamp":"2017-11-12T20:20:22Z","capabilityStatus":"Enabled","service":"To-Do","servicePlanId":"3fb82609-8c27-4f7b-bd51-30634711ee67"},{"assignedTimestamp":"2017-10-07T01:41:03Z","capabilityStatus":"Enabled","service":"Netbreeze","servicePlanId":"03acaee3-9492-4f40-aed4-bcb6b32981b6"},{"assignedTimestamp":"2017-10-07T01:41:03Z","capabilityStatus":"Enabled","service":"CRM","servicePlanId":"d56f3deb-50d8-465a-bedb-f079817ccac1"},{"assignedTimestamp":"2017-06-26T10:50:26Z","capabilityStatus":"Enabled","service":"OfficeForms","servicePlanId":"e212cbc7-0961-4c40-9825-01117710dcb1"},{"assignedTimestamp":"2017-06-11T20:26:15Z","capabilityStatus":"Enabled","service":"MicrosoftStream","servicePlanId":"6c6042f5-6f01-4d67-b8c1-eb99d36eed3e"},{"assignedTimestamp":"2017-06-11T20:26:15Z","capabilityStatus":"Enabled","service":"AADPremiumService","servicePlanId":"eec0eb4f-6444-4f95-aba0-50c24d67f998"},{"assignedTimestamp":"2017-06-11T20:26:15Z","capabilityStatus":"Enabled","service":"SCO","servicePlanId":"c1ec4a95-1f05-45b3-a911-aa3fa01094f5"},{"assignedTimestamp":"2017-05-13T01:11:22Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"8e0c0a52-6a6c-4d40-8370-dd62790dcd70"},{"assignedTimestamp":"2017-02-21T21:53:31Z","capabilityStatus":"Enabled","service":"Deskless","servicePlanId":"8c7d2df8-86f0-4902-b2ed-a0458298f3b3"},{"assignedTimestamp":"2016-12-02T08:00:06Z","capabilityStatus":"Enabled","service":"ProcessSimple","servicePlanId":"07699545-9485-468e-95b6-2fca3738be01"},{"assignedTimestamp":"2016-12-02T08:00:06Z","capabilityStatus":"Enabled","service":"TeamspaceAPI","servicePlanId":"57ff2da0-773e-42df-b2af-ffb7a2317929"},{"assignedTimestamp":"2016-12-02T08:00:06Z","capabilityStatus":"Enabled","service":"PowerAppsService","servicePlanId":"9c0dab89-a30c-4117-86e7-97bda240acd2"},{"assignedTimestamp":"2016-10-27T10:37:21Z","capabilityStatus":"Enabled","service":"PowerBI","servicePlanId":"70d33638-9c74-4d01-bfd3-562de28bd4ba"},{"assignedTimestamp":"2016-10-27T10:37:21Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"34c0d7a0-a70f-4668-9238-47f9fc208882"},{"assignedTimestamp":"2016-10-27T10:37:21Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"9f431833-0334-42de-a7dc-70aa40db46db"},{"assignedTimestamp":"2016-10-27T10:37:21Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"4de31727-a228-4ec3-a5bf-8e45b5ca48cc"},{"assignedTimestamp":"2016-10-27T10:37:21Z","capabilityStatus":"Enabled","service":"YammerEnterprise","servicePlanId":"7547a3fe-08ee-4ccb-b430-5077c5041653"},{"assignedTimestamp":"2016-10-27T10:37:21Z","capabilityStatus":"Deleted","service":"AzureAnalysis","servicePlanId":"2049e525-b859-401b-b2a0-e0a31c4b1fe4"},{"assignedTimestamp":"2016-10-27T10:37:21Z","capabilityStatus":"Deleted","service":"PowerBI","servicePlanId":"fc0a60aa-feee-4746-a0e3-aecfe81a38dd"},{"assignedTimestamp":"2016-10-27T10:37:21Z","capabilityStatus":"Enabled","service":"MicrosoftOffice","servicePlanId":"43de0ff5-c92c-492b-9116-175376d08c38"},{"assignedTimestamp":"2016-10-27T10:37:21Z","capabilityStatus":"Enabled","service":"MicrosoftCommunicationsOnline","servicePlanId":"0feaeb32-d00e-4d66-bd5a-43b5b83db82c"},{"assignedTimestamp":"2016-10-27T10:37:21Z","capabilityStatus":"Enabled","service":"exchange","servicePlanId":"efb87545-963c-4e0d-99df-69c6916d9eb0"},{"assignedTimestamp":"2012-10-18T11:17:30Z","capabilityStatus":"Enabled","service":"MicrosoftOffice","servicePlanId":"663a804f-1c30-4ff0-9915-9db84f0d1cea"},{"assignedTimestamp":"2015-12-14T08:31:18Z","capabilityStatus":"Enabled","service":"KratosAppsService","servicePlanId":"e61a2945-1d4e-4523-b6e7-30ba39d20f32"},{"assignedTimestamp":"2016-06-30T05:43:33Z","capabilityStatus":"Enabled","service":"KratosAppsService","servicePlanId":"2c4ec2dc-c62d-4167-a966-52a3e6374015"},{"assignedTimestamp":"2016-06-30T05:43:33Z","capabilityStatus":"Enabled","service":"KratosAppsService","servicePlanId":"0b4346bb-8dc3-4079-9dfc-513696f56039"}],"city":"Kongens + Lyngby","companyName":"DENMARK","consentProvidedForMinor":null,"country":null,"createdDateTime":null,"creationType":null,"department":"DK-EPG + COGS Solution Architect-Azure","dirSyncEnabled":true,"displayName":"Mads Damg\u00e5rd","employeeId":null,"facsimileTelephoneNumber":null,"givenName":"Mads","immutableId":"301328","isCompromised":null,"jobTitle":"SR + CLOUD SOLUTION ARCHITECT","lastDirSyncTime":"2019-12-03T10:02:31Z","legalAgeGroupClassification":null,"mail":"madsd@microsoft.com","mailNickname":"madsd","mobile":"+4551578136","onPremisesDistinguishedName":"CN=Mads + Damg\u00e5rd,OU=UserAccounts,DC=europe,DC=corp,DC=microsoft,DC=com","onPremisesSecurityIdentifier":"S-1-5-21-1721254763-462695806-1538882281-2655010","otherMails":[],"passwordPolicies":"DisablePasswordExpiration","passwordProfile":null,"physicalDeliveryOfficeName":"LYNGBY/Mobile","postalCode":null,"preferredLanguage":null,"provisionedPlans":[{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"CRM"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"CRM"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"MicrosoftCommunicationsOnline"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"MicrosoftCommunicationsOnline"},{"capabilityStatus":"Deleted","provisioningStatus":"Success","service":"MicrosoftCommunicationsOnline"},{"capabilityStatus":"Deleted","provisioningStatus":"Success","service":"MicrosoftCommunicationsOnline"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Deleted","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Deleted","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"SharePoint"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"Adallom"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"Netbreeze"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"CRM"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"exchange"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"microsoftcommunicationsonline"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"MicrosoftOffice"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"MicrosoftOffice"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"MicrosoftOffice"},{"capabilityStatus":"Enabled","provisioningStatus":"Success","service":"CRM"}],"provisioningErrors":[],"proxyAddresses":["x500:/o=ExchangeLabs/ou=Exchange + Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=user01a2850e","SMTP:madsd@microsoft.com","x500:/o=microsoft/ou=Exchange + Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=userff21d3b0","x500:/o=SDF/ou=Exchange + Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=madsd_microsoft.comc37e77e4","x500:/o=SDF/ou=Exchange + Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=user31cebcc7e1b7241a","X500:/o=MMS/ou=Exchange + Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=user77aa8516","x500:/o=microsoft/ou=First + Administrative Group/cn=Recipients/cn=madsd","x500:/o=SDF/ou=Exchange Administrative + Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=contact46dc0812","x500:/o=ExchangeLabs/ou=Exchange + Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=madsddf0a188e10","x500:/O=microsoft/OU=europe/cn=Recipients/cn=madsd","x500:/O=Nokia/OU=HUB/cn=Recipients/cn=madsd","x500:/o=SDF/ou=Exchange + Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=51490-madsd_9845154d95","x500:/o=MSNBC/ou=Servers/cn=Recipients/cn=madsd","smtp:MADSD@service.microsoft.com","smtp:MMT_madsd177502503012014@064d.mgd.microsoft.com","smtp:madsd@064d.mgd.microsoft.com"],"refreshTokensValidFromDateTime":"2019-11-16T08:17:12Z","showInAddressList":true,"signInNames":[],"sipProxyAddress":"madsd@microsoft.com","state":null,"streetAddress":null,"surname":"Damg\u00e5rd","telephoneNumber":"+45 + (45) 678476","thumbnailPhoto@odata.mediaEditLink":"directoryObjects/0b9188a0-540d-4262-9311-61bb1a0235ef/Microsoft.DirectoryServices.User/thumbnailPhoto","thumbnailPhoto@odata.mediaContentType":"image/Jpeg","usageLocation":"DK","userIdentities":[],"userPrincipalName":"madsd@microsoft.com","userState":null,"userStateChangedOn":null,"userType":null,"extension_18e31482d3fb4a8ea958aa96b662f508_SupervisorInd":"N","extension_18e31482d3fb4a8ea958aa96b662f508_ReportsToPersonnelNbr":"250611","extension_18e31482d3fb4a8ea958aa96b662f508_ReportsToFullName":"Linacre, + Christian A","extension_18e31482d3fb4a8ea958aa96b662f508_ReportsToEmailName":"CHRISLS","extension_18e31482d3fb4a8ea958aa96b662f508_BuildingName":"MOBILE","extension_18e31482d3fb4a8ea958aa96b662f508_BuildingID":"99998","extension_18e31482d3fb4a8ea958aa96b662f508_ProfitCenterCode":"P10084905","extension_18e31482d3fb4a8ea958aa96b662f508_CostCenterCode":"10084905","extension_18e31482d3fb4a8ea958aa96b662f508_CompanyCode":"1023","extension_18e31482d3fb4a8ea958aa96b662f508_LocationAreaCode":"DK","extension_18e31482d3fb4a8ea958aa96b662f508_PersonnelNumber":"301328","extension_18e31482d3fb4a8ea958aa96b662f508_PositionNumber":"49025387"}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '18824' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Wed, 04 Dec 2019 20:16:28 GMT + duration: + - '1528667' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - /NtEgZUZd+wP7jWSrDYgeIT+rUlfDWAtBVfze/ynjcQ= + ocp-aad-session-key: + - DopGsag0Uy4U9DfcbpGHMn5xCb19rlzWyMZPsSiYMB1Qo_aPv_tO5J4Loc5rBXfyelN5CxOk1A8M1iEcRfiChP0kTc4uJAFxVKvcUnZxD7Q_7Bg88aFRDBKmiDEVHN3I.AeTxVxxrH6VsuIrvOYAFn8zVUJomD4lfjySQzZjHOHE + pragma: + - no-cache + request-id: + - 50bd922a-740b-424a-a8fb-c04f07871ab2 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "westeurope", "properties": {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "sku": {"family": "A", "name": "standard"}, "accessPolicies": [{"tenantId": + "72f988bf-86f1-41af-91ab-2d7cd011db47", "objectId": "0b9188a0-540d-4262-9311-61bb1a0235ef", + "permissions": {"keys": ["get", "create", "delete", "list", "update", "import", + "backup", "restore", "recover"], "secrets": ["get", "list", "set", "delete", + "backup", "restore", "recover"], "certificates": ["get", "list", "delete", "create", + "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", + "deleteissuers", "manageissuers", "recover"], "storage": ["get", "list", "delete", + "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault create + Connection: + - keep-alive + Content-Length: + - '750' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-keyvault/1.1.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004?api-version=2018-02-14 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004","name":"kv-ssl-test000004","type":"Microsoft.KeyVault/vaults","location":"westeurope","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"0b9188a0-540d-4262-9311-61bb1a0235ef","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}}],"enabledForDeployment":false,"vaultUri":"https://kv-ssl-test000004.vault.azure.net","provisioningState":"RegisteringDns"}}' + headers: + cache-control: + - no-cache + content-length: + - '1098' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 04 Dec 2019 20:16:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.261 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-keyvault/1.1.0 Azure-SDK-For-Python AZURECLI/2.0.77 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004?api-version=2018-02-14 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004","name":"kv-ssl-test000004","type":"Microsoft.KeyVault/vaults","location":"westeurope","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"0b9188a0-540d-4262-9311-61bb1a0235ef","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}}],"enabledForDeployment":false,"vaultUri":"https://kv-ssl-test000004.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1094' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 04 Dec 2019 20:17:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.261 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault set-policy + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --name --spn --secret-permissions + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-keyvault/1.1.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?$filter=resourceType%20eq%20%27Microsoft.KeyVault%2Fvaults%27&api-version=2015-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/certs/providers/Microsoft.KeyVault/vaults/tb-certs","name":"tb-certs","type":"Microsoft.KeyVault/vaults","location":"westeurope","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004","name":"kv-ssl-test000004","type":"Microsoft.KeyVault/vaults","location":"westeurope","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/tbsbwe-integration/providers/Microsoft.KeyVault/vaults/apim-certs","name":"apim-certs","type":"Microsoft.KeyVault/vaults","location":"westeurope","tags":{}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/webapp-global/providers/Microsoft.KeyVault/vaults/madsd-cert","name":"madsd-cert","type":"Microsoft.KeyVault/vaults","location":"westeurope","tags":{}}]}' + headers: + cache-control: + - no-cache + content-length: + - '990' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 04 Dec 2019 20:17:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-graphrbac/0.60.0 Azure-SDK-For-Python + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%27Microsoft.Azure.WebSites%27%29&api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"f8daea97-62e7-4026-becf-13c2ea98e8b4","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"Microsoft + Azure App Service","appId":"abfa0a7c-a6b6-4736-8310-5855508787cd","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"Microsoft.Azure.WebSites","errorUrl":null,"homepage":null,"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access all the APIs registered with App Service","adminConsentDisplayName":"Access + APIs registered with App Service","id":"e0ea806b-d128-49dc-ac08-2bf18f7874d8","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access all the APIs registered with App Service","userConsentDisplayName":"Access + APIs registered with App Service","value":"user_impersonation"}],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":null,"replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["Microsoft.Azure.WebSites","abfa0a7c-a6b6-4736-8310-5855508787cd"],"servicePrincipalType":"Application","signInAudience":"AzureADMultipleOrgs","tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1677' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Wed, 04 Dec 2019 20:17:09 GMT + duration: + - '738869' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - bLgwXkOhOVEk3vC8NHPdSIeFqRoOWvrUxR2wO1wjuQ4= + ocp-aad-session-key: + - Ee8U1MQUaj3m5cqu0DmZU9Yg79FCF1y9pIu5SCgtS9OpohNqHQlgStX_CTFPwkA-BoWc081UorpqJRPGRyQQ5CLoe7w9cWzTYjG9NYCSRVg1IMBTyj4e9q-EFcec4KMC.yG880oDxbjeHQPXcmjFtcuD_u9KnOPKLWcDwI5EneG4 + pragma: + - no-cache + request-id: + - 43aefa64-4b3d-47bf-ac98-ba2da6b7f304 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault set-policy + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --name --spn --secret-permissions + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-keyvault/1.1.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004?api-version=2018-02-14 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004","name":"kv-ssl-test000004","type":"Microsoft.KeyVault/vaults","location":"westeurope","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"0b9188a0-540d-4262-9311-61bb1a0235ef","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}}],"enabledForDeployment":false,"vaultUri":"https://kv-ssl-test000004.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1094' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 04 Dec 2019 20:17:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.261 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "westeurope", "tags": {}, "properties": {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "sku": {"family": "A", "name": "standard"}, "accessPolicies": [{"tenantId": + "72f988bf-86f1-41af-91ab-2d7cd011db47", "objectId": "0b9188a0-540d-4262-9311-61bb1a0235ef", + "permissions": {"keys": ["get", "create", "delete", "list", "update", "import", + "backup", "restore", "recover"], "secrets": ["get", "list", "set", "delete", + "backup", "restore", "recover"], "certificates": ["get", "list", "delete", "create", + "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", + "deleteissuers", "manageissuers", "recover"], "storage": ["get", "list", "delete", + "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas"]}}, + {"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", "objectId": "f8daea97-62e7-4026-becf-13c2ea98e8b4", + "permissions": {"secrets": ["get"]}}], "vaultUri": "https://kv-ssl-test000004.vault.azure.net/", + "enabledForDeployment": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - keyvault set-policy + Connection: + - keep-alive + Content-Length: + - '997' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --name --spn --secret-permissions + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-keyvault/1.1.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004?api-version=2018-02-14 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004","name":"kv-ssl-test000004","type":"Microsoft.KeyVault/vaults","location":"westeurope","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"0b9188a0-540d-4262-9311-61bb1a0235ef","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"f8daea97-62e7-4026-becf-13c2ea98e8b4","permissions":{"secrets":["get"]}}],"enabledForDeployment":false,"vaultUri":"https://kv-ssl-test000004.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1230' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 04 Dec 2019 20:17:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.261 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - 0 + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-keyvault/7.0 Azure-SDK-For-Python + accept-language: + - en-US + method: POST + uri: https://kv-ssl-test000004.vault.azure.net/certificates/test-cert/import?api-version=7.0 + response: + body: + string: '{"error":{"code":"Unauthorized","message":"Request is missing a Bearer + or PoP token."}}' + headers: + cache-control: + - no-cache + content-length: + - '87' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 04 Dec 2019 20:17:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + www-authenticate: + - Bearer authorization="https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47", + resource="https://vault.azure.net" + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=131.107.174.245;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - westeurope + x-ms-keyvault-service-version: + - 1.1.0.883 + x-powered-by: + - ASP.NET + status: + code: 401 + message: Unauthorized +- request: + body: '{"value": "MIIKYgIBAzCCCh4GCSqGSIb3DQEHAaCCCg8EggoLMIIKBzCCBggGCSqGSIb3DQEHAaCCBfkEggX1MIIF8TCCBe0GCyqGSIb3DQEMCgECoIIE/jCCBPowHAYKKoZIhvcNAQwBAzAOBAiXDoyN14zikgICB9AEggTYczAG9RXE6P9dZzKEkuAB3zAoIpepICAcTQO38wV1z2dd3E1p7vBI+RYv1Td3965af6LUHeW7iHwE1h+qUntxAQtW7vVI7cUFa9iP0Heu/ijuZraY1lmKQEzFWffCE1XIgwcH3yHpi88Ow1Au64PfaaYPlrAgklPQ69DPIwM9JuhBd5qXW1XDe6XQ1msu6kvEFR1SNLN4Ul6BfKSPvzhVPKVnq33Lbt/QsVkZ3DtabLz8sW6qVYjEa5R8uW2Z7OaBtBbQWGkM6vnuaUpnE0pXxo815RTsvHXVlZkfgSCeOakmGIAygU/EU8BGvubAWx7WNo6RWFCOiT25tJspW6VY9JEse5ESvc4QnUQm1f0C3YPCcCDUCwEt3ZatGSr4MnJHN2Y1OEf1aWjewz0Se1bP2o/SwihyBNqXXZ3QzjxC8vrR+l6E7fPX3UVPJG5hHZfn2q5aofU/OyrPLUUDCaRlrM5oBADouQBy+t77/pobdvShgdYhiy/QCD6mJGalk6OEdfvp35uoL4jgo2irh4i9C3oOzSXFADUjivG66ZsVIN0k43boaO+JueqVso4GNYB8Zz4FIRlPQOZNCXHcuqvhnU0SGhujeb+H0LSXw53xmiwpWwB7xdv7b/qacaoOV1S3C8ZTM6FkJ8oKmNRMIWiIyfgyXQpmqaMND6nCVkcKkYbmVgNQZdWmbiKg1NGm66Q8rLtSUdIlyyCYzmxngLAa4zEbqPqgMwP4LIyCnxKn7hguBeyLsDvYRk029pgLnVVl5fl+Ijk4w2Noor/Axn3yD2gXCy5h9Xel1iXUqr4JtaJnWOoELx5KFwGhXeHdmRUjRVigbVN+nNd2AdtLih2eBimKpRm2NoBCrfGg9KUDpSi8eSTmbXW/enBWkdGrlu9lVTpgK3tlXW3VUveJh15rtwxTUagsee3G06w6YOu0ZRmT4hNfV2FWmjCuB4VCkY+KeFndsRLdC52odvO2z0u2nwBlvRjFrzErpAJdHWWv+XQ/fuOOjBbP5mvV1+gPEEA8QY4tvi/ac1n5S8L2oVNhaF39+QYlwMdcpLFy2BAw2PN7OnNAQMKViTu4iqVA6861oDa22D9EVufpyvSQj4Y0UoGhs8kS8aT8qsHUvabPlrjqslSuaIDB3H2kVSXXVW9kmMLmRNlhqm7Kowa4jjobr2lNY5dZFjJKy3wD2lsBdRHvsGrC35/vakI6Qy0WHcgA1YM7JwJl808lCQ9fi5Jcd/3tjfyhRv6AvZ6Na2VMZwg2bNOCJfhMKgTyssqRLy5us9zRXRvDFI8IQHmoNcliDnQZIcaVApPx095wQOOm4n8dqfw0AFSSRpgdQT6yQRxlNUyqhQbaUzlUKxxf9F6iVvpDMizmDbCB2/wapF+1/6M4HZfHT0JV4nnOtjr96Yfm1pUYN6jkcsyyeYypOFMKcbaTe9UtU9XU/AxJnkBOl2U7YRuffu3ElkZv0pZggWaNeQ3sCE5scVrFsi8+/AFz1O264knbXyw07leoal/JKIiAquq1Hx6QMzShgz/ympyGVHcC2DJBqjOQ/E8b/34WjUaBMop+JNMStUZnoJqL68rQcxkRdWAEj27f+A2c9nagz0TyCXLB5s/LQu3mbknXQzDbH7qJQxOidFg675fqaTrhekaR7psnJDGB2zATBgkqhkiG9w0BCRUxBgQEAQAAADBdBgkrBgEEAYI3EQExUB5OAE0AaQBjAHIAbwBzAG8AZgB0ACAAUwB0AHIAbwBuAGcAIABDAHIAeQBwAHQAbwBnAHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByMGUGCSqGSIb3DQEJFDFYHlYAUAB2AGsAVABtAHAAOgAzAGUAYQAxADIAYQBiADcALQBjAGMAYgA4AC0ANAA3ADcAZAAtAGEAYQBlADQALQA5ADgAZQA1AGYAZgAzAGEANgA4ADcAZjCCA/cGCSqGSIb3DQEHBqCCA+gwggPkAgEAMIID3QYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQMwDgQII49JHcCo5YoCAgfQgIIDsNAp0Fem6ktVE6yy8cO2q9jHI94QEA5Xu4T5v/RWz1VJJ2SdSCBXvrCYdhldYVSoXbSbeLTBsULmi/6ST1VkMETbtrl8RlW8DzzDFeYisyeZtOuxbHcVX8ByqDFo/Ro/vydvx7CRx11IstHIeg64qeVsofMU9NRS3rCGU9CwCjJ4aV9QFgZa0vEnROAZnaI1uRWOuMuHT98Kvv/wJ93xZJq2voAASyysePaZq/pUlzmRuyC/Pz2uXdNIoOu8BykMjvXw4kFzDCWt1DljYaijTLX9hGgzgxdbAOw1/2RSlEaYXpxPrhaYxOTFLGByyO2F1arn3btiMGTxBh61/2Gswg+gpUWX9J3jlT77pXXgyHgZ4YBJ45cWkTCmSSOqjyjdP6buSRInPlfTKDfQGi0riI32qdcO77gCvJdMOcN5HTleglaCDvQyFfYRAzWQ+EQ4N0WfnfDYe8v7+o136wht8cxxKQmo4/FbfOMURe6L1Hlj/hOie6yUD8+lqNMF3oFW42/rMUke5OWZZEIqDeN8tg08f/h7T2i10HW5zuDwAMllqwSdcfNZOESpcbAGbZn76wvvG2sYMXmT3lZvel4iWD8yOZTWIaCKv1+p5GqKTIiIpVOl7iXS4QTwbuNaMJl4a92zuCrnWxTJgw+ZCsmEvpC4u/OUivv7l1R7eJgbo/gdbtuaZWr3Ei4jaOlQj7W6OOGjJDAzzzY1MndsoBA+6HC3KsOCmP9aoXjp8g6hTMNnWZVehPE3Bq4AjHPoP3YXYFHfqqetUhYxnajYd6AB0JPiM9anCMTgbqUHhCTK8B+smPMCijRAGESbrP3EDcmSEJ2mjobV4SllM0qbfKBvU9ZdbUGaOHSytD/fplWpH4oc6SBvHyhK/WPzBz+o7uwgzD70Spl9OiqhsitQTw1asjWKRCs3rrby5tpAfbD0V0lSgLa9ac9bOP/B82LwRe5V7bG/TY+oE5hrN+d50rYl+FBzGsh0lZ//b9lbJIylFhNKz+C2zEobd846u90tYfBvbHgo8RSbIN082uGLo3Vi3d0g/uhkhSMqLNQdYkBku2akqPcPIVrgdaT1ezCgoxX61q5UTjtdRuZv1d9u1ZhOA8iO7Gqi0C/9MQAQhk9uhbHg+88gLE5VFeRgt7H+fI2OjvFqSkq6Xk8Tio4RCQp54wnZ9cyOl7i5mZ7pqEZBUPxbXS6ssQYjuFi67Bl4BqYdIIV11mEYCccDAuyzNmoRy6LnvKFF4JUfEWZvO09PSU7qMDswHzAHBgUrDgMCGgQUSM2AwxMfBXKBH7nTqtFwI2zPF/0EFN4t6/m7IFHS48s+ZjArJodRXSNNAgIH0A==\n", + "pwd": "test", "policy": {"secret_props": {"contentType": "application/x-pkcs12"}}, + "attributes": {"enabled": true, "nbf": 1514790000, "exp": 4701913200}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '3722' + Content-Type: + - application/json; charset=utf-8 + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-keyvault/7.0 Azure-SDK-For-Python + accept-language: + - en-US + method: POST + uri: https://kv-ssl-test000004.vault.azure.net/certificates/test-cert/import?api-version=7.0 + response: + body: + string: '{"id":"https://kv-ssl-test000004.vault.azure.net/certificates/test-cert/095b66b60094434ba2a27db39aaedd05","kid":"https://kv-ssl-test000004.vault.azure.net/keys/test-cert/095b66b60094434ba2a27db39aaedd05","sid":"https://kv-ssl-test000004.vault.azure.net/secrets/test-cert/095b66b60094434ba2a27db39aaedd05","x5t":"npc1xFx5KwOz_8ymFIUrMu5xrWs","cer":"MIIDYTCCAk2gAwIBAgIQLVKvAHY+rqVB+C7Wbh24QDAJBgUrDgMCHQUAMDExLzAtBgNVBAMeJgAqAC4AYQB6AHUAcgBlAHcAZQBiAHMAaQB0AGUAcwAuAG4AZQB0MCAXDTE4MDEwMTA3MDAwMFoYDzIxMTgxMjMxMDcwMDAwWjAxMS8wLQYDVQQDHiYAKgAuAGEAegB1AHIAZQB3AGUAYgBzAGkAdABlAHMALgBuAGUAdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKcqVpT4O7YwltwNd/XSTqITNrpb1lxkLE5r0CpummRxDtjSKbY/vrA7cnHByZS0lRnVPgnZFSyTR0qU0XhGQxedMx+uLGnaDfvDtbCzElsrH4yaMU/dU4959liNYccV//OZOOfr8AB5xnD3k1ix/ssMphIE7sdZx2Icr9TGZzE6Ckm0afEdp7SdwUpXvOjxfB6tFtqyhN5Gtgm1f1rhugCb1QA1UCM1b0Af2XTHbhW057BmUppNI6rzYr3RPed0pXTryeI1/5U3a9ZJ2XFW3VXTXw9Wo+qv8I+9DWIUj0JdoYJ2XkTcZJEeo3woJSBx1yCv2bggR3OUM0wG7/n4HykCAwEAAaN7MHkwEwYDVR0lBAwwCgYIKwYBBQUHAwEwYgYDVR0BBFswWYAQ3sdVft+h9rOb7gSClEWvkaEzMDExLzAtBgNVBAMeJgAqAC4AYQB6AHUAcgBlAHcAZQBiAHMAaQB0AGUAcwAuAG4AZQB0ghAtUq8Adj6upUH4LtZuHbhAMAkGBSsOAwIdBQADggEBAB+08jsd9CeKCX4qeEUNx3i1uklsTAdwoEkK6xQqF4LuHsV9J8NEkQnJow1w2wsg/lULbm+k6LJmM7qCP0NquYOQra3/sdWZvPQflhFM8awpBkIOWO9/wS1oQWhyUHFCwSWUOhJ218bNxBLwIjX6bjCEVNQWNNOFooPz3/dNNVfxqXggqgWXBQ11LuZha+zvU7G82zCttImywZUFcKK3dcvdYPAU9POWQvuuvUqBBdKzPcNCnJAFyXPpJPegW+3ycwphRKxBjYUATe7aP+ulc+/YkyK19dLdUqxBkx2ElJ2HKTcUo6eEXgAuyjQ/jQejZI+fG2FV4NxGEoSned4BKng=","attributes":{"enabled":true,"nbf":1514790000,"exp":4701913200,"created":1575490632,"updated":1575490632,"recoveryLevel":"Purgeable"},"policy":{"id":"https://kv-ssl-test000004.vault.azure.net/certificates/test-cert/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"CN=*.azurewebsites.net","ekus":["1.3.6.1.5.5.7.3.1"],"key_usage":[],"validity_months":1200,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"EmailContacts"}}],"issuer":{"name":"Unknown"},"attributes":{"enabled":true,"created":1575490632,"updated":1575490632}}}' + headers: + cache-control: + - no-cache + content-length: + - '2229' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 04 Dec 2019 20:17:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000;includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-network-info: + - addr=131.107.174.245;act_addr_fam=InterNetwork; + x-ms-keyvault-region: + - westeurope + x-ms-keyvault-service-version: + - 1.1.0.883 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl import + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --key-vault --key-vault-certificate-name + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003?api-version=2018-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003","name":"web-ssl-test000003","type":"Microsoft.Web/sites","kind":"app","location":"West + Europe","properties":{"name":"web-ssl-test000003","state":"Running","hostNames":["web-ssl-test000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestEuropewebspace","selfLink":"https://waws-prod-am2-217.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestEuropewebspace/sites/web-ssl-test000003","repositorySiteName":"web-ssl-test000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["web-ssl-test000003.azurewebsites.net","web-ssl-test000003.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":""},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"web-ssl-test000003.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"web-ssl-test000003.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2019-12-04T20:16:10.0833333","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":null,"deploymentId":"web-ssl-test000003","trafficManagerHostNames":null,"sku":"Basic","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"63FB5634EE85CDC1234270D3438998F2618E81F68C098BD16994FDCE8EF2E6EE","kind":"app","inboundIpAddress":"137.117.218.101","possibleInboundIpAddresses":"137.117.218.101","outboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13","possibleOutboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13,137.117.208.108,137.117.208.41,137.117.211.152","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-am2-217","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"web-ssl-test000003.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null}}' + headers: + cache-control: + - no-cache + content-length: + - '3593' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:17:12 GMT + etag: + - '"1D5AADFAB031835"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl import + Connection: + - keep-alive + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --key-vault --key-vault-certificate-name + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-keyvault/1.1.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004?api-version=2018-02-14 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004","name":"kv-ssl-test000004","type":"Microsoft.KeyVault/vaults","location":"westeurope","tags":{},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","accessPolicies":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"0b9188a0-540d-4262-9311-61bb1a0235ef","permissions":{"keys":["get","create","delete","list","update","import","backup","restore","recover"],"secrets":["get","list","set","delete","backup","restore","recover"],"certificates":["get","list","delete","create","import","update","managecontacts","getissuers","listissuers","setissuers","deleteissuers","manageissuers","recover"],"storage":["get","list","delete","set","update","regeneratekey","setsas","listsas","getsas","deletesas"]}},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","objectId":"f8daea97-62e7-4026-becf-13c2ea98e8b4","permissions":{"secrets":["get"]}}],"enabledForDeployment":false,"vaultUri":"https://kv-ssl-test000004.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '1230' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 04 Dec 2019 20:17:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-keyvault-service-version: + - 1.1.0.261 + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl import + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --key-vault --key-vault-certificate-name + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals/0b9188a0-540d-4262-9311-61bb1a0235ef?api-version=1.6 + response: + body: + string: '{"odata.error":{"code":"Request_ResourceNotFound","message":{"lang":"en","value":"Resource + ''0b9188a0-540d-4262-9311-61bb1a0235ef'' does not exist or one of its queried + reference-property objects are not present."},"requestId":"80cb19ff-b009-4a2f-afbb-2fce996282f4","date":"2019-12-04T20:17:15"}}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '294' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Wed, 04 Dec 2019 20:17:14 GMT + duration: + - '760604' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - nz/XGp5Lt3UpE9jJSAaQvlkMcNgkH4RQOBn3fI2s7Mc= + ocp-aad-session-key: + - piT6VRRfArvmdlNhI7PfmFEWmJhBYceOXhREq84UFjdr9mvg01FHZ9XnQBAtoW0ELXF1en-7TgO3Um430J0MiJTr9sUgX9Td1UTjtKh-2MxjNc0z9fVQorNhzPE6lm54.PVrA2AcOjzA1GWDPQTimHMDxzZ8xTnLPak8QLYDr0Qc + pragma: + - no-cache + request-id: + - 80cb19ff-b009-4a2f-afbb-2fce996282f4 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl import + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --key-vault --key-vault-certificate-name + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals/f8daea97-62e7-4026-becf-13c2ea98e8b4?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects/@Element","odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"f8daea97-62e7-4026-becf-13c2ea98e8b4","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"Microsoft + Azure App Service","appId":"abfa0a7c-a6b6-4736-8310-5855508787cd","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"Microsoft.Azure.WebSites","errorUrl":null,"homepage":null,"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access all the APIs registered with App Service","adminConsentDisplayName":"Access + APIs registered with App Service","id":"e0ea806b-d128-49dc-ac08-2bf18f7874d8","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access all the APIs registered with App Service","userConsentDisplayName":"Access + APIs registered with App Service","value":"user_impersonation"}],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":null,"replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["Microsoft.Azure.WebSites","abfa0a7c-a6b6-4736-8310-5855508787cd"],"servicePrincipalType":"Application","signInAudience":"AzureADMultipleOrgs","tags":[],"tokenEncryptionKeyId":null}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1674' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Wed, 04 Dec 2019 20:17:14 GMT + duration: + - '822948' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - hjR4RY9nRvxALTOJY4KnXfIpjm/qwj5JntibyjsUFsE= + ocp-aad-session-key: + - dMalc7rla1VTYecOgyyvOhjpQo2KK60rb_rkziMwRakw90Ql-Juz7ZD0J4kcU4NrUO9VyBIlif0yVQn0Qz-DMx_m-_aQlJoi1p31H2jo4X5N3FVoZop_qSGHcQGH9nDz.hV5G8OefU61qWSBQy6UvkCLS6dJwBSbWh21kvJnqaLE + pragma: + - no-cache + request-id: + - cedc9b85-c4ca-4eba-b501-6ab1dee38ed5 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: 'b''{"location": "West Europe", "properties": {"password": "", "keyVaultId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.KeyVault/vaults/kv-ssl-test000004", + "keyVaultSecretName": "test-cert", "serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002"}}''' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl import + Connection: + - keep-alive + Content-Length: + - '534' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --key-vault --key-vault-certificate-name + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/certificates/clitest.rg000001-kv-ssl-test000004-test-cert?api-version=2018-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/certificates/clitest.rg000001-kv-ssl-test000004-test-cert","name":"clitest.rg000001-kv-ssl-test000004-test-cert","type":"Microsoft.Web/certificates","location":"West + Europe","properties":{"friendlyName":"","subjectName":"*.azurewebsites.net","hostNames":["*.azurewebsites.net"],"pfxBlob":null,"siteName":null,"selfLink":null,"issuer":"*.azurewebsites.net","issueDate":"2018-01-01T07:00:00+00:00","expirationDate":"2118-12-31T07:00:00+00:00","password":null,"thumbprint":"9E9735C45C792B03B3FFCCA614852B32EE71AD6B","valid":null,"toDelete":null,"cerBlob":null,"publicKeyHash":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"keyVaultId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.keyvault/vaults/kv-ssl-test000004","keyVaultSecretName":"test-cert","keyVaultSecretStatus":"Initialized","webSpace":"clitest.rg000001-WestEuropewebspace","serverFarmId":null,"tags":null}}' + headers: + cache-control: + - no-cache + content-length: + - '1361' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:17:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + warning: + - 199 Some of the uploaded certificates are either self-signed or expired.,199 + Some of the uploaded certificates cannot be validated to a trusted CA + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl bind + Connection: + - keep-alive + ParameterSetName: + - -g -n --certificate-thumbprint --ssl-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003?api-version=2018-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003","name":"web-ssl-test000003","type":"Microsoft.Web/sites","kind":"app","location":"West + Europe","properties":{"name":"web-ssl-test000003","state":"Running","hostNames":["web-ssl-test000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestEuropewebspace","selfLink":"https://waws-prod-am2-217.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestEuropewebspace/sites/web-ssl-test000003","repositorySiteName":"web-ssl-test000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["web-ssl-test000003.azurewebsites.net","web-ssl-test000003.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":""},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"web-ssl-test000003.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"web-ssl-test000003.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2019-12-04T20:16:10.0833333","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":null,"deploymentId":"web-ssl-test000003","trafficManagerHostNames":null,"sku":"Basic","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"63FB5634EE85CDC1234270D3438998F2618E81F68C098BD16994FDCE8EF2E6EE","kind":"app","inboundIpAddress":"137.117.218.101","possibleInboundIpAddresses":"137.117.218.101","outboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13","possibleOutboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13,137.117.208.108,137.117.208.41,137.117.211.152","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-am2-217","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"web-ssl-test000003.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null}}' + headers: + cache-control: + - no-cache + content-length: + - '3593' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:17:23 GMT + etag: + - '"1D5AADFAB031835"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl bind + Connection: + - keep-alive + ParameterSetName: + - -g -n --certificate-thumbprint --ssl-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003?api-version=2018-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003","name":"web-ssl-test000003","type":"Microsoft.Web/sites","kind":"app","location":"West + Europe","properties":{"name":"web-ssl-test000003","state":"Running","hostNames":["web-ssl-test000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestEuropewebspace","selfLink":"https://waws-prod-am2-217.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestEuropewebspace/sites/web-ssl-test000003","repositorySiteName":"web-ssl-test000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["web-ssl-test000003.azurewebsites.net","web-ssl-test000003.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":""},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"web-ssl-test000003.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"web-ssl-test000003.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2019-12-04T20:16:10.0833333","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":null,"deploymentId":"web-ssl-test000003","trafficManagerHostNames":null,"sku":"Basic","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"63FB5634EE85CDC1234270D3438998F2618E81F68C098BD16994FDCE8EF2E6EE","kind":"app","inboundIpAddress":"137.117.218.101","possibleInboundIpAddresses":"137.117.218.101","outboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13","possibleOutboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13,137.117.208.108,137.117.208.41,137.117.211.152","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-am2-217","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"web-ssl-test000003.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null}}' + headers: + cache-control: + - no-cache + content-length: + - '3593' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:17:24 GMT + etag: + - '"1D5AADFAB031835"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl bind + Connection: + - keep-alive + ParameterSetName: + - -g -n --certificate-thumbprint --ssl-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/certificates?api-version=2018-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/certificates/clitest.rg000001-kv-ssl-test000004-test-cert","name":"clitest.rg000001-kv-ssl-test000004-test-cert","type":"Microsoft.Web/certificates","location":"West + Europe","properties":{"friendlyName":"","subjectName":"*.azurewebsites.net","hostNames":["*.azurewebsites.net"],"pfxBlob":null,"siteName":null,"selfLink":null,"issuer":"*.azurewebsites.net","issueDate":"2018-01-01T07:00:00+00:00","expirationDate":"2118-12-31T07:00:00+00:00","password":null,"thumbprint":"9E9735C45C792B03B3FFCCA614852B32EE71AD6B","valid":null,"toDelete":null,"cerBlob":null,"publicKeyHash":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"keyVaultId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.keyvault/vaults/kv-ssl-test000004","keyVaultSecretName":"test-cert","keyVaultSecretStatus":"Initialized","webSpace":"clitest.rg000001-WestEuropewebspace","serverFarmId":null,"tags":null}}],"nextLink":null,"id":null}' + headers: + cache-control: + - no-cache + content-length: + - '1399' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:17:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl bind + Connection: + - keep-alive + ParameterSetName: + - -g -n --certificate-thumbprint --ssl-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003/hostNameBindings?api-version=2018-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003/hostNameBindings/web-ssl-test000003.azurewebsites.net","name":"web-ssl-test000003/web-ssl-test000003.azurewebsites.net","type":"Microsoft.Web/sites/hostNameBindings","location":"West + Europe","properties":{"siteName":"web-ssl-test000003","domainId":null,"hostNameType":"Verified"}}],"nextLink":null,"id":null}' + headers: + cache-control: + - no-cache + content-length: + - '527' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:17:26 GMT + etag: + - '"1D5AADFAB031835"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "West Europe", "properties": {"hostNameSslStates": [{"name": + "web-ssl-test000003.azurewebsites.net", "sslState": "SniEnabled", "thumbprint": + "9E9735C45C792B03B3FFCCA614852B32EE71AD6B", "toUpdate": true}], "reserved": + false, "isXenon": false, "hyperV": false, "scmSiteAlsoStopped": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl bind + Connection: + - keep-alive + Content-Length: + - '303' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --certificate-thumbprint --ssl-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003?api-version=2018-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003","name":"web-ssl-test000003","type":"Microsoft.Web/sites","kind":"app","location":"West + Europe","properties":{"name":"web-ssl-test000003","state":"Running","hostNames":["web-ssl-test000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestEuropewebspace","selfLink":"https://waws-prod-am2-217.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestEuropewebspace/sites/web-ssl-test000003","repositorySiteName":"web-ssl-test000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["web-ssl-test000003.azurewebsites.net","web-ssl-test000003.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":""},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"web-ssl-test000003.azurewebsites.net","sslState":"SniEnabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":"9E9735C45C792B03B3FFCCA614852B32EE71AD6B","toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"web-ssl-test000003.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2019-12-04T20:17:29.7766667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":null,"deploymentId":"web-ssl-test000003","trafficManagerHostNames":null,"sku":"Basic","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"63FB5634EE85CDC1234270D3438998F2618E81F68C098BD16994FDCE8EF2E6EE","kind":"app","inboundIpAddress":"137.117.218.101","possibleInboundIpAddresses":"137.117.218.101","outboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13","possibleOutboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13,137.117.208.108,137.117.208.41,137.117.211.152","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-am2-217","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"web-ssl-test000003.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"buildVersion":null,"targetBuildVersion":null}}' + headers: + cache-control: + - no-cache + content-length: + - '3635' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:17:33 GMT + etag: + - '"1D5AADFAB031835"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '499' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl bind + Connection: + - keep-alive + ParameterSetName: + - -g -n --certificate-thumbprint --ssl-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003?api-version=2018-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003","name":"web-ssl-test000003","type":"Microsoft.Web/sites","kind":"app","location":"West + Europe","properties":{"name":"web-ssl-test000003","state":"Running","hostNames":["web-ssl-test000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestEuropewebspace","selfLink":"https://waws-prod-am2-217.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestEuropewebspace/sites/web-ssl-test000003","repositorySiteName":"web-ssl-test000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["web-ssl-test000003.azurewebsites.net","web-ssl-test000003.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":""},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"web-ssl-test000003.azurewebsites.net","sslState":"SniEnabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":"9E9735C45C792B03B3FFCCA614852B32EE71AD6B","toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"web-ssl-test000003.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/ssl-test-plan000002","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2019-12-04T20:17:29.7766667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":null,"deploymentId":"web-ssl-test000003","trafficManagerHostNames":null,"sku":"Basic","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"63FB5634EE85CDC1234270D3438998F2618E81F68C098BD16994FDCE8EF2E6EE","kind":"app","inboundIpAddress":"137.117.218.101","possibleInboundIpAddresses":"137.117.218.101","outboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13","possibleOutboundIpAddresses":"137.117.218.101,137.117.210.101,137.117.214.210,137.117.214.88,137.117.212.13,137.117.208.108,137.117.208.41,137.117.211.152","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-am2-217","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"web-ssl-test000003.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"buildVersion":null,"targetBuildVersion":null}}' + headers: + cache-control: + - no-cache + content-length: + - '3633' + content-type: + - application/json + date: + - Wed, 04 Dec 2019 20:17:34 GMT + etag: + - '"1D5AADFDA83550B"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{}' + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + CommandName: + - webapp config ssl bind + Connection: + - keep-alive + Content-Length: + - '2' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --certificate-thumbprint --ssl-type + User-Agent: + - python/3.8.0 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 + azure-mgmt-web/0.42.0 Azure-SDK-For-Python AZURECLI/2.0.77 + accept-language: + - en-US + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/web-ssl-test000003/publishxml?api-version=2018-11-01 + response: + body: + string: + headers: + cache-control: + - no-cache + content-length: + - '1678' + content-type: + - application/xml + date: + - Wed, 04 Dec 2019 20:17:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '11999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py index 0ad9e87ad1e..946d83c5780 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands.py @@ -1036,6 +1036,36 @@ def test_webapp_ssl(self, resource_group, resource_group_location): self.cmd('webapp delete -g {} -n {}'.format(resource_group, webapp_name)) +class WebappSSLImportCertTest(ScenarioTest): + @ResourceGroupPreparer(location='westeurope') + def test_webapp_ssl_import(self, resource_group): + plan_name = self.create_random_name(prefix='ssl-test-plan', length=24) + webapp_name = self.create_random_name(prefix='web-ssl-test', length=20) + kv_name = self.create_random_name(prefix='kv-ssl-test', length=20) + # Cert Generated using + # https://docs.microsoft.com/azure/app-service-web/web-sites-configure-ssl-certificate#bkmk_ssopenssl + pfx_file = os.path.join(TEST_DIR, 'server.pfx') + cert_password = 'test' + cert_thumbprint = '9E9735C45C792B03B3FFCCA614852B32EE71AD6B' + cert_name = 'test-cert' + # we configure tags here in a hope to capture a repro for https://github.com/Azure/azure-cli/issues/6929 + self.cmd('appservice plan create -g {} -n {} --sku B1'.format(resource_group, plan_name)) + self.cmd('webapp create -g {} -n {} --plan {}'.format(resource_group, webapp_name, plan_name)) + self.cmd('keyvault create -g {} -n {}'.format(resource_group, kv_name)) + self.cmd('keyvault set-policy --name {} --spn {} --secret-permissions get'.format(kv_name, 'Microsoft.Azure.WebSites')) + self.cmd('keyvault certificate import --name {} --vault-name {} --file "{}" --password {}'.format(cert_name, kv_name, pfx_file, cert_password)) + + self.cmd('webapp config ssl import --resource-group {} --name {} --key-vault {} --key-vault-certificate-name {}'.format(resource_group, webapp_name, kv_name, cert_name), checks=[ + JMESPathCheck('keyVaultSecretStatus', 'Initialized'), + JMESPathCheck('thumbprint', cert_thumbprint) + ]) + + self.cmd('webapp config ssl bind -g {} -n {} --certificate-thumbprint {} --ssl-type {}'.format(resource_group, webapp_name, cert_thumbprint, 'SNI'), checks=[ + JMESPathCheck("hostNameSslStates|[?name=='{}.azurewebsites.net']|[0].sslState".format(webapp_name), 'SniEnabled'), + JMESPathCheck("hostNameSslStates|[?name=='{}.azurewebsites.net']|[0].thumbprint".format(webapp_name), cert_thumbprint) + ]) + + class WebappUndeleteTest(ScenarioTest): @AllowLargeResponse(8192) @ResourceGroupPreparer()