// Copyright IBM Corp. 2020, 2026
// SPDX-License-Identifier: MPL-2.0

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        (unknown)
// source: controller/api/resources/credentiallibraries/v1/credential_library.proto

package credentiallibraries

import (
	scopes "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/scopes"
	_ "github.com/hashicorp/boundary/sdk/pbs/controller/protooptions"
	_ "google.golang.org/genproto/googleapis/api/visibility"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	structpb "google.golang.org/protobuf/types/known/structpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// CredentialLibrary contains all fields related to an Credential Library resource
type CredentialLibrary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The ID of the Credential Library.
	Id string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty" class:"public"` // @gotags: `class:"public"`
	// The ID of the Credential Store of which this Credential Library is a part.
	CredentialStoreId string `protobuf:"bytes,20,opt,name=credential_store_id,proto3" json:"credential_store_id,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. Scope information for this Credential Library.
	Scope *scopes.ScopeInfo `protobuf:"bytes,30,opt,name=scope,proto3" json:"scope,omitempty"`
	// Optional name for identification purposes.
	Name *wrapperspb.StringValue `protobuf:"bytes,40,opt,name=name,proto3" json:"name,omitempty" class:"public"` // @gotags: `class:"public"`
	// Optional user-set description for identification purposes.
	Description *wrapperspb.StringValue `protobuf:"bytes,50,opt,name=description,proto3" json:"description,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The time this resource was created.
	CreatedTime *timestamppb.Timestamp `protobuf:"bytes,60,opt,name=created_time,proto3" json:"created_time,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The time this resource was last updated.
	UpdatedTime *timestamppb.Timestamp `protobuf:"bytes,70,opt,name=updated_time,proto3" json:"updated_time,omitempty" class:"public"` // @gotags: `class:"public"`
	// Version is used in mutation requests, after the initial creation, to ensure this resource has not changed.
	// The mutation will fail if the version does not match the latest known good version.
	Version uint32 `protobuf:"varint,80,opt,name=version,proto3" json:"version,omitempty" class:"public"` // @gotags: `class:"public"`
	// The Credential Library type.
	Type string `protobuf:"bytes,90,opt,name=type,proto3" json:"type,omitempty" class:"public"` // @gotags: `class:"public"`
	// Types that are valid to be assigned to Attrs:
	//
	//	*CredentialLibrary_Attributes
	//	*CredentialLibrary_VaultCredentialLibraryAttributes
	//	*CredentialLibrary_VaultSshCertificateCredentialLibraryAttributes
	//	*CredentialLibrary_VaultGenericCredentialLibraryAttributes
	//	*CredentialLibrary_VaultLdapCredentialLibraryAttributes
	Attrs isCredentialLibrary_Attrs `protobuf_oneof:"attrs"`
	// Output only. The available actions on this resource for this user.
	AuthorizedActions []string `protobuf:"bytes,300,rep,name=authorized_actions,proto3" json:"authorized_actions,omitempty" class:"public"` // @gotags: `class:"public"`
	// The type of credential this library will issue, defaults to Unspecified
	CredentialType string `protobuf:"bytes,310,opt,name=credential_type,proto3" json:"credential_type,omitempty" class:"public"` // @gotags: `class:"public"`
	// The credential mapping overrides
	CredentialMappingOverrides *structpb.Struct `protobuf:"bytes,320,opt,name=credential_mapping_overrides,proto3" json:"credential_mapping_overrides,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

func (x *CredentialLibrary) Reset() {
	*x = CredentialLibrary{}
	mi := &file_controller_api_resources_credentiallibraries_v1_credential_library_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CredentialLibrary) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CredentialLibrary) ProtoMessage() {}

func (x *CredentialLibrary) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_resources_credentiallibraries_v1_credential_library_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CredentialLibrary.ProtoReflect.Descriptor instead.
func (*CredentialLibrary) Descriptor() ([]byte, []int) {
	return file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDescGZIP(), []int{0}
}

