// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.33.2
// source: google/cloud/aiplatform/v1/feature_view.proto

package aiplatformpb

import (
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"

	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)

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)
)

// Service agent type used during data sync.
type FeatureView_ServiceAgentType int32

const (
	// By default, the project-level Vertex AI Service Agent is enabled.
	FeatureView_SERVICE_AGENT_TYPE_UNSPECIFIED FeatureView_ServiceAgentType = 0
	// Indicates the project-level Vertex AI Service Agent
	// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
	// will be used during sync jobs.
	FeatureView_SERVICE_AGENT_TYPE_PROJECT FeatureView_ServiceAgentType = 1
	// Enable a FeatureView service account to be created by Vertex AI and
	// output in the field `service_account_email`. This service account will
	// be used to read from the source BigQuery table during sync.
	FeatureView_SERVICE_AGENT_TYPE_FEATURE_VIEW FeatureView_ServiceAgentType = 2
)

// Enum value maps for FeatureView_ServiceAgentType.
var (
	FeatureView_ServiceAgentType_name = map[int32]string{
		0: "SERVICE_AGENT_TYPE_UNSPECIFIED",
		1: "SERVICE_AGENT_TYPE_PROJECT",
		2: "SERVICE_AGENT_TYPE_FEATURE_VIEW",
	}
	FeatureView_ServiceAgentType_value = map[string]int32{
		"SERVICE_AGENT_TYPE_UNSPECIFIED":  0,
		"SERVICE_AGENT_TYPE_PROJECT":      1,
		"SERVICE_AGENT_TYPE_FEATURE_VIEW": 2,
	}
)

func (x FeatureView_ServiceAgentType) Enum() *FeatureView_ServiceAgentType {
	p := new(FeatureView_ServiceAgentType)
	*p = x
	return p
}

func (x FeatureView_ServiceAgentType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (FeatureView_ServiceAgentType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[0].Descriptor()
}

func (FeatureView_ServiceAgentType) Type() protoreflect.EnumType {
	return &file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[0]
}

func (x FeatureView_ServiceAgentType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use FeatureView_ServiceAgentType.Descriptor instead.
func (FeatureView_ServiceAgentType) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 0}
}

// The distance measure used in nearest neighbor search.
type FeatureView_IndexConfig_DistanceMeasureType int32

const (
	// Should not be set.
	FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED FeatureView_IndexConfig_DistanceMeasureType = 0
	// Euclidean (L_2) Distance.
	FeatureView_IndexConfig_SQUARED_L2_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 1
	// Cosine Distance. Defined as 1 - cosine similarity.
	//
	// We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead
	// of COSINE distance. Our algorithms have been more optimized for
	// DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is
	// mathematically equivalent to COSINE distance and results in the same
	// ranking.
	FeatureView_IndexConfig_COSINE_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 2
	// Dot Product Distance. Defined as a negative of the dot product.
	FeatureView_IndexConfig_DOT_PRODUCT_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 3
)

// Enum value maps for FeatureView_IndexConfig_DistanceMeasureType.
var (
	FeatureView_IndexConfig_DistanceMeasureType_name = map[int32]string{
		0: "DISTANCE_MEASURE_TYPE_UNSPECIFIED",
		1: "SQUARED_L2_DISTANCE",
		2: "COSINE_DISTANCE",
		3: "DOT_PRODUCT_DISTANCE",
	}
	FeatureView_IndexConfig_DistanceMeasureType_value = map[string]int32{
		"DISTANCE_MEASURE_TYPE_UNSPECIFIED": 0,
		"SQUARED_L2_DISTANCE":               1,
		"COSINE_DISTANCE":                   2,
		"DOT_PRODUCT_DISTANCE":              3,
	}
)

func (x FeatureView_IndexConfig_DistanceMeasureType) Enum() *FeatureView_IndexConfig_DistanceMeasureType {
	p := new(FeatureView_IndexConfig_DistanceMeasureType)
	*p = x
	return p
}

func (x FeatureView_IndexConfig_DistanceMeasureType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (FeatureView_IndexConfig_DistanceMeasureType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[1].Descriptor()
}

func (FeatureView_IndexConfig_DistanceMeasureType) Type() protoreflect.EnumType {
	return &file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[1]
}

func (x FeatureView_IndexConfig_DistanceMeasureType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use FeatureView_IndexConfig_DistanceMeasureType.Descriptor instead.
func (FeatureView_IndexConfig_DistanceMeasureType) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0}
}

