// Copyright IBM Corp. 2020, 2026
// SPDX-License-Identifier: BUSL-1.1

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        (unknown)
// source: controller/storage/credential/vault/store/v1/vault.proto

// Package store provides protobufs for storing types in the vault
// credential package.

package store

import (
	timestamp "github.com/hashicorp/boundary/internal/db/timestamp"
	_ "github.com/hashicorp/boundary/sdk/pbs/controller/protooptions"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	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)
)

type CredentialStore struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// public_id is a surrogate key suitable for use in a public API.
	// @inject_tag: `gorm:"primary_key"`
	PublicId string `protobuf:"bytes,1,opt,name=public_id,json=publicId,proto3" json:"public_id,omitempty" gorm:"primary_key"`
	// The create_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty" gorm:"default:current_timestamp"`
	// The update_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty" gorm:"default:current_timestamp"`
	// The delete_time is set by the application.
	// @inject_tag: `gorm:"default:null"`
	DeleteTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty" gorm:"default:null"`
	// name is optional. If set, it must be unique within project_id.
	// @inject_tag: `gorm:"default:null"`
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty" gorm:"default:null"`
	// description is optional.
	// @inject_tag: `gorm:"default:null"`
	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty" gorm:"default:null"`
	// The project_id of the owning project.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	ProjectId string `protobuf:"bytes,7,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty" gorm:"not_null"`
	// version allows optimistic locking of the resource.
	// @inject_tag: `gorm:"default:null"`
	Version uint32 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty" gorm:"default:null"`
	// vault_address is the address of the vault server. This should be a
	// complete URL.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	VaultAddress string `protobuf:"bytes,9,opt,name=vault_address,json=vaultAddress,proto3" json:"vault_address,omitempty" gorm:"not_null"`
	// namespace is the vault namespace the credential store should use.
	// It is optional.
	// @inject_tag: `gorm:"default:null"`
	Namespace string `protobuf:"bytes,10,opt,name=namespace,proto3" json:"namespace,omitempty" gorm:"default:null"`
	// ca_cert is a single PEM-encoded CA certificate to verify the Vault
	// server's SSL certificate.
	// It is optional.
	// @inject_tag: `gorm:"default:null"`
	CaCert []byte `protobuf:"bytes,11,opt,name=ca_cert,json=caCert,proto3" json:"ca_cert,omitempty" gorm:"default:null"`
	// tls_server_name is the name to use as the SNI host when connecting to
	// Vault via TLS.
	// It is optional.
	// @inject_tag: `gorm:"default:null"`
	TlsServerName string `protobuf:"bytes,12,opt,name=tls_server_name,json=tlsServerName,proto3" json:"tls_server_name,omitempty" gorm:"default:null"`
	// tls_skip_verify disables verification of TLS certificates. Using this
	// option is highly discouraged as it decreases the security of data
	// transmissions to and from the Vault server.
	// @inject_tag: `gorm:"default:false"`
	TlsSkipVerify bool `protobuf:"varint,13,opt,name=tls_skip_verify,json=tlsSkipVerify,proto3" json:"tls_skip_verify,omitempty" gorm:"default:false"`
	// worker_filter is optional. Filters to the worker(s) who can handle Vault requests for this cred store
	// @inject_tag: `gorm:"default:null"`
	WorkerFilter  string `protobuf:"bytes,14,opt,name=worker_filter,json=workerFilter,proto3" json:"worker_filter,omitempty" gorm:"default:null"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CredentialStore) ProtoMessage() {}

func (x *CredentialStore) ProtoReflect() protoreflect.Message {
	mi := &file_controller_storage_credential_vault_store_v1_vault_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 CredentialStore.ProtoReflect.Descriptor instead.
func (*CredentialStore) Descriptor() ([]byte, []int) {
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{0}
}

func (x *CredentialStore) GetPublicId() string {
	if x != nil {
		return x.PublicId
	}
	return ""
}

func (x *CredentialStore) GetCreateTime() *timestamp.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *CredentialStore) GetUpdateTime() *timestamp.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

func (x *CredentialStore) GetDeleteTime() *timestamp.Timestamp {
	if x != nil {
		return x.DeleteTime
	}
	return nil
}

func (x *CredentialStore) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *CredentialStore) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *CredentialStore) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

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

func (x *CredentialStore) GetVaultAddress() string {
	if x != nil {
		return x.VaultAddress
	}
	return ""
}

func (x *CredentialStore) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *CredentialStore) GetCaCert() []byte {
	if x != nil {
		return x.CaCert
	}
	return nil
}

func (x *CredentialStore) GetTlsServerName() string {
	if x != nil {
		return x.TlsServerName
	}
	return ""
}

func (x *CredentialStore) GetTlsSkipVerify() bool {
	if x != nil {
		return x.TlsSkipVerify
	}
	return false
}

func (x *CredentialStore) GetWorkerFilter() string {
	if x != nil {
		return x.WorkerFilter
	}
	return ""
}

type Token struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// token_hmac is the hmac-sha256 value of the token. The hmac key is the
	// blake2b-256 value of the token accessor.
	// @inject_tag: `gorm:"primary_key"`
	TokenHmac []byte `protobuf:"bytes,1,opt,name=token_hmac,json=tokenHmac,proto3" json:"token_hmac,omitempty" gorm:"primary_key"`
	// token is the plain-text of the token data. We are not storing this
	// plain-text token in the database.
	// @inject_tag: `gorm:"-" wrapping:"pt,token_data"`
	Token []byte `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty" gorm:"-" wrapping:"pt,token_data"`
	// ct_token is the ciphertext of the token data. It is stored in the database.
	// @inject_tag: `gorm:"column:token;not_null" wrapping:"ct,token_data"`
	CtToken []byte `protobuf:"bytes,3,opt,name=ct_token,json=ctToken,proto3" json:"ct_token,omitempty" gorm:"column:token;not_null" wrapping:"ct,token_data"`
	// store_id is the ID of the owning vault credential store. A vault
	// credential store can have 0 or 1 token.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	StoreId string `protobuf:"bytes,4,opt,name=store_id,json=storeId,proto3" json:"store_id,omitempty" gorm:"not_null"`
	// create_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty" gorm:"default:current_timestamp"`
	// update_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	UpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty" gorm:"default:current_timestamp"`
	// last_renewal_time is the time the token was last renewed with Vault.
	// @inject_tag: `gorm:"default:null"`
	LastRenewalTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=last_renewal_time,json=lastRenewalTime,proto3" json:"last_renewal_time,omitempty" gorm:"default:null"`
	// expiration_time is the time the token is expected to expire.
	// expiration_time is calculated when the token is renewed.
	//
	// The calculation is:
	//
	//	expiration_time := time.Now().Add(LeaseDuration * time.Second)
	//
	// LeaseDuration is a value returned by Vault when the token is renewed.
	//
	// https://www.vaultproject.io/api-docs/auth/token#renew-a-token-self
	//
	// @inject_tag: `gorm:"default:null"`
	ExpirationTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty" gorm:"default:null"`
	// The key_id of the kms database key used for encrypting this entry.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	KeyId string `protobuf:"bytes,10,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty" gorm:"not_null"`
	// The status of the token.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	Status        string `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty" gorm:"not_null"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Token) ProtoMessage() {}

