// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: BUSL-1.1 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.6 // 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 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[7] 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[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 SshPrivateKeyOverride.ProtoReflect.Descriptor instead. func (*SshPrivateKeyOverride) Descriptor() ([]byte, []int) { return file_controller_storage_credential_vault_store_v1_vault_proto_rawDescGZIP(), []int{7} } 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 "" } 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\"\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\x1dprivateKeyPassphraseAttributeBEZCgithub.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, 8) 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 (*SshPrivateKeyOverride)(nil), // 7: controller.storage.credential.vault.store.v1.SshPrivateKeyOverride (*timestamp.Timestamp)(nil), // 8: controller.storage.timestamp.v1.Timestamp } var file_controller_storage_credential_vault_store_v1_vault_proto_depIdxs = []int32{ 8, // 0: controller.storage.credential.vault.store.v1.CredentialStore.create_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 1: controller.storage.credential.vault.store.v1.CredentialStore.update_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 2: controller.storage.credential.vault.store.v1.CredentialStore.delete_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 3: controller.storage.credential.vault.store.v1.Token.create_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 4: controller.storage.credential.vault.store.v1.Token.update_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 5: controller.storage.credential.vault.store.v1.Token.last_renewal_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 6: controller.storage.credential.vault.store.v1.Token.expiration_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 7: controller.storage.credential.vault.store.v1.CredentialLibrary.create_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 8: controller.storage.credential.vault.store.v1.CredentialLibrary.update_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 9: controller.storage.credential.vault.store.v1.SSHCertificateCredentialLibrary.create_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 10: controller.storage.credential.vault.store.v1.SSHCertificateCredentialLibrary.update_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 11: controller.storage.credential.vault.store.v1.Credential.create_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 12: controller.storage.credential.vault.store.v1.Credential.update_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 13: controller.storage.credential.vault.store.v1.Credential.last_renewal_time:type_name -> controller.storage.timestamp.v1.Timestamp 8, // 14: controller.storage.credential.vault.store.v1.Credential.expiration_time:type_name -> controller.storage.timestamp.v1.Timestamp 15, // [15:15] is the sub-list for method output_type 15, // [15:15] is the sub-list for method input_type 15, // [15:15] is the sub-list for extension type_name 15, // [15:15] is the sub-list for extension extendee 0, // [0:15] 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: 8, 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 }