// FeatureView is representation of values that the FeatureOnlineStore will
// serve based on its syncConfig.
type FeatureView struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Source:
	//
	//	*FeatureView_BigQuerySource_
	//	*FeatureView_FeatureRegistrySource_
	//	*FeatureView_VertexRagSource_
	Source isFeatureView_Source `protobuf_oneof:"source"`
	// Identifier. Name of the FeatureView. Format:
	// `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Output only. Timestamp when this FeatureView was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Output only. Timestamp when this FeatureView was last updated.
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	// Optional. Used to perform consistent read-modify-write updates. If not set,
	// a blind "overwrite" update happens.
	Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"`
	// Optional. The labels with user-defined metadata to organize your
	// FeatureViews.
	//
	// Label keys and values can be no longer than 64 characters
	// (Unicode codepoints), can only contain lowercase letters, numeric
	// characters, underscores and dashes. International characters are allowed.
	//
	// See https://goo.gl/xmQnxf for more information on and examples of labels.
	// No more than 64 user labels can be associated with one
	// FeatureOnlineStore(System labels are excluded)." System reserved label keys
	// are prefixed with "aiplatform.googleapis.com/" and are immutable.
	Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Configures when data is to be synced/updated for this FeatureView. At the
	// end of the sync the latest featureValues for each entityId of this
	// FeatureView are made ready for online serving.
	SyncConfig *FeatureView_SyncConfig `protobuf:"bytes,7,opt,name=sync_config,json=syncConfig,proto3" json:"sync_config,omitempty"`
	// Optional. Configuration for index preparation for vector search. It
	// contains the required configurations to create an index from source data,
	// so that approximate nearest neighbor (a.k.a ANN) algorithms search can be
	// performed during online serving.
	IndexConfig *FeatureView_IndexConfig `protobuf:"bytes,15,opt,name=index_config,json=indexConfig,proto3" json:"index_config,omitempty"`
	// Optional. Configuration for FeatureView created under Optimized
	// FeatureOnlineStore.
	OptimizedConfig *FeatureView_OptimizedConfig `protobuf:"bytes,16,opt,name=optimized_config,json=optimizedConfig,proto3" json:"optimized_config,omitempty"`
	// Optional. Service agent type used during data sync. By default, the Vertex
	// AI Service Agent is used. When using an IAM Policy to isolate this
	// FeatureView within a project, a separate service account should be
	// provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
	// This will generate a separate service account to access the BigQuery source
	// table.
	ServiceAgentType FeatureView_ServiceAgentType `protobuf:"varint,14,opt,name=service_agent_type,json=serviceAgentType,proto3,enum=google.cloud.aiplatform.v1.FeatureView_ServiceAgentType" json:"service_agent_type,omitempty"`
	// Output only. A Service Account unique to this FeatureView. The role
	// bigquery.dataViewer should be granted to this service account to allow
	// Vertex AI Feature Store to sync data to the online store.
	ServiceAccountEmail string `protobuf:"bytes,13,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
	// Output only. Reserved for future use.
	SatisfiesPzs bool `protobuf:"varint,19,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
	// Output only. Reserved for future use.
	SatisfiesPzi bool `protobuf:"varint,20,opt,name=satisfies_pzi,json=satisfiesPzi,proto3" json:"satisfies_pzi,omitempty"`
	// Metadata containing information about the Cloud Bigtable.
	BigtableMetadata *FeatureView_BigtableMetadata `protobuf:"bytes,22,opt,name=bigtable_metadata,json=bigtableMetadata,proto3" json:"bigtable_metadata,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*FeatureView) ProtoMessage() {}

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

func (x *FeatureView) GetSource() isFeatureView_Source {
	if x != nil {
		return x.Source
	}
	return nil
}

func (x *FeatureView) GetBigQuerySource() *FeatureView_BigQuerySource {
	if x != nil {
		if x, ok := x.Source.(*FeatureView_BigQuerySource_); ok {
			return x.BigQuerySource
		}
	}
	return nil
}

func (x *FeatureView) GetFeatureRegistrySource() *FeatureView_FeatureRegistrySource {
	if x != nil {
		if x, ok := x.Source.(*FeatureView_FeatureRegistrySource_); ok {
			return x.FeatureRegistrySource
		}
	}
	return nil
}

func (x *FeatureView) GetVertexRagSource() *FeatureView_VertexRagSource {
	if x != nil {
		if x, ok := x.Source.(*FeatureView_VertexRagSource_); ok {
			return x.VertexRagSource
		}
	}
	return nil
}

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

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

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

func (x *FeatureView) GetEtag() string {
	if x != nil {
		return x.Etag
	}
	return ""
}

func (x *FeatureView) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *FeatureView) GetSyncConfig() *FeatureView_SyncConfig {
	if x != nil {
		return x.SyncConfig
	}
	return nil
}

func (x *FeatureView) GetIndexConfig() *FeatureView_IndexConfig {
	if x != nil {
		return x.IndexConfig
	}
	return nil
}

func (x *FeatureView) GetOptimizedConfig() *FeatureView_OptimizedConfig {
	if x != nil {
		return x.OptimizedConfig
	}
	return nil
}

func (x *FeatureView) GetServiceAgentType() FeatureView_ServiceAgentType {
	if x != nil {
		return x.ServiceAgentType
	}
	return FeatureView_SERVICE_AGENT_TYPE_UNSPECIFIED
}

func (x *FeatureView) GetServiceAccountEmail() string {
	if x != nil {
		return x.ServiceAccountEmail
	}
	return ""
}

func (x *FeatureView) GetSatisfiesPzs() bool {
	if x != nil {
		return x.SatisfiesPzs
	}
	return false
}

func (x *FeatureView) GetSatisfiesPzi() bool {
	if x != nil {
		return x.SatisfiesPzi
	}
	return false
}

func (x *FeatureView) GetBigtableMetadata() *FeatureView_BigtableMetadata {
	if x != nil {
		return x.BigtableMetadata
	}
	return nil
}

type isFeatureView_Source interface {
	isFeatureView_Source()
}

type FeatureView_BigQuerySource_ struct {
	// Optional. Configures how data is supposed to be extracted from a BigQuery
	// source to be loaded onto the FeatureOnlineStore.
	BigQuerySource *FeatureView_BigQuerySource `protobuf:"bytes,6,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"`
}

type FeatureView_FeatureRegistrySource_ struct {
	// Optional. Configures the features from a Feature Registry source that
	// need to be loaded onto the FeatureOnlineStore.
	FeatureRegistrySource *FeatureView_FeatureRegistrySource `protobuf:"bytes,9,opt,name=feature_registry_source,json=featureRegistrySource,proto3,oneof"`
}

type FeatureView_VertexRagSource_ struct {
	// Optional. The Vertex RAG Source that the FeatureView is linked to.
	VertexRagSource *FeatureView_VertexRagSource `protobuf:"bytes,18,opt,name=vertex_rag_source,json=vertexRagSource,proto3,oneof"`
}

func (*FeatureView_BigQuerySource_) isFeatureView_Source() {}

func (*FeatureView_FeatureRegistrySource_) isFeatureView_Source() {}

func (*FeatureView_VertexRagSource_) isFeatureView_Source() {}

type FeatureView_BigQuerySource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The BigQuery view URI that will be materialized on each sync
	// trigger based on FeatureView.SyncConfig.
	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	// Required. Columns to construct entity_id / row keys.
	EntityIdColumns []string `protobuf:"bytes,2,rep,name=entity_id_columns,json=entityIdColumns,proto3" json:"entity_id_columns,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*FeatureView_BigQuerySource) ProtoMessage() {}

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

