// 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/host/plugin/store/v1/host.proto

// Package store provides protobufs for storing types in the plugin host
// 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 HostCatalog 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"`
	// 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"`
	// The project_id of the owning scope and must be set.
	// @inject_tag: `gorm:"not_null"`
	ProjectId string `protobuf:"bytes,6,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty" gorm:"not_null"`
	// The public id of the plugin this catalog uses.
	// @inject_tag: `gorm:"not_null"`
	PluginId string `protobuf:"bytes,7,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_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"`
	// secrets_hmac is a sha256-hmac of the unencrypted secrets that is returned
	// from the API for read.  It is recalculated everytime the raw secrets are
	// updated.
	// @inject_tag: `gorm:"default:null"`
	SecretsHmac []byte `protobuf:"bytes,9,opt,name=secrets_hmac,json=secretsHmac,proto3" json:"secrets_hmac,omitempty" gorm:"default:null"`
	// attributes is a jsonb formatted field.
	// @inject_tag: `gorm:"not_null"`
	Attributes []byte `protobuf:"bytes,10,opt,name=attributes,proto3" json:"attributes,omitempty" gorm:"not_null"`
	// worker_filter is optional.
	// @inject_tag: `gorm:"default:null"`
	WorkerFilter  string `protobuf:"bytes,11,opt,name=worker_filter,json=workerFilter,proto3" json:"worker_filter,omitempty" gorm:"default:null"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*HostCatalog) ProtoMessage() {}

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

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

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

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

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

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

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

func (x *HostCatalog) GetPluginId() string {
	if x != nil {
		return x.PluginId
	}
	return ""
}

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

func (x *HostCatalog) GetSecretsHmac() []byte {
	if x != nil {
		return x.SecretsHmac
	}
	return nil
}

func (x *HostCatalog) GetAttributes() []byte {
	if x != nil {
		return x.Attributes
	}
	return nil
}

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

type HostSet 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 last_sync_time is updated every time a host set has been synced.
	// @inject_tag: `gorm:"default:null"`
	LastSyncTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=last_sync_time,json=lastSyncTime,proto3" json:"last_sync_time,omitempty" gorm:"default:null"`
	// The need_sync indicates that a sync needs to happen.
	// @inject_tag: `gorm:"not_null"`
	NeedSync bool `protobuf:"varint,5,opt,name=need_sync,json=needSync,proto3" json:"need_sync,omitempty" gorm:"not_null"`
	// name is optional. If set, it must be unique within
	// catalog_id.
	// @inject_tag: `gorm:"default:null"`
	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty" gorm:"default:null"`
	// description is optional.
	// @inject_tag: `gorm:"default:null"`
	Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty" gorm:"default:null"`
	// catalog_id is the public_id of the owning
	// plugin_host_catalog and must be set.
	// @inject_tag: `gorm:"not_null"`
	CatalogId string `protobuf:"bytes,8,opt,name=catalog_id,json=catalogId,proto3" json:"catalog_id,omitempty" gorm:"not_null"`
	// version allows optimistic locking of the resource
	// @inject_tag: `gorm:"default:null"`
	Version uint32 `protobuf:"varint,9,opt,name=version,proto3" json:"version,omitempty" gorm:"default:null"`
	// attributes is a byte field containing marshaled JSON data
	// @inject_tag: `gorm:"not_null"`
	Attributes []byte `protobuf:"bytes,10,opt,name=attributes,proto3" json:"attributes,omitempty" gorm:"not_null"`
	// preferred_endpoints stores string preference values
	// @inject_tag: `gorm:"-"`
	PreferredEndpoints []string `protobuf:"bytes,11,rep,name=preferred_endpoints,json=preferredEndpoints,proto3" json:"preferred_endpoints,omitempty" gorm:"-"`
	// Sync interval is a value representing a duration in seconds
	// @inject_tag: `gorm:"default:null"`
	SyncIntervalSeconds int32 `protobuf:"varint,12,opt,name=sync_interval_seconds,json=syncIntervalSeconds,proto3" json:"sync_interval_seconds,omitempty" gorm:"default:null"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*HostSet) ProtoMessage() {}

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

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

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

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

func (x *HostSet) GetLastSyncTime() *timestamp.Timestamp {
	if x != nil {
		return x.LastSyncTime
	}
	return nil
}

func (x *HostSet) GetNeedSync() bool {
	if x != nil {
		return x.NeedSync
	}
	return false
}

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

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

func (x *HostSet) GetCatalogId() string {
	if x != nil {
		return x.CatalogId
	}
	return ""
}

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

func (x *HostSet) GetAttributes() []byte {
	if x != nil {
		return x.Attributes
	}
	return nil
}

func (x *HostSet) GetPreferredEndpoints() []string {
	if x != nil {
		return x.PreferredEndpoints
	}
	return nil
}

func (x *HostSet) GetSyncIntervalSeconds() int32 {
	if x != nil {
		return x.SyncIntervalSeconds
	}
	return 0
}

type HostCatalogSecret struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// catalog_id is the public id of the catalog containing this secret.
	// @inject_tag: `gorm:"primary_key"`
	CatalogId string `protobuf:"bytes,1,opt,name=catalog_id,json=catalogId,proto3" json:"catalog_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"`
	// attributes is the plain-text of the attribute data.  We are not storing
	// this plain-text value in the database.
	// @inject_tag: `gorm:"-" wrapping:"pt,secret_data"`
	Secret []byte `protobuf:"bytes,4,opt,name=secret,proto3" json:"secret,omitempty" gorm:"-" wrapping:"pt,secret_data"`
	// ct_attributes is the ciphertext of the attribute data stored in the db.
	// @inject_tag: `gorm:"column:secret;not_null" wrapping:"ct,secret_data"`
	CtSecret []byte `protobuf:"bytes,5,opt,name=ct_secret,json=ctSecret,proto3" json:"ct_secret,omitempty" gorm:"column:secret;not_null" wrapping:"ct,secret_data"`
	// 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,6,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty" gorm:"not_null"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*HostCatalogSecret) ProtoMessage() {}

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

func (x *HostCatalogSecret) GetCatalogId() string {
	if x != nil {
		return x.CatalogId
	}
	return ""
}

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

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

func (x *HostCatalogSecret) GetSecret() []byte {
	if x != nil {
		return x.Secret
	}
	return nil
}

func (x *HostCatalogSecret) GetCtSecret() []byte {
	if x != nil {
		return x.CtSecret
	}
	return nil
}

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

// TODO: Add a field which tracks if the host in cache should be considered
//
//	invalid and fall back to the plugin provided data.
type Host 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"`
	// external_id is an id provided by the plugin.
	// @inject_tag: `gorm:"not_null"`
	ExternalId string `protobuf:"bytes,2,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty" gorm:"not_null"`
	// external_name is an optional name provided by the plugin.
	// @inject_tag: `gorm:"default:null"`
	ExternalName string `protobuf:"bytes,11,opt,name=external_name,json=externalName,proto3" json:"external_name,omitempty" gorm:"default:null"`
	// The create_time is set by the database.
	// @inject_tag: `gorm:"default:current_timestamp"`
	CreateTime *timestamp.Timestamp `protobuf:"bytes,3,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,4,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
	// catalog_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"`
	// catalog_id is the public_id of the owning
	// plugin_host_catalog and must be set.
	// @inject_tag: `gorm:"not_null"`
	CatalogId string `protobuf:"bytes,7,opt,name=catalog_id,json=catalogId,proto3" json:"catalog_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"`
	// ip_addresses are the ip addresses associated with this host and will
	// be persisted in the db through the HostAddress message.
	// @inject_tag: `gorm:"-"`
	IpAddresses []string `protobuf:"bytes,9,rep,name=ip_addresses,json=ipAddresses,proto3" json:"ip_addresses,omitempty" gorm:"-"`
	// dns_names are the dns names associated with this host and will
	// be persisted in the db through the HostAddress message.
	// @inject_tag: `gorm:"-"`
	DnsNames      []string `protobuf:"bytes,10,rep,name=dns_names,json=dnsNames,proto3" json:"dns_names,omitempty" gorm:"-"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Host) ProtoMessage() {}

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

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

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

func (x *Host) GetExternalName() string {
	if x != nil {
		return x.ExternalName
	}
	return ""
}

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

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

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

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

func (x *Host) GetCatalogId() string {
	if x != nil {
		return x.CatalogId
	}
	return ""
}

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

func (x *Host) GetIpAddresses() []string {
	if x != nil {
		return x.IpAddresses
	}
	return nil
}

func (x *Host) GetDnsNames() []string {
	if x != nil {
		return x.DnsNames
	}
	return nil
}

type HostSetMember struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// @inject_tag: `gorm:"primary_key"`
	HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty" gorm:"primary_key"`
	// @inject_tag: `gorm:"primary_key"`
	SetId string `protobuf:"bytes,2,opt,name=set_id,json=setId,proto3" json:"set_id,omitempty" gorm:"primary_key"`
	// @inject_tag: `gorm:"default:null"`
	CatalogId     string `protobuf:"bytes,3,opt,name=catalog_id,json=catalogId,proto3" json:"catalog_id,omitempty" gorm:"default:null"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*HostSetMember) ProtoMessage() {}

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

func (x *HostSetMember) GetHostId() string {
	if x != nil {
		return x.HostId
	}
	return ""
}

func (x *HostSetMember) GetSetId() string {
	if x != nil {
		return x.SetId
	}
	return ""
}

func (x *HostSetMember) GetCatalogId() string {
	if x != nil {
		return x.CatalogId
	}
	return ""
}

var File_controller_storage_host_plugin_store_v1_host_proto protoreflect.FileDescriptor

const file_controller_storage_host_plugin_store_v1_host_proto_rawDesc = "" +
	"\n" +
	"2controller/storage/host/plugin/store/v1/host.proto\x12'controller.storage.host.plugin.store.v1\x1a*controller/custom_options/v1/options.proto\x1a/controller/storage/timestamp/v1/timestamp.proto\"\x8d\x04\n" +
	"\vHostCatalog\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\x1d\n" +
	"\n" +
	"project_id\x18\x06 \x01(\tR\tprojectId\x12\x1b\n" +
	"\tplugin_id\x18\a \x01(\tR\bpluginId\x12\x18\n" +
	"\aversion\x18\b \x01(\rR\aversion\x12!\n" +
	"\fsecrets_hmac\x18\t \x01(\fR\vsecretsHmac\x12\x1e\n" +
	"\n" +
	"attributes\x18\n" +
	" \x01(\fR\n" +
	"attributes\x12F\n" +
	"\rworker_filter\x18\v \x01(\tB!\xc2\xdd)\x1d\n" +
	"\fWorkerFilter\x12\rworker_filterR\fworkerFilter\"\xb6\x05\n" +
	"\aHostSet\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\x12P\n" +
	"\x0elast_sync_time\x18\x04 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\flastSyncTime\x12\x1b\n" +
	"\tneed_sync\x18\x05 \x01(\bR\bneedSync\x12$\n" +
	"\x04name\x18\x06 \x01(\tB\x10\xc2\xdd)\f\n" +
	"\x04name\x12\x04nameR\x04name\x12@\n" +
	"\vdescription\x18\a \x01(\tB\x1e\xc2\xdd)\x1a\n" +
	"\vdescription\x12\vdescriptionR\vdescription\x12\x1d\n" +
	"\n" +
	"catalog_id\x18\b \x01(\tR\tcatalogId\x12\x18\n" +
	"\aversion\x18\t \x01(\rR\aversion\x12\x1e\n" +
	"\n" +
	"attributes\x18\n" +
	" \x01(\fR\n" +
	"attributes\x12^\n" +
	"\x13preferred_endpoints\x18\v \x03(\tB-\xc2\xdd))\n" +
	"\x12PreferredEndpoints\x12\x13preferred_endpointsR\x12preferredEndpoints\x12d\n" +
	"\x15sync_interval_seconds\x18\f \x01(\x05B0\xc2\xdd),\n" +
	"\x13SyncIntervalSeconds\x12\x15sync_interval_secondsR\x13syncIntervalSeconds\"\x98\x02\n" +
	"\x11HostCatalogSecret\x12\x1d\n" +
	"\n" +
	"catalog_id\x18\x01 \x01(\tR\tcatalogId\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\x16\n" +
	"\x06secret\x18\x04 \x01(\fR\x06secret\x12\x1b\n" +
	"\tct_secret\x18\x05 \x01(\fR\bctSecret\x12\x15\n" +
	"\x06key_id\x18\x06 \x01(\tR\x05keyId\"\xb2\x03\n" +
	"\x04Host\x12\x1b\n" +
	"\tpublic_id\x18\x01 \x01(\tR\bpublicId\x12\x1f\n" +
	"\vexternal_id\x18\x02 \x01(\tR\n" +
	"externalId\x12#\n" +
	"\rexternal_name\x18\v \x01(\tR\fexternalName\x12K\n" +
	"\vcreate_time\x18\x03 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"createTime\x12K\n" +
	"\vupdate_time\x18\x04 \x01(\v2*.controller.storage.timestamp.v1.TimestampR\n" +
	"updateTime\x12\x12\n" +
	"\x04name\x18\x05 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x06 \x01(\tR\vdescription\x12\x1d\n" +
	"\n" +
	"catalog_id\x18\a \x01(\tR\tcatalogId\x12\x18\n" +
	"\aversion\x18\b \x01(\rR\aversion\x12!\n" +
	"\fip_addresses\x18\t \x03(\tR\vipAddresses\x12\x1b\n" +
	"\tdns_names\x18\n" +
	" \x03(\tR\bdnsNames\"^\n" +
	"\rHostSetMember\x12\x17\n" +
	"\ahost_id\x18\x01 \x01(\tR\x06hostId\x12\x15\n" +
	"\x06set_id\x18\x02 \x01(\tR\x05setId\x12\x1d\n" +
	"\n" +
	"catalog_id\x18\x03 \x01(\tR\tcatalogIdB@Z>github.com/hashicorp/boundary/internal/host/plugin/store;storeb\x06proto3"

var (
	file_controller_storage_host_plugin_store_v1_host_proto_rawDescOnce sync.Once
	file_controller_storage_host_plugin_store_v1_host_proto_rawDescData []byte
)

func file_controller_storage_host_plugin_store_v1_host_proto_rawDescGZIP() []byte {
	file_controller_storage_host_plugin_store_v1_host_proto_rawDescOnce.Do(func() {
		file_controller_storage_host_plugin_store_v1_host_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_controller_storage_host_plugin_store_v1_host_proto_rawDesc), len(file_controller_storage_host_plugin_store_v1_host_proto_rawDesc)))
	})
	return file_controller_storage_host_plugin_store_v1_host_proto_rawDescData
}

var file_controller_storage_host_plugin_store_v1_host_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_controller_storage_host_plugin_store_v1_host_proto_goTypes = []any{
	(*HostCatalog)(nil),         // 0: controller.storage.host.plugin.store.v1.HostCatalog
	(*HostSet)(nil),             // 1: controller.storage.host.plugin.store.v1.HostSet
	(*HostCatalogSecret)(nil),   // 2: controller.storage.host.plugin.store.v1.HostCatalogSecret
	(*Host)(nil),                // 3: controller.storage.host.plugin.store.v1.Host
	(*HostSetMember)(nil),       // 4: controller.storage.host.plugin.store.v1.HostSetMember
	(*timestamp.Timestamp)(nil), // 5: controller.storage.timestamp.v1.Timestamp
}
var file_controller_storage_host_plugin_store_v1_host_proto_depIdxs = []int32{
	5, // 0: controller.storage.host.plugin.store.v1.HostCatalog.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
	5, // 1: controller.storage.host.plugin.store.v1.HostCatalog.update_time:type_name -> controller.storage.timestamp.v1.Timestamp
	5, // 2: controller.storage.host.plugin.store.v1.HostSet.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
	5, // 3: controller.storage.host.plugin.store.v1.HostSet.update_time:type_name -> controller.storage.timestamp.v1.Timestamp
	5, // 4: controller.storage.host.plugin.store.v1.HostSet.last_sync_time:type_name -> controller.storage.timestamp.v1.Timestamp
	5, // 5: controller.storage.host.plugin.store.v1.HostCatalogSecret.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
	5, // 6: controller.storage.host.plugin.store.v1.HostCatalogSecret.update_time:type_name -> controller.storage.timestamp.v1.Timestamp
	5, // 7: controller.storage.host.plugin.store.v1.Host.create_time:type_name -> controller.storage.timestamp.v1.Timestamp
	5, // 8: controller.storage.host.plugin.store.v1.Host.update_time:type_name -> controller.storage.timestamp.v1.Timestamp
	9, // [9:9] is the sub-list for method output_type
	9, // [9:9] is the sub-list for method input_type
	9, // [9:9] is the sub-list for extension type_name
	9, // [9:9] is the sub-list for extension extendee
	0, // [0:9] is the sub-list for field type_name
}

func init() { file_controller_storage_host_plugin_store_v1_host_proto_init() }
func file_controller_storage_host_plugin_store_v1_host_proto_init() {
	if File_controller_storage_host_plugin_store_v1_host_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_host_plugin_store_v1_host_proto_rawDesc), len(file_controller_storage_host_plugin_store_v1_host_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   5,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_controller_storage_host_plugin_store_v1_host_proto_goTypes,
		DependencyIndexes: file_controller_storage_host_plugin_store_v1_host_proto_depIdxs,
		MessageInfos:      file_controller_storage_host_plugin_store_v1_host_proto_msgTypes,
	}.Build()
	File_controller_storage_host_plugin_store_v1_host_proto = out.File
	file_controller_storage_host_plugin_store_v1_host_proto_goTypes = nil
	file_controller_storage_host_plugin_store_v1_host_proto_depIdxs = nil
}
