Răsfoiți Sursa

Check if Error returns already exists

Co-authored-by: William Young <will.young@engineerbetter.com>
Signed-off-by: Dom Meddick <dom.meddick@engineerbetter.com>
Dominic Meddick 4 ani în urmă
părinte
comite
84409c21bb
2 a modificat fișierele cu 6 adăugiri și 2 ștergeri
  1. 0 1
      go.mod
  2. 6 1
      pkg/provider/gcp/secretmanager/secretsmanager.go

+ 0 - 1
go.mod

@@ -218,7 +218,6 @@ require (
 	github.com/mattn/go-colorable v0.1.12 // indirect
 	github.com/mattn/go-isatty v0.0.14 // indirect
 	github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
-	github.com/maxbrunsfeld/counterfeiter/v6 v6.5.0 // indirect
 	github.com/mitchellh/copystructure v1.2.0 // indirect
 	github.com/mitchellh/go-homedir v1.1.0 // indirect
 	github.com/mitchellh/go-testing-interface v1.14.1 // indirect

+ 6 - 1
pkg/provider/gcp/secretmanager/secretsmanager.go

@@ -27,6 +27,7 @@ import (
 	"github.com/tidwall/gjson"
 	"golang.org/x/oauth2"
 	"golang.org/x/oauth2/google"
+	"google.golang.org/api/googleapi"
 	"google.golang.org/api/iterator"
 	"google.golang.org/api/option"
 	secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1"
@@ -238,7 +239,7 @@ func (sm *ProviderGCP) SetSecret(ctx context.Context, payload []byte, remoteRef
 
 	secret, err := sm.SecretManagerClient.CreateSecret(ctx, createSecretReq)
 
-	if err != nil {
+	if err != nil && err.(*googleapi.Error).Code != 409 { //nolint
 		return err
 	}
 
@@ -321,6 +322,10 @@ func (sm *ProviderGCP) findByName(ctx context.Context, ref esv1beta1.ExternalSec
 	return utils.ConvertKeys(ref.ConversionStrategy, secretMap)
 }
 
+// func (sm *ProviderGCP) OverwriteSecret(ctx context.Context, ref esv1beta1.ExternalSecretFind) (map[string][]byte, error) {
+
+// }
+
 func (sm *ProviderGCP) getData(ctx context.Context, key string) ([]byte, error) {
 	dataRef := esv1beta1.ExternalSecretDataRemoteRef{
 		Key: key,