diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 5e78e66..ca42e8b 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 d2a7cbb..6526fb1 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))