func (x *CredentialLibrary) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *CredentialLibrary) GetCredentialStoreId() string {
	if x != nil {
		return x.CredentialStoreId
	}
	return ""
}

func (x *CredentialLibrary) GetScope() *scopes.ScopeInfo {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *CredentialLibrary) GetName() *wrapperspb.StringValue {
	if x != nil {
		return x.Name
	}
	return nil
}

func (x *CredentialLibrary) GetDescription() *wrapperspb.StringValue {
	if x != nil {
		return x.Description
	}
	return nil
}

func (x *CredentialLibrary) GetCreatedTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedTime
	}
	return nil
}

func (x *CredentialLibrary) GetUpdatedTime() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedTime
	}
	return nil
}

func (x *CredentialLibrary) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *CredentialLibrary) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *CredentialLibrary) GetAttrs() isCredentialLibrary_Attrs {
	if x != nil {
		return x.Attrs
	}
	return nil
}

func (x *CredentialLibrary) GetAttributes() *structpb.Struct {
	if x != nil {
		if x, ok := x.Attrs.(*CredentialLibrary_Attributes); ok {
			return x.Attributes
		}
	}
	return nil
}

func (x *CredentialLibrary) GetVaultCredentialLibraryAttributes() *VaultCredentialLibraryAttributes {
	if x != nil {
		if x, ok := x.Attrs.(*CredentialLibrary_VaultCredentialLibraryAttributes); ok {
			return x.VaultCredentialLibraryAttributes
		}
	}
	return nil
}

func (x *CredentialLibrary) GetVaultSshCertificateCredentialLibraryAttributes() *VaultSSHCertificateCredentialLibraryAttributes {
	if x != nil {
		if x, ok := x.Attrs.(*CredentialLibrary_VaultSshCertificateCredentialLibraryAttributes); ok {
			return x.VaultSshCertificateCredentialLibraryAttributes
		}
	}
	return nil
}

func (x *CredentialLibrary) GetVaultGenericCredentialLibraryAttributes() *VaultCredentialLibraryAttributes {
	if x != nil {
		if x, ok := x.Attrs.(*CredentialLibrary_VaultGenericCredentialLibraryAttributes); ok {
			return x.VaultGenericCredentialLibraryAttributes
		}
	}
	return nil
}

func (x *CredentialLibrary) GetVaultLdapCredentialLibraryAttributes() *VaultLdapCredentialLibraryAttributes {
	if x != nil {
		if x, ok := x.Attrs.(*CredentialLibrary_VaultLdapCredentialLibraryAttributes); ok {
			return x.VaultLdapCredentialLibraryAttributes
		}
	}
	return nil
}

func (x *CredentialLibrary) GetAuthorizedActions() []string {
	if x != nil {
		return x.AuthorizedActions
	}
	return nil
}

func (x *CredentialLibrary) GetCredentialType() string {
	if x != nil {
		return x.CredentialType
	}
	return ""
}

func (x *CredentialLibrary) GetCredentialMappingOverrides() *structpb.Struct {
	if x != nil {
		return x.CredentialMappingOverrides
	}
	return nil
}

type isCredentialLibrary_Attrs interface {
	isCredentialLibrary_Attrs()
}

type CredentialLibrary_Attributes struct {
	// The attributes that are applicable for the specific Credential Library type.
	Attributes *structpb.Struct `protobuf:"bytes,100,opt,name=attributes,proto3,oneof"`
}

type CredentialLibrary_VaultCredentialLibraryAttributes struct {
	VaultCredentialLibraryAttributes *VaultCredentialLibraryAttributes `protobuf:"bytes,101,opt,name=vault_credential_library_attributes,json=vaultCredentialLibraryAttributes,proto3,oneof"`
}

type CredentialLibrary_VaultSshCertificateCredentialLibraryAttributes struct {
	VaultSshCertificateCredentialLibraryAttributes *VaultSSHCertificateCredentialLibraryAttributes `protobuf:"bytes,102,opt,name=vault_ssh_certificate_credential_library_attributes,json=vaultSshCertificateCredentialLibraryAttributes,proto3,oneof"`
}

