From 791c3a8782f123044ab65f40220ec2db3f7b420c Mon Sep 17 00:00:00 2001 From: Victor Vazquez Date: Thu, 24 Oct 2024 06:49:19 +0000 Subject: [PATCH] patch generate to quote params when missing --- cli/azd/pkg/apphost/generate.go | 8 +++++++- .../testdata/TestAspireProjectV1Generation-cache.snap | 3 +++ cli/azd/pkg/apphost/testdata/aspire-projectv1.json | 5 ++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/cli/azd/pkg/apphost/generate.go b/cli/azd/pkg/apphost/generate.go index 8a753bfcb54..e9a7b3c5710 100644 --- a/cli/azd/pkg/apphost/generate.go +++ b/cli/azd/pkg/apphost/generate.go @@ -1816,7 +1816,13 @@ func (b *infraGenerator) buildDeployBlock( } } } - + // make sure resolved value is quoted. + // We can't ask EvalString() to quote strings b/c it depends on evalBindingRef() which can return complex + // expressions where each part might be quoted or not. + // Instead, before setting the deploy parameter, we just verify that it's quoted. + if !strings.HasPrefix(resolvedValue, "'") { + resolvedValue = "'" + resolvedValue + "'" + } manifestCtx.DeployParams[k] = resolvedValue } diff --git a/cli/azd/pkg/apphost/testdata/TestAspireProjectV1Generation-cache.snap b/cli/azd/pkg/apphost/testdata/TestAspireProjectV1Generation-cache.snap index b4b9d397295..52a8f637bcd 100644 --- a/cli/azd/pkg/apphost/testdata/TestAspireProjectV1Generation-cache.snap +++ b/cli/azd/pkg/apphost/testdata/TestAspireProjectV1Generation-cache.snap @@ -1,7 +1,10 @@ using './cache.module.bicep' param cache_volumes_0_storage = '{{ .Env.SERVICE_CACHE_VOLUME_AZURECONTAINERAPPSAPPHOST8F235654EDCACHEDATA_NAME }}' +param complex = 'tcp:cache/foo' +param host = 'cache' param outputs_azure_container_apps_environment_id = '{{ .Env.AZURE_CONTAINER_APPS_ENVIRONMENT_ID }}' param outputs_azure_container_registry_managed_identity_id = '{{ .Env.AZURE_CONTAINER_REGISTRY_MANAGED_IDENTITY_ID }}' param outputs_managed_identity_client_id = '{{ .Env.MANAGED_IDENTITY_CLIENT_ID }}' +param protocol = 'tcp' diff --git a/cli/azd/pkg/apphost/testdata/aspire-projectv1.json b/cli/azd/pkg/apphost/testdata/aspire-projectv1.json index bdf8c512527..4a04b6eda9d 100644 --- a/cli/azd/pkg/apphost/testdata/aspire-projectv1.json +++ b/cli/azd/pkg/apphost/testdata/aspire-projectv1.json @@ -22,7 +22,10 @@ "cache_volumes_0_storage": "{cache.volumes.0.storage}", "outputs_azure_container_registry_managed_identity_id": "{.outputs.AZURE_CONTAINER_REGISTRY_MANAGED_IDENTITY_ID}", "outputs_managed_identity_client_id": "{.outputs.MANAGED_IDENTITY_CLIENT_ID}", - "outputs_azure_container_apps_environment_id": "{.outputs.AZURE_CONTAINER_APPS_ENVIRONMENT_ID}" + "outputs_azure_container_apps_environment_id": "{.outputs.AZURE_CONTAINER_APPS_ENVIRONMENT_ID}", + "host": "{cache.bindings.tcp.host}", + "protocol": "{cache.bindings.tcp.protocol}", + "complex": "{cache.bindings.tcp.protocol}:{cache.bindings.tcp.host}/foo" } }, "args": [