func (x *FeatureView_BigQuerySource) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *FeatureView_BigQuerySource) GetEntityIdColumns() []string {
	if x != nil {
		return x.EntityIdColumns
	}
	return nil
}

// Configuration for Sync. Only one option is set.
type FeatureView_SyncConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled
	// runs. To explicitly set a timezone to the cron tab, apply a prefix in
	// the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}".
	// The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone
	// database. For example, "CRON_TZ=America/New_York 1 * * * *", or
	// "TZ=America/New_York 1 * * * *".
	Cron string `protobuf:"bytes,1,opt,name=cron,proto3" json:"cron,omitempty"`
	// Optional. If true, syncs the FeatureView in a continuous manner to Online
	// Store.
	Continuous    bool `protobuf:"varint,2,opt,name=continuous,proto3" json:"continuous,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FeatureView_SyncConfig) ProtoMessage() {}

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

func (x *FeatureView_SyncConfig) GetCron() string {
	if x != nil {
		return x.Cron
	}
	return ""
}

func (x *FeatureView_SyncConfig) GetContinuous() bool {
	if x != nil {
		return x.Continuous
	}
	return false
}

// Configuration for vector indexing.
type FeatureView_IndexConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The configuration with regard to the algorithms used for efficient
	// search.
	//
	// Types that are valid to be assigned to AlgorithmConfig:
	//
	//	*FeatureView_IndexConfig_TreeAhConfig
	//	*FeatureView_IndexConfig_BruteForceConfig_
	AlgorithmConfig isFeatureView_IndexConfig_AlgorithmConfig `protobuf_oneof:"algorithm_config"`
	// Optional. Column of embedding. This column contains the source data to
	// create index for vector search. embedding_column must be set when using
	// vector search.
	EmbeddingColumn string `protobuf:"bytes,1,opt,name=embedding_column,json=embeddingColumn,proto3" json:"embedding_column,omitempty"`
	// Optional. Columns of features that're used to filter vector search
	// results.
	FilterColumns []string `protobuf:"bytes,2,rep,name=filter_columns,json=filterColumns,proto3" json:"filter_columns,omitempty"`
	// Optional. Column of crowding. This column contains crowding attribute
	// which is a constraint on a neighbor list produced by
	// [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1.FeatureOnlineStoreService.SearchNearestEntities]
	// to diversify search results. If
	// [NearestNeighborQuery.per_crowding_attribute_neighbor_count][google.cloud.aiplatform.v1.NearestNeighborQuery.per_crowding_attribute_neighbor_count]
	// is set to K in
	// [SearchNearestEntitiesRequest][google.cloud.aiplatform.v1.SearchNearestEntitiesRequest],
	// it's guaranteed that no more than K entities of the same crowding
	// attribute are returned in the response.
	CrowdingColumn string `protobuf:"bytes,3,opt,name=crowding_column,json=crowdingColumn,proto3" json:"crowding_column,omitempty"`
	// Optional. The number of dimensions of the input embedding.
	EmbeddingDimension *int32 `protobuf:"varint,4,opt,name=embedding_dimension,json=embeddingDimension,proto3,oneof" json:"embedding_dimension,omitempty"`
	// Optional. The distance measure used in nearest neighbor search.
	DistanceMeasureType FeatureView_IndexConfig_DistanceMeasureType `protobuf:"varint,5,opt,name=distance_measure_type,json=distanceMeasureType,proto3,enum=google.cloud.aiplatform.v1.FeatureView_IndexConfig_DistanceMeasureType" json:"distance_measure_type,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*FeatureView_IndexConfig) ProtoMessage() {}

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