type CredentialLibrary_VaultGenericCredentialLibraryAttributes struct {
	VaultGenericCredentialLibraryAttributes *VaultCredentialLibraryAttributes `protobuf:"bytes,103,opt,name=vault_generic_credential_library_attributes,json=vaultGenericCredentialLibraryAttributes,proto3,oneof"`
}

type CredentialLibrary_VaultLdapCredentialLibraryAttributes struct {
	VaultLdapCredentialLibraryAttributes *VaultLdapCredentialLibraryAttributes `protobuf:"bytes,104,opt,name=vault_ldap_credential_library_attributes,json=vaultLdapCredentialLibraryAttributes,proto3,oneof"`
}

func (*CredentialLibrary_Attributes) isCredentialLibrary_Attrs() {}

func (*CredentialLibrary_VaultCredentialLibraryAttributes) isCredentialLibrary_Attrs() {}

func (*CredentialLibrary_VaultSshCertificateCredentialLibraryAttributes) isCredentialLibrary_Attrs() {
}

func (*CredentialLibrary_VaultGenericCredentialLibraryAttributes) isCredentialLibrary_Attrs() {}

func (*CredentialLibrary_VaultLdapCredentialLibraryAttributes) isCredentialLibrary_Attrs() {}

// The attributes of a vault typed Credential Library.
type VaultCredentialLibraryAttributes struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The path in Vault to request credentials from.
	Path *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=path,proto3" json:"path,omitempty" class:"public"` // @gotags: `class:"public"`
	// The HTTP method the library uses to communicate with Vault.
	HttpMethod *wrapperspb.StringValue `protobuf:"bytes,20,opt,name=http_method,proto3" json:"http_method,omitempty" class:"public"` // @gotags: `class:"public"`
	// The body of the HTTP request the library sends to vault. When set http_method must be "POST"
	HttpRequestBody *wrapperspb.StringValue `protobuf:"bytes,30,opt,name=http_request_body,proto3" json:"http_request_body,omitempty" class:"secret"` // @gotags: `class:"secret"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *VaultCredentialLibraryAttributes) Reset() {
	*x = VaultCredentialLibraryAttributes{}
	mi := &file_controller_api_resources_credentiallibraries_v1_credential_library_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VaultCredentialLibraryAttributes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VaultCredentialLibraryAttributes) ProtoMessage() {}

func (x *VaultCredentialLibraryAttributes) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_resources_credentiallibraries_v1_credential_library_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VaultCredentialLibraryAttributes.ProtoReflect.Descriptor instead.
func (*VaultCredentialLibraryAttributes) Descriptor() ([]byte, []int) {
	return file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDescGZIP(), []int{1}
}

func (x *VaultCredentialLibraryAttributes) GetPath() *wrapperspb.StringValue {
	if x != nil {
		return x.Path
	}
	return nil
}

func (x *VaultCredentialLibraryAttributes) GetHttpMethod() *wrapperspb.StringValue {
	if x != nil {
		return x.HttpMethod
	}
	return nil
}

func (x *VaultCredentialLibraryAttributes) GetHttpRequestBody() *wrapperspb.StringValue {
	if x != nil {
		return x.HttpRequestBody
	}
	return nil
}

