Closed joey-squid closed 3 months ago
I'm no expert but I think this might be as simple as the following patch:
diff --git a/vault/resource_kv_secret.go b/vault/resource_kv_secret.go
index 0d666d6f..1e10c6b2 100644
--- a/vault/resource_kv_secret.go
+++ b/vault/resource_kv_secret.go
@@ -108,6 +108,15 @@ func kvSecretRead(_ context.Context, d *schema.ResourceData, meta interface{}) d
return diag.FromErr(err)
}
+ jsonData, err := json.Marshal(data)
+ if err != nil {
+ return diag.Errorf("error marshaling JSON for %q: %s", path, err)
+ }
+
+ if err := d.Set(consts.FieldDataJSON, string(jsonData)); err != nil {
+ return diag.FromErr(err)
+ }
+
return nil
}
Terraform Core Version
v1.6.2, v1.7.3
Terraform Vault Provider Version
v3.25.0
Vault Server Version
v1.15.5 (on HCP)
Affected Resource(s)
vault_kv_secret
Expected Behavior
Expected the change to be detected as drift and a plan to be in place to correct it back to
joey1
.Actual Behavior
I have also provided the full output of
terraform state pull
as a snippet, below. Note the discrepancy betweendata
anddata_json
.Relevant Error/Panic Output Snippet
Terraform Configuration Files
Steps to Reproduce
Created a resource:
Ran Terraform, then changed the secret to
joey2
in the Vault UI. Ranterraform refresh
, thenterraform plan
.Debug Output
No response
Panic Output
No response
Important Factoids
No response
References
No response
Would you like to implement a fix?
None