diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index f17b7160..8fecb7e9 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -6,6 +6,7 @@ - Fixed environment tests breaking due to name collision [#296](https://github.com/pulumi/pulumi-pulumiservice/issues/296) - Fixed import for Schedules [#270](https://github.com/pulumi/pulumi-pulumiservice/issues/270) +- Fixed Read failure on 404 from Pulumi Service [#312](https://github.com/pulumi/pulumi-pulumiservice/issues/312) ### Miscellaneous diff --git a/provider/pkg/provider/environment_version_tags.go b/provider/pkg/provider/environment_version_tags.go index 0f1369c5..ad531cd2 100644 --- a/provider/pkg/provider/environment_version_tags.go +++ b/provider/pkg/provider/environment_version_tags.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "path" + "strings" pbempty "google.golang.org/protobuf/types/known/emptypb" @@ -163,8 +164,8 @@ func (evt *PulumiServiceEnvironmentVersionTagResource) Read(req *pulumirpc.ReadR } tag, err := evt.client.GetEnvironmentRevisionTag(ctx, input.Organization, input.Environment, input.TagName) - if err != nil { - return nil, fmt.Errorf("failed to read StackTag (%q): %w", req.Id, err) + if err != nil && !strings.Contains(err.Error(), "404") { + return nil, fmt.Errorf("failed to read EnvironmentVersionTag (%q): %w", req.Id, err) } if tag == nil { // if the tag doesn't exist, then return empty response