From b10302c6de3f7773c317dcae92e5a8115cab6f7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Palet?= Date: Thu, 2 Nov 2023 12:40:48 +0100 Subject: [PATCH] Use random UUIDs for LoadBalance XRequestID headers (#119) --- .../internal/services/loadbalancer/loadbalancer/resource.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/stackit/internal/services/loadbalancer/loadbalancer/resource.go b/stackit/internal/services/loadbalancer/loadbalancer/resource.go index 16bcf799..2c37da73 100644 --- a/stackit/internal/services/loadbalancer/loadbalancer/resource.go +++ b/stackit/internal/services/loadbalancer/loadbalancer/resource.go @@ -5,6 +5,7 @@ import ( "fmt" "strings" + "github.com/google/uuid" "github.com/hashicorp/terraform-plugin-framework-validators/listvalidator" "github.com/hashicorp/terraform-plugin-framework-validators/setvalidator" "github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator" @@ -483,7 +484,7 @@ func (r *loadBalancerResource) Create(ctx context.Context, req resource.CreateRe // If load balancer functionality is not enabled, enable it if *statusResp.Status != wait.FunctionalityStatusReady { - _, err = r.client.EnableLoadBalancing(ctx, projectId).XRequestID("").Execute() + _, err = r.client.EnableLoadBalancing(ctx, projectId).XRequestID(uuid.NewString()).Execute() if err != nil { core.LogAndAddError(ctx, &resp.Diagnostics, "Error enabling load balancer functionality", fmt.Sprintf("Calling API: %v", err)) return @@ -504,7 +505,7 @@ func (r *loadBalancerResource) Create(ctx context.Context, req resource.CreateRe } // Create a new load balancer - createResp, err := r.client.CreateLoadBalancer(ctx, projectId).CreateLoadBalancerPayload(*payload).XRequestID("").Execute() + createResp, err := r.client.CreateLoadBalancer(ctx, projectId).CreateLoadBalancerPayload(*payload).XRequestID(uuid.NewString()).Execute() if err != nil { core.LogAndAddError(ctx, &resp.Diagnostics, "Error creating load balancer", fmt.Sprintf("Calling API: %v", err)) return