func (x *FeatureView_IndexConfig) GetAlgorithmConfig() isFeatureView_IndexConfig_AlgorithmConfig {
	if x != nil {
		return x.AlgorithmConfig
	}
	return nil
}

func (x *FeatureView_IndexConfig) GetTreeAhConfig() *FeatureView_IndexConfig_TreeAHConfig {
	if x != nil {
		if x, ok := x.AlgorithmConfig.(*FeatureView_IndexConfig_TreeAhConfig); ok {
			return x.TreeAhConfig
		}
	}
	return nil
}

func (x *FeatureView_IndexConfig) GetBruteForceConfig() *FeatureView_IndexConfig_BruteForceConfig {
	if x != nil {
		if x, ok := x.AlgorithmConfig.(*FeatureView_IndexConfig_BruteForceConfig_); ok {
			return x.BruteForceConfig
		}
	}
	return nil
}

func (x *FeatureView_IndexConfig) GetEmbeddingColumn() string {
	if x != nil {
		return x.EmbeddingColumn
	}
	return ""
}

func (x *FeatureView_IndexConfig) GetFilterColumns() []string {
	if x != nil {
		return x.FilterColumns
	}
	return nil
}

func (x *FeatureView_IndexConfig) GetCrowdingColumn() string {
	if x != nil {
		return x.CrowdingColumn
	}
	return ""
}

func (x *FeatureView_IndexConfig) GetEmbeddingDimension() int32 {
	if x != nil && x.EmbeddingDimension != nil {
		return *x.EmbeddingDimension
	}
	return 0
}

func (x *FeatureView_IndexConfig) GetDistanceMeasureType() FeatureView_IndexConfig_DistanceMeasureType {
	if x != nil {
		return x.DistanceMeasureType
	}
	return FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED
}

type isFeatureView_IndexConfig_AlgorithmConfig interface {
	isFeatureView_IndexConfig_AlgorithmConfig()
}

type FeatureView_IndexConfig_TreeAhConfig struct {
	// Optional. Configuration options for the tree-AH algorithm (Shallow tree
	// + Asymmetric Hashing). Please refer to this paper for more details:
	// https://arxiv.org/abs/1908.10396
	TreeAhConfig *FeatureView_IndexConfig_TreeAHConfig `protobuf:"bytes,6,opt,name=tree_ah_config,json=treeAhConfig,proto3,oneof"`
}

type FeatureView_IndexConfig_BruteForceConfig_ struct {
	// Optional. Configuration options for using brute force search, which
	// simply implements the standard linear search in the database for each
	// query. It is primarily meant for benchmarking and to generate the
	// ground truth for approximate search.
	BruteForceConfig *FeatureView_IndexConfig_BruteForceConfig `protobuf:"bytes,7,opt,name=brute_force_config,json=bruteForceConfig,proto3,oneof"`
}

func (*FeatureView_IndexConfig_TreeAhConfig) isFeatureView_IndexConfig_AlgorithmConfig() {}

func (*FeatureView_IndexConfig_BruteForceConfig_) isFeatureView_IndexConfig_AlgorithmConfig() {}

// A Feature Registry source for features that need to be synced to Online
// Store.
type FeatureView_FeatureRegistrySource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. List of features that need to be synced to Online Store.
	FeatureGroups []*FeatureView_FeatureRegistrySource_FeatureGroup `protobuf:"bytes,1,rep,name=feature_groups,json=featureGroups,proto3" json:"feature_groups,omitempty"`
	// Optional. The project number of the parent project of the Feature Groups.
	ProjectNumber *int64 `protobuf:"varint,2,opt,name=project_number,json=projectNumber,proto3,oneof" json:"project_number,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FeatureView_FeatureRegistrySource) ProtoMessage() {}

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

func (x *FeatureView_FeatureRegistrySource) GetFeatureGroups() []*FeatureView_FeatureRegistrySource_FeatureGroup {
	if x != nil {
		return x.FeatureGroups
	}
	return nil
}

func (x *FeatureView_FeatureRegistrySource) GetProjectNumber() int64 {
	if x != nil && x.ProjectNumber != nil {
		return *x.ProjectNumber
	}
	return 0
}

// A Vertex Rag source for features that need to be synced to Online
// Store.
type FeatureView_VertexRagSource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The BigQuery view/table URI that will be materialized on each
	// manual sync trigger. The table/view is expected to have the following
	// columns and types at least:
	//   - `corpus_id` (STRING, NULLABLE/REQUIRED)
	//   - `file_id` (STRING, NULLABLE/REQUIRED)
	//   - `chunk_id` (STRING, NULLABLE/REQUIRED)
	//   - `chunk_data_type` (STRING, NULLABLE/REQUIRED)
	//   - `chunk_data` (STRING, NULLABLE/REQUIRED)
	//   - `embeddings` (FLOAT, REPEATED)
	//   - `file_original_uri` (STRING, NULLABLE/REQUIRED)
	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
	// Optional. The RAG corpus id corresponding to this FeatureView.
	RagCorpusId   int64 `protobuf:"varint,2,opt,name=rag_corpus_id,json=ragCorpusId,proto3" json:"rag_corpus_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FeatureView_VertexRagSource) ProtoMessage() {}

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

