in pkg/berglas/delete.go [90:118]
func (c *Client) secretManagerDelete(ctx context.Context, i *SecretManagerDeleteRequest) error {
project := i.Project
if project == "" {
return fmt.Errorf("missing project")
}
name := i.Name
if name == "" {
return fmt.Errorf("missing secret name")
}
logger := logging.FromContext(ctx).With(
"project", project,
"name", name,
)
logger.DebugContext(ctx, "delete.start")
defer logger.DebugContext(ctx, "delete.finish")
if err := c.secretManagerClient.DeleteSecret(ctx, &secretspb.DeleteSecretRequest{
Name: fmt.Sprintf("projects/%s/secrets/%s", project, name),
}); err != nil {
terr, ok := grpcstatus.FromError(err)
if !ok || terr.Code() != grpccodes.NotFound {
return fmt.Errorf("failed to delete secret: %w", err)
}
}
return nil
}