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 61410a35c66..1f4863e93a5 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/_params.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/_params.py @@ -1140,6 +1140,7 @@ def load_arguments(self, _): c.argument('runtime_version', help='The runtime version for logic app.', arg_type=get_enum_type(LOGICAPPS_NODE_RUNTIME_VERSIONS)) c.argument('functions_version', options_list=['--functions-version', '-v'], help='The functions version for logic app.', arg_type=get_enum_type(FUNCTIONS_VERSIONS)) + c.argument('auto_generated_domain_name_label_scope', options_list=['--domain-name-scope'], help="Specify the scope of uniqueness for the default hostname during resource creation.", arg_type=get_enum_type(AutoGeneratedDomainNameLabelScope)) with self.argument_context('logicapp show') as c: c.argument('name', arg_type=logicapp_name_arg_type) diff --git a/src/azure-cli/azure/cli/command_modules/appservice/logicapp/_help.py b/src/azure-cli/azure/cli/command_modules/appservice/logicapp/_help.py index d78e6e2e8d5..27459f86297 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/logicapp/_help.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/logicapp/_help.py @@ -20,6 +20,9 @@ - name: Create a basic logic app. text: > az logicapp create -g myRG --subscription mySubscription -p MyPlan -n myLogicApp -s myStorageAccount + - name: Create a logic app with a unique domain name scope. + text: > + az logicapp create -g myRG --subscription mySubscription -p MyPlan -n myLogicApp -s myStorageAccount --domain-name-scope TenantReuse """ helps['logicapp delete'] = """ diff --git a/src/azure-cli/azure/cli/command_modules/appservice/logicapp/custom.py b/src/azure-cli/azure/cli/command_modules/appservice/logicapp/custom.py index e1ab42e76cf..35c4ad7c12f 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/logicapp/custom.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/logicapp/custom.py @@ -41,7 +41,8 @@ def create_logicapp(cmd, resource_group_name, name, storage_account, plan=None, app_insights=None, app_insights_key=None, disable_app_insights=None, deployment_source_url=None, deployment_source_branch='master', deployment_local_git=None, docker_registry_server_password=None, docker_registry_server_user=None, - deployment_container_image_name=None, tags=None, https_only=False): + deployment_container_image_name=None, tags=None, https_only=False, + auto_generated_domain_name_label_scope=None): # pylint: disable=too-many-statements, too-many-branches, too-many-locals runtime = None if not deployment_container_image_name: @@ -57,7 +58,8 @@ def create_logicapp(cmd, resource_group_name, name, storage_account, plan=None, docker_registry_server_url = parse_docker_image_name(deployment_container_image_name) site_config = SiteConfig(app_settings=[]) - logicapp_def = Site(location=None, site_config=site_config, tags=tags, https_only=https_only) + logicapp_def = Site(location=None, site_config=site_config, tags=tags, https_only=https_only, + auto_generated_domain_name_label_scope=auto_generated_domain_name_label_scope) client = web_client_factory(cmd.cli_ctx) plan_info = None if runtime is not None: diff --git a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_logicapp_unique_domain_name.yaml b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_logicapp_unique_domain_name.yaml new file mode 100644 index 00000000000..961210400fa --- /dev/null +++ b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/recordings/test_logicapp_unique_domain_name.yaml @@ -0,0 +1,686 @@ +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: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"francecentral","tags":{"product":"azurecli","cause":"automation","test":"test_logicapp_unique_domain_name","date":"2026-02-18T12:02:04Z","module":"appservice"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '381' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 18 Feb 2026 12:02:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: C59784F815F64C979C2E991804727DA6 Ref B: PNQ231110908052 Ref C: 2026-02-18T12:02:39Z' + 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: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/logic-e2e-plan000004?api-version=2024-11-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Web/serverFarms/logic-e2e-plan000004'' + under resource group ''clitest.rg000001'' was not found. For more details + please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + cache-control: + - no-cache + content-length: + - '234' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 18 Feb 2026 12:02:40 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + x-msedge-ref: + - 'Ref A: CCC5D00882FC4C0D9824FC113421478E Ref B: PNQ231110908040 Ref C: 2026-02-18T12:02:40Z' + status: + code: 404 + message: Not Found +- request: + body: '{"location": "francecentral", "properties": {"perSiteScaling": false}, + "sku": {"capacity": 1, "name": "WS1", "tier": "WorkflowStandard"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - appservice plan create + Connection: + - keep-alive + Content-Length: + - '137' + Content-Type: + - application/json + ParameterSetName: + - -g -n --sku + User-Agent: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/logic-e2e-plan000004?api-version=2025-03-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/logic-e2e-plan000004","name":"logic-e2e-plan000004","type":"Microsoft.Web/serverfarms","kind":"elastic","location":"francecentral","properties":{"serverFarmId":111275,"name":"logic-e2e-plan000004","sku":{"name":"WS1","tier":"WorkflowStandard","size":"WS1","family":"WS","capacity":1},"workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-FranceCentralwebspace","subscription":"61205620-7671-450f-a0dd-b1bea84c60ec","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"France + Central","perSiteScaling":false,"elasticScaleEnabled":true,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"elastic","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-par-015_111275","targetWorkerCount":0,"targetWorkerSizeId":0,"targetWorkerSku":null,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false,"maximumNumberOfZones":3,"currentNumberOfZonesUtilized":1,"migrateToVMSS":null,"vnetConnectionsUsed":null,"vnetConnectionsMax":null,"createdTime":"2026-02-18T12:02:46.0566667","asyncScalingEnabled":false,"isCustomMode":false,"powerState":"Running","eligibleLogCategories":""},"sku":{"name":"WS1","tier":"WorkflowStandard","size":"WS1","family":"WS","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1833' + content-type: + - application/json + date: + - Wed, 18 Feb 2026 12:02:48 GMT + etag: + - '"1DCA0CE7F2D7BEB"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=ed41882f-f46e-4692-a8f3-d447bc8397e5/francecentral/35d7d873-529c-4dd0-81f2-09312fbe8321 + x-ms-ratelimit-remaining-subscription-global-writes: + - '12000' + x-ms-ratelimit-remaining-subscription-writes: + - '800' + x-msedge-ref: + - 'Ref A: 5089402E59DB4418903298C2A3BE66A0 Ref B: PNQ231110908029 Ref C: 2026-02-18T12:02:40Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logicapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n -p -s --domain-name-scope + User-Agent: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/logic-e2e-plan000004?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/logic-e2e-plan000004","name":"logic-e2e-plan000004","type":"Microsoft.Web/serverfarms","kind":"elastic","location":"France + Central","properties":{"serverFarmId":111275,"name":"logic-e2e-plan000004","workerSize":"D1","workerSizeId":3,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"D1","currentWorkerSizeId":3,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-FranceCentralwebspace","subscription":"61205620-7671-450f-a0dd-b1bea84c60ec","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":20,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"France + Central","perSiteScaling":false,"elasticScaleEnabled":true,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"elastic","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-par-015_111275","targetWorkerCount":0,"targetWorkerSizeId":0,"targetWorkerSku":null,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"zoneRedundant":false,"maximumNumberOfZones":3,"currentNumberOfZonesUtilized":1,"migrateToVMSS":null,"vnetConnectionsUsed":0,"vnetConnectionsMax":2,"createdTime":"2026-02-18T12:02:46.0566667","asyncScalingEnabled":false,"isCustomMode":false,"powerState":"Running","eligibleLogCategories":""},"sku":{"name":"WS1","tier":"WorkflowStandard","size":"WS1","family":"WS","capacity":1}}' + headers: + cache-control: + - no-cache + content-length: + - '1742' + content-type: + - application/json + date: + - Wed, 18 Feb 2026 12:02:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: D9B8F0B1931746D09CD4803DB812C429 Ref B: PNQ231110908060 Ref C: 2026-02-18T12:02:49Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logicapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n -p -s --domain-name-scope + User-Agent: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2025-06-01 + response: + body: + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","name":"clitest000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"allowCrossTenantDelegationSas":false,"keyCreationTime":{"key1":"2026-02-18T12:02:14.4192356Z","key2":"2026-02-18T12:02:14.4192356Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"ipv6Rules":[],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2026-02-18T12:02:14.4348633Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2026-02-18T12:02:14.4348633Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2026-02-18T12:02:14.2317331Z","primaryEndpoints":{"blob":"https://clitest000002.blob.core.windows.net/","queue":"https://clitest000002.queue.core.windows.net/","table":"https://clitest000002.table.core.windows.net/","file":"https://clitest000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}}' + headers: + cache-control: + - no-cache + content-length: + - '1359' + content-type: + - application/json + date: + - Wed, 18 Feb 2026 12:02:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 151B4C47E12F4EF3B4F1EEB86F7AD0DF Ref B: PNQ231110906025 Ref C: 2026-02-18T12:02:50Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logicapp create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n -p -s --domain-name-scope + User-Agent: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2025-06-01&$expand=kerb + response: + body: + string: '{"keys":[{"creationTime":"2026-02-18T12:02:14.4192356Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2026-02-18T12:02:14.4192356Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '260' + content-type: + - application/json + date: + - Wed, 18 Feb 2026 12:02:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=ed41882f-f46e-4692-a8f3-d447bc8397e5/francecentral/19abf4ec-9159-4861-ade2-efcd83a0b9ab + x-ms-ratelimit-remaining-subscription-resource-requests: + - '799' + x-msedge-ref: + - 'Ref A: E89F5A5D280B43259FBBDCFB625A317C Ref B: PNQ231110909042 Ref C: 2026-02-18T12:02:51Z' + status: + code: 200 + message: OK +- request: + body: '{"kind": "functionapp,workflowapp", "location": "France Central", "properties": + {"serverFarmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/logic-e2e-plan000004", + "reserved": false, "isXenon": false, "hyperV": false, "siteConfig": {"netFrameworkVersion": + "v4.6", "appSettings": [{"name": "FUNCTIONS_WORKER_RUNTIME", "value": "node"}, + {"name": "WEBSITE_NODE_DEFAULT_VERSION", "value": "~16"}, {"name": "FUNCTIONS_EXTENSION_VERSION", + "value": "~4"}, {"name": "AzureWebJobsStorage", "value": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey=="}, + {"name": "AzureWebJobsDashboard", "value": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey=="}, + {"name": "AzureFunctionsJobHost__extensionBundle__id", "value": "Microsoft.Azure.Functions.ExtensionBundle.Workflows"}, + {"name": "AzureFunctionsJobHost__extensionBundle__version", "value": "[1.*, + 2.0.0)"}, {"name": "APP_KIND", "value": "workflowApp"}, {"name": "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING", + "value": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey=="}, + {"name": "WEBSITE_CONTENTSHARE", "value": "logicappudom000003"}], "localMySqlEnabled": + false, "http20Enabled": true, "http20ProxyFlag": 0}, "scmSiteAlsoStopped": false, + "httpsOnly": false, "autoGeneratedDomainNameLabelScope": "SubscriptionReuse"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logicapp create + Connection: + - keep-alive + Content-Length: + - '1570' + Content-Type: + - application/json + ParameterSetName: + - -g -n -p -s --domain-name-scope + User-Agent: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/logicappudom000003?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/logicappudom000003","name":"logicappudom000003","type":"Microsoft.Web/sites","kind":"functionapp,workflowapp","location":"France + Central","properties":{"name":"logicappudom000003","state":"Running","hostNames":["logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net"],"webSpace":"clitest.rg000001-FranceCentralwebspace","selfLink":"https://waws-prod-par-015.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-FranceCentralwebspace/sites/logicappudom000003","repositorySiteName":"logicappudom000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"siteScopedCertificatesEnabled":false,"afdEnabled":false,"enabledHostNames":["logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net","logicappudom000003-e0a4a2a9f4g2dnan.scm.francecentral-01.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":"logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"virtualIPv6":null,"thumbprint":null,"certificateResourceId":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"logicappudom000003-e0a4a2a9f4g2dnan.scm.francecentral-01.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"virtualIPv6":null,"thumbprint":null,"certificateResourceId":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/logic-e2e-plan000004","reserved":false,"isXenon":false,"hyperV":false,"sandboxType":null,"lastModifiedTimeUtc":"2026-02-18T12:02:59.54","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","dnsConfiguration":{},"containerAllocationSubnet":null,"useContainerLocalhostBindings":null,"outboundVnetRouting":{"allTraffic":false,"applicationTraffic":false,"contentShareTraffic":false,"imagePullTraffic":false,"backupRestoreTraffic":false,"managedIdentityTraffic":false},"legacyServiceEndpointTrafficEvaluation":null,"siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","windowsFxVersion":null,"sandboxType":null,"windowsConfiguredStacks":null,"requestTracingEnabled":null,"remoteDebuggingEnabled":null,"remoteDebuggingVersion":null,"httpLoggingEnabled":null,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":null,"detailedErrorLoggingEnabled":null,"publishingUsername":null,"publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":null,"managedPipelineMode":null,"virtualApplications":null,"winAuthAdminState":null,"winAuthTenantState":null,"customAppPoolIdentityAdminState":null,"customAppPoolIdentityTenantState":null,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":null,"routingRules":null,"experiments":null,"limits":null,"autoHealEnabled":null,"autoHealRules":null,"tracingOptions":null,"vnetName":null,"vnetRouteAllEnabled":null,"vnetPrivatePortsCount":null,"publicNetworkAccess":null,"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":null,"managedServiceIdentityId":null,"xManagedServiceIdentityId":null,"keyVaultReferenceIdentity":null,"ipSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":2147483647,"name":"Allow + all","description":"Allow all access"}],"ipSecurityRestrictionsDefaultAction":null,"scmIpSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":2147483647,"name":"Allow + all","description":"Allow all access"}],"scmIpSecurityRestrictionsDefaultAction":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":false,"minTlsVersion":null,"minTlsCipherSuite":null,"scmMinTlsCipherSuite":null,"supportedTlsCipherSuites":null,"scmSupportedTlsCipherSuites":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"elasticWebAppScaleLimit":null,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null,"storageType":null,"sitePrivateLinkHostEnabled":null,"clusteringEnabled":false,"webJobsEnabled":false},"functionAppConfig":null,"daprConfig":null,"deploymentId":"logicappudom000003","slotName":null,"trafficManagerHostNames":null,"sku":"WorkflowStandard","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":false,"clientAffinityProxyEnabled":false,"useQueryStringAffinity":false,"blockPathTraversal":false,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"clientCertExclusionEndPoints":null,"hostNamesDisabled":false,"ipMode":"IPv4","domainVerificationIdentifiers":null,"customDomainVerificationId":"7378FD74A7B0B48A00AB468E015BFFDC7FC8EBAE1B36A2BB8853179D08FE6DAC","kind":"functionapp,workflowapp","managedEnvironmentId":null,"workloadProfileName":null,"resourceConfig":null,"inboundIpAddress":"20.43.43.33","possibleInboundIpAddresses":"20.43.43.33","inboundIpv6Address":"2603:1020:805:2::614","possibleInboundIpv6Addresses":"2603:1020:805:2::614","ftpUsername":"logicappudom000003\\$logicappudom000003","ftpsHostName":"ftps://waws-prod-par-015.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"51.11.238.47,51.11.238.176,51.11.238.204,51.11.238.255,51.11.239.9,51.11.239.36,20.43.43.33","possibleOutboundIpAddresses":"51.11.234.14,51.11.235.103,51.11.236.195,51.11.237.97,51.11.237.231,51.11.238.40,172.189.21.126,51.11.238.47,51.11.238.176,51.11.238.204,51.11.238.255,51.11.239.9,51.11.239.36,51.11.239.40,51.11.200.72,51.11.200.124,51.11.236.220,51.11.236.221,51.11.237.48,51.11.237.217,51.11.238.18,51.11.238.19,51.11.238.38,51.11.238.39,51.11.238.56,51.11.238.57,51.11.238.60,51.11.238.61,20.74.24.206,20.74.24.218,20.74.25.13,20.43.43.33","outboundIpv6Addresses":"2603:1020:802:6::298,2603:1020:802:5::31e,2603:1020:800:9::23d,2603:1020:800:b::232,2603:1020:800:9::23e,2603:1020:800:9::23f,2603:1020:805:2::614,2603:10e1:100:2::142b:2b21","possibleOutboundIpv6Addresses":"2603:1020:800:b::231,2603:1020:800:8::2f1,2603:1020:802:7::2c6,2603:1020:802:5::31d,2603:1020:802:6::297,2603:1020:800:a::2f0,2603:1020:802:6::298,2603:1020:802:5::31e,2603:1020:800:9::23d,2603:1020:800:b::232,2603:1020:800:9::23e,2603:1020:800:9::23f,2603:1020:802:6::299,2603:1020:800:8::2f2,2603:1020:800:8::2f3,2603:1020:800:b::233,2603:1020:800:a::2f1,2603:1020:800:b::234,2603:1020:802:7::2c7,2603:1020:802:3::4ad,2603:1020:802:5::31f,2603:1020:800:b::235,2603:1020:802:6::29a,2603:1020:800:8::2f4,2603:1020:800:b::236,2603:1020:802:5::320,2603:1020:800:a::2f2,2603:1020:800:a::2f3,2603:1020:802:6::29b,2603:1020:800:9::240,2603:1020:805:2::614,2603:10e1:100:2::142b:2b21","containerSize":1536,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-par-015","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"endToEndEncryptionEnabled":false,"functionsRuntimeAdminIsolationEnabled":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"publicNetworkAccess":"Enabled","buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"WorkflowRuntime,FunctionAppLogs,AppServiceAuthenticationLogs","inFlightFeatures":null,"storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned","autoGeneratedDomainNameLabelScope":"SubscriptionReuse","privateLinkIdentifiers":null,"sshEnabled":null}}' + headers: + cache-control: + - no-cache + content-length: + - '8865' + content-type: + - application/json + date: + - Wed, 18 Feb 2026 12:03:47 GMT + etag: + - '"1DCA0CE87271C2B"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=ed41882f-f46e-4692-a8f3-d447bc8397e5/francecentral/36474acb-ea04-4fb1-a1f2-d037ae5226da + x-ms-ratelimit-remaining-subscription-resource-requests: + - '800' + x-msedge-ref: + - 'Ref A: 97194487848B47E98D983B8C2831C423 Ref B: PNQ231110909040 Ref C: 2026-02-18T12:02:53Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "France Central", "kind": "web", "properties": {"Application_Type": + "web"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logicapp create + Connection: + - keep-alive + Content-Length: + - '88' + Content-Type: + - application/json + ParameterSetName: + - -g -n -p -s --domain-name-scope + User-Agent: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/logicappudom000003?api-version=2015-05-01 + response: + body: + string: "{\r\n \"kind\": \"web\",\r\n \"etag\": \"\\\"1003b3a9-0000-0e00-0000-6995aaaf0000\\\"\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/logicappudom000003\",\r\n + \ \"name\": \"logicappudom000003\",\r\n \"type\": \"microsoft.insights/components\",\r\n + \ \"location\": \"francecentral\",\r\n \"tags\": {},\r\n \"properties\": + {\r\n \"ApplicationId\": \"logicappudom000003\",\r\n \"AppId\": \"b6776221-0aba-40ef-8aac-cff1a39ccd4f\",\r\n + \ \"Application_Type\": \"web\",\r\n \"Flow_Type\": null,\r\n \"Request_Source\": + null,\r\n \"InstrumentationKey\": \"6e2e22a1-2b1a-4316-be26-67c8f8138a4e\",\r\n + \ \"ConnectionString\": \"InstrumentationKey=6e2e22a1-2b1a-4316-be26-67c8f8138a4e;IngestionEndpoint=https://francecentral-1.in.applicationinsights.azure.com/;LiveEndpoint=https://francecentral.livediagnostics.monitor.azure.com/;ApplicationId=b6776221-0aba-40ef-8aac-cff1a39ccd4f\",\r\n + \ \"Name\": \"logicappudom000003\",\r\n \"CreationDate\": \"2026-02-18T12:03:49.8710078+00:00\",\r\n + \ \"TenantId\": \"61205620-7671-450f-a0dd-b1bea84c60ec\",\r\n \"provisioningState\": + \"Succeeded\",\r\n \"SamplingPercentage\": null,\r\n \"RetentionInDays\": + 90,\r\n \"WorkspaceResourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ai_logicappudom000003_b6776221-0aba-40ef-8aac-cff1a39ccd4f_managed/providers/Microsoft.OperationalInsights/workspaces/managed-logicappudom000003-ws\",\r\n + \ \"IngestionMode\": \"LogAnalytics\",\r\n \"publicNetworkAccessForIngestion\": + \"Enabled\",\r\n \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"Ver\": + \"v2\"\r\n }\r\n}" + headers: + access-control-expose-headers: + - Request-Context + cache-control: + - no-cache + content-length: + - '1560' + content-type: + - application/json; charset=utf-8 + date: + - Wed, 18 Feb 2026 12:03:58 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:0dd6a9c3-b728-41ca-aa78-7e1962e22331 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=ed41882f-f46e-4692-a8f3-d447bc8397e5/francecentral/28cefeff-4397-4eef-91c8-c41207049a09 + x-ms-ratelimit-remaining-subscription-global-writes: + - '12000' + x-ms-ratelimit-remaining-subscription-writes: + - '800' + x-msedge-ref: + - 'Ref A: D8996D86A21E4DA98C7BEB0E9EE36EF0 Ref B: PNQ231110907052 Ref C: 2026-02-18T12:03:48Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logicapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n -p -s --domain-name-scope + User-Agent: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/logicappudom000003?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/logicappudom000003","name":"logicappudom000003","type":"Microsoft.Web/sites","kind":"functionapp,workflowapp","location":"France + Central","properties":{"name":"logicappudom000003","state":"Running","hostNames":["logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net"],"webSpace":"clitest.rg000001-FranceCentralwebspace","selfLink":"https://waws-prod-par-015.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-FranceCentralwebspace/sites/logicappudom000003","repositorySiteName":"logicappudom000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"siteScopedCertificatesEnabled":false,"afdEnabled":false,"enabledHostNames":["logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net","logicappudom000003-e0a4a2a9f4g2dnan.scm.francecentral-01.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":"logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"virtualIPv6":null,"thumbprint":null,"certificateResourceId":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"logicappudom000003-e0a4a2a9f4g2dnan.scm.francecentral-01.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"virtualIPv6":null,"thumbprint":null,"certificateResourceId":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/logic-e2e-plan000004","reserved":false,"isXenon":false,"hyperV":false,"sandboxType":null,"lastModifiedTimeUtc":"2026-02-18T12:03:48.4066667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","dnsConfiguration":{},"containerAllocationSubnet":null,"useContainerLocalhostBindings":null,"outboundVnetRouting":{"allTraffic":false,"applicationTraffic":false,"contentShareTraffic":false,"imagePullTraffic":false,"backupRestoreTraffic":false,"managedIdentityTraffic":false},"legacyServiceEndpointTrafficEvaluation":null,"siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","windowsFxVersion":null,"sandboxType":null,"windowsConfiguredStacks":null,"requestTracingEnabled":null,"remoteDebuggingEnabled":null,"remoteDebuggingVersion":null,"httpLoggingEnabled":null,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":null,"detailedErrorLoggingEnabled":null,"publishingUsername":null,"publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":null,"managedPipelineMode":null,"virtualApplications":null,"winAuthAdminState":null,"winAuthTenantState":null,"customAppPoolIdentityAdminState":null,"customAppPoolIdentityTenantState":null,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":null,"routingRules":null,"experiments":null,"limits":null,"autoHealEnabled":null,"autoHealRules":null,"tracingOptions":null,"vnetName":null,"vnetRouteAllEnabled":null,"vnetPrivatePortsCount":null,"publicNetworkAccess":null,"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":null,"managedServiceIdentityId":null,"xManagedServiceIdentityId":null,"keyVaultReferenceIdentity":null,"ipSecurityRestrictions":null,"ipSecurityRestrictionsDefaultAction":null,"scmIpSecurityRestrictions":null,"scmIpSecurityRestrictionsDefaultAction":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":true,"minTlsVersion":null,"minTlsCipherSuite":null,"scmMinTlsCipherSuite":null,"supportedTlsCipherSuites":null,"scmSupportedTlsCipherSuites":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"elasticWebAppScaleLimit":null,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":1,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null,"storageType":null,"sitePrivateLinkHostEnabled":null,"clusteringEnabled":false,"webJobsEnabled":false},"functionAppConfig":null,"daprConfig":null,"deploymentId":"logicappudom000003","slotName":null,"trafficManagerHostNames":null,"sku":"WorkflowStandard","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":false,"clientAffinityProxyEnabled":false,"useQueryStringAffinity":false,"blockPathTraversal":false,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"clientCertExclusionEndPoints":null,"hostNamesDisabled":false,"ipMode":"IPv4","domainVerificationIdentifiers":null,"customDomainVerificationId":"7378FD74A7B0B48A00AB468E015BFFDC7FC8EBAE1B36A2BB8853179D08FE6DAC","kind":"functionapp,workflowapp","managedEnvironmentId":null,"workloadProfileName":null,"resourceConfig":null,"inboundIpAddress":"20.43.43.33","possibleInboundIpAddresses":"20.43.43.33","inboundIpv6Address":"2603:1020:805:2::614","possibleInboundIpv6Addresses":"2603:1020:805:2::614","ftpUsername":"logicappudom000003\\$logicappudom000003","ftpsHostName":"ftps://waws-prod-par-015.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"51.11.238.47,51.11.238.176,51.11.238.204,51.11.238.255,51.11.239.9,51.11.239.36,20.43.43.33","possibleOutboundIpAddresses":"51.11.234.14,51.11.235.103,51.11.236.195,51.11.237.97,51.11.237.231,51.11.238.40,172.189.21.126,51.11.238.47,51.11.238.176,51.11.238.204,51.11.238.255,51.11.239.9,51.11.239.36,51.11.239.40,51.11.200.72,51.11.200.124,51.11.236.220,51.11.236.221,51.11.237.48,51.11.237.217,51.11.238.18,51.11.238.19,51.11.238.38,51.11.238.39,51.11.238.56,51.11.238.57,51.11.238.60,51.11.238.61,20.74.24.206,20.74.24.218,20.74.25.13,20.43.43.33","outboundIpv6Addresses":"2603:1020:802:6::298,2603:1020:802:5::31e,2603:1020:800:9::23d,2603:1020:800:b::232,2603:1020:800:9::23e,2603:1020:800:9::23f,2603:1020:805:2::614,2603:10e1:100:2::142b:2b21","possibleOutboundIpv6Addresses":"2603:1020:800:b::231,2603:1020:800:8::2f1,2603:1020:802:7::2c6,2603:1020:802:5::31d,2603:1020:802:6::297,2603:1020:800:a::2f0,2603:1020:802:6::298,2603:1020:802:5::31e,2603:1020:800:9::23d,2603:1020:800:b::232,2603:1020:800:9::23e,2603:1020:800:9::23f,2603:1020:802:6::299,2603:1020:800:8::2f2,2603:1020:800:8::2f3,2603:1020:800:b::233,2603:1020:800:a::2f1,2603:1020:800:b::234,2603:1020:802:7::2c7,2603:1020:802:3::4ad,2603:1020:802:5::31f,2603:1020:800:b::235,2603:1020:802:6::29a,2603:1020:800:8::2f4,2603:1020:800:b::236,2603:1020:802:5::320,2603:1020:800:a::2f2,2603:1020:800:a::2f3,2603:1020:802:6::29b,2603:1020:800:9::240,2603:1020:805:2::614,2603:10e1:100:2::142b:2b21","containerSize":1536,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-par-015","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"endToEndEncryptionEnabled":false,"functionsRuntimeAdminIsolationEnabled":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"publicNetworkAccess":"Enabled","buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"WorkflowRuntime,FunctionAppLogs,AppServiceAuthenticationLogs","inFlightFeatures":["SiteContainers","RouteGeoCapacityClientTrafficToV2","RouteOperationClientTrafficToV2","RouteGeoPlanClientTrafficToV2","RouteGeoSourceControlKeyClientTrafficToV2","RouteGeoUserClientTrafficToV2"],"storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned","autoGeneratedDomainNameLabelScope":"SubscriptionReuse","privateLinkIdentifiers":null,"sshEnabled":null}}' + headers: + cache-control: + - no-cache + content-length: + - '8843' + content-type: + - application/json + date: + - Wed, 18 Feb 2026 12:04:00 GMT + etag: + - '"1DCA0CEA3ADF76B"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: A3F34B411D4F4A4E87A95B7C3A9AA6B6 Ref B: PNQ231110909034 Ref C: 2026-02-18T12:03:59Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logicapp create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n -p -s --domain-name-scope + User-Agent: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/logicappudom000003/config/appsettings/list?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/logicappudom000003/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"France + Central","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","WEBSITE_NODE_DEFAULT_VERSION":"~16","FUNCTIONS_EXTENSION_VERSION":"~4","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","AzureWebJobsDashboard":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","AzureFunctionsJobHost__extensionBundle__id":"Microsoft.Azure.Functions.ExtensionBundle.Workflows","AzureFunctionsJobHost__extensionBundle__version":"[1.*, + 2.0.0)","APP_KIND":"workflowApp","WEBSITE_CONTENTAZUREFILECONNECTIONSTRING":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","WEBSITE_CONTENTSHARE":"logicappudom000003"}}' + headers: + cache-control: + - no-cache + content-length: + - '1083' + content-type: + - application/json + date: + - Wed, 18 Feb 2026 12:04:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=ed41882f-f46e-4692-a8f3-d447bc8397e5/francecentral/809e9f43-d6cf-4481-b1f9-3708a076c56f + x-ms-ratelimit-remaining-subscription-resource-requests: + - '799' + x-msedge-ref: + - 'Ref A: 1391DC010C774FEF820745A44A9176A3 Ref B: PNQ231110906042 Ref C: 2026-02-18T12:04:00Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logicapp create + Connection: + - keep-alive + ParameterSetName: + - -g -n -p -s --domain-name-scope + User-Agent: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/logicappudom000003?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/logicappudom000003","name":"logicappudom000003","type":"Microsoft.Web/sites","kind":"functionapp,workflowapp","location":"France + Central","properties":{"name":"logicappudom000003","state":"Running","hostNames":["logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net"],"webSpace":"clitest.rg000001-FranceCentralwebspace","selfLink":"https://waws-prod-par-015.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-FranceCentralwebspace/sites/logicappudom000003","repositorySiteName":"logicappudom000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"siteScopedCertificatesEnabled":false,"afdEnabled":false,"enabledHostNames":["logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net","logicappudom000003-e0a4a2a9f4g2dnan.scm.francecentral-01.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":"logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"virtualIPv6":null,"thumbprint":null,"certificateResourceId":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"logicappudom000003-e0a4a2a9f4g2dnan.scm.francecentral-01.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"virtualIPv6":null,"thumbprint":null,"certificateResourceId":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/logic-e2e-plan000004","reserved":false,"isXenon":false,"hyperV":false,"sandboxType":null,"lastModifiedTimeUtc":"2026-02-18T12:03:48.4066667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","dnsConfiguration":{},"containerAllocationSubnet":null,"useContainerLocalhostBindings":null,"outboundVnetRouting":{"allTraffic":false,"applicationTraffic":false,"contentShareTraffic":false,"imagePullTraffic":false,"backupRestoreTraffic":false,"managedIdentityTraffic":false},"legacyServiceEndpointTrafficEvaluation":null,"siteConfig":{"numberOfWorkers":1,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":"","windowsFxVersion":null,"sandboxType":null,"windowsConfiguredStacks":null,"requestTracingEnabled":null,"remoteDebuggingEnabled":null,"remoteDebuggingVersion":null,"httpLoggingEnabled":null,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":null,"detailedErrorLoggingEnabled":null,"publishingUsername":null,"publishingPassword":null,"appSettings":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":false,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":null,"managedPipelineMode":null,"virtualApplications":null,"winAuthAdminState":null,"winAuthTenantState":null,"customAppPoolIdentityAdminState":null,"customAppPoolIdentityTenantState":null,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":null,"routingRules":null,"experiments":null,"limits":null,"autoHealEnabled":null,"autoHealRules":null,"tracingOptions":null,"vnetName":null,"vnetRouteAllEnabled":null,"vnetPrivatePortsCount":null,"publicNetworkAccess":null,"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":null,"managedServiceIdentityId":null,"xManagedServiceIdentityId":null,"keyVaultReferenceIdentity":null,"ipSecurityRestrictions":null,"ipSecurityRestrictionsDefaultAction":null,"scmIpSecurityRestrictions":null,"scmIpSecurityRestrictionsDefaultAction":null,"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":true,"minTlsVersion":null,"minTlsCipherSuite":null,"scmMinTlsCipherSuite":null,"supportedTlsCipherSuites":null,"scmSupportedTlsCipherSuites":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":0,"elasticWebAppScaleLimit":null,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":1,"azureStorageAccounts":null,"http20ProxyFlag":null,"sitePort":null,"antivirusScanEnabled":null,"storageType":null,"sitePrivateLinkHostEnabled":null,"clusteringEnabled":false,"webJobsEnabled":false},"functionAppConfig":null,"daprConfig":null,"deploymentId":"logicappudom000003","slotName":null,"trafficManagerHostNames":null,"sku":"WorkflowStandard","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":false,"clientAffinityProxyEnabled":false,"useQueryStringAffinity":false,"blockPathTraversal":false,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"clientCertExclusionEndPoints":null,"hostNamesDisabled":false,"ipMode":"IPv4","domainVerificationIdentifiers":null,"customDomainVerificationId":"7378FD74A7B0B48A00AB468E015BFFDC7FC8EBAE1B36A2BB8853179D08FE6DAC","kind":"functionapp,workflowapp","managedEnvironmentId":null,"workloadProfileName":null,"resourceConfig":null,"inboundIpAddress":"20.43.43.33","possibleInboundIpAddresses":"20.43.43.33","inboundIpv6Address":"2603:1020:805:2::614","possibleInboundIpv6Addresses":"2603:1020:805:2::614","ftpUsername":"logicappudom000003\\$logicappudom000003","ftpsHostName":"ftps://waws-prod-par-015.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"51.11.238.47,51.11.238.176,51.11.238.204,51.11.238.255,51.11.239.9,51.11.239.36,20.43.43.33","possibleOutboundIpAddresses":"51.11.234.14,51.11.235.103,51.11.236.195,51.11.237.97,51.11.237.231,51.11.238.40,172.189.21.126,51.11.238.47,51.11.238.176,51.11.238.204,51.11.238.255,51.11.239.9,51.11.239.36,51.11.239.40,51.11.200.72,51.11.200.124,51.11.236.220,51.11.236.221,51.11.237.48,51.11.237.217,51.11.238.18,51.11.238.19,51.11.238.38,51.11.238.39,51.11.238.56,51.11.238.57,51.11.238.60,51.11.238.61,20.74.24.206,20.74.24.218,20.74.25.13,20.43.43.33","outboundIpv6Addresses":"2603:1020:802:6::298,2603:1020:802:5::31e,2603:1020:800:9::23d,2603:1020:800:b::232,2603:1020:800:9::23e,2603:1020:800:9::23f,2603:1020:805:2::614,2603:10e1:100:2::142b:2b21","possibleOutboundIpv6Addresses":"2603:1020:800:b::231,2603:1020:800:8::2f1,2603:1020:802:7::2c6,2603:1020:802:5::31d,2603:1020:802:6::297,2603:1020:800:a::2f0,2603:1020:802:6::298,2603:1020:802:5::31e,2603:1020:800:9::23d,2603:1020:800:b::232,2603:1020:800:9::23e,2603:1020:800:9::23f,2603:1020:802:6::299,2603:1020:800:8::2f2,2603:1020:800:8::2f3,2603:1020:800:b::233,2603:1020:800:a::2f1,2603:1020:800:b::234,2603:1020:802:7::2c7,2603:1020:802:3::4ad,2603:1020:802:5::31f,2603:1020:800:b::235,2603:1020:802:6::29a,2603:1020:800:8::2f4,2603:1020:800:b::236,2603:1020:802:5::320,2603:1020:800:a::2f2,2603:1020:800:a::2f3,2603:1020:802:6::29b,2603:1020:800:9::240,2603:1020:805:2::614,2603:10e1:100:2::142b:2b21","containerSize":1536,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-par-015","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"logicappudom000003-e0a4a2a9f4g2dnan.francecentral-01.azurewebsites.net","slotSwapStatus":null,"httpsOnly":false,"endToEndEncryptionEnabled":false,"functionsRuntimeAdminIsolationEnabled":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":[],"publicNetworkAccess":"Enabled","buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"WorkflowRuntime,FunctionAppLogs,AppServiceAuthenticationLogs","inFlightFeatures":["SiteContainers","RouteGeoCapacityClientTrafficToV2","RouteOperationClientTrafficToV2","RouteGeoPlanClientTrafficToV2","RouteGeoSourceControlKeyClientTrafficToV2","RouteGeoUserClientTrafficToV2"],"storageAccountRequired":false,"virtualNetworkSubnetId":null,"keyVaultReferenceIdentity":"SystemAssigned","autoGeneratedDomainNameLabelScope":"SubscriptionReuse","privateLinkIdentifiers":null,"sshEnabled":null}}' + headers: + cache-control: + - no-cache + content-length: + - '8843' + content-type: + - application/json + date: + - Wed, 18 Feb 2026 12:04:01 GMT + etag: + - '"1DCA0CEA3ADF76B"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 70281034B38F4EB3AE6AFE2FB3A7B6D8 Ref B: PNQ231110908052 Ref C: 2026-02-18T12:04:01Z' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"FUNCTIONS_WORKER_RUNTIME": "dotnet", "WEBSITE_NODE_DEFAULT_VERSION": + "~16", "FUNCTIONS_EXTENSION_VERSION": "~4", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==", + "AzureWebJobsDashboard": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==", + "AzureFunctionsJobHost__extensionBundle__id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows", + "AzureFunctionsJobHost__extensionBundle__version": "[1.*, 2.0.0)", "APP_KIND": + "workflowApp", "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==", + "WEBSITE_CONTENTSHARE": "logicappudom000003", "APPINSIGHTS_INSTRUMENTATIONKEY": + "6e2e22a1-2b1a-4316-be26-67c8f8138a4e"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - logicapp create + Connection: + - keep-alive + Content-Length: + - '933' + Content-Type: + - application/json + ParameterSetName: + - -g -n -p -s --domain-name-scope + User-Agent: + - AZURECLI/2.83.0 azsdk-python-core/1.38.0 Python/3.13.12 (Windows-11-10.0.26200-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/logicappudom000003/config/appsettings?api-version=2024-11-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/logicappudom000003/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"France + Central","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","WEBSITE_NODE_DEFAULT_VERSION":"~16","FUNCTIONS_EXTENSION_VERSION":"~4","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","AzureWebJobsDashboard":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","AzureFunctionsJobHost__extensionBundle__id":"Microsoft.Azure.Functions.ExtensionBundle.Workflows","AzureFunctionsJobHost__extensionBundle__version":"[1.*, + 2.0.0)","APP_KIND":"workflowApp","WEBSITE_CONTENTAZUREFILECONNECTIONSTRING":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","WEBSITE_CONTENTSHARE":"logicappudom000003","APPINSIGHTS_INSTRUMENTATIONKEY":"6e2e22a1-2b1a-4316-be26-67c8f8138a4e"}}' + headers: + cache-control: + - no-cache + content-length: + - '1155' + content-type: + - application/json + date: + - Wed, 18 Feb 2026 12:04:03 GMT + etag: + - '"1DCA0CEA3ADF76B"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=ed41882f-f46e-4692-a8f3-d447bc8397e5/francecentral/c1206340-b9ad-4bbe-8430-14eed24f2623 + x-ms-ratelimit-remaining-subscription-global-writes: + - '11999' + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-msedge-ref: + - 'Ref A: 49F0EA4C1BF1451DA7B99B9ECC233F3E Ref B: PNQ231110906034 Ref C: 2026-02-18T12:04:02Z' + 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_logicapp_commands.py b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_logicapp_commands.py index 828394273e0..ca81149ce8d 100644 --- a/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_logicapp_commands.py +++ b/src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_logicapp_commands.py @@ -2,11 +2,11 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from email import message import json import unittest from unittest import mock import os +import re import time import tempfile import requests @@ -152,6 +152,26 @@ def test_logicapp_https_only(self, resource_group, storage_account): self.cmd(f'logicapp create -g {resource_group} -n {logicapp_name} -p {plan} -s {storage_account} --https-only', checks=[JMESPathCheck('httpsOnly', True)]) self.cmd('logicapp create -g {} -n {} -p {} -s {}'.format(resource_group, logicapp_name, plan, storage_account), checks=[JMESPathCheck('httpsOnly', False)]) + @ResourceGroupPreparer(location=DEFAULT_LOCATION) + @StorageAccountPreparer() + def test_logicapp_unique_domain_name(self, resource_group, storage_account): + logicapp_name = self.create_random_name(prefix='logicappudom', length=24) + plan = self.create_random_name(prefix='logic-e2e-plan', length=24) + self.cmd(f'appservice plan create -g {resource_group} -n {plan} --sku WS1').get_output_in_json()['id'] + + result = self.cmd( + f'logicapp create -g {resource_group} -n {logicapp_name} -p {plan} -s {storage_account} --domain-name-scope SubscriptionReuse' + ).get_output_in_json() + + default_hostname = result.get('defaultHostName') + pattern = r'^([a-zA-Z0-9\-]+)-([a-z0-9]{16})\.([a-z]+-\d{2})\.azurewebsites\.net$' + match = re.match(pattern, default_hostname) + self.assertIsNotNone(match, "defaultHostName '{}' does not match expected pattern".format(default_hostname)) + app_name, hash_part, region = match.groups() + self.assertTrue(len(hash_part) == 16 and hash_part.islower(), "Hash is not 16 chars or not lowercase.") + self.assertIn('-', region, "Region part does not have '-' separator.") + self.assertEqual(app_name, logicapp_name, "App name and defaultHostName app name do not match.") + @ResourceGroupPreparer(location=DEFAULT_LOCATION) def test_logicapp_config_appsettings_e2e(self, resource_group): logicapp_name = self.create_random_name(prefix='logic-e2e', length=24)