func (x *FeatureView_VertexRagSource) GetUri() string {
	if x != nil {
		return x.Uri
	}
	return ""
}

func (x *FeatureView_VertexRagSource) GetRagCorpusId() int64 {
	if x != nil {
		return x.RagCorpusId
	}
	return 0
}

// Configuration for FeatureViews created in Optimized FeatureOnlineStore.
type FeatureView_OptimizedConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Optional. A description of resources that the FeatureView uses, which to
	// large degree are decided by Vertex AI, and optionally allows only a
	// modest additional configuration. If min_replica_count is not set, the
	// default value is 2. If max_replica_count is not set, the default value
	// is 6. The max allowed replica count is 1000.
	AutomaticResources *AutomaticResources `protobuf:"bytes,7,opt,name=automatic_resources,json=automaticResources,proto3" json:"automatic_resources,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*FeatureView_OptimizedConfig) ProtoMessage() {}

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

func (x *FeatureView_OptimizedConfig) GetAutomaticResources() *AutomaticResources {
	if x != nil {
		return x.AutomaticResources
	}
	return nil
}

// Metadata for the Cloud Bigtable that supports directly interacting Bigtable
// instances.
type FeatureView_BigtableMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The Bigtable App Profile to use for reading from Bigtable.
	ReadAppProfile string `protobuf:"bytes,1,opt,name=read_app_profile,json=readAppProfile,proto3" json:"read_app_profile,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*FeatureView_BigtableMetadata) ProtoMessage() {}

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

func (x *FeatureView_BigtableMetadata) GetReadAppProfile() string {
	if x != nil {
		return x.ReadAppProfile
	}
	return ""
}

// Configuration options for using brute force search.
type FeatureView_IndexConfig_BruteForceConfig struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FeatureView_IndexConfig_BruteForceConfig) ProtoMessage() {}

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

// Configuration options for the tree-AH algorithm.
type FeatureView_IndexConfig_TreeAHConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Optional. Number of embeddings on each leaf node. The default value is
	// 1000 if not set.
	LeafNodeEmbeddingCount *int64 `protobuf:"varint,1,opt,name=leaf_node_embedding_count,json=leafNodeEmbeddingCount,proto3,oneof" json:"leaf_node_embedding_count,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

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

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

func (*FeatureView_IndexConfig_TreeAHConfig) ProtoMessage() {}

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

func (x *FeatureView_IndexConfig_TreeAHConfig) GetLeafNodeEmbeddingCount() int64 {
	if x != nil && x.LeafNodeEmbeddingCount != nil {
		return *x.LeafNodeEmbeddingCount
	}
	return 0
}

// Features belonging to a single feature group that will be
// synced to Online Store.
type FeatureView_FeatureRegistrySource_FeatureGroup struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Identifier of the feature group.
	FeatureGroupId string `protobuf:"bytes,1,opt,name=feature_group_id,json=featureGroupId,proto3" json:"feature_group_id,omitempty"`
	// Required. Identifiers of features under the feature group.
	FeatureIds    []string `protobuf:"bytes,2,rep,name=feature_ids,json=featureIds,proto3" json:"feature_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FeatureView_FeatureRegistrySource_FeatureGroup) Reset() {
	*x = FeatureView_FeatureRegistrySource_FeatureGroup{}
	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FeatureView_FeatureRegistrySource_FeatureGroup) ProtoMessage() {}

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

func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureGroupId() string {
	if x != nil {
		return x.FeatureGroupId
	}
	return ""
}

func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureIds() []string {
	if x != nil {
		return x.FeatureIds
	}
	return nil
}

var File_google_cloud_aiplatform_v1_feature_view_proto protoreflect.FileDescriptor

