From f3bbd20ebc42cd74c949b31bce238e95fa33d3b9 Mon Sep 17 00:00:00 2001 From: Sebastian Webber Date: Tue, 3 Dec 2024 17:59:22 +0900 Subject: [PATCH] fix vpc creation error (#246) ignoring the error when vpc endpoint doesn't exist Signed-off-by: Sebastian Webber --- internal/client/service.go | 3 ++- internal/provider/service_resource.go | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/internal/client/service.go b/internal/client/service.go index 5be6ffa..35aefc5 100644 --- a/internal/client/service.go +++ b/internal/client/service.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "math/big" + "strings" "github.com/hashicorp/terraform-plugin-log/tflog" ) @@ -169,7 +170,7 @@ func (c *Client) CreateService(ctx context.Context, request CreateServiceRequest if err := c.do(ctx, req, &resp); err != nil { return nil, err } - if len(resp.Errors) > 0 { + if len(resp.Errors) > 0 && !strings.Contains(resp.Errors[0].Message, "no Endpoint for that service id exists") { return nil, resp.Errors[0] } if resp.Data == nil { diff --git a/internal/provider/service_resource.go b/internal/provider/service_resource.go index 8ea0363..6f645b0 100644 --- a/internal/provider/service_resource.go +++ b/internal/provider/service_resource.go @@ -304,9 +304,6 @@ func (r *ServiceResource) Create(ctx context.Context, req resource.CreateRequest EnableConnectionPooler: plan.ConnectionPoolerEnabled.ValueBool(), EnvironmentTag: plan.EnvironmentTag.ValueString(), } - if !plan.VpcID.IsNull() { - request.VpcID = plan.VpcID.ValueInt64() - } readReplicaSource := plan.ReadReplicaSource.ValueString() if readReplicaSource != "" { @@ -336,6 +333,10 @@ func (r *ServiceResource) Create(ctx context.Context, req resource.CreateRequest } } + if !plan.VpcID.IsNull() { + request.VpcID = plan.VpcID.ValueInt64() + } + response, err := r.client.CreateService(ctx, request) if err != nil {