// The attributes of a vault SSH Certificate Credential Library.
type VaultSSHCertificateCredentialLibraryAttributes struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The path in Vault to request credentials from.
	Path *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=path,proto3" json:"path,omitempty" class:"public"` // @gotags: `class:"public"`
	// The username to use when making an SSH connection.
	Username *wrapperspb.StringValue `protobuf:"bytes,20,opt,name=username,proto3" json:"username,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"`
	// The key type to use when generating an SSH private key.
	KeyType *wrapperspb.StringValue `protobuf:"bytes,30,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty" class:"public"` // @gotags: `class:"public"`
	// The number of bits to use to generate an SSH private key.
	KeyBits *wrapperspb.UInt32Value `protobuf:"bytes,40,opt,name=key_bits,json=keyBits,proto3" json:"key_bits,omitempty" class:"public"` // @gotags: `class:"public"`
	// The requested time to live for the certificate.
	Ttl *wrapperspb.StringValue `protobuf:"bytes,50,opt,name=ttl,proto3" json:"ttl,omitempty" class:"public"` // @gotags: `class:"public"`
	// The key id that the created certificate should have.
	KeyId *wrapperspb.StringValue `protobuf:"bytes,60,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty" class:"public"` // @gotags: `class:"public"`
	// The critical options that the certificate should be signed for.
	CriticalOptions map[string]string `protobuf:"bytes,70,rep,name=critical_options,json=criticalOptions,proto3" json:"critical_options,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value" class:"public"` // @gotags: `class:"public"`
	// The extensions that the certificate should be signed for.
	Extensions map[string]string `protobuf:"bytes,80,rep,name=extensions,proto3" json:"extensions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value" class:"public"` // @gotags: `class:"public"`
	// Principals to be signed as "valid_principles" in addition to username.
	AdditionalValidPrincipals []*wrapperspb.StringValue `protobuf:"bytes,90,rep,name=additional_valid_principals,json=additionalValidPrincipals,proto3" json:"additional_valid_principals,omitempty" class:"public"` // @gotags: `class:"public"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *VaultSSHCertificateCredentialLibraryAttributes) Reset() {
	*x = VaultSSHCertificateCredentialLibraryAttributes{}
	mi := &file_controller_api_resources_credentiallibraries_v1_credential_library_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VaultSSHCertificateCredentialLibraryAttributes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VaultSSHCertificateCredentialLibraryAttributes) ProtoMessage() {}

func (x *VaultSSHCertificateCredentialLibraryAttributes) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_resources_credentiallibraries_v1_credential_library_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VaultSSHCertificateCredentialLibraryAttributes.ProtoReflect.Descriptor instead.
func (*VaultSSHCertificateCredentialLibraryAttributes) Descriptor() ([]byte, []int) {
	return file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDescGZIP(), []int{2}
}

func (x *VaultSSHCertificateCredentialLibraryAttributes) GetPath() *wrapperspb.StringValue {
	if x != nil {
		return x.Path
	}
	return nil
}

func (x *VaultSSHCertificateCredentialLibraryAttributes) GetUsername() *wrapperspb.StringValue {
	if x != nil {
		return x.Username
	}
	return nil
}

func (x *VaultSSHCertificateCredentialLibraryAttributes) GetKeyType() *wrapperspb.StringValue {
	if x != nil {
		return x.KeyType
	}
	return nil
}

func (x *VaultSSHCertificateCredentialLibraryAttributes) GetKeyBits() *wrapperspb.UInt32Value {
	if x != nil {
		return x.KeyBits
	}
	return nil
}

func (x *VaultSSHCertificateCredentialLibraryAttributes) GetTtl() *wrapperspb.StringValue {
	if x != nil {
		return x.Ttl
	}
	return nil
}

func (x *VaultSSHCertificateCredentialLibraryAttributes) GetKeyId() *wrapperspb.StringValue {
	if x != nil {
		return x.KeyId
	}
	return nil
}

func (x *VaultSSHCertificateCredentialLibraryAttributes) GetCriticalOptions() map[string]string {
	if x != nil {
		return x.CriticalOptions
	}
	return nil
}

func (x *VaultSSHCertificateCredentialLibraryAttributes) GetExtensions() map[string]string {
	if x != nil {
		return x.Extensions
	}
	return nil
}

func (x *VaultSSHCertificateCredentialLibraryAttributes) GetAdditionalValidPrincipals() []*wrapperspb.StringValue {
	if x != nil {
		return x.AdditionalValidPrincipals
	}
	return nil
}

