cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/feature_view.pb.go (about)

     1  // Copyright 2025 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.35.2
    18  // 	protoc        v4.25.7
    19  // source: google/cloud/aiplatform/v1/feature_view.proto
    20  
    21  package aiplatformpb
    22  
    23  import (
    24  	_ "google.golang.org/genproto/googleapis/api/annotations"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    28  	reflect "reflect"
    29  	sync "sync"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // Service agent type used during data sync.
    40  type FeatureView_ServiceAgentType int32
    41  
    42  const (
    43  	// By default, the project-level Vertex AI Service Agent is enabled.
    44  	FeatureView_SERVICE_AGENT_TYPE_UNSPECIFIED FeatureView_ServiceAgentType = 0
    45  	// Indicates the project-level Vertex AI Service Agent
    46  	// (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents)
    47  	// will be used during sync jobs.
    48  	FeatureView_SERVICE_AGENT_TYPE_PROJECT FeatureView_ServiceAgentType = 1
    49  	// Enable a FeatureView service account to be created by Vertex AI and
    50  	// output in the field `service_account_email`. This service account will
    51  	// be used to read from the source BigQuery table during sync.
    52  	FeatureView_SERVICE_AGENT_TYPE_FEATURE_VIEW FeatureView_ServiceAgentType = 2
    53  )
    54  
    55  // Enum value maps for FeatureView_ServiceAgentType.
    56  var (
    57  	FeatureView_ServiceAgentType_name = map[int32]string{
    58  		0: "SERVICE_AGENT_TYPE_UNSPECIFIED",
    59  		1: "SERVICE_AGENT_TYPE_PROJECT",
    60  		2: "SERVICE_AGENT_TYPE_FEATURE_VIEW",
    61  	}
    62  	FeatureView_ServiceAgentType_value = map[string]int32{
    63  		"SERVICE_AGENT_TYPE_UNSPECIFIED":  0,
    64  		"SERVICE_AGENT_TYPE_PROJECT":      1,
    65  		"SERVICE_AGENT_TYPE_FEATURE_VIEW": 2,
    66  	}
    67  )
    68  
    69  func (x FeatureView_ServiceAgentType) Enum() *FeatureView_ServiceAgentType {
    70  	p := new(FeatureView_ServiceAgentType)
    71  	*p = x
    72  	return p
    73  }
    74  
    75  func (x FeatureView_ServiceAgentType) String() string {
    76  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    77  }
    78  
    79  func (FeatureView_ServiceAgentType) Descriptor() protoreflect.EnumDescriptor {
    80  	return file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[0].Descriptor()
    81  }
    82  
    83  func (FeatureView_ServiceAgentType) Type() protoreflect.EnumType {
    84  	return &file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[0]
    85  }
    86  
    87  func (x FeatureView_ServiceAgentType) Number() protoreflect.EnumNumber {
    88  	return protoreflect.EnumNumber(x)
    89  }
    90  
    91  // Deprecated: Use FeatureView_ServiceAgentType.Descriptor instead.
    92  func (FeatureView_ServiceAgentType) EnumDescriptor() ([]byte, []int) {
    93  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 0}
    94  }
    95  
    96  // The distance measure used in nearest neighbor search.
    97  type FeatureView_IndexConfig_DistanceMeasureType int32
    98  
    99  const (
   100  	// Should not be set.
   101  	FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED FeatureView_IndexConfig_DistanceMeasureType = 0
   102  	// Euclidean (L_2) Distance.
   103  	FeatureView_IndexConfig_SQUARED_L2_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 1
   104  	// Cosine Distance. Defined as 1 - cosine similarity.
   105  	//
   106  	// We strongly suggest using DOT_PRODUCT_DISTANCE + UNIT_L2_NORM instead
   107  	// of COSINE distance. Our algorithms have been more optimized for
   108  	// DOT_PRODUCT distance which, when combined with UNIT_L2_NORM, is
   109  	// mathematically equivalent to COSINE distance and results in the same
   110  	// ranking.
   111  	FeatureView_IndexConfig_COSINE_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 2
   112  	// Dot Product Distance. Defined as a negative of the dot product.
   113  	FeatureView_IndexConfig_DOT_PRODUCT_DISTANCE FeatureView_IndexConfig_DistanceMeasureType = 3
   114  )
   115  
   116  // Enum value maps for FeatureView_IndexConfig_DistanceMeasureType.
   117  var (
   118  	FeatureView_IndexConfig_DistanceMeasureType_name = map[int32]string{
   119  		0: "DISTANCE_MEASURE_TYPE_UNSPECIFIED",
   120  		1: "SQUARED_L2_DISTANCE",
   121  		2: "COSINE_DISTANCE",
   122  		3: "DOT_PRODUCT_DISTANCE",
   123  	}
   124  	FeatureView_IndexConfig_DistanceMeasureType_value = map[string]int32{
   125  		"DISTANCE_MEASURE_TYPE_UNSPECIFIED": 0,
   126  		"SQUARED_L2_DISTANCE":               1,
   127  		"COSINE_DISTANCE":                   2,
   128  		"DOT_PRODUCT_DISTANCE":              3,
   129  	}
   130  )
   131  
   132  func (x FeatureView_IndexConfig_DistanceMeasureType) Enum() *FeatureView_IndexConfig_DistanceMeasureType {
   133  	p := new(FeatureView_IndexConfig_DistanceMeasureType)
   134  	*p = x
   135  	return p
   136  }
   137  
   138  func (x FeatureView_IndexConfig_DistanceMeasureType) String() string {
   139  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   140  }
   141  
   142  func (FeatureView_IndexConfig_DistanceMeasureType) Descriptor() protoreflect.EnumDescriptor {
   143  	return file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[1].Descriptor()
   144  }
   145  
   146  func (FeatureView_IndexConfig_DistanceMeasureType) Type() protoreflect.EnumType {
   147  	return &file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes[1]
   148  }
   149  
   150  func (x FeatureView_IndexConfig_DistanceMeasureType) Number() protoreflect.EnumNumber {
   151  	return protoreflect.EnumNumber(x)
   152  }
   153  
   154  // Deprecated: Use FeatureView_IndexConfig_DistanceMeasureType.Descriptor instead.
   155  func (FeatureView_IndexConfig_DistanceMeasureType) EnumDescriptor() ([]byte, []int) {
   156  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0}
   157  }
   158  
   159  // FeatureView is representation of values that the FeatureOnlineStore will
   160  // serve based on its syncConfig.
   161  type FeatureView struct {
   162  	state         protoimpl.MessageState
   163  	sizeCache     protoimpl.SizeCache
   164  	unknownFields protoimpl.UnknownFields
   165  
   166  	// Types that are assignable to Source:
   167  	//
   168  	//	*FeatureView_BigQuerySource_
   169  	//	*FeatureView_FeatureRegistrySource_
   170  	//	*FeatureView_VertexRagSource_
   171  	Source isFeatureView_Source `protobuf_oneof:"source"`
   172  	// Identifier. Name of the FeatureView. Format:
   173  	// `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`
   174  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   175  	// Output only. Timestamp when this FeatureView was created.
   176  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   177  	// Output only. Timestamp when this FeatureView was last updated.
   178  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   179  	// Optional. Used to perform consistent read-modify-write updates. If not set,
   180  	// a blind "overwrite" update happens.
   181  	Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"`
   182  	// Optional. The labels with user-defined metadata to organize your
   183  	// FeatureViews.
   184  	//
   185  	// Label keys and values can be no longer than 64 characters
   186  	// (Unicode codepoints), can only contain lowercase letters, numeric
   187  	// characters, underscores and dashes. International characters are allowed.
   188  	//
   189  	// See https://goo.gl/xmQnxf for more information on and examples of labels.
   190  	// No more than 64 user labels can be associated with one
   191  	// FeatureOnlineStore(System labels are excluded)." System reserved label keys
   192  	// are prefixed with "aiplatform.googleapis.com/" and are immutable.
   193  	Labels map[string]string `protobuf:"bytes,5,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   194  	// Configures when data is to be synced/updated for this FeatureView. At the
   195  	// end of the sync the latest featureValues for each entityId of this
   196  	// FeatureView are made ready for online serving.
   197  	SyncConfig *FeatureView_SyncConfig `protobuf:"bytes,7,opt,name=sync_config,json=syncConfig,proto3" json:"sync_config,omitempty"`
   198  	// Optional. Configuration for index preparation for vector search. It
   199  	// contains the required configurations to create an index from source data,
   200  	// so that approximate nearest neighbor (a.k.a ANN) algorithms search can be
   201  	// performed during online serving.
   202  	IndexConfig *FeatureView_IndexConfig `protobuf:"bytes,15,opt,name=index_config,json=indexConfig,proto3" json:"index_config,omitempty"`
   203  	// Optional. Configuration for FeatureView created under Optimized
   204  	// FeatureOnlineStore.
   205  	OptimizedConfig *FeatureView_OptimizedConfig `protobuf:"bytes,16,opt,name=optimized_config,json=optimizedConfig,proto3" json:"optimized_config,omitempty"`
   206  	// Optional. Service agent type used during data sync. By default, the Vertex
   207  	// AI Service Agent is used. When using an IAM Policy to isolate this
   208  	// FeatureView within a project, a separate service account should be
   209  	// provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_VIEW`.
   210  	// This will generate a separate service account to access the BigQuery source
   211  	// table.
   212  	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"`
   213  	// Output only. A Service Account unique to this FeatureView. The role
   214  	// bigquery.dataViewer should be granted to this service account to allow
   215  	// Vertex AI Feature Store to sync data to the online store.
   216  	ServiceAccountEmail string `protobuf:"bytes,13,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
   217  	// Output only. Reserved for future use.
   218  	SatisfiesPzs bool `protobuf:"varint,19,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
   219  	// Output only. Reserved for future use.
   220  	SatisfiesPzi bool `protobuf:"varint,20,opt,name=satisfies_pzi,json=satisfiesPzi,proto3" json:"satisfies_pzi,omitempty"`
   221  	// Metadata containing information about the Cloud Bigtable.
   222  	BigtableMetadata *FeatureView_BigtableMetadata `protobuf:"bytes,21,opt,name=bigtable_metadata,json=bigtableMetadata,proto3" json:"bigtable_metadata,omitempty"`
   223  }
   224  
   225  func (x *FeatureView) Reset() {
   226  	*x = FeatureView{}
   227  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[0]
   228  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   229  	ms.StoreMessageInfo(mi)
   230  }
   231  
   232  func (x *FeatureView) String() string {
   233  	return protoimpl.X.MessageStringOf(x)
   234  }
   235  
   236  func (*FeatureView) ProtoMessage() {}
   237  
   238  func (x *FeatureView) ProtoReflect() protoreflect.Message {
   239  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[0]
   240  	if x != nil {
   241  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   242  		if ms.LoadMessageInfo() == nil {
   243  			ms.StoreMessageInfo(mi)
   244  		}
   245  		return ms
   246  	}
   247  	return mi.MessageOf(x)
   248  }
   249  
   250  // Deprecated: Use FeatureView.ProtoReflect.Descriptor instead.
   251  func (*FeatureView) Descriptor() ([]byte, []int) {
   252  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0}
   253  }
   254  
   255  func (m *FeatureView) GetSource() isFeatureView_Source {
   256  	if m != nil {
   257  		return m.Source
   258  	}
   259  	return nil
   260  }
   261  
   262  func (x *FeatureView) GetBigQuerySource() *FeatureView_BigQuerySource {
   263  	if x, ok := x.GetSource().(*FeatureView_BigQuerySource_); ok {
   264  		return x.BigQuerySource
   265  	}
   266  	return nil
   267  }
   268  
   269  func (x *FeatureView) GetFeatureRegistrySource() *FeatureView_FeatureRegistrySource {
   270  	if x, ok := x.GetSource().(*FeatureView_FeatureRegistrySource_); ok {
   271  		return x.FeatureRegistrySource
   272  	}
   273  	return nil
   274  }
   275  
   276  func (x *FeatureView) GetVertexRagSource() *FeatureView_VertexRagSource {
   277  	if x, ok := x.GetSource().(*FeatureView_VertexRagSource_); ok {
   278  		return x.VertexRagSource
   279  	}
   280  	return nil
   281  }
   282  
   283  func (x *FeatureView) GetName() string {
   284  	if x != nil {
   285  		return x.Name
   286  	}
   287  	return ""
   288  }
   289  
   290  func (x *FeatureView) GetCreateTime() *timestamppb.Timestamp {
   291  	if x != nil {
   292  		return x.CreateTime
   293  	}
   294  	return nil
   295  }
   296  
   297  func (x *FeatureView) GetUpdateTime() *timestamppb.Timestamp {
   298  	if x != nil {
   299  		return x.UpdateTime
   300  	}
   301  	return nil
   302  }
   303  
   304  func (x *FeatureView) GetEtag() string {
   305  	if x != nil {
   306  		return x.Etag
   307  	}
   308  	return ""
   309  }
   310  
   311  func (x *FeatureView) GetLabels() map[string]string {
   312  	if x != nil {
   313  		return x.Labels
   314  	}
   315  	return nil
   316  }
   317  
   318  func (x *FeatureView) GetSyncConfig() *FeatureView_SyncConfig {
   319  	if x != nil {
   320  		return x.SyncConfig
   321  	}
   322  	return nil
   323  }
   324  
   325  func (x *FeatureView) GetIndexConfig() *FeatureView_IndexConfig {
   326  	if x != nil {
   327  		return x.IndexConfig
   328  	}
   329  	return nil
   330  }
   331  
   332  func (x *FeatureView) GetOptimizedConfig() *FeatureView_OptimizedConfig {
   333  	if x != nil {
   334  		return x.OptimizedConfig
   335  	}
   336  	return nil
   337  }
   338  
   339  func (x *FeatureView) GetServiceAgentType() FeatureView_ServiceAgentType {
   340  	if x != nil {
   341  		return x.ServiceAgentType
   342  	}
   343  	return FeatureView_SERVICE_AGENT_TYPE_UNSPECIFIED
   344  }
   345  
   346  func (x *FeatureView) GetServiceAccountEmail() string {
   347  	if x != nil {
   348  		return x.ServiceAccountEmail
   349  	}
   350  	return ""
   351  }
   352  
   353  func (x *FeatureView) GetSatisfiesPzs() bool {
   354  	if x != nil {
   355  		return x.SatisfiesPzs
   356  	}
   357  	return false
   358  }
   359  
   360  func (x *FeatureView) GetSatisfiesPzi() bool {
   361  	if x != nil {
   362  		return x.SatisfiesPzi
   363  	}
   364  	return false
   365  }
   366  
   367  func (x *FeatureView) GetBigtableMetadata() *FeatureView_BigtableMetadata {
   368  	if x != nil {
   369  		return x.BigtableMetadata
   370  	}
   371  	return nil
   372  }
   373  
   374  type isFeatureView_Source interface {
   375  	isFeatureView_Source()
   376  }
   377  
   378  type FeatureView_BigQuerySource_ struct {
   379  	// Optional. Configures how data is supposed to be extracted from a BigQuery
   380  	// source to be loaded onto the FeatureOnlineStore.
   381  	BigQuerySource *FeatureView_BigQuerySource `protobuf:"bytes,6,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"`
   382  }
   383  
   384  type FeatureView_FeatureRegistrySource_ struct {
   385  	// Optional. Configures the features from a Feature Registry source that
   386  	// need to be loaded onto the FeatureOnlineStore.
   387  	FeatureRegistrySource *FeatureView_FeatureRegistrySource `protobuf:"bytes,9,opt,name=feature_registry_source,json=featureRegistrySource,proto3,oneof"`
   388  }
   389  
   390  type FeatureView_VertexRagSource_ struct {
   391  	// Optional. The Vertex RAG Source that the FeatureView is linked to.
   392  	VertexRagSource *FeatureView_VertexRagSource `protobuf:"bytes,18,opt,name=vertex_rag_source,json=vertexRagSource,proto3,oneof"`
   393  }
   394  
   395  func (*FeatureView_BigQuerySource_) isFeatureView_Source() {}
   396  
   397  func (*FeatureView_FeatureRegistrySource_) isFeatureView_Source() {}
   398  
   399  func (*FeatureView_VertexRagSource_) isFeatureView_Source() {}
   400  
   401  type FeatureView_BigQuerySource struct {
   402  	state         protoimpl.MessageState
   403  	sizeCache     protoimpl.SizeCache
   404  	unknownFields protoimpl.UnknownFields
   405  
   406  	// Required. The BigQuery view URI that will be materialized on each sync
   407  	// trigger based on FeatureView.SyncConfig.
   408  	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
   409  	// Required. Columns to construct entity_id / row keys.
   410  	EntityIdColumns []string `protobuf:"bytes,2,rep,name=entity_id_columns,json=entityIdColumns,proto3" json:"entity_id_columns,omitempty"`
   411  }
   412  
   413  func (x *FeatureView_BigQuerySource) Reset() {
   414  	*x = FeatureView_BigQuerySource{}
   415  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[1]
   416  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   417  	ms.StoreMessageInfo(mi)
   418  }
   419  
   420  func (x *FeatureView_BigQuerySource) String() string {
   421  	return protoimpl.X.MessageStringOf(x)
   422  }
   423  
   424  func (*FeatureView_BigQuerySource) ProtoMessage() {}
   425  
   426  func (x *FeatureView_BigQuerySource) ProtoReflect() protoreflect.Message {
   427  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[1]
   428  	if x != nil {
   429  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   430  		if ms.LoadMessageInfo() == nil {
   431  			ms.StoreMessageInfo(mi)
   432  		}
   433  		return ms
   434  	}
   435  	return mi.MessageOf(x)
   436  }
   437  
   438  // Deprecated: Use FeatureView_BigQuerySource.ProtoReflect.Descriptor instead.
   439  func (*FeatureView_BigQuerySource) Descriptor() ([]byte, []int) {
   440  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 0}
   441  }
   442  
   443  func (x *FeatureView_BigQuerySource) GetUri() string {
   444  	if x != nil {
   445  		return x.Uri
   446  	}
   447  	return ""
   448  }
   449  
   450  func (x *FeatureView_BigQuerySource) GetEntityIdColumns() []string {
   451  	if x != nil {
   452  		return x.EntityIdColumns
   453  	}
   454  	return nil
   455  }
   456  
   457  // Configuration for Sync. Only one option is set.
   458  type FeatureView_SyncConfig struct {
   459  	state         protoimpl.MessageState
   460  	sizeCache     protoimpl.SizeCache
   461  	unknownFields protoimpl.UnknownFields
   462  
   463  	// Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled
   464  	// runs. To explicitly set a timezone to the cron tab, apply a prefix in
   465  	// the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or "TZ=${IANA_TIME_ZONE}".
   466  	// The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone
   467  	// database. For example, "CRON_TZ=America/New_York 1 * * * *", or
   468  	// "TZ=America/New_York 1 * * * *".
   469  	Cron string `protobuf:"bytes,1,opt,name=cron,proto3" json:"cron,omitempty"`
   470  	// Optional. If true, syncs the FeatureView in a continuous manner to Online
   471  	// Store.
   472  	Continuous bool `protobuf:"varint,2,opt,name=continuous,proto3" json:"continuous,omitempty"`
   473  }
   474  
   475  func (x *FeatureView_SyncConfig) Reset() {
   476  	*x = FeatureView_SyncConfig{}
   477  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[2]
   478  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   479  	ms.StoreMessageInfo(mi)
   480  }
   481  
   482  func (x *FeatureView_SyncConfig) String() string {
   483  	return protoimpl.X.MessageStringOf(x)
   484  }
   485  
   486  func (*FeatureView_SyncConfig) ProtoMessage() {}
   487  
   488  func (x *FeatureView_SyncConfig) ProtoReflect() protoreflect.Message {
   489  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[2]
   490  	if x != nil {
   491  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   492  		if ms.LoadMessageInfo() == nil {
   493  			ms.StoreMessageInfo(mi)
   494  		}
   495  		return ms
   496  	}
   497  	return mi.MessageOf(x)
   498  }
   499  
   500  // Deprecated: Use FeatureView_SyncConfig.ProtoReflect.Descriptor instead.
   501  func (*FeatureView_SyncConfig) Descriptor() ([]byte, []int) {
   502  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 1}
   503  }
   504  
   505  func (x *FeatureView_SyncConfig) GetCron() string {
   506  	if x != nil {
   507  		return x.Cron
   508  	}
   509  	return ""
   510  }
   511  
   512  func (x *FeatureView_SyncConfig) GetContinuous() bool {
   513  	if x != nil {
   514  		return x.Continuous
   515  	}
   516  	return false
   517  }
   518  
   519  // Configuration for vector indexing.
   520  type FeatureView_IndexConfig struct {
   521  	state         protoimpl.MessageState
   522  	sizeCache     protoimpl.SizeCache
   523  	unknownFields protoimpl.UnknownFields
   524  
   525  	// The configuration with regard to the algorithms used for efficient
   526  	// search.
   527  	//
   528  	// Types that are assignable to AlgorithmConfig:
   529  	//
   530  	//	*FeatureView_IndexConfig_TreeAhConfig
   531  	//	*FeatureView_IndexConfig_BruteForceConfig_
   532  	AlgorithmConfig isFeatureView_IndexConfig_AlgorithmConfig `protobuf_oneof:"algorithm_config"`
   533  	// Optional. Column of embedding. This column contains the source data to
   534  	// create index for vector search. embedding_column must be set when using
   535  	// vector search.
   536  	EmbeddingColumn string `protobuf:"bytes,1,opt,name=embedding_column,json=embeddingColumn,proto3" json:"embedding_column,omitempty"`
   537  	// Optional. Columns of features that're used to filter vector search
   538  	// results.
   539  	FilterColumns []string `protobuf:"bytes,2,rep,name=filter_columns,json=filterColumns,proto3" json:"filter_columns,omitempty"`
   540  	// Optional. Column of crowding. This column contains crowding attribute
   541  	// which is a constraint on a neighbor list produced by
   542  	// [FeatureOnlineStoreService.SearchNearestEntities][google.cloud.aiplatform.v1.FeatureOnlineStoreService.SearchNearestEntities]
   543  	// to diversify search results. If
   544  	// [NearestNeighborQuery.per_crowding_attribute_neighbor_count][google.cloud.aiplatform.v1.NearestNeighborQuery.per_crowding_attribute_neighbor_count]
   545  	// is set to K in
   546  	// [SearchNearestEntitiesRequest][google.cloud.aiplatform.v1.SearchNearestEntitiesRequest],
   547  	// it's guaranteed that no more than K entities of the same crowding
   548  	// attribute are returned in the response.
   549  	CrowdingColumn string `protobuf:"bytes,3,opt,name=crowding_column,json=crowdingColumn,proto3" json:"crowding_column,omitempty"`
   550  	// Optional. The number of dimensions of the input embedding.
   551  	EmbeddingDimension *int32 `protobuf:"varint,4,opt,name=embedding_dimension,json=embeddingDimension,proto3,oneof" json:"embedding_dimension,omitempty"`
   552  	// Optional. The distance measure used in nearest neighbor search.
   553  	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"`
   554  }
   555  
   556  func (x *FeatureView_IndexConfig) Reset() {
   557  	*x = FeatureView_IndexConfig{}
   558  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[3]
   559  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   560  	ms.StoreMessageInfo(mi)
   561  }
   562  
   563  func (x *FeatureView_IndexConfig) String() string {
   564  	return protoimpl.X.MessageStringOf(x)
   565  }
   566  
   567  func (*FeatureView_IndexConfig) ProtoMessage() {}
   568  
   569  func (x *FeatureView_IndexConfig) ProtoReflect() protoreflect.Message {
   570  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[3]
   571  	if x != nil {
   572  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   573  		if ms.LoadMessageInfo() == nil {
   574  			ms.StoreMessageInfo(mi)
   575  		}
   576  		return ms
   577  	}
   578  	return mi.MessageOf(x)
   579  }
   580  
   581  // Deprecated: Use FeatureView_IndexConfig.ProtoReflect.Descriptor instead.
   582  func (*FeatureView_IndexConfig) Descriptor() ([]byte, []int) {
   583  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 2}
   584  }
   585  
   586  func (m *FeatureView_IndexConfig) GetAlgorithmConfig() isFeatureView_IndexConfig_AlgorithmConfig {
   587  	if m != nil {
   588  		return m.AlgorithmConfig
   589  	}
   590  	return nil
   591  }
   592  
   593  func (x *FeatureView_IndexConfig) GetTreeAhConfig() *FeatureView_IndexConfig_TreeAHConfig {
   594  	if x, ok := x.GetAlgorithmConfig().(*FeatureView_IndexConfig_TreeAhConfig); ok {
   595  		return x.TreeAhConfig
   596  	}
   597  	return nil
   598  }
   599  
   600  func (x *FeatureView_IndexConfig) GetBruteForceConfig() *FeatureView_IndexConfig_BruteForceConfig {
   601  	if x, ok := x.GetAlgorithmConfig().(*FeatureView_IndexConfig_BruteForceConfig_); ok {
   602  		return x.BruteForceConfig
   603  	}
   604  	return nil
   605  }
   606  
   607  func (x *FeatureView_IndexConfig) GetEmbeddingColumn() string {
   608  	if x != nil {
   609  		return x.EmbeddingColumn
   610  	}
   611  	return ""
   612  }
   613  
   614  func (x *FeatureView_IndexConfig) GetFilterColumns() []string {
   615  	if x != nil {
   616  		return x.FilterColumns
   617  	}
   618  	return nil
   619  }
   620  
   621  func (x *FeatureView_IndexConfig) GetCrowdingColumn() string {
   622  	if x != nil {
   623  		return x.CrowdingColumn
   624  	}
   625  	return ""
   626  }
   627  
   628  func (x *FeatureView_IndexConfig) GetEmbeddingDimension() int32 {
   629  	if x != nil && x.EmbeddingDimension != nil {
   630  		return *x.EmbeddingDimension
   631  	}
   632  	return 0
   633  }
   634  
   635  func (x *FeatureView_IndexConfig) GetDistanceMeasureType() FeatureView_IndexConfig_DistanceMeasureType {
   636  	if x != nil {
   637  		return x.DistanceMeasureType
   638  	}
   639  	return FeatureView_IndexConfig_DISTANCE_MEASURE_TYPE_UNSPECIFIED
   640  }
   641  
   642  type isFeatureView_IndexConfig_AlgorithmConfig interface {
   643  	isFeatureView_IndexConfig_AlgorithmConfig()
   644  }
   645  
   646  type FeatureView_IndexConfig_TreeAhConfig struct {
   647  	// Optional. Configuration options for the tree-AH algorithm (Shallow tree
   648  	// + Asymmetric Hashing). Please refer to this paper for more details:
   649  	// https://arxiv.org/abs/1908.10396
   650  	TreeAhConfig *FeatureView_IndexConfig_TreeAHConfig `protobuf:"bytes,6,opt,name=tree_ah_config,json=treeAhConfig,proto3,oneof"`
   651  }
   652  
   653  type FeatureView_IndexConfig_BruteForceConfig_ struct {
   654  	// Optional. Configuration options for using brute force search, which
   655  	// simply implements the standard linear search in the database for each
   656  	// query. It is primarily meant for benchmarking and to generate the
   657  	// ground truth for approximate search.
   658  	BruteForceConfig *FeatureView_IndexConfig_BruteForceConfig `protobuf:"bytes,7,opt,name=brute_force_config,json=bruteForceConfig,proto3,oneof"`
   659  }
   660  
   661  func (*FeatureView_IndexConfig_TreeAhConfig) isFeatureView_IndexConfig_AlgorithmConfig() {}
   662  
   663  func (*FeatureView_IndexConfig_BruteForceConfig_) isFeatureView_IndexConfig_AlgorithmConfig() {}
   664  
   665  // A Feature Registry source for features that need to be synced to Online
   666  // Store.
   667  type FeatureView_FeatureRegistrySource struct {
   668  	state         protoimpl.MessageState
   669  	sizeCache     protoimpl.SizeCache
   670  	unknownFields protoimpl.UnknownFields
   671  
   672  	// Required. List of features that need to be synced to Online Store.
   673  	FeatureGroups []*FeatureView_FeatureRegistrySource_FeatureGroup `protobuf:"bytes,1,rep,name=feature_groups,json=featureGroups,proto3" json:"feature_groups,omitempty"`
   674  	// Optional. The project number of the parent project of the Feature Groups.
   675  	ProjectNumber *int64 `protobuf:"varint,2,opt,name=project_number,json=projectNumber,proto3,oneof" json:"project_number,omitempty"`
   676  }
   677  
   678  func (x *FeatureView_FeatureRegistrySource) Reset() {
   679  	*x = FeatureView_FeatureRegistrySource{}
   680  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[4]
   681  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   682  	ms.StoreMessageInfo(mi)
   683  }
   684  
   685  func (x *FeatureView_FeatureRegistrySource) String() string {
   686  	return protoimpl.X.MessageStringOf(x)
   687  }
   688  
   689  func (*FeatureView_FeatureRegistrySource) ProtoMessage() {}
   690  
   691  func (x *FeatureView_FeatureRegistrySource) ProtoReflect() protoreflect.Message {
   692  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[4]
   693  	if x != nil {
   694  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   695  		if ms.LoadMessageInfo() == nil {
   696  			ms.StoreMessageInfo(mi)
   697  		}
   698  		return ms
   699  	}
   700  	return mi.MessageOf(x)
   701  }
   702  
   703  // Deprecated: Use FeatureView_FeatureRegistrySource.ProtoReflect.Descriptor instead.
   704  func (*FeatureView_FeatureRegistrySource) Descriptor() ([]byte, []int) {
   705  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 3}
   706  }
   707  
   708  func (x *FeatureView_FeatureRegistrySource) GetFeatureGroups() []*FeatureView_FeatureRegistrySource_FeatureGroup {
   709  	if x != nil {
   710  		return x.FeatureGroups
   711  	}
   712  	return nil
   713  }
   714  
   715  func (x *FeatureView_FeatureRegistrySource) GetProjectNumber() int64 {
   716  	if x != nil && x.ProjectNumber != nil {
   717  		return *x.ProjectNumber
   718  	}
   719  	return 0
   720  }
   721  
   722  // A Vertex Rag source for features that need to be synced to Online
   723  // Store.
   724  type FeatureView_VertexRagSource struct {
   725  	state         protoimpl.MessageState
   726  	sizeCache     protoimpl.SizeCache
   727  	unknownFields protoimpl.UnknownFields
   728  
   729  	// Required. The BigQuery view/table URI that will be materialized on each
   730  	// manual sync trigger. The table/view is expected to have the following
   731  	// columns and types at least:
   732  	//   - `corpus_id` (STRING, NULLABLE/REQUIRED)
   733  	//   - `file_id` (STRING, NULLABLE/REQUIRED)
   734  	//   - `chunk_id` (STRING, NULLABLE/REQUIRED)
   735  	//   - `chunk_data_type` (STRING, NULLABLE/REQUIRED)
   736  	//   - `chunk_data` (STRING, NULLABLE/REQUIRED)
   737  	//   - `embeddings` (FLOAT, REPEATED)
   738  	//   - `file_original_uri` (STRING, NULLABLE/REQUIRED)
   739  	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
   740  	// Optional. The RAG corpus id corresponding to this FeatureView.
   741  	RagCorpusId int64 `protobuf:"varint,2,opt,name=rag_corpus_id,json=ragCorpusId,proto3" json:"rag_corpus_id,omitempty"`
   742  }
   743  
   744  func (x *FeatureView_VertexRagSource) Reset() {
   745  	*x = FeatureView_VertexRagSource{}
   746  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[5]
   747  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   748  	ms.StoreMessageInfo(mi)
   749  }
   750  
   751  func (x *FeatureView_VertexRagSource) String() string {
   752  	return protoimpl.X.MessageStringOf(x)
   753  }
   754  
   755  func (*FeatureView_VertexRagSource) ProtoMessage() {}
   756  
   757  func (x *FeatureView_VertexRagSource) ProtoReflect() protoreflect.Message {
   758  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[5]
   759  	if x != nil {
   760  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   761  		if ms.LoadMessageInfo() == nil {
   762  			ms.StoreMessageInfo(mi)
   763  		}
   764  		return ms
   765  	}
   766  	return mi.MessageOf(x)
   767  }
   768  
   769  // Deprecated: Use FeatureView_VertexRagSource.ProtoReflect.Descriptor instead.
   770  func (*FeatureView_VertexRagSource) Descriptor() ([]byte, []int) {
   771  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 4}
   772  }
   773  
   774  func (x *FeatureView_VertexRagSource) GetUri() string {
   775  	if x != nil {
   776  		return x.Uri
   777  	}
   778  	return ""
   779  }
   780  
   781  func (x *FeatureView_VertexRagSource) GetRagCorpusId() int64 {
   782  	if x != nil {
   783  		return x.RagCorpusId
   784  	}
   785  	return 0
   786  }
   787  
   788  // Configuration for FeatureViews created in Optimized FeatureOnlineStore.
   789  type FeatureView_OptimizedConfig struct {
   790  	state         protoimpl.MessageState
   791  	sizeCache     protoimpl.SizeCache
   792  	unknownFields protoimpl.UnknownFields
   793  
   794  	// Optional. A description of resources that the FeatureView uses, which to
   795  	// large degree are decided by Vertex AI, and optionally allows only a
   796  	// modest additional configuration. If min_replica_count is not set, the
   797  	// default value is 2. If max_replica_count is not set, the default value
   798  	// is 6. The max allowed replica count is 1000.
   799  	AutomaticResources *AutomaticResources `protobuf:"bytes,7,opt,name=automatic_resources,json=automaticResources,proto3" json:"automatic_resources,omitempty"`
   800  }
   801  
   802  func (x *FeatureView_OptimizedConfig) Reset() {
   803  	*x = FeatureView_OptimizedConfig{}
   804  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[6]
   805  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   806  	ms.StoreMessageInfo(mi)
   807  }
   808  
   809  func (x *FeatureView_OptimizedConfig) String() string {
   810  	return protoimpl.X.MessageStringOf(x)
   811  }
   812  
   813  func (*FeatureView_OptimizedConfig) ProtoMessage() {}
   814  
   815  func (x *FeatureView_OptimizedConfig) ProtoReflect() protoreflect.Message {
   816  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[6]
   817  	if x != nil {
   818  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   819  		if ms.LoadMessageInfo() == nil {
   820  			ms.StoreMessageInfo(mi)
   821  		}
   822  		return ms
   823  	}
   824  	return mi.MessageOf(x)
   825  }
   826  
   827  // Deprecated: Use FeatureView_OptimizedConfig.ProtoReflect.Descriptor instead.
   828  func (*FeatureView_OptimizedConfig) Descriptor() ([]byte, []int) {
   829  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 5}
   830  }
   831  
   832  func (x *FeatureView_OptimizedConfig) GetAutomaticResources() *AutomaticResources {
   833  	if x != nil {
   834  		return x.AutomaticResources
   835  	}
   836  	return nil
   837  }
   838  
   839  // Metadata for the Cloud Bigtable that supports directly interacting Bigtable
   840  // instances.
   841  type FeatureView_BigtableMetadata struct {
   842  	state         protoimpl.MessageState
   843  	sizeCache     protoimpl.SizeCache
   844  	unknownFields protoimpl.UnknownFields
   845  
   846  	// The Bigtable App Profile to use for reading from Bigtable.
   847  	ReadAppProfile string `protobuf:"bytes,1,opt,name=read_app_profile,json=readAppProfile,proto3" json:"read_app_profile,omitempty"`
   848  }
   849  
   850  func (x *FeatureView_BigtableMetadata) Reset() {
   851  	*x = FeatureView_BigtableMetadata{}
   852  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[8]
   853  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   854  	ms.StoreMessageInfo(mi)
   855  }
   856  
   857  func (x *FeatureView_BigtableMetadata) String() string {
   858  	return protoimpl.X.MessageStringOf(x)
   859  }
   860  
   861  func (*FeatureView_BigtableMetadata) ProtoMessage() {}
   862  
   863  func (x *FeatureView_BigtableMetadata) ProtoReflect() protoreflect.Message {
   864  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[8]
   865  	if x != nil {
   866  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   867  		if ms.LoadMessageInfo() == nil {
   868  			ms.StoreMessageInfo(mi)
   869  		}
   870  		return ms
   871  	}
   872  	return mi.MessageOf(x)
   873  }
   874  
   875  // Deprecated: Use FeatureView_BigtableMetadata.ProtoReflect.Descriptor instead.
   876  func (*FeatureView_BigtableMetadata) Descriptor() ([]byte, []int) {
   877  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 7}
   878  }
   879  
   880  func (x *FeatureView_BigtableMetadata) GetReadAppProfile() string {
   881  	if x != nil {
   882  		return x.ReadAppProfile
   883  	}
   884  	return ""
   885  }
   886  
   887  // Configuration options for using brute force search.
   888  type FeatureView_IndexConfig_BruteForceConfig struct {
   889  	state         protoimpl.MessageState
   890  	sizeCache     protoimpl.SizeCache
   891  	unknownFields protoimpl.UnknownFields
   892  }
   893  
   894  func (x *FeatureView_IndexConfig_BruteForceConfig) Reset() {
   895  	*x = FeatureView_IndexConfig_BruteForceConfig{}
   896  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[9]
   897  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   898  	ms.StoreMessageInfo(mi)
   899  }
   900  
   901  func (x *FeatureView_IndexConfig_BruteForceConfig) String() string {
   902  	return protoimpl.X.MessageStringOf(x)
   903  }
   904  
   905  func (*FeatureView_IndexConfig_BruteForceConfig) ProtoMessage() {}
   906  
   907  func (x *FeatureView_IndexConfig_BruteForceConfig) ProtoReflect() protoreflect.Message {
   908  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[9]
   909  	if x != nil {
   910  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   911  		if ms.LoadMessageInfo() == nil {
   912  			ms.StoreMessageInfo(mi)
   913  		}
   914  		return ms
   915  	}
   916  	return mi.MessageOf(x)
   917  }
   918  
   919  // Deprecated: Use FeatureView_IndexConfig_BruteForceConfig.ProtoReflect.Descriptor instead.
   920  func (*FeatureView_IndexConfig_BruteForceConfig) Descriptor() ([]byte, []int) {
   921  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 2, 0}
   922  }
   923  
   924  // Configuration options for the tree-AH algorithm.
   925  type FeatureView_IndexConfig_TreeAHConfig struct {
   926  	state         protoimpl.MessageState
   927  	sizeCache     protoimpl.SizeCache
   928  	unknownFields protoimpl.UnknownFields
   929  
   930  	// Optional. Number of embeddings on each leaf node. The default value is
   931  	// 1000 if not set.
   932  	LeafNodeEmbeddingCount *int64 `protobuf:"varint,1,opt,name=leaf_node_embedding_count,json=leafNodeEmbeddingCount,proto3,oneof" json:"leaf_node_embedding_count,omitempty"`
   933  }
   934  
   935  func (x *FeatureView_IndexConfig_TreeAHConfig) Reset() {
   936  	*x = FeatureView_IndexConfig_TreeAHConfig{}
   937  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[10]
   938  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   939  	ms.StoreMessageInfo(mi)
   940  }
   941  
   942  func (x *FeatureView_IndexConfig_TreeAHConfig) String() string {
   943  	return protoimpl.X.MessageStringOf(x)
   944  }
   945  
   946  func (*FeatureView_IndexConfig_TreeAHConfig) ProtoMessage() {}
   947  
   948  func (x *FeatureView_IndexConfig_TreeAHConfig) ProtoReflect() protoreflect.Message {
   949  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[10]
   950  	if x != nil {
   951  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   952  		if ms.LoadMessageInfo() == nil {
   953  			ms.StoreMessageInfo(mi)
   954  		}
   955  		return ms
   956  	}
   957  	return mi.MessageOf(x)
   958  }
   959  
   960  // Deprecated: Use FeatureView_IndexConfig_TreeAHConfig.ProtoReflect.Descriptor instead.
   961  func (*FeatureView_IndexConfig_TreeAHConfig) Descriptor() ([]byte, []int) {
   962  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 2, 1}
   963  }
   964  
   965  func (x *FeatureView_IndexConfig_TreeAHConfig) GetLeafNodeEmbeddingCount() int64 {
   966  	if x != nil && x.LeafNodeEmbeddingCount != nil {
   967  		return *x.LeafNodeEmbeddingCount
   968  	}
   969  	return 0
   970  }
   971  
   972  // Features belonging to a single feature group that will be
   973  // synced to Online Store.
   974  type FeatureView_FeatureRegistrySource_FeatureGroup struct {
   975  	state         protoimpl.MessageState
   976  	sizeCache     protoimpl.SizeCache
   977  	unknownFields protoimpl.UnknownFields
   978  
   979  	// Required. Identifier of the feature group.
   980  	FeatureGroupId string `protobuf:"bytes,1,opt,name=feature_group_id,json=featureGroupId,proto3" json:"feature_group_id,omitempty"`
   981  	// Required. Identifiers of features under the feature group.
   982  	FeatureIds []string `protobuf:"bytes,2,rep,name=feature_ids,json=featureIds,proto3" json:"feature_ids,omitempty"`
   983  }
   984  
   985  func (x *FeatureView_FeatureRegistrySource_FeatureGroup) Reset() {
   986  	*x = FeatureView_FeatureRegistrySource_FeatureGroup{}
   987  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[11]
   988  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   989  	ms.StoreMessageInfo(mi)
   990  }
   991  
   992  func (x *FeatureView_FeatureRegistrySource_FeatureGroup) String() string {
   993  	return protoimpl.X.MessageStringOf(x)
   994  }
   995  
   996  func (*FeatureView_FeatureRegistrySource_FeatureGroup) ProtoMessage() {}
   997  
   998  func (x *FeatureView_FeatureRegistrySource_FeatureGroup) ProtoReflect() protoreflect.Message {
   999  	mi := &file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[11]
  1000  	if x != nil {
  1001  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1002  		if ms.LoadMessageInfo() == nil {
  1003  			ms.StoreMessageInfo(mi)
  1004  		}
  1005  		return ms
  1006  	}
  1007  	return mi.MessageOf(x)
  1008  }
  1009  
  1010  // Deprecated: Use FeatureView_FeatureRegistrySource_FeatureGroup.ProtoReflect.Descriptor instead.
  1011  func (*FeatureView_FeatureRegistrySource_FeatureGroup) Descriptor() ([]byte, []int) {
  1012  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP(), []int{0, 3, 0}
  1013  }
  1014  
  1015  func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureGroupId() string {
  1016  	if x != nil {
  1017  		return x.FeatureGroupId
  1018  	}
  1019  	return ""
  1020  }
  1021  
  1022  func (x *FeatureView_FeatureRegistrySource_FeatureGroup) GetFeatureIds() []string {
  1023  	if x != nil {
  1024  		return x.FeatureIds
  1025  	}
  1026  	return nil
  1027  }
  1028  
  1029  var File_google_cloud_aiplatform_v1_feature_view_proto protoreflect.FileDescriptor
  1030  
  1031  var file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc = []byte{
  1032  	0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
  1033  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x65, 0x61,
  1034  	0x74, 0x75, 0x72, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
  1035  	0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  1036  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
  1037  	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65,
  1038  	0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f,
  1039  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1040  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
  1041  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1042  	0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f,
  1043  	0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
  1044  	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d,
  1045  	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x19, 0x0a,
  1046  	0x0b, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x67, 0x0a, 0x10,
  1047  	0x62, 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1048  	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1049  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1050  	0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e,
  1051  	0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03,
  1052  	0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53,
  1053  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x17, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  1054  	0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  1055  	0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1056  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1057  	0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e,
  1058  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53,
  1059  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x15, 0x66, 0x65,
  1060  	0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75,
  1061  	0x72, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x72, 0x61,
  1062  	0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37,
  1063  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  1064  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74,
  1065  	0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61,
  1066  	0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0f,
  1067  	0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
  1068  	0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  1069  	0x41, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
  1070  	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  1071  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  1072  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a,
  1073  	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70,
  1074  	0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1075  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  1076  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03,
  1077  	0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x04,
  1078  	0x65, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  1079  	0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x50, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18,
  1080  	0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1081  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  1082  	0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x4c,
  1083  	0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
  1084  	0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x53, 0x0a, 0x0b, 0x73, 0x79, 0x6e, 0x63, 0x5f,
  1085  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67,
  1086  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  1087  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  1088  	0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  1089  	0x52, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x0c,
  1090  	0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0f, 0x20, 0x01,
  1091  	0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  1092  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  1093  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65,
  1094  	0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x69, 0x6e,
  1095  	0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x67, 0x0a, 0x10, 0x6f, 0x70, 0x74,
  1096  	0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20,
  1097  	0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1098  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1099  	0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x4f, 0x70, 0x74,
  1100  	0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41,
  1101  	0x01, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66,
  1102  	0x69, 0x67, 0x12, 0x6b, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x67,
  1103  	0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38,
  1104  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  1105  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74,
  1106  	0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
  1107  	0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x73,
  1108  	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
  1109  	0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
  1110  	0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  1111  	0xe0, 0x41, 0x03, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f,
  1112  	0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69,
  1113  	0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x42,
  1114  	0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50,
  1115  	0x7a, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f,
  1116  	0x70, 0x7a, 0x69, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c,
  1117  	0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x69, 0x12, 0x6a, 0x0a, 0x11,
  1118  	0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  1119  	0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1120  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  1121  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77,
  1122  	0x2e, 0x42, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
  1123  	0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x62, 0x69, 0x67, 0x74, 0x61, 0x62, 0x6c, 0x65,
  1124  	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x58, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51,
  1125  	0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72,
  1126  	0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72,
  1127  	0x69, 0x12, 0x2f, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x63,
  1128  	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  1129  	0x02, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d,
  1130  	0x6e, 0x73, 0x1a, 0x45, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  1131  	0x12, 0x12, 0x0a, 0x04, 0x63, 0x72, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
  1132  	0x63, 0x72, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f,
  1133  	0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63,
  1134  	0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x1a, 0xf9, 0x06, 0x0a, 0x0b, 0x49, 0x6e,
  1135  	0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6d, 0x0a, 0x0e, 0x74, 0x72, 0x65,
  1136  	0x65, 0x5f, 0x61, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28,
  1137  	0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
  1138  	0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46,
  1139  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78,
  1140  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e,
  1141  	0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x72, 0x65, 0x65,
  1142  	0x41, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x79, 0x0a, 0x12, 0x62, 0x72, 0x75, 0x74,
  1143  	0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07,
  1144  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  1145  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  1146  	0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x2e, 0x49, 0x6e,
  1147  	0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x72, 0x75, 0x74, 0x65, 0x46,
  1148  	0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48,
  1149  	0x00, 0x52, 0x10, 0x62, 0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e,
  1150  	0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x10, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67,
  1151  	0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  1152  	0x41, 0x01, 0x52, 0x0f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c,
  1153  	0x75, 0x6d, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f,
  1154  	0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
  1155  	0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12,
  1156  	0x2c, 0x0a, 0x0f, 0x63, 0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x75,
  1157  	0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x63,
  1158  	0x72, 0x6f, 0x77, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x39, 0x0a,
  1159  	0x13, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e,
  1160  	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48,
  1161  	0x01, 0x52, 0x12, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x6d, 0x65,
  1162  	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x80, 0x01, 0x0a, 0x15, 0x64, 0x69, 0x73,
  1163  	0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79,
  1164  	0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1165  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  1166  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65,
  1167  	0x77, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69,
  1168  	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70,
  1169  	0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
  1170  	0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x12, 0x0a, 0x10, 0x42,
  1171  	0x72, 0x75, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a,
  1172  	0x71, 0x0a, 0x0c, 0x54, 0x72, 0x65, 0x65, 0x41, 0x48, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
  1173  	0x43, 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62,
  1174  	0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
  1175  	0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x65, 0x61, 0x66, 0x4e,
  1176  	0x6f, 0x64, 0x65, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e,
  1177  	0x74, 0x88, 0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x6e, 0x6f,
  1178  	0x64, 0x65, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75,
  1179  	0x6e, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d,
  1180  	0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49,
  1181  	0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x54,
  1182  	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
  1183  	0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x32, 0x5f,
  1184  	0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f,
  1185  	0x53, 0x49, 0x4e, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12,
  1186  	0x18, 0x0a, 0x14, 0x44, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x44,
  1187  	0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x61, 0x6c, 0x67,
  1188  	0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a,
  1189  	0x14, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x6d, 0x65,
  1190  	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xb8, 0x02, 0x0a, 0x15, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  1191  	0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
  1192  	0x76, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
  1193  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1194  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  1195  	0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77,
  1196  	0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79,
  1197  	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72,
  1198  	0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  1199  	0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2f, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65,
  1200  	0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42,
  1201  	0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e,
  1202  	0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x1a, 0x63, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74,
  1203  	0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2d, 0x0a, 0x10, 0x66, 0x65, 0x61, 0x74,
  1204  	0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
  1205  	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
  1206  	0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75,
  1207  	0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  1208  	0x02, 0x52, 0x0a, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73, 0x42, 0x11, 0x0a,
  1209  	0x0f, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
  1210  	0x1a, 0x51, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x74, 0x65, 0x78, 0x52, 0x61, 0x67, 0x53, 0x6f, 0x75,
  1211  	0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1212  	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x27, 0x0a, 0x0d, 0x72, 0x61,
  1213  	0x67, 0x5f, 0x63, 0x6f, 0x72, 0x70, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
  1214  	0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x72, 0x70, 0x75,
  1215  	0x73, 0x49, 0x64, 0x1a, 0x77, 0x0a, 0x0f, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64,
  1216  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61,
  1217  	0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20,
  1218  	0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1219  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1220  	0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
  1221  	0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61,
  1222  	0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b,
  1223  	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
  1224  	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
  1225  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
  1226  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x10, 0x42, 0x69, 0x67, 0x74, 0x61,
  1227  	0x62, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x10, 0x72,
  1228  	0x65, 0x61, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18,
  1229  	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64,
  1230  	0x41, 0x70, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x7b, 0x0a, 0x10, 0x53, 0x65,
  1231  	0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22,
  1232  	0x0a, 0x1e, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47, 0x45, 0x4e, 0x54, 0x5f,
  1233  	0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  1234  	0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47,
  1235  	0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54,
  1236  	0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x47,
  1237  	0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45,
  1238  	0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x02, 0x3a, 0x9b, 0x01, 0xea, 0x41, 0x97, 0x01, 0x0a, 0x25,
  1239  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1240  	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  1241  	0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x6e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f,
  1242  	0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
  1243  	0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66,
  1244  	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6f, 0x72,
  1245  	0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x69,
  1246  	0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
  1247  	0x65, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f,
  1248  	0x76, 0x69, 0x65, 0x77, 0x7d, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42,
  1249  	0xce, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1250  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  1251  	0x76, 0x31, 0x42, 0x10, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x50,
  1252  	0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f,
  1253  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c,
  1254  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70,
  1255  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  1256  	0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1257  	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1258  	0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
  1259  	0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31,
  1260  	0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64,
  1261  	0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31,
  1262  	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1263  }
  1264  
  1265  var (
  1266  	file_google_cloud_aiplatform_v1_feature_view_proto_rawDescOnce sync.Once
  1267  	file_google_cloud_aiplatform_v1_feature_view_proto_rawDescData = file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc
  1268  )
  1269  
  1270  func file_google_cloud_aiplatform_v1_feature_view_proto_rawDescGZIP() []byte {
  1271  	file_google_cloud_aiplatform_v1_feature_view_proto_rawDescOnce.Do(func() {
  1272  		file_google_cloud_aiplatform_v1_feature_view_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_feature_view_proto_rawDescData)
  1273  	})
  1274  	return file_google_cloud_aiplatform_v1_feature_view_proto_rawDescData
  1275  }
  1276  
  1277  var file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1278  var file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
  1279  var file_google_cloud_aiplatform_v1_feature_view_proto_goTypes = []any{
  1280  	(FeatureView_ServiceAgentType)(0),                      // 0: google.cloud.aiplatform.v1.FeatureView.ServiceAgentType
  1281  	(FeatureView_IndexConfig_DistanceMeasureType)(0),       // 1: google.cloud.aiplatform.v1.FeatureView.IndexConfig.DistanceMeasureType
  1282  	(*FeatureView)(nil),                                    // 2: google.cloud.aiplatform.v1.FeatureView
  1283  	(*FeatureView_BigQuerySource)(nil),                     // 3: google.cloud.aiplatform.v1.FeatureView.BigQuerySource
  1284  	(*FeatureView_SyncConfig)(nil),                         // 4: google.cloud.aiplatform.v1.FeatureView.SyncConfig
  1285  	(*FeatureView_IndexConfig)(nil),                        // 5: google.cloud.aiplatform.v1.FeatureView.IndexConfig
  1286  	(*FeatureView_FeatureRegistrySource)(nil),              // 6: google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource
  1287  	(*FeatureView_VertexRagSource)(nil),                    // 7: google.cloud.aiplatform.v1.FeatureView.VertexRagSource
  1288  	(*FeatureView_OptimizedConfig)(nil),                    // 8: google.cloud.aiplatform.v1.FeatureView.OptimizedConfig
  1289  	nil,                                                    // 9: google.cloud.aiplatform.v1.FeatureView.LabelsEntry
  1290  	(*FeatureView_BigtableMetadata)(nil),                   // 10: google.cloud.aiplatform.v1.FeatureView.BigtableMetadata
  1291  	(*FeatureView_IndexConfig_BruteForceConfig)(nil),       // 11: google.cloud.aiplatform.v1.FeatureView.IndexConfig.BruteForceConfig
  1292  	(*FeatureView_IndexConfig_TreeAHConfig)(nil),           // 12: google.cloud.aiplatform.v1.FeatureView.IndexConfig.TreeAHConfig
  1293  	(*FeatureView_FeatureRegistrySource_FeatureGroup)(nil), // 13: google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource.FeatureGroup
  1294  	(*timestamppb.Timestamp)(nil),                          // 14: google.protobuf.Timestamp
  1295  	(*AutomaticResources)(nil),                             // 15: google.cloud.aiplatform.v1.AutomaticResources
  1296  }
  1297  var file_google_cloud_aiplatform_v1_feature_view_proto_depIdxs = []int32{
  1298  	3,  // 0: google.cloud.aiplatform.v1.FeatureView.big_query_source:type_name -> google.cloud.aiplatform.v1.FeatureView.BigQuerySource
  1299  	6,  // 1: google.cloud.aiplatform.v1.FeatureView.feature_registry_source:type_name -> google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource
  1300  	7,  // 2: google.cloud.aiplatform.v1.FeatureView.vertex_rag_source:type_name -> google.cloud.aiplatform.v1.FeatureView.VertexRagSource
  1301  	14, // 3: google.cloud.aiplatform.v1.FeatureView.create_time:type_name -> google.protobuf.Timestamp
  1302  	14, // 4: google.cloud.aiplatform.v1.FeatureView.update_time:type_name -> google.protobuf.Timestamp
  1303  	9,  // 5: google.cloud.aiplatform.v1.FeatureView.labels:type_name -> google.cloud.aiplatform.v1.FeatureView.LabelsEntry
  1304  	4,  // 6: google.cloud.aiplatform.v1.FeatureView.sync_config:type_name -> google.cloud.aiplatform.v1.FeatureView.SyncConfig
  1305  	5,  // 7: google.cloud.aiplatform.v1.FeatureView.index_config:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig
  1306  	8,  // 8: google.cloud.aiplatform.v1.FeatureView.optimized_config:type_name -> google.cloud.aiplatform.v1.FeatureView.OptimizedConfig
  1307  	0,  // 9: google.cloud.aiplatform.v1.FeatureView.service_agent_type:type_name -> google.cloud.aiplatform.v1.FeatureView.ServiceAgentType
  1308  	10, // 10: google.cloud.aiplatform.v1.FeatureView.bigtable_metadata:type_name -> google.cloud.aiplatform.v1.FeatureView.BigtableMetadata
  1309  	12, // 11: google.cloud.aiplatform.v1.FeatureView.IndexConfig.tree_ah_config:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig.TreeAHConfig
  1310  	11, // 12: google.cloud.aiplatform.v1.FeatureView.IndexConfig.brute_force_config:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig.BruteForceConfig
  1311  	1,  // 13: google.cloud.aiplatform.v1.FeatureView.IndexConfig.distance_measure_type:type_name -> google.cloud.aiplatform.v1.FeatureView.IndexConfig.DistanceMeasureType
  1312  	13, // 14: google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource.feature_groups:type_name -> google.cloud.aiplatform.v1.FeatureView.FeatureRegistrySource.FeatureGroup
  1313  	15, // 15: google.cloud.aiplatform.v1.FeatureView.OptimizedConfig.automatic_resources:type_name -> google.cloud.aiplatform.v1.AutomaticResources
  1314  	16, // [16:16] is the sub-list for method output_type
  1315  	16, // [16:16] is the sub-list for method input_type
  1316  	16, // [16:16] is the sub-list for extension type_name
  1317  	16, // [16:16] is the sub-list for extension extendee
  1318  	0,  // [0:16] is the sub-list for field type_name
  1319  }
  1320  
  1321  func init() { file_google_cloud_aiplatform_v1_feature_view_proto_init() }
  1322  func file_google_cloud_aiplatform_v1_feature_view_proto_init() {
  1323  	if File_google_cloud_aiplatform_v1_feature_view_proto != nil {
  1324  		return
  1325  	}
  1326  	file_google_cloud_aiplatform_v1_machine_resources_proto_init()
  1327  	file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[0].OneofWrappers = []any{
  1328  		(*FeatureView_BigQuerySource_)(nil),
  1329  		(*FeatureView_FeatureRegistrySource_)(nil),
  1330  		(*FeatureView_VertexRagSource_)(nil),
  1331  	}
  1332  	file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[3].OneofWrappers = []any{
  1333  		(*FeatureView_IndexConfig_TreeAhConfig)(nil),
  1334  		(*FeatureView_IndexConfig_BruteForceConfig_)(nil),
  1335  	}
  1336  	file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[4].OneofWrappers = []any{}
  1337  	file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes[10].OneofWrappers = []any{}
  1338  	type x struct{}
  1339  	out := protoimpl.TypeBuilder{
  1340  		File: protoimpl.DescBuilder{
  1341  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1342  			RawDescriptor: file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc,
  1343  			NumEnums:      2,
  1344  			NumMessages:   12,
  1345  			NumExtensions: 0,
  1346  			NumServices:   0,
  1347  		},
  1348  		GoTypes:           file_google_cloud_aiplatform_v1_feature_view_proto_goTypes,
  1349  		DependencyIndexes: file_google_cloud_aiplatform_v1_feature_view_proto_depIdxs,
  1350  		EnumInfos:         file_google_cloud_aiplatform_v1_feature_view_proto_enumTypes,
  1351  		MessageInfos:      file_google_cloud_aiplatform_v1_feature_view_proto_msgTypes,
  1352  	}.Build()
  1353  	File_google_cloud_aiplatform_v1_feature_view_proto = out.File
  1354  	file_google_cloud_aiplatform_v1_feature_view_proto_rawDesc = nil
  1355  	file_google_cloud_aiplatform_v1_feature_view_proto_goTypes = nil
  1356  	file_google_cloud_aiplatform_v1_feature_view_proto_depIdxs = nil
  1357  }