const file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc = "" +
	"\n" +
	"-google/cloud/aiplatform/v1/feature_view.proto\x12\x1agoogle.cloud.aiplatform.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a2google/cloud/aiplatform/v1/machine_resources.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb0\x19\n" +
	"\vFeatureView\x12g\n" +
	"\x10big_query_source\x18\x06 \x01(\v26.google.cloud.aiplatform.v1.FeatureView.BigQuerySourceB\x03\xe0A\x01H\x00R\x0ebigQuerySource\x12|\n" +
	"\x17feature_registry_source\x18\t \x01(\v2=.google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySourceB\x03\xe0A\x01H\x00R\x15featureRegistrySource\x12j\n" +
	"\x11vertex_rag_source\x18\x12 \x01(\v27.google.cloud.aiplatform.v1.FeatureView.VertexRagSourceB\x03\xe0A\x01H\x00R\x0fvertexRagSource\x12\x17\n" +
	"\x04name\x18\x01 \x01(\tB\x03\xe0A\bR\x04name\x12@\n" +
	"\vcreate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\n" +
	"createTime\x12@\n" +
	"\vupdate_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\n" +
	"updateTime\x12\x17\n" +
	"\x04etag\x18\x04 \x01(\tB\x03\xe0A\x01R\x04etag\x12P\n" +
	"\x06labels\x18\x05 \x03(\v23.google.cloud.aiplatform.v1.FeatureView.LabelsEntryB\x03\xe0A\x01R\x06labels\x12S\n" +
	"\vsync_config\x18\a \x01(\v22.google.cloud.aiplatform.v1.FeatureView.SyncConfigR\n" +
	"syncConfig\x12[\n" +
	"\findex_config\x18\x0f \x01(\v23.google.cloud.aiplatform.v1.FeatureView.IndexConfigB\x03\xe0A\x01R\vindexConfig\x12g\n" +
	"\x10optimized_config\x18\x10 \x01(\v27.google.cloud.aiplatform.v1.FeatureView.OptimizedConfigB\x03\xe0A\x01R\x0foptimizedConfig\x12k\n" +
	"\x12service_agent_type\x18\x0e \x01(\x0e28.google.cloud.aiplatform.v1.FeatureView.ServiceAgentTypeB\x03\xe0A\x01R\x10serviceAgentType\x127\n" +
	"\x15service_account_email\x18\r \x01(\tB\x03\xe0A\x03R\x13serviceAccountEmail\x12(\n" +
	"\rsatisfies_pzs\x18\x13 \x01(\bB\x03\xe0A\x03R\fsatisfiesPzs\x12(\n" +
	"\rsatisfies_pzi\x18\x14 \x01(\bB\x03\xe0A\x03R\fsatisfiesPzi\x12j\n" +
	"\x11bigtable_metadata\x18\x16 \x01(\v28.google.cloud.aiplatform.v1.FeatureView.BigtableMetadataB\x03\xe0A\x03R\x10bigtableMetadata\x1aX\n" +
	"\x0eBigQuerySource\x12\x15\n" +
	"\x03uri\x18\x01 \x01(\tB\x03\xe0A\x02R\x03uri\x12/\n" +
	"\x11entity_id_columns\x18\x02 \x03(\tB\x03\xe0A\x02R\x0fentityIdColumns\x1aE\n" +
	"\n" +
	"SyncConfig\x12\x12\n" +
	"\x04cron\x18\x01 \x01(\tR\x04cron\x12#\n" +
	"\n" +
	"continuous\x18\x02 \x01(\bB\x03\xe0A\x01R\n" +
	"continuous\x1a\xf9\x06\n" +
	"\vIndexConfig\x12m\n" +
	"\x0etree_ah_config\x18\x06 \x01(\v2@.google.cloud.aiplatform.v1.FeatureView.IndexConfig.TreeAHConfigB\x03\xe0A\x01H\x00R\ftreeAhConfig\x12y\n" +
	"\x12brute_force_config\x18\a \x01(\v2D.google.cloud.aiplatform.v1.FeatureView.IndexConfig.BruteForceConfigB\x03\xe0A\x01H\x00R\x10bruteForceConfig\x12.\n" +
	"\x10embedding_column\x18\x01 \x01(\tB\x03\xe0A\x01R\x0fembeddingColumn\x12*\n" +
	"\x0efilter_columns\x18\x02 \x03(\tB\x03\xe0A\x01R\rfilterColumns\x12,\n" +
	"\x0fcrowding_column\x18\x03 \x01(\tB\x03\xe0A\x01R\x0ecrowdingColumn\x129\n" +
	"\x13embedding_dimension\x18\x04 \x01(\x05B\x03\xe0A\x01H\x01R\x12embeddingDimension\x88\x01\x01\x12\x80\x01\n" +
	"\x15distance_measure_type\x18\x05 \x01(\x0e2G.google.cloud.aiplatform.v1.FeatureView.IndexConfig.DistanceMeasureTypeB\x03\xe0A\x01R\x13distanceMeasureType\x1a\x12\n" +
	"\x10BruteForceConfig\x1aq\n" +
	"\fTreeAHConfig\x12C\n" +
	"\x19leaf_node_embedding_count\x18\x01 \x01(\x03B\x03\xe0A\x01H\x00R\x16leafNodeEmbeddingCount\x88\x01\x01B\x1c\n" +
	"\x1a_leaf_node_embedding_count\"\x84\x01\n" +
	"\x13DistanceMeasureType\x12%\n" +
	"!DISTANCE_MEASURE_TYPE_UNSPECIFIED\x10\x00\x12\x17\n" +
	"\x13SQUARED_L2_DISTANCE\x10\x01\x12\x13\n" +
	"\x0fCOSINE_DISTANCE\x10\x02\x12\x18\n" +
	"\x14DOT_PRODUCT_DISTANCE\x10\x03B\x12\n" +
	"\x10algorithm_configB\x16\n" +
	"\x14_embedding_dimension\x1a\xb8\x02\n" +
	"\x15FeatureRegistrySource\x12v\n" +
	"\x0efeature_groups\x18\x01 \x03(\v2J.google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource.FeatureGroupB\x03\xe0A\x02R\rfeatureGroups\x12/\n" +
	"\x0eproject_number\x18\x02 \x01(\x03B\x03\xe0A\x01H\x00R\rprojectNumber\x88\x01\x01\x1ac\n" +
	"\fFeatureGroup\x12-\n" +
	"\x10feature_group_id\x18\x01 \x01(\tB\x03\xe0A\x02R\x0efeatureGroupId\x12$\n" +
	"\vfeature_ids\x18\x02 \x03(\tB\x03\xe0A\x02R\n" +
	"featureIdsB\x11\n" +
	"\x0f_project_number\x1aQ\n" +
	"\x0fVertexRagSource\x12\x15\n" +
	"\x03uri\x18\x01 \x01(\tB\x03\xe0A\x02R\x03uri\x12'\n" +
	"\rrag_corpus_id\x18\x02 \x01(\x03B\x03\xe0A\x01R\vragCorpusId\x1aw\n" +
	"\x0fOptimizedConfig\x12d\n" +
	"\x13automatic_resources\x18\a \x01(\v2..google.cloud.aiplatform.v1.AutomaticResourcesB\x03\xe0A\x01R\x12automaticResources\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aA\n" +
	"\x10BigtableMetadata\x12-\n" +
	"\x10read_app_profile\x18\x01 \x01(\tB\x03\xe0A\x03R\x0ereadAppProfile\"{\n" +
	"\x10ServiceAgentType\x12\"\n" +
	"\x1eSERVICE_AGENT_TYPE_UNSPECIFIED\x10\x00\x12\x1e\n" +
	"\x1aSERVICE_AGENT_TYPE_PROJECT\x10\x01\x12#\n" +
	"\x1fSERVICE_AGENT_TYPE_FEATURE_VIEW\x10\x02:\x9b\x01\xeaA\x97\x01\n" +
	"%aiplatform.googleapis.com/FeatureView\x12nprojects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}B\b\n" +
	"\x06sourceB\xce\x01\n" +
	"\x1ecom.google.cloud.aiplatform.v1B\x10FeatureViewProtoP\x01Z>cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb\xaa\x02\x1aGoogle.Cloud.AIPlatform.V1\xca\x02\x1aGoogle\\Cloud\\AIPlatform\\V1\xea\x02\x1dGoogle::Cloud::AIPlatform::V1b\x06proto3"

