open-vault/builtin/logical/consul/client.go

30 lines
643 B
Go
Raw Normal View History

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
2015-03-21 16:19:37 +00:00
package consul
import (
"context"
2015-03-21 16:19:37 +00:00
"fmt"
"github.com/hashicorp/consul/api"
"github.com/hashicorp/vault/sdk/logical"
2015-03-21 16:19:37 +00:00
)
func (b *backend) client(ctx context.Context, s logical.Storage) (*api.Client, error, error) {
conf, userErr, intErr := b.readConfigAccess(ctx, s)
if intErr != nil {
return nil, nil, intErr
2015-03-21 16:19:37 +00:00
}
if userErr != nil {
return nil, userErr, nil
2015-03-21 16:19:37 +00:00
}
if conf == nil {
return nil, nil, fmt.Errorf("no error received but no configuration found")
2015-03-21 16:19:37 +00:00
}
consulConf := conf.NewConfig()
client, err := api.NewClient(consulConf)
return client, nil, err
2015-03-21 16:19:37 +00:00
}