feat(handlers/credentiallibraries): Support Vault LDAP credential library

This commit is contained in:
Hugo authored and Danielle Miu committed 2025-11-05 16:20:44 -05:00
1 parent 9e08eafcff
commit 84dd5543cf
8 files changed
+820 -91

No files matched your search

+12
View File
@@ -383,6 +383,18 @@ func WithVaultCredentialLibraryPath(inPath string) Option {
}
}
func WithVaultLdapCredentialLibraryPath(inPath string) Option {
return func(o *options) {
raw, ok := o.postMap["attributes"]
if !ok {
raw = any(map[string]any{})
}
val := raw.(map[string]any)
val["path"] = inPath
o.postMap["attributes"] = val
}
}
func WithVaultSSHCertificateCredentialLibraryPath(inPath string) Option {
return func(o *options) {
raw, ok := o.postMap["attributes"]
@@ -0,0 +1,40 @@
// Code generated by "make api"; DO NOT EDIT.
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package credentiallibraries
import (
"fmt"
"github.com/mitchellh/mapstructure"
)
type VaultLdapCredentialLibraryAttributes struct {
Path string `json:"path,omitempty"`
}
func AttributesMapToVaultLdapCredentialLibraryAttributes(in map[string]any) (*VaultLdapCredentialLibraryAttributes, error) {
if in == nil {
return nil, fmt.Errorf("nil input map")
}
var out VaultLdapCredentialLibraryAttributes
dec, err := mapstructure.NewDecoder(&mapstructure.DecoderConfig{
Result: &out,
TagName: "json",
})
if err != nil {
return nil, fmt.Errorf("error creating mapstructure decoder: %w", err)
}
if err := dec.Decode(in); err != nil {
return nil, fmt.Errorf("error decoding: %w", err)
}
return &out, nil
}
func (pt *CredentialLibrary) GetVaultLdapCredentialLibraryAttributes() (*VaultLdapCredentialLibraryAttributes, error) {
if pt.Type != "vault-ldap" {
return nil, fmt.Errorf("asked to fetch %s-type attributes but credential-library is of type %s", "vault-ldap", pt.Type)
}
return AttributesMapToVaultLdapCredentialLibraryAttributes(pt.Attributes)
}