mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-04 04:28:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright (c) HashiCorp, Inc.
 | 
						|
// SPDX-License-Identifier: MPL-2.0
 | 
						|
 | 
						|
package api
 | 
						|
 | 
						|
import "errors"
 | 
						|
 | 
						|
// ErrSecretNotFound is returned by KVv1 and KVv2 wrappers to indicate that the
 | 
						|
// secret is missing at the given location.
 | 
						|
var ErrSecretNotFound = errors.New("secret not found")
 | 
						|
 | 
						|
// A KVSecret is a key-value secret returned by Vault's KV secrets engine,
 | 
						|
// and is the most basic type of secret stored in Vault.
 | 
						|
//
 | 
						|
// Data contains the key-value pairs of the secret itself,
 | 
						|
// while Metadata contains a subset of metadata describing
 | 
						|
// this particular version of the secret.
 | 
						|
// The Metadata field for a KV v1 secret will always be nil, as
 | 
						|
// metadata is only supported starting in KV v2.
 | 
						|
//
 | 
						|
// The Raw field can be inspected for information about the lease,
 | 
						|
// and passed to a LifetimeWatcher object for periodic renewal.
 | 
						|
type KVSecret struct {
 | 
						|
	Data            map[string]interface{}
 | 
						|
	VersionMetadata *KVVersionMetadata
 | 
						|
	CustomMetadata  map[string]interface{}
 | 
						|
	Raw             *Secret
 | 
						|
}
 | 
						|
 | 
						|
// KVv1 is used to return a client for reads and writes against
 | 
						|
// a KV v1 secrets engine in Vault.
 | 
						|
//
 | 
						|
// The mount path is the location where the target KV secrets engine resides
 | 
						|
// in Vault.
 | 
						|
//
 | 
						|
// While v1 is not necessarily deprecated, Vault development servers tend to
 | 
						|
// use v2 as the version of the KV secrets engine, as this is what's mounted
 | 
						|
// by default when a server is started in -dev mode. See the kvv2 struct.
 | 
						|
//
 | 
						|
// Learn more about the KV secrets engine here:
 | 
						|
// https://www.vaultproject.io/docs/secrets/kv
 | 
						|
func (c *Client) KVv1(mountPath string) *KVv1 {
 | 
						|
	return &KVv1{c: c, mountPath: mountPath}
 | 
						|
}
 | 
						|
 | 
						|
// KVv2 is used to return a client for reads and writes against
 | 
						|
// a KV v2 secrets engine in Vault.
 | 
						|
//
 | 
						|
// The mount path is the location where the target KV secrets engine resides
 | 
						|
// in Vault.
 | 
						|
//
 | 
						|
// Vault development servers tend to have "secret" as the mount path,
 | 
						|
// as these are the default settings when a server is started in -dev mode.
 | 
						|
//
 | 
						|
// Learn more about the KV secrets engine here:
 | 
						|
// https://www.vaultproject.io/docs/secrets/kv
 | 
						|
func (c *Client) KVv2(mountPath string) *KVv2 {
 | 
						|
	return &KVv2{c: c, mountPath: mountPath}
 | 
						|
}
 |