From b417f15b5f1ae2a2adf474f680b59ce76e9a9bae Mon Sep 17 00:00:00 2001 From: Komal Date: Tue, 1 Oct 2024 19:26:27 -0700 Subject: [PATCH] Fix the yaml panic --- CHANGELOG_PENDING.md | 2 ++ provider/pkg/provider/environment.go | 17 +++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 5e78e668..ca42e8b7 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -2,4 +2,6 @@ ### Bug Fixes +- Fix panic in environment definition [#418](https://github.com/pulumi/pulumi-pulumiservice/issues/418) + ### Miscellaneous diff --git a/provider/pkg/provider/environment.go b/provider/pkg/provider/environment.go index d2a7cbb5..6526fb16 100644 --- a/provider/pkg/provider/environment.go +++ b/provider/pkg/provider/environment.go @@ -238,15 +238,20 @@ func (st *PulumiServiceEnvironmentResource) Check(req *pulumirpc.CheckRequest) ( } } - yamlBytes := []byte{} - if !inputMap["yaml"].IsComputed() { - yamlBytes, err = getBytesFromAsset(inputMap["yaml"].AssetValue()) - if err != nil { - return nil, err + var stringYaml string + inputYaml := inputMap["yaml"] + if !inputYaml.IsComputed() { + if inputYaml.IsAsset() { + yamlBytes, err := getBytesFromAsset(inputYaml.AssetValue()) + if err != nil { + return nil, err + } + stringYaml = string(yamlBytes) + } else { + stringYaml = inputYaml.StringValue() } } - stringYaml := string(yamlBytes) trimmedYaml := strings.TrimSpace(stringYaml) inputMap["yaml"] = resource.MakeSecret(resource.NewStringProperty(trimmedYaml))