func (x *Token) ProtoReflect() protoreflect.Message {
	mi := &file_controller_storage_credential_vault_store_v1_vault_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 Token.ProtoReflect.Descriptor instead.
func (*Token) Descriptor() ([]byte, []int) {
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{1}
}

func (x *Token) GetTokenHmac() []byte {
	if x != nil {
		return x.TokenHmac
	}
	return nil
}

func (x *Token) GetToken() []byte {
	if x != nil {
		return x.Token
	}
	return nil
}

func (x *Token) GetCtToken() []byte {
	if x != nil {
		return x.CtToken
	}
	return nil
}

func (x *Token) GetStoreId() string {
	if x != nil {
		return x.StoreId
	}
	return ""
}

func (x *Token) GetCreateTime() *timestamp.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *Token) GetUpdateTime() *timestamp.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

func (x *Token) GetLastRenewalTime() *timestamp.Timestamp {
	if x != nil {
		return x.LastRenewalTime
	}
	return nil
}

func (x *Token) GetExpirationTime() *timestamp.Timestamp {
	if x != nil {
		return x.ExpirationTime
	}
	return nil
}

func (x *Token) GetKeyId() string {
	if x != nil {
		return x.KeyId
	}
	return ""
}

func (x *Token) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

type ClientCertificate struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// store_id is the ID of the owning vault credential store. A vault
	// credential store can have 0 or 1 client certificate.
	// @inject_tag: `gorm:"primary_key"`
	StoreId string `protobuf:"bytes,1,opt,name=store_id,json=storeId,proto3" json:"store_id,omitempty" gorm:"primary_key"`
	// certificate is the PEM encoded certificate.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	Certificate []byte `protobuf:"bytes,2,opt,name=certificate,proto3" json:"certificate,omitempty" gorm:"not_null"`
	// certificate_key is the plain-text of the certificate key data. We are
	// not storing this plain-text key in the database.
	// @inject_tag: `gorm:"-" wrapping:"pt,certificate_key_data"`
	CertificateKey []byte `protobuf:"bytes,3,opt,name=certificate_key,json=certificateKey,proto3" json:"certificate_key,omitempty" gorm:"-" wrapping:"pt,certificate_key_data"`
	// ct_certificate_key is the ciphertext of the certificate key data. It
	// is stored in the database.
	// @inject_tag: `gorm:"column:certificate_key;not_null" wrapping:"ct,certificate_key_data"`
	CtCertificateKey []byte `protobuf:"bytes,4,opt,name=ct_certificate_key,json=ctCertificateKey,proto3" json:"ct_certificate_key,omitempty" gorm:"column:certificate_key;not_null" wrapping:"ct,certificate_key_data"`
	// certificate_key_hmac is a sha256-hmac of the unencrypted certificate_key that
	// is returned from the API for read.  It is recalculated everytime the raw
	// certificate_key is updated.
	// @inject_tag: `gorm:"not_null"`
	CertificateKeyHmac []byte `protobuf:"bytes,130,opt,name=certificate_key_hmac,json=certificateKeyHmac,proto3" json:"certificate_key_hmac,omitempty" gorm:"not_null"`
	// The key_id of the kms database key used for encrypting this entry.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	KeyId         string `protobuf:"bytes,10,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty" gorm:"not_null"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ClientCertificate) ProtoMessage() {}