var (
	file_google_cloud_aiplatform_v1_feature_view_proto_rawDescOnce sync.Once
	file_google_cloud_aiplatform_v1_feature_view_proto_rawDescData []byte
)

func file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP() []byte {
	file_google_cloud_aiplatform_v1_feature_view_proto_rawDescOnce.Do(func() {
		file_google_cloud_aiplatform_v1_feature_view_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc), len(file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc)))
	})
	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescData
}

var file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_google_cloud_aiplatform_v1_feature_view_proto_goTypes = []any{
	(FeatureView_ServiceAgentType)(0),                      // 0: google.cloud.aiplatform.v1.FeatureView.ServiceAgentType
	(FeatureView_IndexConfig_DistanceMeasureType)(0),       // 1: google.cloud.aiplatform.v1.FeatureView.IndexConfig.DistanceMeasureType
	(*FeatureView)(nil),                                    // 2: google.cloud.aiplatform.v1.FeatureView
	(*FeatureView_BigQuerySource)(nil),                     // 3: google.cloud.aiplatform.v1.FeatureView.BigQuerySource
	(*FeatureView_SyncConfig)(nil),                         // 4: google.cloud.aiplatform.v1.FeatureView.SyncConfig
	(*FeatureView_IndexConfig)(nil),                        // 5: google.cloud.aiplatform.v1.FeatureView.IndexConfig
	(*FeatureView_FeatureRegistrySource)(nil),              // 6: google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource
	(*FeatureView_VertexRagSource)(nil),                    // 7: google.cloud.aiplatform.v1.FeatureView.VertexRagSource
	(*FeatureView_OptimizedConfig)(nil),                    // 8: google.cloud.aiplatform.v1.FeatureView.OptimizedConfig
	nil,                                                    // 9: google.cloud.aiplatform.v1.FeatureView.LabelsEntry
	(*FeatureView_BigtableMetadata)(nil),                   // 10: google.cloud.aiplatform.v1.FeatureView.BigtableMetadata
	(*FeatureView_IndexConfig_BruteForceConfig)(nil),       // 11: google.cloud.aiplatform.v1.FeatureView.IndexConfig.BruteForceConfig
	(*FeatureView_IndexConfig_TreeAHConfig)(nil),           // 12: google.cloud.aiplatform.v1.FeatureView.IndexConfig.TreeAHConfig
	(*FeatureView_FeatureRegistrySource_FeatureGroup)(nil), // 13: google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource.FeatureGroup
	(*timestamppb.Timestamp)(nil),                          // 14: google.protobuf.Timestamp
	(*AutomaticResources)(nil),                             // 15: google.cloud.aiplatform.v1.AutomaticResources
}
var file_google_cloud_aiplatform_v1_feature_view_proto_depIdxs = []int32{
	3,  // 0: google.cloud.aiplatform.v1.FeatureView.big_query_source:type_name -> google.cloud.aiplatform.v1.FeatureView.BigQuerySource
	6,  // 1: google.cloud.aiplatform.v1.FeatureView.feature_registry_source:type_name -> google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource
	7,  // 2: google.cloud.aiplatform.v1.FeatureView.vertex_rag_source:type_name -> google.cloud.aiplatform.v1.FeatureView.VertexRagSource
	14, // 3: google.cloud.aiplatform.v1.FeatureView.create_time:type_name -> google.protobuf.Timestamp
	14, // 4: google.cloud.aiplatform.v1.FeatureView.update_time:type_name -> google.protobuf.Timestamp
	9,  // 5: google.cloud.aiplatform.v1.FeatureView.labels:type_name -> google.cloud.aiplatform.v1.FeatureView.LabelsEntry
	4,  // 6: google.cloud.aiplatform.v1.FeatureView.sync_config:type_name -> google.cloud.aiplatform.v1.FeatureView.SyncConfig
	5,  // 7: google.cloud.aiplatform.v1.FeatureView.index_config:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig
	8,  // 8: google.cloud.aiplatform.v1.FeatureView.optimized_config:type_name -> google.cloud.aiplatform.v1.FeatureView.OptimizedConfig
	0,  // 9: google.cloud.aiplatform.v1.FeatureView.service_agent_type:type_name -> google.cloud.aiplatform.v1.FeatureView.ServiceAgentType
	10, // 10: google.cloud.aiplatform.v1.FeatureView.bigtable_metadata:type_name -> google.cloud.aiplatform.v1.FeatureView.BigtableMetadata
	12, // 11: google.cloud.aiplatform.v1.FeatureView.IndexConfig.tree_ah_config:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig.TreeAHConfig
	11, // 12: google.cloud.aiplatform.v1.FeatureView.IndexConfig.brute_force_config:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig.BruteForceConfig
	1,  // 13: google.cloud.aiplatform.v1.FeatureView.IndexConfig.distance_measure_type:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig.DistanceMeasureType
	13, // 14: google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource.feature_groups:type_name -> google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource.FeatureGroup
	15, // 15: google.cloud.aiplatform.v1.FeatureView.OptimizedConfig.automatic_resources:type_name -> google.cloud.aiplatform.v1.AutomaticResources
	16, // [16:16] is the sub-list for method output_type
	16, // [16:16] is the sub-list for method input_type
	16, // [16:16] is the sub-list for extension type_name
	16, // [16:16] is the sub-list for extension extendee
	0,  // [0:16] is the sub-list for field type_name
}

