From f8b69875c3c86e23162e6812e5b516ef0301ae3b Mon Sep 17 00:00:00 2001 From: drewmullen Date: Wed, 13 Dec 2023 13:11:32 -0500 Subject: [PATCH] Fix `boundary_worker` auth token overwritten during creation & `ForceNew` on auth token change (#461) * cannot update a worker generated auth token * dont grab auth token from api reply --- internal/provider/worker.go | 2 +- internal/provider/worker_test.go | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/provider/worker.go b/internal/provider/worker.go index f8d17fac..ec5a636c 100644 --- a/internal/provider/worker.go +++ b/internal/provider/worker.go @@ -69,6 +69,7 @@ func resourceWorker() *schema.Resource { Description: "The worker authentication token required to register the worker for the worker-led authentication flow. Leaving this blank will result in a controller generated token.", Type: schema.TypeString, Optional: true, + ForceNew: true, }, controllerGeneratedActivationToken: { Description: "A single use token generated by the controller to be passed to the self-managed worker.", @@ -98,7 +99,6 @@ func setFromWorkerResponseMap(d *schema.ResourceData, raw map[string]interface{} d.Set(NameKey, raw["name"]) d.Set(DescriptionKey, raw["description"]) d.Set(address, raw["address"]) - d.Set(workerGeneratedAuthToken, raw["worker_generated_auth_token"]) d.Set(controllerGeneratedActivationToken, raw["controller_generated_activation_token"]) d.Set(releaseVersion, raw["release_version"]) d.Set(authorizedActions, raw["authorized_actions"]) diff --git a/internal/provider/worker_test.go b/internal/provider/worker_test.go index 30b948ab..11ecf247 100644 --- a/internal/provider/worker_test.go +++ b/internal/provider/worker_test.go @@ -80,8 +80,14 @@ func TestWorkerWorkerLed(t *testing.T) { testAccCheckworkerResourceExists(provider, "boundary_worker.worker_led"), resource.TestCheckResourceAttr("boundary_worker.worker_led", "description", workerDesc), resource.TestCheckResourceAttr("boundary_worker.worker_led", "name", workerName), + resource.TestCheckResourceAttr("boundary_worker.worker_led", "worker_generated_auth_token", workerToken), ), }, + { + // create + Config: testConfig(url, workerLedCreate), + PlanOnly: true, + }, importStep("boundary_worker.worker_led"), { // update @@ -90,6 +96,7 @@ func TestWorkerWorkerLed(t *testing.T) { testAccCheckworkerResourceExists(provider, "boundary_worker.worker_led"), resource.TestCheckResourceAttr("boundary_worker.worker_led", "description", workerDescUpdate), resource.TestCheckResourceAttr("boundary_worker.worker_led", "name", workerNameUpdate), + resource.TestCheckResourceAttr("boundary_worker.worker_led", "worker_generated_auth_token", workerToken), ), }, importStep("boundary_worker.worker_led"),