func (x *ClientCertificate) ProtoReflect() protoreflect.Message {
	mi := &file_controller_storage_credential_vault_store_v1_vault_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 ClientCertificate.ProtoReflect.Descriptor instead.
func (*ClientCertificate) Descriptor() ([]byte, []int) {
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{2}
}

func (x *ClientCertificate) GetStoreId() string {
	if x != nil {
		return x.StoreId
	}
	return ""
}

func (x *ClientCertificate) GetCertificate() []byte {
	if x != nil {
		return x.Certificate
	}
	return nil
}

func (x *ClientCertificate) GetCertificateKey() []byte {
	if x != nil {
		return x.CertificateKey
	}
	return nil
}

func (x *ClientCertificate) GetCtCertificateKey() []byte {
	if x != nil {
		return x.CtCertificateKey
	}
	return nil
}

func (x *ClientCertificate) GetCertificateKeyHmac() []byte {
	if x != nil {
		return x.CertificateKeyHmac
	}
	return nil
}

func (x *ClientCertificate) GetKeyId() string {
	if x != nil {
		return x.KeyId
	}
	return ""
}

type CredentialLibrary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// public_id is a surrogate key suitable for use in a public API.
	// @inject_tag: `gorm:"primary_key"`
	PublicId string `protobuf:"bytes,1,opt,name=public_id,json=publicId,proto3" json:"public_id,omitempty" gorm:"primary_key"`
	// create_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty" gorm:"default:current_timestamp"`
	// update_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty" gorm:"default:current_timestamp"`
	// name is optional. If set, it must be unique within project_id.
	// @inject_tag: `gorm:"default:null"`
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty" gorm:"default:null"`
	// description is optional.
	// @inject_tag: `gorm:"default:null"`
	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty" gorm:"default:null"`
	// store_id of the owning vault credential store.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	StoreId string `protobuf:"bytes,6,opt,name=store_id,json=storeId,proto3" json:"store_id,omitempty" gorm:"not_null"`
	// version allows optimistic locking of the resource.
	// @inject_tag: `gorm:"default:null"`
	Version uint32 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty" gorm:"default:null"`
	// vault_path is the path in Vault to request credentials from.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	VaultPath string `protobuf:"bytes,8,opt,name=vault_path,json=vaultPath,proto3" json:"vault_path,omitempty" gorm:"not_null"`
	// The HTTP method the library uses to communicate with Vault.
	// It must be set. Can only be GET or POST.
	// @inject_tag: `gorm:"not_null"`
	HttpMethod string `protobuf:"bytes,9,opt,name=http_method,json=httpMethod,proto3" json:"http_method,omitempty" gorm:"not_null"`
	// The body of the HTTP request the library sends to Vault.
	// Can only be set if http_method is POST.
	// @inject_tag: `gorm:"default:null"`
	HttpRequestBody []byte `protobuf:"bytes,10,opt,name=http_request_body,json=httpRequestBody,proto3" json:"http_request_body,omitempty" gorm:"default:null"`
	// credential_type is optional. If set, it indicates the type of
	// credential the library returns.
	// @inject_tag: `gorm:"default:null"`
	CredentialType string `protobuf:"bytes,11,opt,name=credential_type,json=credentialType,proto3" json:"credential_type,omitempty" gorm:"default:null"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CredentialLibrary) Reset() {
	*x = CredentialLibrary{}
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[3]
	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_storage_credential_vault_store_v1_vault_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 CredentialLibrary.ProtoReflect.Descriptor instead.
func (*CredentialLibrary) Descriptor() ([]byte, []int) {
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{3}
}

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

func (x *CredentialLibrary) GetCreateTime() *timestamp.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *CredentialLibrary) GetUpdateTime() *timestamp.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

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

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

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

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

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

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

func (x *CredentialLibrary) GetHttpRequestBody() []byte {
	if x != nil {
		return x.HttpRequestBody
	}
	return nil
}

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

type SSHCertificateCredentialLibrary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// public_id is a surrogate key suitable for use in a public API.
	// @inject_tag: `gorm:"primary_key"`
	PublicId string `protobuf:"bytes,1,opt,name=public_id,json=publicId,proto3" json:"public_id,omitempty" gorm:"primary_key"`
	// create_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty" gorm:"default:current_timestamp"`
	// update_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty" gorm:"default:current_timestamp"`
	// name is optional. If set, it must be unique within project_id.
	// @inject_tag: `gorm:"default:null"`
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty" gorm:"default:null"`
	// description is optional.
	// @inject_tag: `gorm:"default:null"`
	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty" gorm:"default:null"`
	// store_id of the owning vault credential store.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	StoreId string `protobuf:"bytes,6,opt,name=store_id,json=storeId,proto3" json:"store_id,omitempty" gorm:"not_null"`
	// version allows optimistic locking of the resource.
	// @inject_tag: `gorm:"default:null"`
	Version uint32 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty" gorm:"default:null"`
	// vault_path is the path in Vault to request credentials from.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	VaultPath string `protobuf:"bytes,8,opt,name=vault_path,json=vaultPath,proto3" json:"vault_path,omitempty" gorm:"not_null"`
	// username is the username to use when making an SSH connection.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	Username string `protobuf:"bytes,9,opt,name=username,proto3" json:"username,omitempty" gorm:"not_null"`
	// key_type specifies the key type to use when generating an SSH private key.
	// Values must be "rsa", "ed25519", or "ecdsa".
	// @inject_tag: `gorm:"not_null"`
	KeyType string `protobuf:"bytes,10,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty" gorm:"not_null"`
	// key_bits specifies the number of bits to use to generate an SSH private key.
	// Not used if key_type is ed25519.
	// @inject_tag: `gorm:"not_null"`
	KeyBits uint32 `protobuf:"varint,11,opt,name=key_bits,json=keyBits,proto3" json:"key_bits,omitempty" gorm:"not_null"`
	// ttl specifies the requested time to live for the certificate.
	// @inject_tag: `gorm:"default:null"`
	Ttl string `protobuf:"bytes,12,opt,name=ttl,proto3" json:"ttl,omitempty" gorm:"default:null"`
	// key_id specifies the key id that the created certificate should have.
	// @inject_tag: `gorm:"default:null"`
	KeyId string `protobuf:"bytes,13,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty" gorm:"default:null"`
	// critical_options specifies a map of the critical options that the certificate should be signed for.
	// @inject_tag: `gorm:"default:null"`
	CriticalOptions string `protobuf:"bytes,14,opt,name=critical_options,json=criticalOptions,proto3" json:"critical_options,omitempty" gorm:"default:null"`
	// extensions specifies a map of the extensions that the certificate should be signed for.
	// @inject_tag: `gorm:"default:null"`
	Extensions string `protobuf:"bytes,15,opt,name=extensions,proto3" json:"extensions,omitempty" gorm:"default:null"`
	// credential_type is always ssh_certificate
	// @inject_tag: `gorm:"default:null"`
	CredentialType string `protobuf:"bytes,16,opt,name=credential_type,json=credentialType,proto3" json:"credential_type,omitempty" gorm:"default:null"`
	// additional_valid_principals are strings that will be sent to vault in the "valid_principles"
	// api field in addition to the username.
	// @inject_tag: `gorm:"default:null"`
	AdditionalValidPrincipals string `protobuf:"bytes,17,opt,name=additional_valid_principals,json=additionalValidPrincipals,proto3" json:"additional_valid_principals,omitempty" gorm:"default:null"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *SSHCertificateCredentialLibrary) Reset() {
	*x = SSHCertificateCredentialLibrary{}
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SSHCertificateCredentialLibrary) ProtoMessage() {}

func (x *SSHCertificateCredentialLibrary) ProtoReflect() protoreflect.Message {
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[4]
	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 SSHCertificateCredentialLibrary.ProtoReflect.Descriptor instead.
func (*SSHCertificateCredentialLibrary) Descriptor() ([]byte, []int) {
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{4}
}

func (x *SSHCertificateCredentialLibrary) GetPublicId() string {
	if x != nil {
		return x.PublicId
	}
	return ""
}

func (x *SSHCertificateCredentialLibrary) GetCreateTime() *timestamp.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *SSHCertificateCredentialLibrary) GetUpdateTime() *timestamp.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

func (x *SSHCertificateCredentialLibrary) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *SSHCertificateCredentialLibrary) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *SSHCertificateCredentialLibrary) GetStoreId() string {
	if x != nil {
		return x.StoreId
	}
	return ""
}

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

func (x *SSHCertificateCredentialLibrary) GetVaultPath() string {
	if x != nil {
		return x.VaultPath
	}
	return ""
}

func (x *SSHCertificateCredentialLibrary) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *SSHCertificateCredentialLibrary) GetKeyType() string {
	if x != nil {
		return x.KeyType
	}
	return ""
}

func (x *SSHCertificateCredentialLibrary) GetKeyBits() uint32 {
	if x != nil {
		return x.KeyBits
	}
	return 0
}

func (x *SSHCertificateCredentialLibrary) GetTtl() string {
	if x != nil {
		return x.Ttl
	}
	return ""
}

func (x *SSHCertificateCredentialLibrary) GetKeyId() string {
	if x != nil {
		return x.KeyId
	}
	return ""
}

func (x *SSHCertificateCredentialLibrary) GetCriticalOptions() string {
	if x != nil {
		return x.CriticalOptions
	}
	return ""
}

func (x *SSHCertificateCredentialLibrary) GetExtensions() string {
	if x != nil {
		return x.Extensions
	}
	return ""
}

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

func (x *SSHCertificateCredentialLibrary) GetAdditionalValidPrincipals() string {
	if x != nil {
		return x.AdditionalValidPrincipals
	}
	return ""
}

type Credential struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// public_id is a surrogate key suitable for use in a public API.
	// @inject_tag: `gorm:"primary_key"`
	PublicId string `protobuf:"bytes,1,opt,name=public_id,json=publicId,proto3" json:"public_id,omitempty" gorm:"primary_key"`
	// library_id of the owning vault credential library.
	// It must be set.
	LibraryId string `protobuf:"bytes,2,opt,name=library_id,json=libraryId,proto3" json:"library_id,omitempty"`
	// session_id of the session the credential was created for.
	// It must be set.
	SessionId string `protobuf:"bytes,3,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	// token_hmac is the foreign key of the token used to acquire the secret.
	// @inject_tag: `gorm:"not_null"`
	TokenHmac []byte `protobuf:"bytes,4,opt,name=token_hmac,json=tokenHmac,proto3" json:"token_hmac,omitempty" gorm:"not_null"`
	// create_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty" gorm:"default:current_timestamp"`
	// update_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	UpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty" gorm:"default:current_timestamp"`
	// version allows optimistic locking of the resource.
	// @inject_tag: `gorm:"default:null"`
	Version uint32 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty" gorm:"default:null"`
	// external_id is the lease ID returned from Vault.
	// @inject_tag: `gorm:"not_null"`
	ExternalId string `protobuf:"bytes,8,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty" gorm:"not_null"`
	// last_renewal_time is the time the lease was last renewed with Vault.
	// @inject_tag: `gorm:"default:null"`
	LastRenewalTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=last_renewal_time,json=lastRenewalTime,proto3" json:"last_renewal_time,omitempty" gorm:"default:null"`
	// expiration_time is the time the lease is expected to expire.
	// expiration_time is calculated when the credential is initially
	// retrieved and whenever the credential's lease is renewed.
	//
	// The calculation is:
	//
	//	expiration_time := time.Now().Add(LeaseDuration * time.Second)
	//
	// LeaseDuration is a value returned by Vault when the credential is
	// retrieved or the lease for the credential is renewed.
	//
	// https://www.vaultproject.io/docs/concepts/lease
	//
	// @inject_tag: `gorm:"default:null"`
	ExpirationTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty" gorm:"default:null"`
	// is_renewable indicates if the lease can be renewed.
	// @inject_tag: `gorm:"default:false"`
	IsRenewable bool `protobuf:"varint,11,opt,name=is_renewable,json=isRenewable,proto3" json:"is_renewable,omitempty" gorm:"default:false"`
	// The status of the credential.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	Status        string `protobuf:"bytes,12,opt,name=status,proto3" json:"status,omitempty" gorm:"not_null"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Credential) Reset() {
	*x = Credential{}
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Credential) ProtoMessage() {}

