Skip to content

Commit 0cee073

Browse files
committed
Preserving the drift for secret key ECR type
1 parent c827731 commit 0cee073

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

spectrocloud/resource_registry_oci_ecr.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,16 @@ func resourceRegistryEcrRead(ctx context.Context, d *schema.ResourceData, m inte
308308
case models.V1AwsCloudAccountCredentialTypeSecret:
309309
acc["access_key"] = registry.Spec.Credentials.AccessKey
310310
acc["credential_type"] = models.V1AwsCloudAccountCredentialTypeSecret
311+
// Preserve secret_key from state to avoid drift when API does not return it
312+
if currentCredsRaw := d.Get("credentials"); currentCredsRaw != nil {
313+
if currentCredsList, ok := currentCredsRaw.([]interface{}); ok && len(currentCredsList) > 0 {
314+
if currentCredMap, ok := currentCredsList[0].(map[string]interface{}); ok {
315+
if secretKey, exists := currentCredMap["secret_key"]; exists && secretKey != nil {
316+
acc["secret_key"] = secretKey
317+
}
318+
}
319+
}
320+
}
311321
default:
312322
errMsg := fmt.Sprintf("Registry type %s not implemented.", *registry.Spec.Credentials.CredentialType)
313323
err = errors.New(errMsg)

0 commit comments

Comments
 (0)