diff --git a/go.mod b/go.mod index bf7f4ba..32111f6 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.20 require ( github.com/hashicorp/go-hclog v1.5.0 github.com/hashicorp/vault/api v1.9.2 - github.com/hashicorp/vault/sdk v0.9.1 + github.com/hashicorp/vault/sdk v0.9.2 gopkg.in/dnaeon/go-vcr.v3 v3.1.2 ) diff --git a/go.sum b/go.sum index 748fb99..b349512 100644 --- a/go.sum +++ b/go.sum @@ -99,8 +99,8 @@ github.com/hashicorp/hcl v1.0.1-vault-5 h1:kI3hhbbyzr4dldA8UdTb7ZlVVlI2DACdCfz31 github.com/hashicorp/hcl v1.0.1-vault-5/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM= github.com/hashicorp/vault/api v1.9.2 h1:YjkZLJ7K3inKgMZ0wzCU9OHqc+UqMQyXsPXnf3Cl2as= github.com/hashicorp/vault/api v1.9.2/go.mod h1:jo5Y/ET+hNyz+JnKDt8XLAdKs+AM0G5W0Vp1IrFI8N8= -github.com/hashicorp/vault/sdk v0.9.1 h1:fMkjCfqC5ohA2b7p1kv5poe488pFhBl9oaz2FkDkDAQ= -github.com/hashicorp/vault/sdk v0.9.1/go.mod h1:YmQ899tcCpwEgH6fOfU7AY0OURy8EqYj8sEdRac25TM= +github.com/hashicorp/vault/sdk v0.9.2 h1:H1kitfl1rG2SHbeGEyvhEqmIjVKE3E6c2q3ViKOs6HA= +github.com/hashicorp/vault/sdk v0.9.2/go.mod h1:gG0lA7P++KefplzvcD3vrfCmgxVAM7Z/SqX5NeOL/98= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 h1:xixZ2bWeofWV68J+x6AzmKuVM/JWCQwkWm6GW/MUR6I= github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= diff --git a/internal/plugin/path_config.go b/internal/plugin/path_config.go index f1d4583..dba59ef 100644 --- a/internal/plugin/path_config.go +++ b/internal/plugin/path_config.go @@ -93,6 +93,7 @@ func (b *backend) pathConfig() []*framework.Path { Callback: b.pathConfigDelete, }, }, + ExistenceCheck: b.pathConfigExistence(), }, } } @@ -187,3 +188,11 @@ func (b *backend) pathConfigDelete(ctx context.Context, req *logical.Request, return &logical.Response{}, nil } + +func (b *backend) pathConfigExistence() framework.ExistenceFunc { + return func(ctx context.Context, req *logical.Request, data *framework.FieldData) (bool, error) { + _, err := b.getConfig(ctx, req.Storage) + + return err != nil, err + } +} diff --git a/internal/plugin/path_token.go b/internal/plugin/path_token.go index e07274c..671af0e 100644 --- a/internal/plugin/path_token.go +++ b/internal/plugin/path_token.go @@ -62,9 +62,6 @@ func (b *backend) pathToken() []*framework.Path { logical.ReadOperation: &framework.PathOperation{ Callback: b.pathTokenWrite, }, - logical.CreateOperation: &framework.PathOperation{ - Callback: b.pathTokenWrite, - }, logical.UpdateOperation: &framework.PathOperation{ Callback: b.pathTokenWrite, },