func (x *Credential) ProtoReflect() protoreflect.Message {
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[5]
	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 Credential.ProtoReflect.Descriptor instead.
func (*Credential) Descriptor() ([]byte, []int) {
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{5}
}

func (x *Credential) GetPublicId() string {
	if x != nil {
		return x.PublicId
	}
	return ""
}

func (x *Credential) GetLibraryId() string {
	if x != nil {
		return x.LibraryId
	}
	return ""
}

func (x *Credential) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *Credential) GetTokenHmac() []byte {
	if x != nil {
		return x.TokenHmac
	}
	return nil
}

func (x *Credential) GetCreateTime() *timestamp.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *Credential) GetUpdateTime() *timestamp.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

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

func (x *Credential) GetExternalId() string {
	if x != nil {
		return x.ExternalId
	}
	return ""
}

func (x *Credential) GetLastRenewalTime() *timestamp.Timestamp {
	if x != nil {
		return x.LastRenewalTime
	}
	return nil
}

func (x *Credential) GetExpirationTime() *timestamp.Timestamp {
	if x != nil {
		return x.ExpirationTime
	}
	return nil
}

func (x *Credential) GetIsRenewable() bool {
	if x != nil {
		return x.IsRenewable
	}
	return false
}

func (x *Credential) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

type UsernamePasswordOverride struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// library_id of the owning vault credential library.
	// @inject_tag: `gorm:"primary_key"`
	LibraryId string `protobuf:"bytes,1,opt,name=library_id,json=libraryId,proto3" json:"library_id,omitempty" gorm:"primary_key"`
	// username_attribute is the name of the attribute in the Data field of a
	// Vault api.Secret that maps to a username.
	// If set, it overrides any default attribute names the system uses to
	// find a username attribute.
	//
	// See https://github.com/hashicorp/vault/blob/5e505ec039177e8212cbbab74ccb644c46e62e63/api/secret.go#L25
	//
	// @inject_tag: `gorm:"default:null"`
	UsernameAttribute string `protobuf:"bytes,2,opt,name=username_attribute,json=usernameAttribute,proto3" json:"username_attribute,omitempty" gorm:"default:null"`
	// password_attribute is the name of the attribute in the Data field of a
	// Vault api.Secret that maps to a password.
	// If set, it overrides any default attribute names the system uses to
	// find a password attribute.
	//
	// See https://github.com/hashicorp/vault/blob/5e505ec039177e8212cbbab74ccb644c46e62e63/api/secret.go#L25
	//
	// @inject_tag: `gorm:"default:null"`
	PasswordAttribute string `protobuf:"bytes,3,opt,name=password_attribute,json=passwordAttribute,proto3" json:"password_attribute,omitempty" gorm:"default:null"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *UsernamePasswordOverride) Reset() {
	*x = UsernamePasswordOverride{}
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UsernamePasswordOverride) ProtoMessage() {}

func (x *UsernamePasswordOverride) ProtoReflect() protoreflect.Message {
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[6]
	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 UsernamePasswordOverride.ProtoReflect.Descriptor instead.
func (*UsernamePasswordOverride) Descriptor() ([]byte, []int) {
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{6}
}

func (x *UsernamePasswordOverride) GetLibraryId() string {
	if x != nil {
		return x.LibraryId
	}
	return ""
}

func (x *UsernamePasswordOverride) GetUsernameAttribute() string {
	if x != nil {
		return x.UsernameAttribute
	}
	return ""
}

func (x *UsernamePasswordOverride) GetPasswordAttribute() string {
	if x != nil {
		return x.PasswordAttribute
	}
	return ""
}

type UsernamePasswordDomainOverride struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// library_id of the owning vault credential library.
	// @inject_tag: `gorm:"primary_key"`
	LibraryId string `protobuf:"bytes,1,opt,name=library_id,json=libraryId,proto3" json:"library_id,omitempty" gorm:"primary_key"`
	// username_attribute is the name of the attribute in the Data field of a
	// Vault api.Secret that maps to a username.
	// If set, it overrides any default attribute names the system uses to
	// find a username attribute.
	//
	// See https://github.com/hashicorp/vault/blob/5e505ec039177e8212cbbab74ccb644c46e62e63/api/secret.go#L25
	//
	// @inject_tag: `gorm:"default:null"`
	UsernameAttribute string `protobuf:"bytes,2,opt,name=username_attribute,json=usernameAttribute,proto3" json:"username_attribute,omitempty" gorm:"default:null"`
	// password_attribute is the name of the attribute in the Data field of a
	// Vault api.Secret that maps to a password.
	// If set, it overrides any default attribute names the system uses to
	// find a password attribute.
	//
	// See https://github.com/hashicorp/vault/blob/5e505ec039177e8212cbbab74ccb644c46e62e63/api/secret.go#L25
	//
	// @inject_tag: `gorm:"default:null"`
	PasswordAttribute string `protobuf:"bytes,3,opt,name=password_attribute,json=passwordAttribute,proto3" json:"password_attribute,omitempty" gorm:"default:null"`
	// domain_attribute is the name of the attribute in the Data field of a
	// Vault api.Secret that maps to a domain.
	// If set, it overrides any default attribute names the system uses to
	// find a domain attribute.
	//
	// See https://github.com/hashicorp/vault/blob/5e505ec039177e8212cbbab74ccb644c46e62e63/api/secret.go#L25
	//
	// @inject_tag: `gorm:"default:null"`
	DomainAttribute string `protobuf:"bytes,4,opt,name=domain_attribute,json=domainAttribute,proto3" json:"domain_attribute,omitempty" gorm:"default:null"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *UsernamePasswordDomainOverride) Reset() {
	*x = UsernamePasswordDomainOverride{}
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UsernamePasswordDomainOverride) ProtoMessage() {}