// The attributes of a vault LDAP Credential Library.
type VaultLdapCredentialLibraryAttributes struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The path in Vault to request credentials from.
	Path          *wrapperspb.StringValue `protobuf:"bytes,10,opt,name=path,proto3" json:"path,omitempty" class:"public"` // @gotags: `class:"public"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VaultLdapCredentialLibraryAttributes) Reset() {
	*x = VaultLdapCredentialLibraryAttributes{}
	mi := &file_controller_api_resources_credentiallibraries_v1_credential_library_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *VaultLdapCredentialLibraryAttributes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*VaultLdapCredentialLibraryAttributes) ProtoMessage() {}

func (x *VaultLdapCredentialLibraryAttributes) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_resources_credentiallibraries_v1_credential_library_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use VaultLdapCredentialLibraryAttributes.ProtoReflect.Descriptor instead.
func (*VaultLdapCredentialLibraryAttributes) Descriptor() ([]byte, []int) {
	return file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDescGZIP(), []int{3}
}

func (x *VaultLdapCredentialLibraryAttributes) GetPath() *wrapperspb.StringValue {
	if x != nil {
		return x.Path
	}
	return nil
}

var File_controller_api_resources_credentiallibraries_v1_credential_library_proto protoreflect.FileDescriptor

const file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDesc = "" +
	"\n" +
	"Hcontroller/api/resources/credentiallibraries/v1/credential_library.proto\x12/controller.api.resources.credentiallibraries.v1\x1a.controller/api/resources/scopes/v1/scope.proto\x1a*controller/custom_options/v1/options.proto\x1a\x1bgoogle/api/visibility.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x84\r\n" +
	"\x11CredentialLibrary\x12\x0e\n" +
	"\x02id\x18\n" +
	" \x01(\tR\x02id\x120\n" +
	"\x13credential_store_id\x18\x14 \x01(\tR\x13credential_store_id\x12C\n" +
	"\x05scope\x18\x1e \x01(\v2-.controller.api.resources.scopes.v1.ScopeInfoR\x05scope\x12F\n" +
	"\x04name\x18( \x01(\v2\x1c.google.protobuf.StringValueB\x14\xa0\xda)\x01\xc2\xdd)\f\n" +
	"\x04name\x12\x04NameR\x04name\x12b\n" +
	"\vdescription\x182 \x01(\v2\x1c.google.protobuf.StringValueB\"\xa0\xda)\x01\xc2\xdd)\x1a\n" +
	"\vdescription\x12\vDescriptionR\vdescription\x12>\n" +
	"\fcreated_time\x18< \x01(\v2\x1a.google.protobuf.TimestampR\fcreated_time\x12>\n" +
	"\fupdated_time\x18F \x01(\v2\x1a.google.protobuf.TimestampR\fupdated_time\x12\x18\n" +
	"\aversion\x18P \x01(\rR\aversion\x12\x12\n" +
	"\x04type\x18Z \x01(\tR\x04type\x12J\n" +
	"\n" +
	"attributes\x18d \x01(\v2\x17.google.protobuf.StructB\x0f\xa0\xda)\x01\x9a\xe3)\adefaultH\x00R\n" +
	"attributes\x12\xc1\x01\n" +
	"#vault_credential_library_attributes\x18e \x01(\v2Q.controller.api.resources.credentiallibraries.v1.VaultCredentialLibraryAttributesB\x1d\xa0\xda)\x01\x9a\xe3)\x05vault\xfa\xd2\xe4\x93\x02\n" +
	"\x12\bINTERNALH\x00R vaultCredentialLibraryAttributes\x12\xfd\x01\n" +
	"3vault_ssh_certificate_credential_library_attributes\x18f \x01(\v2_.controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributesB-\xa0\xda)\x01\x9a\xe3)\x15vault-ssh-certificate\xfa\xd2\xe4\x93\x02\n" +
	"\x12\bINTERNALH\x00R.vaultSshCertificateCredentialLibraryAttributes\x12\xd8\x01\n" +
	"+vault_generic_credential_library_attributes\x18g \x01(\v2Q.controller.api.resources.credentiallibraries.v1.VaultCredentialLibraryAttributesB%\xa0\xda)\x01\x9a\xe3)\rvault-generic\xfa\xd2\xe4\x93\x02\n" +
	"\x12\bINTERNALH\x00R'vaultGenericCredentialLibraryAttributes\x12\xd3\x01\n" +
	"(vault_ldap_credential_library_attributes\x18h \x01(\v2U.controller.api.resources.credentiallibraries.v1.VaultLdapCredentialLibraryAttributesB\"\xa0\xda)\x01\x9a\xe3)\n" +
	"vault-ldap\xfa\xd2\xe4\x93\x02\n" +
	"\x12\bINTERNALH\x00R$vaultLdapCredentialLibraryAttributes\x12/\n" +
	"\x12authorized_actions\x18\xac\x02 \x03(\tR\x12authorized_actions\x12/\n" +
	"\x0fcredential_type\x18\xb6\x02 \x01(\tB\x04\xa0\xda)\x01R\x0fcredential_type\x12b\n" +
	"\x1ccredential_mapping_overrides\x18\xc0\x02 \x01(\v2\x17.google.protobuf.StructB\x04\xa0\xda)\x01R\x1ccredential_mapping_overridesB\a\n" +
	"\x05attrs\"\xee\x02\n" +
	" VaultCredentialLibraryAttributes\x12V\n" +
	"\x04path\x18\n" +
	" \x01(\v2\x1c.google.protobuf.StringValueB$\xa0\xda)\x01\xc2\xdd)\x1c\n" +
	"\x0fattributes.path\x12\tVaultPathR\x04path\x12l\n" +
	"\vhttp_method\x18\x14 \x01(\v2\x1c.google.protobuf.StringValueB,\xa0\xda)\x01\xc2\xdd)$\n" +
	"\x16attributes.http_method\x12\n" +
	"HttpMethodR\vhttp_method\x12\x83\x01\n" +
	"\x11http_request_body\x18\x1e \x01(\v2\x1c.google.protobuf.StringValueB7\xa0\xda)\x01\xc2\xdd)/\n" +
	"\x1cattributes.http_request_body\x12\x0fHttpRequestBodyR\x11http_request_body\"\x9d\n" +
	"\n" +
	".VaultSSHCertificateCredentialLibraryAttributes\x12V\n" +
	"\x04path\x18\n" +
	" \x01(\v2\x1c.google.protobuf.StringValueB$\xa0\xda)\x01\xc2\xdd)\x1c\n" +
	"\x0fattributes.path\x12\tVaultPathR\x04path\x12a\n" +
	"\busername\x18\x14 \x01(\v2\x1c.google.protobuf.StringValueB'\xa0\xda)\x01\xc2\xdd)\x1f\n" +
	"\x13attributes.username\x12\bUsernameR\busername\x12_\n" +
	"\bkey_type\x18\x1e \x01(\v2\x1c.google.protobuf.StringValueB&\xa0\xda)\x01\xc2\xdd)\x1e\n" +
	"\x13attributes.key_type\x12\aKeyTypeR\akeyType\x12_\n" +
	"\bkey_bits\x18( \x01(\v2\x1c.google.protobuf.UInt32ValueB&\xa0\xda)\x01\xc2\xdd)\x1e\n" +
	"\x13attributes.key_bits\x12\aKeyBitsR\akeyBits\x12M\n" +
	"\x03ttl\x182 \x01(\v2\x1c.google.protobuf.StringValueB\x1d\xa0\xda)\x01\xc2\xdd)\x15\n" +
	"\x0eattributes.ttl\x12\x03TtlR\x03ttl\x12W\n" +
	"\x06key_id\x18< \x01(\v2\x1c.google.protobuf.StringValueB\"\xa0\xda)\x01\xc2\xdd)\x1a\n" +
	"\x11attributes.key_id\x12\x05KeyIdR\x05keyId\x12\xd7\x01\n" +
	"\x10critical_options\x18F \x03(\v2t.controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.CriticalOptionsEntryB6\xa0\xda)\x01\xc2\xdd).\n" +
	"\x1battributes.critical_options\x12\x0fCriticalOptionsR\x0fcriticalOptions\x12\xbc\x01\n" +
	"\n" +
	"extensions\x18P \x03(\v2o.controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.ExtensionsEntryB+\xa0\xda)\x01\xc2\xdd)#\n" +
	"\x15attributes.extensions\x12\n" +
	"ExtensionsR\n" +
	"extensions\x12\xa9\x01\n" +
	"\x1badditional_valid_principals\x18Z \x03(\v2\x1c.google.protobuf.StringValueBK\xa0\xda)\x01\xc2\xdd)C\n" +
	"&attributes.additional_valid_principals\x12\x19AdditionalValidPrincipalsR\x19additionalValidPrincipals\x1aB\n" +
	"\x14CriticalOptionsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a=\n" +
	"\x0fExtensionsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"~\n" +
	"$VaultLdapCredentialLibraryAttributes\x12V\n" +
	"\x04path\x18\n" +
	" \x01(\v2\x1c.google.protobuf.StringValueB$\xa0\xda)\x01\xc2\xdd)\x1c\n" +
	"\x0fattributes.path\x12\tVaultPathR\x04pathBhZfgithub.com/hashicorp/boundary/sdk/pbs/controller/api/resources/credentiallibraries;credentiallibrariesb\x06proto3"

