Kaynağa Gözat

fix: check if secret is being deleted during fetch (#4562)

Signed-off-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>
Gergely Brautigam 1 yıl önce
ebeveyn
işleme
be85a51893

+ 8 - 1
pkg/provider/aws/secretsmanager/secretsmanager.go

@@ -631,10 +631,17 @@ func (sm *SecretsManager) constructSecretValue(ctx context.Context, ref esv1beta
 	}
 	}
 	secretOut, err := sm.client.GetSecretValue(getSecretValueInput)
 	secretOut, err := sm.client.GetSecretValue(getSecretValueInput)
 	metrics.ObserveAPICall(constants.ProviderAWSSM, constants.CallAWSSMGetSecretValue, err)
 	metrics.ObserveAPICall(constants.ProviderAWSSM, constants.CallAWSSMGetSecretValue, err)
-	var nf *awssm.ResourceNotFoundException
+	var (
+		nf *awssm.ResourceNotFoundException
+		ie *awssm.InvalidRequestException
+	)
 	if errors.As(err, &nf) {
 	if errors.As(err, &nf) {
 		return nil, esv1beta1.NoSecretErr
 		return nil, esv1beta1.NoSecretErr
 	}
 	}
 
 
+	if errors.As(err, &ie) && strings.Contains(ie.Error(), "was marked for deletion") {
+		return nil, esv1beta1.NoSecretErr
+	}
+
 	return secretOut, err
 	return secretOut, err
 }
 }