func (x *UsernamePasswordDomainOverride) ProtoReflect() protoreflect.Message {
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[7]
	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 UsernamePasswordDomainOverride.ProtoReflect.Descriptor instead.
func (*UsernamePasswordDomainOverride) Descriptor() ([]byte, []int) {
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{7}
}

func (x *UsernamePasswordDomainOverride) GetLibraryId() string {
	if x != nil {
		return x.LibraryId
	}
	return ""
}

func (x *UsernamePasswordDomainOverride) GetUsernameAttribute() string {
	if x != nil {
		return x.UsernameAttribute
	}
	return ""
}

func (x *UsernamePasswordDomainOverride) GetPasswordAttribute() string {
	if x != nil {
		return x.PasswordAttribute
	}
	return ""
}

func (x *UsernamePasswordDomainOverride) GetDomainAttribute() string {
	if x != nil {
		return x.DomainAttribute
	}
	return ""
}

type PasswordOverride struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// library_id of the owning vault credential library.
	// @inject_tag: `gorm:"primary_key"`
	LibraryId string `protobuf:"bytes,1,opt,name=library_id,json=libraryId,proto3" json:"library_id,omitempty" gorm:"primary_key"`
	// password_attribute is the name of the attribute in the Data field of a
	// Vault api.Secret that maps to a password.
	// If set, it overrides any default attribute names the system uses to
	// find a password attribute.
	//
	// See https://github.com/hashicorp/vault/blob/5e505ec039177e8212cbbab74ccb644c46e62e63/api/secret.go#L25
	//
	// @inject_tag: `gorm:"default:null"`
	PasswordAttribute string `protobuf:"bytes,2,opt,name=password_attribute,json=passwordAttribute,proto3" json:"password_attribute,omitempty" gorm:"default:null"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *PasswordOverride) Reset() {
	*x = PasswordOverride{}
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PasswordOverride) ProtoMessage() {}

func (x *PasswordOverride) ProtoReflect() protoreflect.Message {
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[8]
	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 PasswordOverride.ProtoReflect.Descriptor instead.
func (*PasswordOverride) Descriptor() ([]byte, []int) {
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{8}
}

func (x *PasswordOverride) GetLibraryId() string {
	if x != nil {
		return x.LibraryId
	}
	return ""
}

func (x *PasswordOverride) GetPasswordAttribute() string {
	if x != nil {
		return x.PasswordAttribute
	}
	return ""
}

type SshPrivateKeyOverride struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// library_id of the owning vault credential library.
	// @inject_tag: `gorm:"primary_key"`
	LibraryId string `protobuf:"bytes,1,opt,name=library_id,json=libraryId,proto3" json:"library_id,omitempty" gorm:"primary_key"`
	// username_attribute is the name of the attribute in the Data field of a
	// Vault api.Secret that maps to a username.
	// If set, it overrides any default attribute names the system uses to
	// find a username attribute.
	//
	// See https://github.com/hashicorp/vault/blob/5e505ec039177e8212cbbab74ccb644c46e62e63/api/secret.go#L25
	//
	// @inject_tag: `gorm:"default:null"`
	UsernameAttribute string `protobuf:"bytes,2,opt,name=username_attribute,json=usernameAttribute,proto3" json:"username_attribute,omitempty" gorm:"default:null"`
	// private_key_attribute is the name of the attribute in the Data field of a
	// Vault api.Secret that maps to a private key.
	// If set, it overrides any default attribute names the system uses to
	// find a private_key attribute.
	//
	// See https://github.com/hashicorp/vault/blob/5e505ec039177e8212cbbab74ccb644c46e62e63/api/secret.go#L25
	//
	// @inject_tag: `gorm:"default:null"`
	PrivateKeyAttribute string `protobuf:"bytes,3,opt,name=private_key_attribute,json=privateKeyAttribute,proto3" json:"private_key_attribute,omitempty" gorm:"default:null"`
	// private_key_passphrase_attribute is the name of the attribute in the Data
	// field of a Vault api.Secret that maps to a private key passphrase. If set,
	// it overrides any default attribute names the system uses to find a
	// private_key_passphrase attribute.
	//
	// See
	// https://github.com/hashicorp/vault/blob/5e505ec039177e8212cbbab74ccb644c46e62e63/api/secret.go#L25
	//
	// @inject_tag: `gorm:"default:null"`
	PrivateKeyPassphraseAttribute string `protobuf:"bytes,4,opt,name=private_key_passphrase_attribute,json=privateKeyPassphraseAttribute,proto3" json:"private_key_passphrase_attribute,omitempty" gorm:"default:null"`
	unknownFields                 protoimpl.UnknownFields
	sizeCache                     protoimpl.SizeCache
}

func (x *SshPrivateKeyOverride) Reset() {
	*x = SshPrivateKeyOverride{}
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SshPrivateKeyOverride) ProtoMessage() {}

func (x *SshPrivateKeyOverride) ProtoReflect() protoreflect.Message {
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[9]
	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 SshPrivateKeyOverride.ProtoReflect.Descriptor instead.
func (*SshPrivateKeyOverride) Descriptor() ([]byte, []int) {
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{9}
}

func (x *SshPrivateKeyOverride) GetLibraryId() string {
	if x != nil {
		return x.LibraryId
	}
	return ""
}

func (x *SshPrivateKeyOverride) GetUsernameAttribute() string {
	if x != nil {
		return x.UsernameAttribute
	}
	return ""
}

func (x *SshPrivateKeyOverride) GetPrivateKeyAttribute() string {
	if x != nil {
		return x.PrivateKeyAttribute
	}
	return ""
}

func (x *SshPrivateKeyOverride) GetPrivateKeyPassphraseAttribute() string {
	if x != nil {
		return x.PrivateKeyPassphraseAttribute
	}
	return ""
}

type LdapCredentialLibrary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// public_id is a surrogate key suitable for use in a public API.
	// @inject_tag: `gorm:"primary_key"`
	PublicId string `protobuf:"bytes,1,opt,name=public_id,json=publicId,proto3" json:"public_id,omitempty" gorm:"primary_key"`
	// create_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty" gorm:"default:current_timestamp"`
	// update_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty" gorm:"default:current_timestamp"`
	// name is optional. If set, it must be unique within project_id.
	// @inject_tag: `gorm:"default:null"`
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty" gorm:"default:null"`
	// description is optional.
	// @inject_tag: `gorm:"default:null"`
	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty" gorm:"default:null"`
	// store_id of the owning vault credential store.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	StoreId string `protobuf:"bytes,6,opt,name=store_id,json=storeId,proto3" json:"store_id,omitempty" gorm:"not_null"`
	// version allows optimistic locking of the resource.
	// @inject_tag: `gorm:"default:null"`
	Version uint32 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty" gorm:"default:null"`
	// vault_path is the path in Vault to request credentials from.
	// It must be set.
	// @inject_tag: `gorm:"not_null"`
	VaultPath string `protobuf:"bytes,8,opt,name=vault_path,json=vaultPath,proto3" json:"vault_path,omitempty" gorm:"not_null"`
	// credential_type is always ssh_certificate
	// @inject_tag: `gorm:"default:null"`
	CredentialType string `protobuf:"bytes,9,opt,name=credential_type,json=credentialType,proto3" json:"credential_type,omitempty" gorm:"default:null"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *LdapCredentialLibrary) Reset() {
	*x = LdapCredentialLibrary{}
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LdapCredentialLibrary) ProtoMessage() {}

func (x *LdapCredentialLibrary) ProtoReflect() protoreflect.Message {
	mi := &file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes[10]
	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 LdapCredentialLibrary.ProtoReflect.Descriptor instead.
func (*LdapCredentialLibrary) Descriptor() ([]byte, []int) {
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{10}
}

func (x *LdapCredentialLibrary) GetPublicId() string {
	if x != nil {
		return x.PublicId
	}
	return ""
}

func (x *LdapCredentialLibrary) GetCreateTime() *timestamp.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *LdapCredentialLibrary) GetUpdateTime() *timestamp.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

func (x *LdapCredentialLibrary) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *LdapCredentialLibrary) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *LdapCredentialLibrary) GetStoreId() string {
	if x != nil {
		return x.StoreId
	}
	return ""
}

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

func (x *LdapCredentialLibrary) GetVaultPath() string {
	if x != nil {
		return x.VaultPath
	}
	return ""
}

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

var File_controller_storage_credential_vault_store_v1_vault_proto protoreflect.FileDescriptor

const file_controller_storage_credential_vault_store_v1_vault_proto_rawDesc = "" +
	"\n" +
	"8controller/storage/credential/vault/store/v1/vault.proto\x12,controller.storage.credential.vault.store.v1\x1a*controller/custom_options/v1/options.proto\x1a/controller/storage/timestamp/v1/timestamp.proto\"\x88\a\n" +
	"\x0fCredentialStore\x12\x1b\n" +
	"\tpublic_id\x18\x01 \x01(\tR\bpublicId\x12K\n" +
	"\vcreate_time\x18\x02 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"createTime\x12K\n" +
	"\vupdate_time\x18\x03 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"updateTime\x12K\n" +
	"\vdelete_time\x18\x04 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"deleteTime\x12$\n" +
	"\x04name\x18\x05 \x01(\tB\x10\xc2\xdd)\f\n" +
	"\x04Name\x12\x04nameR\x04name\x12@\n" +
	"\vdescription\x18\x06 \x01(\tB\x1e\xc2\xdd)\x1a\n" +
	"\vDescription\x12\vdescriptionR\vdescription\x12\x1d\n" +
	"\n" +
	"project_id\x18\a \x01(\tR\tprojectId\x12\x18\n" +
	"\aversion\x18\b \x01(\rR\aversion\x12K\n" +
	"\rvault_address\x18\t \x01(\tB&\xc2\xdd)\"\n" +
	"\fVaultAddress\x12\x12attributes.addressR\fvaultAddress\x12C\n" +
	"\tnamespace\x18\n" +
	" \x01(\tB%\xc2\xdd)!\n" +
	"\tNamespace\x12\x14attributes.namespaceR\tnamespace\x129\n" +
	"\aca_cert\x18\v \x01(\fB \xc2\xdd)\x1c\n" +
	"\x06CaCert\x12\x12attributes.ca_certR\x06caCert\x12W\n" +
	"\x0ftls_server_name\x18\f \x01(\tB/\xc2\xdd)+\n" +
	"\rTlsServerName\x12\x1aattributes.tls_server_nameR\rtlsServerName\x12W\n" +
	"\x0ftls_skip_verify\x18\r \x01(\bB/\xc2\xdd)+\n" +
	"\rTlsSkipVerify\x12\x1aattributes.tls_skip_verifyR\rtlsSkipVerify\x12Q\n" +
	"\rworker_filter\x18\x0e \x01(\tB,\xc2\xdd)(\n" +
	"\fWorkerFilter\x12\x18attributes.worker_filterR\fworkerFilter\"\x87\x04\n" +
	"\x05Token\x12\x1d\n" +
	"\n" +
	"token_hmac\x18\x01 \x01(\fR\ttokenHmac\x123\n" +
	"\x05token\x18\x02 \x01(\fB\x1d\xc2\xdd)\x19\n" +
	"\x05Token\x12\x10attributes.tokenR\x05token\x12\x19\n" +
	"\bct_token\x18\x03 \x01(\fR\actToken\x12\x19\n" +
	"\bstore_id\x18\x04 \x01(\tR\astoreId\x12K\n" +
	"\vcreate_time\x18\x05 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"createTime\x12K\n" +
	"\vupdate_time\x18\x06 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"updateTime\x12V\n" +
	"\x11last_renewal_time\x18\b \x01(\v2*.controller.storage.timestamp.v1.TimestampR\x0flastRenewalTime\x12S\n" +
	"\x0fexpiration_time\x18\t \x01(\v2*.controller.storage.timestamp.v1.TimestampR\x0eexpirationTime\x12\x15\n" +
	"\x06key_id\x18\n" +
	" \x01(\tR\x05keyId\x12\x16\n" +
	"\x06status\x18\v \x01(\tR\x06status\"\xdc\x02\n" +
	"\x11ClientCertificate\x12\x19\n" +
	"\bstore_id\x18\x01 \x01(\tR\astoreId\x12R\n" +
	"\vcertificate\x18\x02 \x01(\fB0\xc2\xdd),\n" +
	"\vCertificate\x12\x1dattributes.client_certificateR\vcertificate\x12`\n" +
	"\x0fcertificate_key\x18\x03 \x01(\fB7\xc2\xdd)3\n" +
	"\x0eCertificateKey\x12!attributes.client_certificate_keyR\x0ecertificateKey\x12,\n" +
	"\x12ct_certificate_key\x18\x04 \x01(\fR\x10ctCertificateKey\x121\n" +
	"\x14certificate_key_hmac\x18\x82\x01 \x01(\fR\x12certificateKeyHmac\x12\x15\n" +
	"\x06key_id\x18\n" +
	" \x01(\tR\x05keyId\"\xfd\x04\n" +
	"\x11CredentialLibrary\x12\x1b\n" +
	"\tpublic_id\x18\x01 \x01(\tR\bpublicId\x12K\n" +
	"\vcreate_time\x18\x02 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"createTime\x12K\n" +
	"\vupdate_time\x18\x03 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"updateTime\x12$\n" +
	"\x04name\x18\x04 \x01(\tB\x10\xc2\xdd)\f\n" +
	"\x04Name\x12\x04nameR\x04name\x12@\n" +
	"\vdescription\x18\x05 \x01(\tB\x1e\xc2\xdd)\x1a\n" +
	"\vDescription\x12\vdescriptionR\vdescription\x12\x19\n" +
	"\bstore_id\x18\x06 \x01(\tR\astoreId\x12\x18\n" +
	"\aversion\x18\a \x01(\rR\aversion\x12?\n" +
	"\n" +
	"vault_path\x18\b \x01(\tB \xc2\xdd)\x1c\n" +
	"\tVaultPath\x12\x0fattributes.pathR\tvaultPath\x12I\n" +
	"\vhttp_method\x18\t \x01(\tB(\xc2\xdd)$\n" +
	"\n" +
	"HttpMethod\x12\x16attributes.http_methodR\n" +
	"httpMethod\x12_\n" +
	"\x11http_request_body\x18\n" +
	" \x01(\fB3\xc2\xdd)/\n" +
	"\x0fHttpRequestBody\x12\x1cattributes.http_request_bodyR\x0fhttpRequestBody\x12'\n" +
	"\x0fcredential_type\x18\v \x01(\tR\x0ecredentialType\"\xb4\b\n" +
	"\x1fSSHCertificateCredentialLibrary\x12\x1b\n" +
	"\tpublic_id\x18\x01 \x01(\tR\bpublicId\x12K\n" +
	"\vcreate_time\x18\x02 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"createTime\x12K\n" +
	"\vupdate_time\x18\x03 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"updateTime\x12$\n" +
	"\x04name\x18\x04 \x01(\tB\x10\xc2\xdd)\f\n" +
	"\x04Name\x12\x04nameR\x04name\x12@\n" +
	"\vdescription\x18\x05 \x01(\tB\x1e\xc2\xdd)\x1a\n" +
	"\vDescription\x12\vdescriptionR\vdescription\x12\x19\n" +
	"\bstore_id\x18\x06 \x01(\tR\astoreId\x12\x18\n" +
	"\aversion\x18\a \x01(\rR\aversion\x12?\n" +
	"\n" +
	"vault_path\x18\b \x01(\tB \xc2\xdd)\x1c\n" +
	"\tVaultPath\x12\x0fattributes.pathR\tvaultPath\x12?\n" +
	"\busername\x18\t \x01(\tB#\xc2\xdd)\x1f\n" +
	"\bUsername\x12\x13attributes.usernameR\busername\x12=\n" +
	"\bkey_type\x18\n" +
	" \x01(\tB\"\xc2\xdd)\x1e\n" +
	"\aKeyType\x12\x13attributes.key_typeR\akeyType\x12=\n" +
	"\bkey_bits\x18\v \x01(\rB\"\xc2\xdd)\x1e\n" +
	"\aKeyBits\x12\x13attributes.key_bitsR\akeyBits\x12+\n" +
	"\x03ttl\x18\f \x01(\tB\x19\xc2\xdd)\x15\n" +
	"\x03Ttl\x12\x0eattributes.ttlR\x03ttl\x125\n" +
	"\x06key_id\x18\r \x01(\tB\x1e\xc2\xdd)\x1a\n" +
	"\x05KeyId\x12\x11attributes.key_idR\x05keyId\x12]\n" +
	"\x10critical_options\x18\x0e \x01(\tB2\xc2\xdd).\n" +
	"\x0fCriticalOptions\x12\x1battributes.critical_optionsR\x0fcriticalOptions\x12G\n" +
	"\n" +
	"extensions\x18\x0f \x01(\tB'\xc2\xdd)#\n" +
	"\n" +
	"Extensions\x12\x15attributes.extensionsR\n" +
	"extensions\x12'\n" +
	"\x0fcredential_type\x18\x10 \x01(\tR\x0ecredentialType\x12\x87\x01\n" +
	"\x1badditional_valid_principals\x18\x11 \x01(\tBG\xc2\xdd)C\n" +
	"\x19AdditionalValidPrincipals\x12&attributes.additional_valid_principalsR\x19additionalValidPrincipals\"\xc3\x04\n" +
	"\n" +
	"Credential\x12\x1b\n" +
	"\tpublic_id\x18\x01 \x01(\tR\bpublicId\x12\x1d\n" +
	"\n" +
	"library_id\x18\x02 \x01(\tR\tlibraryId\x12\x1d\n" +
	"\n" +
	"session_id\x18\x03 \x01(\tR\tsessionId\x12\x1d\n" +
	"\n" +
	"token_hmac\x18\x04 \x01(\fR\ttokenHmac\x12K\n" +
	"\vcreate_time\x18\x05 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"createTime\x12K\n" +
	"\vupdate_time\x18\x06 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"updateTime\x12\x18\n" +
	"\aversion\x18\a \x01(\rR\aversion\x12\x1f\n" +
	"\vexternal_id\x18\b \x01(\tR\n" +
	"externalId\x12V\n" +
	"\x11last_renewal_time\x18\t \x01(\v2*.controller.storage.timestamp.v1.TimestampR\x0flastRenewalTime\x12S\n" +
	"\x0fexpiration_time\x18\n" +
	" \x01(\v2*.controller.storage.timestamp.v1.TimestampR\x0eexpirationTime\x12!\n" +
	"\fis_renewable\x18\v \x01(\bR\visRenewable\x12\x16\n" +
	"\x06status\x18\f \x01(\tR\x06status\"\x97\x01\n" +
	"\x18UsernamePasswordOverride\x12\x1d\n" +
	"\n" +
	"library_id\x18\x01 \x01(\tR\tlibraryId\x12-\n" +
	"\x12username_attribute\x18\x02 \x01(\tR\x11usernameAttribute\x12-\n" +
	"\x12password_attribute\x18\x03 \x01(\tR\x11passwordAttribute\"\xc8\x01\n" +
	"\x1eUsernamePasswordDomainOverride\x12\x1d\n" +
	"\n" +
	"library_id\x18\x01 \x01(\tR\tlibraryId\x12-\n" +
	"\x12username_attribute\x18\x02 \x01(\tR\x11usernameAttribute\x12-\n" +
	"\x12password_attribute\x18\x03 \x01(\tR\x11passwordAttribute\x12)\n" +
	"\x10domain_attribute\x18\x04 \x01(\tR\x0fdomainAttribute\"`\n" +
	"\x10PasswordOverride\x12\x1d\n" +
	"\n" +
	"library_id\x18\x01 \x01(\tR\tlibraryId\x12-\n" +
	"\x12password_attribute\x18\x02 \x01(\tR\x11passwordAttribute\"\xe2\x01\n" +
	"\x15SshPrivateKeyOverride\x12\x1d\n" +
	"\n" +
	"library_id\x18\x01 \x01(\tR\tlibraryId\x12-\n" +
	"\x12username_attribute\x18\x02 \x01(\tR\x11usernameAttribute\x122\n" +
	"\x15private_key_attribute\x18\x03 \x01(\tR\x13privateKeyAttribute\x12G\n" +
	" private_key_passphrase_attribute\x18\x04 \x01(\tR\x1dprivateKeyPassphraseAttribute\"\xd5\x03\n" +
	"\x15LdapCredentialLibrary\x12\x1b\n" +
	"\tpublic_id\x18\x01 \x01(\tR\bpublicId\x12K\n" +
	"\vcreate_time\x18\x02 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"createTime\x12K\n" +
	"\vupdate_time\x18\x03 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"updateTime\x12$\n" +
	"\x04name\x18\x04 \x01(\tB\x10\xc2\xdd)\f\n" +
	"\x04Name\x12\x04nameR\x04name\x12@\n" +
	"\vdescription\x18\x05 \x01(\tB\x1e\xc2\xdd)\x1a\n" +
	"\vDescription\x12\vdescriptionR\vdescription\x12\x19\n" +
	"\bstore_id\x18\x06 \x01(\tR\astoreId\x12\x18\n" +
	"\aversion\x18\a \x01(\rR\aversion\x12?\n" +
	"\n" +
	"vault_path\x18\b \x01(\tB \xc2\xdd)\x1c\n" +
	"\tVaultPath\x12\x0fattributes.pathR\tvaultPath\x12'\n" +
	"\x0fcredential_type\x18\t \x01(\tR\x0ecredentialTypeBEZCgithub.com/hashicorp/boundary/internal/credential/vault/store;storeb\x06proto3"

var (
	file_controller_storage_credential_vault_store_v1_vault_proto_rawDescOnce sync.Once
	file_controller_storage_credential_vault_store_v1_vault_proto_rawDescData []byte
)

func file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP() []byte {
	file_controller_storage_credential_vault_store_v1_vault_proto_rawDescOnce.Do(func() {
		file_controller_storage_credential_vault_store_v1_vault_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_controller_storage_credential_vault_store_v1_vault_proto_rawDesc), len(file_controller_storage_credential_vault_store_v1_vault_proto_rawDesc)))
	})
	return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescData
}