var (
	file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDescOnce sync.Once
	file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDescData []byte
)

func file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDescGZIP() []byte {
	file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDescOnce.Do(func() {
		file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDesc), len(file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDesc)))
	})
	return file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDescData
}

var file_controller_api_resources_credentiallibraries_v1_credential_library_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_controller_api_resources_credentiallibraries_v1_credential_library_proto_goTypes = []any{
	(*CredentialLibrary)(nil),                              // 0: controller.api.resources.credentiallibraries.v1.CredentialLibrary
	(*VaultCredentialLibraryAttributes)(nil),               // 1: controller.api.resources.credentiallibraries.v1.VaultCredentialLibraryAttributes
	(*VaultSSHCertificateCredentialLibraryAttributes)(nil), // 2: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes
	(*VaultLdapCredentialLibraryAttributes)(nil),           // 3: controller.api.resources.credentiallibraries.v1.VaultLdapCredentialLibraryAttributes
	nil,                            // 4: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.CriticalOptionsEntry
	nil,                            // 5: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.ExtensionsEntry
	(*scopes.ScopeInfo)(nil),       // 6: controller.api.resources.scopes.v1.ScopeInfo
	(*wrapperspb.StringValue)(nil), // 7: google.protobuf.StringValue
	(*timestamppb.Timestamp)(nil),  // 8: google.protobuf.Timestamp
	(*structpb.Struct)(nil),        // 9: google.protobuf.Struct
	(*wrapperspb.UInt32Value)(nil), // 10: google.protobuf.UInt32Value
}
var file_controller_api_resources_credentiallibraries_v1_credential_library_proto_depIdxs = []int32{
	6,  // 0: controller.api.resources.credentiallibraries.v1.CredentialLibrary.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo
	7,  // 1: controller.api.resources.credentiallibraries.v1.CredentialLibrary.name:type_name -> google.protobuf.StringValue
	7,  // 2: controller.api.resources.credentiallibraries.v1.CredentialLibrary.description:type_name -> google.protobuf.StringValue
	8,  // 3: controller.api.resources.credentiallibraries.v1.CredentialLibrary.created_time:type_name -> google.protobuf.Timestamp
	8,  // 4: controller.api.resources.credentiallibraries.v1.CredentialLibrary.updated_time:type_name -> google.protobuf.Timestamp
	9,  // 5: controller.api.resources.credentiallibraries.v1.CredentialLibrary.attributes:type_name -> google.protobuf.Struct
	1,  // 6: controller.api.resources.credentiallibraries.v1.CredentialLibrary.vault_credential_library_attributes:type_name -> controller.api.resources.credentiallibraries.v1.VaultCredentialLibraryAttributes
	2,  // 7: controller.api.resources.credentiallibraries.v1.CredentialLibrary.vault_ssh_certificate_credential_library_attributes:type_name -> controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes
	1,  // 8: controller.api.resources.credentiallibraries.v1.CredentialLibrary.vault_generic_credential_library_attributes:type_name -> controller.api.resources.credentiallibraries.v1.VaultCredentialLibraryAttributes
	3,  // 9: controller.api.resources.credentiallibraries.v1.CredentialLibrary.vault_ldap_credential_library_attributes:type_name -> controller.api.resources.credentiallibraries.v1.VaultLdapCredentialLibraryAttributes
	9,  // 10: controller.api.resources.credentiallibraries.v1.CredentialLibrary.credential_mapping_overrides:type_name -> google.protobuf.Struct
	7,  // 11: controller.api.resources.credentiallibraries.v1.VaultCredentialLibraryAttributes.path:type_name -> google.protobuf.StringValue
	7,  // 12: controller.api.resources.credentiallibraries.v1.VaultCredentialLibraryAttributes.http_method:type_name -> google.protobuf.StringValue
	7,  // 13: controller.api.resources.credentiallibraries.v1.VaultCredentialLibraryAttributes.http_request_body:type_name -> google.protobuf.StringValue
	7,  // 14: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.path:type_name -> google.protobuf.StringValue
	7,  // 15: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.username:type_name -> google.protobuf.StringValue
	7,  // 16: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.key_type:type_name -> google.protobuf.StringValue
	10, // 17: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.key_bits:type_name -> google.protobuf.UInt32Value
	7,  // 18: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.ttl:type_name -> google.protobuf.StringValue
	7,  // 19: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.key_id:type_name -> google.protobuf.StringValue
	4,  // 20: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.critical_options:type_name -> controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.CriticalOptionsEntry
	5,  // 21: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.extensions:type_name -> controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.ExtensionsEntry
	7,  // 22: controller.api.resources.credentiallibraries.v1.VaultSSHCertificateCredentialLibraryAttributes.additional_valid_principals:type_name -> google.protobuf.StringValue
	7,  // 23: controller.api.resources.credentiallibraries.v1.VaultLdapCredentialLibraryAttributes.path:type_name -> google.protobuf.StringValue
	24, // [24:24] is the sub-list for method output_type
	24, // [24:24] is the sub-list for method input_type
	24, // [24:24] is the sub-list for extension type_name
	24, // [24:24] is the sub-list for extension extendee
	0,  // [0:24] is the sub-list for field type_name
}