func init() { file_google_cloud_aiplatform_v1_feature_view_proto_init() }
func file_google_cloud_aiplatform_v1_feature_view_proto_init() {
	if File_google_cloud_aiplatform_v1_feature_view_proto != nil {
		return
	}
	file_google_cloud_aiplatform_v1_machine_resources_proto_init()
	file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[0].OneofWrappers = []any{
		(*FeatureView_BigQuerySource_)(nil),
		(*FeatureView_FeatureRegistrySource_)(nil),
		(*FeatureView_VertexRagSource_)(nil),
	}
	file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[3].OneofWrappers = []any{
		(*FeatureView_IndexConfig_TreeAhConfig)(nil),
		(*FeatureView_IndexConfig_BruteForceConfig_)(nil),
	}
	file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[4].OneofWrappers = []any{}
	file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[10].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc), len(file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   12,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_google_cloud_aiplatform_v1_feature_view_proto_goTypes,
		DependencyIndexes: file_google_cloud_aiplatform_v1_feature_view_proto_depIdxs,
		EnumInfos:         file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes,
		MessageInfos:      file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes,
	}.Build()
	File_google_cloud_aiplatform_v1_feature_view_proto = out.File
	file_google_cloud_aiplatform_v1_feature_view_proto_goTypes = nil
	file_google_cloud_aiplatform_v1_feature_view_proto_depIdxs = nil
}