var file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_controller_storage_credential_vault_store_v1_vault_proto_goTypes = []any{
	(*CredentialStore)(nil),                 // 0: controller.storage.credential.vault.store.v1.CredentialStore
	(*Token)(nil),                           // 1: controller.storage.credential.vault.store.v1.Token
	(*ClientCertificate)(nil),               // 2: controller.storage.credential.vault.store.v1.ClientCertificate
	(*CredentialLibrary)(nil),               // 3: controller.storage.credential.vault.store.v1.CredentialLibrary
	(*SSHCertificateCredentialLibrary)(nil), // 4: controller.storage.credential.vault.store.v1.SSHCertificateCredentialLibrary
	(*Credential)(nil),                      // 5: controller.storage.credential.vault.store.v1.Credential
	(*UsernamePasswordOverride)(nil),        // 6: controller.storage.credential.vault.store.v1.UsernamePasswordOverride
	(*UsernamePasswordDomainOverride)(nil),  // 7: controller.storage.credential.vault.store.v1.UsernamePasswordDomainOverride
	(*PasswordOverride)(nil),                // 8: controller.storage.credential.vault.store.v1.PasswordOverride
	(*SshPrivateKeyOverride)(nil),           // 9: controller.storage.credential.vault.store.v1.SshPrivateKeyOverride
	(*LdapCredentialLibrary)(nil),           // 10: controller.storage.credential.vault.store.v1.LdapCredentialLibrary
	(*timestamp.Timestamp)(nil),             // 11: controller.storage.timestamp.v1.Timestamp
}
var file_controller_storage_credential_vault_store_v1_vault_proto_depIdxs = []int32{
	11, // 0: controller.storage.credential.vault.store.v1.CredentialStore.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 1: controller.storage.credential.vault.store.v1.CredentialStore.update_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 2: controller.storage.credential.vault.store.v1.CredentialStore.delete_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 3: controller.storage.credential.vault.store.v1.Token.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 4: controller.storage.credential.vault.store.v1.Token.update_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 5: controller.storage.credential.vault.store.v1.Token.last_renewal_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 6: controller.storage.credential.vault.store.v1.Token.expiration_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 7: controller.storage.credential.vault.store.v1.CredentialLibrary.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 8: controller.storage.credential.vault.store.v1.CredentialLibrary.update_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 9: controller.storage.credential.vault.store.v1.SSHCertificateCredentialLibrary.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 10: controller.storage.credential.vault.store.v1.SSHCertificateCredentialLibrary.update_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 11: controller.storage.credential.vault.store.v1.Credential.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 12: controller.storage.credential.vault.store.v1.Credential.update_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 13: controller.storage.credential.vault.store.v1.Credential.last_renewal_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 14: controller.storage.credential.vault.store.v1.Credential.expiration_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 15: controller.storage.credential.vault.store.v1.LdapCredentialLibrary.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
	11, // 16: controller.storage.credential.vault.store.v1.LdapCredentialLibrary.update_time:type_name -> controller.storage.timestamp.v1.Timestamp
	17, // [17:17] is the sub-list for method output_type
	17, // [17:17] is the sub-list for method input_type
	17, // [17:17] is the sub-list for extension type_name
	17, // [17:17] is the sub-list for extension extendee
	0,  // [0:17] is the sub-list for field type_name
}

func init() { file_controller_storage_credential_vault_store_v1_vault_proto_init() }
func file_controller_storage_credential_vault_store_v1_vault_proto_init() {
	if File_controller_storage_credential_vault_store_v1_vault_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_controller_storage_credential_vault_store_v1_vault_proto_rawDesc), len(file_controller_storage_credential_vault_store_v1_vault_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   11,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_controller_storage_credential_vault_store_v1_vault_proto_goTypes,
		DependencyIndexes: file_controller_storage_credential_vault_store_v1_vault_proto_depIdxs,
		MessageInfos:      file_controller_storage_credential_vault_store_v1_vault_proto_msgTypes,
	}.Build()
	File_controller_storage_credential_vault_store_v1_vault_proto = out.File
	file_controller_storage_credential_vault_store_v1_vault_proto_goTypes = nil
	file_controller_storage_credential_vault_store_v1_vault_proto_depIdxs = nil
}