func init() { file_controller_api_resources_credentiallibraries_v1_credential_library_proto_init() }
func file_controller_api_resources_credentiallibraries_v1_credential_library_proto_init() {
	if File_controller_api_resources_credentiallibraries_v1_credential_library_proto != nil {
		return
	}
	file_controller_api_resources_credentiallibraries_v1_credential_library_proto_msgTypes[0].OneofWrappers = []any{
		(*CredentialLibrary_Attributes)(nil),
		(*CredentialLibrary_VaultCredentialLibraryAttributes)(nil),
		(*CredentialLibrary_VaultSshCertificateCredentialLibraryAttributes)(nil),
		(*CredentialLibrary_VaultGenericCredentialLibraryAttributes)(nil),
		(*CredentialLibrary_VaultLdapCredentialLibraryAttributes)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDesc), len(file_controller_api_resources_credentiallibraries_v1_credential_library_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   6,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_controller_api_resources_credentiallibraries_v1_credential_library_proto_goTypes,
		DependencyIndexes: file_controller_api_resources_credentiallibraries_v1_credential_library_proto_depIdxs,
		MessageInfos:      file_controller_api_resources_credentiallibraries_v1_credential_library_proto_msgTypes,
	}.Build()
	File_controller_api_resources_credentiallibraries_v1_credential_library_proto = out.File
	file_controller_api_resources_credentiallibraries_v1_credential_library_proto_goTypes = nil
	file_controller_api_resources_credentiallibraries_v1_credential_library_proto_depIdxs = nil
}
