cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/endpoint.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/endpoint.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  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    28  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    29  	reflect "reflect"
    30  	sync "sync"
    31  )
    32  
    33  const (
    34  	// Verify that this generated code is sufficiently up-to-date.
    35  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    36  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    37  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    38  )
    39  
    40  // Models are deployed into it, and afterwards Endpoint is called to obtain
    41  // predictions and explanations.
    42  type Endpoint struct {
    43  	state         protoimpl.MessageState
    44  	sizeCache     protoimpl.SizeCache
    45  	unknownFields protoimpl.UnknownFields
    46  
    47  	// Output only. The resource name of the Endpoint.
    48  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    49  	// Required. The display name of the Endpoint.
    50  	// The name can be up to 128 characters long and can consist of any UTF-8
    51  	// characters.
    52  	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
    53  	// The description of the Endpoint.
    54  	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
    55  	// Output only. The models deployed in this Endpoint.
    56  	// To add or remove DeployedModels use
    57  	// [EndpointService.DeployModel][google.cloud.aiplatform.v1.EndpointService.DeployModel]
    58  	// and
    59  	// [EndpointService.UndeployModel][google.cloud.aiplatform.v1.EndpointService.UndeployModel]
    60  	// respectively.
    61  	DeployedModels []*DeployedModel `protobuf:"bytes,4,rep,name=deployed_models,json=deployedModels,proto3" json:"deployed_models,omitempty"`
    62  	// A map from a DeployedModel's ID to the percentage of this Endpoint's
    63  	// traffic that should be forwarded to that DeployedModel.
    64  	//
    65  	// If a DeployedModel's ID is not listed in this map, then it receives no
    66  	// traffic.
    67  	//
    68  	// The traffic percentage values must add up to 100, or map must be empty if
    69  	// the Endpoint is to not accept any traffic at a moment.
    70  	TrafficSplit map[string]int32 `protobuf:"bytes,5,rep,name=traffic_split,json=trafficSplit,proto3" json:"traffic_split,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
    71  	// Used to perform consistent read-modify-write updates. If not set, a blind
    72  	// "overwrite" update happens.
    73  	Etag string `protobuf:"bytes,6,opt,name=etag,proto3" json:"etag,omitempty"`
    74  	// The labels with user-defined metadata to organize your Endpoints.
    75  	//
    76  	// Label keys and values can be no longer than 64 characters
    77  	// (Unicode codepoints), can only contain lowercase letters, numeric
    78  	// characters, underscores and dashes. International characters are allowed.
    79  	//
    80  	// See https://goo.gl/xmQnxf for more information and examples of labels.
    81  	Labels map[string]string `protobuf:"bytes,7,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    82  	// Output only. Timestamp when this Endpoint was created.
    83  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
    84  	// Output only. Timestamp when this Endpoint was last updated.
    85  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
    86  	// Customer-managed encryption key spec for an Endpoint. If set, this
    87  	// Endpoint and all sub-resources of this Endpoint will be secured by
    88  	// this key.
    89  	EncryptionSpec *EncryptionSpec `protobuf:"bytes,10,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"`
    90  	// Optional. The full name of the Google Compute Engine
    91  	// [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks)
    92  	// to which the Endpoint should be peered.
    93  	//
    94  	// Private services access must already be configured for the network. If left
    95  	// unspecified, the Endpoint is not peered with any network.
    96  	//
    97  	// Only one of the fields,
    98  	// [network][google.cloud.aiplatform.v1.Endpoint.network] or
    99  	// [enable_private_service_connect][google.cloud.aiplatform.v1.Endpoint.enable_private_service_connect],
   100  	// can be set.
   101  	//
   102  	// [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert):
   103  	// `projects/{project}/global/networks/{network}`.
   104  	// Where `{project}` is a project number, as in `12345`, and `{network}` is
   105  	// network name.
   106  	Network string `protobuf:"bytes,13,opt,name=network,proto3" json:"network,omitempty"`
   107  	// Deprecated: If true, expose the Endpoint via private service connect.
   108  	//
   109  	// Only one of the fields,
   110  	// [network][google.cloud.aiplatform.v1.Endpoint.network] or
   111  	// [enable_private_service_connect][google.cloud.aiplatform.v1.Endpoint.enable_private_service_connect],
   112  	// can be set.
   113  	//
   114  	// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/endpoint.proto.
   115  	EnablePrivateServiceConnect bool `protobuf:"varint,17,opt,name=enable_private_service_connect,json=enablePrivateServiceConnect,proto3" json:"enable_private_service_connect,omitempty"`
   116  	// Optional. Configuration for private service connect.
   117  	//
   118  	// [network][google.cloud.aiplatform.v1.Endpoint.network] and
   119  	// [private_service_connect_config][google.cloud.aiplatform.v1.Endpoint.private_service_connect_config]
   120  	// are mutually exclusive.
   121  	PrivateServiceConnectConfig *PrivateServiceConnectConfig `protobuf:"bytes,21,opt,name=private_service_connect_config,json=privateServiceConnectConfig,proto3" json:"private_service_connect_config,omitempty"`
   122  	// Output only. Resource name of the Model Monitoring job associated with this
   123  	// Endpoint if monitoring is enabled by
   124  	// [JobService.CreateModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.CreateModelDeploymentMonitoringJob].
   125  	// Format:
   126  	// `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}`
   127  	ModelDeploymentMonitoringJob string `protobuf:"bytes,14,opt,name=model_deployment_monitoring_job,json=modelDeploymentMonitoringJob,proto3" json:"model_deployment_monitoring_job,omitempty"`
   128  	// Configures the request-response logging for online prediction.
   129  	PredictRequestResponseLoggingConfig *PredictRequestResponseLoggingConfig `protobuf:"bytes,18,opt,name=predict_request_response_logging_config,json=predictRequestResponseLoggingConfig,proto3" json:"predict_request_response_logging_config,omitempty"`
   130  	// If true, the endpoint will be exposed through a dedicated
   131  	// DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS
   132  	// will be isolated from other users' traffic and will have better performance
   133  	// and reliability.
   134  	// Note: Once you enabled dedicated endpoint, you won't be able to send
   135  	// request to the shared DNS {region}-aiplatform.googleapis.com. The
   136  	// limitation will be removed soon.
   137  	DedicatedEndpointEnabled bool `protobuf:"varint,24,opt,name=dedicated_endpoint_enabled,json=dedicatedEndpointEnabled,proto3" json:"dedicated_endpoint_enabled,omitempty"`
   138  	// Output only. DNS of the dedicated endpoint. Will only be populated if
   139  	// dedicated_endpoint_enabled is true. Depending on the features enabled, uid
   140  	// might be a random number or a string. For example, if fast_tryout is
   141  	// enabled, uid will be fasttryout. Format:
   142  	// `https://{endpoint_id}.{region}-{uid}.prediction.vertexai.goog`.
   143  	DedicatedEndpointDns string `protobuf:"bytes,25,opt,name=dedicated_endpoint_dns,json=dedicatedEndpointDns,proto3" json:"dedicated_endpoint_dns,omitempty"`
   144  	// Configurations that are applied to the endpoint for online prediction.
   145  	ClientConnectionConfig *ClientConnectionConfig `protobuf:"bytes,23,opt,name=client_connection_config,json=clientConnectionConfig,proto3" json:"client_connection_config,omitempty"`
   146  	// Output only. Reserved for future use.
   147  	SatisfiesPzs bool `protobuf:"varint,27,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
   148  	// Output only. Reserved for future use.
   149  	SatisfiesPzi bool `protobuf:"varint,28,opt,name=satisfies_pzi,json=satisfiesPzi,proto3" json:"satisfies_pzi,omitempty"`
   150  	// Optional. Configuration for GenAiAdvancedFeatures. If the endpoint is
   151  	// serving GenAI models, advanced features like native RAG integration can be
   152  	// configured. Currently, only Model Garden models are supported.
   153  	GenAiAdvancedFeaturesConfig *GenAiAdvancedFeaturesConfig `protobuf:"bytes,29,opt,name=gen_ai_advanced_features_config,json=genAiAdvancedFeaturesConfig,proto3" json:"gen_ai_advanced_features_config,omitempty"`
   154  	// If true, the model server will be isolated from the external internet.
   155  	PrivateModelServerEnabled bool `protobuf:"varint,30,opt,name=private_model_server_enabled,json=privateModelServerEnabled,proto3" json:"private_model_server_enabled,omitempty"`
   156  }
   157  
   158  func (x *Endpoint) Reset() {
   159  	*x = Endpoint{}
   160  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[0]
   161  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   162  	ms.StoreMessageInfo(mi)
   163  }
   164  
   165  func (x *Endpoint) String() string {
   166  	return protoimpl.X.MessageStringOf(x)
   167  }
   168  
   169  func (*Endpoint) ProtoMessage() {}
   170  
   171  func (x *Endpoint) ProtoReflect() protoreflect.Message {
   172  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[0]
   173  	if x != nil {
   174  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   175  		if ms.LoadMessageInfo() == nil {
   176  			ms.StoreMessageInfo(mi)
   177  		}
   178  		return ms
   179  	}
   180  	return mi.MessageOf(x)
   181  }
   182  
   183  // Deprecated: Use Endpoint.ProtoReflect.Descriptor instead.
   184  func (*Endpoint) Descriptor() ([]byte, []int) {
   185  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{0}
   186  }
   187  
   188  func (x *Endpoint) GetName() string {
   189  	if x != nil {
   190  		return x.Name
   191  	}
   192  	return ""
   193  }
   194  
   195  func (x *Endpoint) GetDisplayName() string {
   196  	if x != nil {
   197  		return x.DisplayName
   198  	}
   199  	return ""
   200  }
   201  
   202  func (x *Endpoint) GetDescription() string {
   203  	if x != nil {
   204  		return x.Description
   205  	}
   206  	return ""
   207  }
   208  
   209  func (x *Endpoint) GetDeployedModels() []*DeployedModel {
   210  	if x != nil {
   211  		return x.DeployedModels
   212  	}
   213  	return nil
   214  }
   215  
   216  func (x *Endpoint) GetTrafficSplit() map[string]int32 {
   217  	if x != nil {
   218  		return x.TrafficSplit
   219  	}
   220  	return nil
   221  }
   222  
   223  func (x *Endpoint) GetEtag() string {
   224  	if x != nil {
   225  		return x.Etag
   226  	}
   227  	return ""
   228  }
   229  
   230  func (x *Endpoint) GetLabels() map[string]string {
   231  	if x != nil {
   232  		return x.Labels
   233  	}
   234  	return nil
   235  }
   236  
   237  func (x *Endpoint) GetCreateTime() *timestamppb.Timestamp {
   238  	if x != nil {
   239  		return x.CreateTime
   240  	}
   241  	return nil
   242  }
   243  
   244  func (x *Endpoint) GetUpdateTime() *timestamppb.Timestamp {
   245  	if x != nil {
   246  		return x.UpdateTime
   247  	}
   248  	return nil
   249  }
   250  
   251  func (x *Endpoint) GetEncryptionSpec() *EncryptionSpec {
   252  	if x != nil {
   253  		return x.EncryptionSpec
   254  	}
   255  	return nil
   256  }
   257  
   258  func (x *Endpoint) GetNetwork() string {
   259  	if x != nil {
   260  		return x.Network
   261  	}
   262  	return ""
   263  }
   264  
   265  // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/endpoint.proto.
   266  func (x *Endpoint) GetEnablePrivateServiceConnect() bool {
   267  	if x != nil {
   268  		return x.EnablePrivateServiceConnect
   269  	}
   270  	return false
   271  }
   272  
   273  func (x *Endpoint) GetPrivateServiceConnectConfig() *PrivateServiceConnectConfig {
   274  	if x != nil {
   275  		return x.PrivateServiceConnectConfig
   276  	}
   277  	return nil
   278  }
   279  
   280  func (x *Endpoint) GetModelDeploymentMonitoringJob() string {
   281  	if x != nil {
   282  		return x.ModelDeploymentMonitoringJob
   283  	}
   284  	return ""
   285  }
   286  
   287  func (x *Endpoint) GetPredictRequestResponseLoggingConfig() *PredictRequestResponseLoggingConfig {
   288  	if x != nil {
   289  		return x.PredictRequestResponseLoggingConfig
   290  	}
   291  	return nil
   292  }
   293  
   294  func (x *Endpoint) GetDedicatedEndpointEnabled() bool {
   295  	if x != nil {
   296  		return x.DedicatedEndpointEnabled
   297  	}
   298  	return false
   299  }
   300  
   301  func (x *Endpoint) GetDedicatedEndpointDns() string {
   302  	if x != nil {
   303  		return x.DedicatedEndpointDns
   304  	}
   305  	return ""
   306  }
   307  
   308  func (x *Endpoint) GetClientConnectionConfig() *ClientConnectionConfig {
   309  	if x != nil {
   310  		return x.ClientConnectionConfig
   311  	}
   312  	return nil
   313  }
   314  
   315  func (x *Endpoint) GetSatisfiesPzs() bool {
   316  	if x != nil {
   317  		return x.SatisfiesPzs
   318  	}
   319  	return false
   320  }
   321  
   322  func (x *Endpoint) GetSatisfiesPzi() bool {
   323  	if x != nil {
   324  		return x.SatisfiesPzi
   325  	}
   326  	return false
   327  }
   328  
   329  func (x *Endpoint) GetGenAiAdvancedFeaturesConfig() *GenAiAdvancedFeaturesConfig {
   330  	if x != nil {
   331  		return x.GenAiAdvancedFeaturesConfig
   332  	}
   333  	return nil
   334  }
   335  
   336  func (x *Endpoint) GetPrivateModelServerEnabled() bool {
   337  	if x != nil {
   338  		return x.PrivateModelServerEnabled
   339  	}
   340  	return false
   341  }
   342  
   343  // A deployment of a Model. Endpoints contain one or more DeployedModels.
   344  type DeployedModel struct {
   345  	state         protoimpl.MessageState
   346  	sizeCache     protoimpl.SizeCache
   347  	unknownFields protoimpl.UnknownFields
   348  
   349  	// The prediction (for example, the machine) resources that the DeployedModel
   350  	// uses. The user is billed for the resources (at least their minimal amount)
   351  	// even if the DeployedModel receives no traffic.
   352  	// Not all Models support all resources types. See
   353  	// [Model.supported_deployment_resources_types][google.cloud.aiplatform.v1.Model.supported_deployment_resources_types].
   354  	// Required except for Large Model Deploy use cases.
   355  	//
   356  	// Types that are assignable to PredictionResources:
   357  	//
   358  	//	*DeployedModel_DedicatedResources
   359  	//	*DeployedModel_AutomaticResources
   360  	//	*DeployedModel_SharedResources
   361  	PredictionResources isDeployedModel_PredictionResources `protobuf_oneof:"prediction_resources"`
   362  	// Immutable. The ID of the DeployedModel. If not provided upon deployment,
   363  	// Vertex AI will generate a value for this ID.
   364  	//
   365  	// This value should be 1-10 characters, and valid characters are `/[0-9]/`.
   366  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   367  	// The resource name of the Model that this is the deployment of. Note that
   368  	// the Model may be in a different location than the DeployedModel's Endpoint.
   369  	//
   370  	// The resource name may contain version id or version alias to specify the
   371  	// version.
   372  	//
   373  	//	Example: `projects/{project}/locations/{location}/models/{model}@2`
   374  	//	            or
   375  	//	          `projects/{project}/locations/{location}/models/{model}@golden`
   376  	//
   377  	// if no version is specified, the default version will be deployed.
   378  	Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
   379  	// Output only. The version ID of the model that is deployed.
   380  	ModelVersionId string `protobuf:"bytes,18,opt,name=model_version_id,json=modelVersionId,proto3" json:"model_version_id,omitempty"`
   381  	// The display name of the DeployedModel. If not provided upon creation,
   382  	// the Model's display_name is used.
   383  	DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
   384  	// Output only. Timestamp when the DeployedModel was created.
   385  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   386  	// Explanation configuration for this DeployedModel.
   387  	//
   388  	// When deploying a Model using
   389  	// [EndpointService.DeployModel][google.cloud.aiplatform.v1.EndpointService.DeployModel],
   390  	// this value overrides the value of
   391  	// [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec].
   392  	// All fields of
   393  	// [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
   394  	// are optional in the request. If a field of
   395  	// [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
   396  	// is not populated, the value of the same field of
   397  	// [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec]
   398  	// is inherited. If the corresponding
   399  	// [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec]
   400  	// is not populated, all fields of the
   401  	// [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec]
   402  	// will be used for the explanation configuration.
   403  	ExplanationSpec *ExplanationSpec `protobuf:"bytes,9,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"`
   404  	// If true, deploy the model without explainable feature, regardless the
   405  	// existence of
   406  	// [Model.explanation_spec][google.cloud.aiplatform.v1.Model.explanation_spec]
   407  	// or
   408  	// [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec].
   409  	DisableExplanations bool `protobuf:"varint,19,opt,name=disable_explanations,json=disableExplanations,proto3" json:"disable_explanations,omitempty"`
   410  	// The service account that the DeployedModel's container runs as. Specify the
   411  	// email address of the service account. If this service account is not
   412  	// specified, the container runs as a service account that doesn't have access
   413  	// to the resource project.
   414  	//
   415  	// Users deploying the Model must have the `iam.serviceAccounts.actAs`
   416  	// permission on this service account.
   417  	ServiceAccount string `protobuf:"bytes,11,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
   418  	// For custom-trained Models and AutoML Tabular Models, the container of the
   419  	// DeployedModel instances will send `stderr` and `stdout` streams to
   420  	// Cloud Logging by default. Please note that the logs incur cost,
   421  	// which are subject to [Cloud Logging
   422  	// pricing](https://cloud.google.com/logging/pricing).
   423  	//
   424  	// User can disable container logging by setting this flag to true.
   425  	DisableContainerLogging bool `protobuf:"varint,15,opt,name=disable_container_logging,json=disableContainerLogging,proto3" json:"disable_container_logging,omitempty"`
   426  	// If true, online prediction access logs are sent to Cloud
   427  	// Logging.
   428  	// These logs are like standard server access logs, containing
   429  	// information like timestamp and latency for each prediction request.
   430  	//
   431  	// Note that logs may incur a cost, especially if your project
   432  	// receives prediction requests at a high queries per second rate (QPS).
   433  	// Estimate your costs before enabling this option.
   434  	EnableAccessLogging bool `protobuf:"varint,13,opt,name=enable_access_logging,json=enableAccessLogging,proto3" json:"enable_access_logging,omitempty"`
   435  	// Output only. Provide paths for users to send predict/explain/health
   436  	// requests directly to the deployed model services running on Cloud via
   437  	// private services access. This field is populated if
   438  	// [network][google.cloud.aiplatform.v1.Endpoint.network] is configured.
   439  	PrivateEndpoints *PrivateEndpoints `protobuf:"bytes,14,opt,name=private_endpoints,json=privateEndpoints,proto3" json:"private_endpoints,omitempty"`
   440  	// Configuration for faster model deployment.
   441  	FasterDeploymentConfig *FasterDeploymentConfig `protobuf:"bytes,23,opt,name=faster_deployment_config,json=fasterDeploymentConfig,proto3" json:"faster_deployment_config,omitempty"`
   442  	// Output only. Runtime status of the deployed model.
   443  	Status *DeployedModel_Status `protobuf:"bytes,26,opt,name=status,proto3" json:"status,omitempty"`
   444  	// System labels to apply to Model Garden deployments.
   445  	// System labels are managed by Google for internal use only.
   446  	SystemLabels map[string]string `protobuf:"bytes,28,rep,name=system_labels,json=systemLabels,proto3" json:"system_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   447  	// The checkpoint id of the model.
   448  	CheckpointId string `protobuf:"bytes,29,opt,name=checkpoint_id,json=checkpointId,proto3" json:"checkpoint_id,omitempty"`
   449  	// Optional. Spec for configuring speculative decoding.
   450  	SpeculativeDecodingSpec *SpeculativeDecodingSpec `protobuf:"bytes,30,opt,name=speculative_decoding_spec,json=speculativeDecodingSpec,proto3" json:"speculative_decoding_spec,omitempty"`
   451  }
   452  
   453  func (x *DeployedModel) Reset() {
   454  	*x = DeployedModel{}
   455  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[1]
   456  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   457  	ms.StoreMessageInfo(mi)
   458  }
   459  
   460  func (x *DeployedModel) String() string {
   461  	return protoimpl.X.MessageStringOf(x)
   462  }
   463  
   464  func (*DeployedModel) ProtoMessage() {}
   465  
   466  func (x *DeployedModel) ProtoReflect() protoreflect.Message {
   467  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[1]
   468  	if x != nil {
   469  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   470  		if ms.LoadMessageInfo() == nil {
   471  			ms.StoreMessageInfo(mi)
   472  		}
   473  		return ms
   474  	}
   475  	return mi.MessageOf(x)
   476  }
   477  
   478  // Deprecated: Use DeployedModel.ProtoReflect.Descriptor instead.
   479  func (*DeployedModel) Descriptor() ([]byte, []int) {
   480  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{1}
   481  }
   482  
   483  func (m *DeployedModel) GetPredictionResources() isDeployedModel_PredictionResources {
   484  	if m != nil {
   485  		return m.PredictionResources
   486  	}
   487  	return nil
   488  }
   489  
   490  func (x *DeployedModel) GetDedicatedResources() *DedicatedResources {
   491  	if x, ok := x.GetPredictionResources().(*DeployedModel_DedicatedResources); ok {
   492  		return x.DedicatedResources
   493  	}
   494  	return nil
   495  }
   496  
   497  func (x *DeployedModel) GetAutomaticResources() *AutomaticResources {
   498  	if x, ok := x.GetPredictionResources().(*DeployedModel_AutomaticResources); ok {
   499  		return x.AutomaticResources
   500  	}
   501  	return nil
   502  }
   503  
   504  func (x *DeployedModel) GetSharedResources() string {
   505  	if x, ok := x.GetPredictionResources().(*DeployedModel_SharedResources); ok {
   506  		return x.SharedResources
   507  	}
   508  	return ""
   509  }
   510  
   511  func (x *DeployedModel) GetId() string {
   512  	if x != nil {
   513  		return x.Id
   514  	}
   515  	return ""
   516  }
   517  
   518  func (x *DeployedModel) GetModel() string {
   519  	if x != nil {
   520  		return x.Model
   521  	}
   522  	return ""
   523  }
   524  
   525  func (x *DeployedModel) GetModelVersionId() string {
   526  	if x != nil {
   527  		return x.ModelVersionId
   528  	}
   529  	return ""
   530  }
   531  
   532  func (x *DeployedModel) GetDisplayName() string {
   533  	if x != nil {
   534  		return x.DisplayName
   535  	}
   536  	return ""
   537  }
   538  
   539  func (x *DeployedModel) GetCreateTime() *timestamppb.Timestamp {
   540  	if x != nil {
   541  		return x.CreateTime
   542  	}
   543  	return nil
   544  }
   545  
   546  func (x *DeployedModel) GetExplanationSpec() *ExplanationSpec {
   547  	if x != nil {
   548  		return x.ExplanationSpec
   549  	}
   550  	return nil
   551  }
   552  
   553  func (x *DeployedModel) GetDisableExplanations() bool {
   554  	if x != nil {
   555  		return x.DisableExplanations
   556  	}
   557  	return false
   558  }
   559  
   560  func (x *DeployedModel) GetServiceAccount() string {
   561  	if x != nil {
   562  		return x.ServiceAccount
   563  	}
   564  	return ""
   565  }
   566  
   567  func (x *DeployedModel) GetDisableContainerLogging() bool {
   568  	if x != nil {
   569  		return x.DisableContainerLogging
   570  	}
   571  	return false
   572  }
   573  
   574  func (x *DeployedModel) GetEnableAccessLogging() bool {
   575  	if x != nil {
   576  		return x.EnableAccessLogging
   577  	}
   578  	return false
   579  }
   580  
   581  func (x *DeployedModel) GetPrivateEndpoints() *PrivateEndpoints {
   582  	if x != nil {
   583  		return x.PrivateEndpoints
   584  	}
   585  	return nil
   586  }
   587  
   588  func (x *DeployedModel) GetFasterDeploymentConfig() *FasterDeploymentConfig {
   589  	if x != nil {
   590  		return x.FasterDeploymentConfig
   591  	}
   592  	return nil
   593  }
   594  
   595  func (x *DeployedModel) GetStatus() *DeployedModel_Status {
   596  	if x != nil {
   597  		return x.Status
   598  	}
   599  	return nil
   600  }
   601  
   602  func (x *DeployedModel) GetSystemLabels() map[string]string {
   603  	if x != nil {
   604  		return x.SystemLabels
   605  	}
   606  	return nil
   607  }
   608  
   609  func (x *DeployedModel) GetCheckpointId() string {
   610  	if x != nil {
   611  		return x.CheckpointId
   612  	}
   613  	return ""
   614  }
   615  
   616  func (x *DeployedModel) GetSpeculativeDecodingSpec() *SpeculativeDecodingSpec {
   617  	if x != nil {
   618  		return x.SpeculativeDecodingSpec
   619  	}
   620  	return nil
   621  }
   622  
   623  type isDeployedModel_PredictionResources interface {
   624  	isDeployedModel_PredictionResources()
   625  }
   626  
   627  type DeployedModel_DedicatedResources struct {
   628  	// A description of resources that are dedicated to the DeployedModel, and
   629  	// that need a higher degree of manual configuration.
   630  	DedicatedResources *DedicatedResources `protobuf:"bytes,7,opt,name=dedicated_resources,json=dedicatedResources,proto3,oneof"`
   631  }
   632  
   633  type DeployedModel_AutomaticResources struct {
   634  	// A description of resources that to large degree are decided by Vertex
   635  	// AI, and require only a modest additional configuration.
   636  	AutomaticResources *AutomaticResources `protobuf:"bytes,8,opt,name=automatic_resources,json=automaticResources,proto3,oneof"`
   637  }
   638  
   639  type DeployedModel_SharedResources struct {
   640  	// The resource name of the shared DeploymentResourcePool to deploy on.
   641  	// Format:
   642  	// `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`
   643  	SharedResources string `protobuf:"bytes,17,opt,name=shared_resources,json=sharedResources,proto3,oneof"`
   644  }
   645  
   646  func (*DeployedModel_DedicatedResources) isDeployedModel_PredictionResources() {}
   647  
   648  func (*DeployedModel_AutomaticResources) isDeployedModel_PredictionResources() {}
   649  
   650  func (*DeployedModel_SharedResources) isDeployedModel_PredictionResources() {}
   651  
   652  // PrivateEndpoints proto is used to provide paths for users to send
   653  // requests privately.
   654  // To send request via private service access, use predict_http_uri,
   655  // explain_http_uri or health_http_uri. To send request via private service
   656  // connect, use service_attachment.
   657  type PrivateEndpoints struct {
   658  	state         protoimpl.MessageState
   659  	sizeCache     protoimpl.SizeCache
   660  	unknownFields protoimpl.UnknownFields
   661  
   662  	// Output only. Http(s) path to send prediction requests.
   663  	PredictHttpUri string `protobuf:"bytes,1,opt,name=predict_http_uri,json=predictHttpUri,proto3" json:"predict_http_uri,omitempty"`
   664  	// Output only. Http(s) path to send explain requests.
   665  	ExplainHttpUri string `protobuf:"bytes,2,opt,name=explain_http_uri,json=explainHttpUri,proto3" json:"explain_http_uri,omitempty"`
   666  	// Output only. Http(s) path to send health check requests.
   667  	HealthHttpUri string `protobuf:"bytes,3,opt,name=health_http_uri,json=healthHttpUri,proto3" json:"health_http_uri,omitempty"`
   668  	// Output only. The name of the service attachment resource. Populated if
   669  	// private service connect is enabled.
   670  	ServiceAttachment string `protobuf:"bytes,4,opt,name=service_attachment,json=serviceAttachment,proto3" json:"service_attachment,omitempty"`
   671  }
   672  
   673  func (x *PrivateEndpoints) Reset() {
   674  	*x = PrivateEndpoints{}
   675  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[2]
   676  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   677  	ms.StoreMessageInfo(mi)
   678  }
   679  
   680  func (x *PrivateEndpoints) String() string {
   681  	return protoimpl.X.MessageStringOf(x)
   682  }
   683  
   684  func (*PrivateEndpoints) ProtoMessage() {}
   685  
   686  func (x *PrivateEndpoints) ProtoReflect() protoreflect.Message {
   687  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[2]
   688  	if x != nil {
   689  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   690  		if ms.LoadMessageInfo() == nil {
   691  			ms.StoreMessageInfo(mi)
   692  		}
   693  		return ms
   694  	}
   695  	return mi.MessageOf(x)
   696  }
   697  
   698  // Deprecated: Use PrivateEndpoints.ProtoReflect.Descriptor instead.
   699  func (*PrivateEndpoints) Descriptor() ([]byte, []int) {
   700  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{2}
   701  }
   702  
   703  func (x *PrivateEndpoints) GetPredictHttpUri() string {
   704  	if x != nil {
   705  		return x.PredictHttpUri
   706  	}
   707  	return ""
   708  }
   709  
   710  func (x *PrivateEndpoints) GetExplainHttpUri() string {
   711  	if x != nil {
   712  		return x.ExplainHttpUri
   713  	}
   714  	return ""
   715  }
   716  
   717  func (x *PrivateEndpoints) GetHealthHttpUri() string {
   718  	if x != nil {
   719  		return x.HealthHttpUri
   720  	}
   721  	return ""
   722  }
   723  
   724  func (x *PrivateEndpoints) GetServiceAttachment() string {
   725  	if x != nil {
   726  		return x.ServiceAttachment
   727  	}
   728  	return ""
   729  }
   730  
   731  // Configuration for logging request-response to a BigQuery table.
   732  type PredictRequestResponseLoggingConfig struct {
   733  	state         protoimpl.MessageState
   734  	sizeCache     protoimpl.SizeCache
   735  	unknownFields protoimpl.UnknownFields
   736  
   737  	// If logging is enabled or not.
   738  	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
   739  	// Percentage of requests to be logged, expressed as a fraction in
   740  	// range(0,1].
   741  	SamplingRate float64 `protobuf:"fixed64,2,opt,name=sampling_rate,json=samplingRate,proto3" json:"sampling_rate,omitempty"`
   742  	// BigQuery table for logging.
   743  	// If only given a project, a new dataset will be created with name
   744  	// `logging_<endpoint-display-name>_<endpoint-id>` where
   745  	// <endpoint-display-name> will be made BigQuery-dataset-name compatible (e.g.
   746  	// most special characters will become underscores). If no table name is
   747  	// given, a new table will be created with name `request_response_logging`
   748  	BigqueryDestination *BigQueryDestination `protobuf:"bytes,3,opt,name=bigquery_destination,json=bigqueryDestination,proto3" json:"bigquery_destination,omitempty"`
   749  }
   750  
   751  func (x *PredictRequestResponseLoggingConfig) Reset() {
   752  	*x = PredictRequestResponseLoggingConfig{}
   753  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[3]
   754  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   755  	ms.StoreMessageInfo(mi)
   756  }
   757  
   758  func (x *PredictRequestResponseLoggingConfig) String() string {
   759  	return protoimpl.X.MessageStringOf(x)
   760  }
   761  
   762  func (*PredictRequestResponseLoggingConfig) ProtoMessage() {}
   763  
   764  func (x *PredictRequestResponseLoggingConfig) ProtoReflect() protoreflect.Message {
   765  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[3]
   766  	if x != nil {
   767  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   768  		if ms.LoadMessageInfo() == nil {
   769  			ms.StoreMessageInfo(mi)
   770  		}
   771  		return ms
   772  	}
   773  	return mi.MessageOf(x)
   774  }
   775  
   776  // Deprecated: Use PredictRequestResponseLoggingConfig.ProtoReflect.Descriptor instead.
   777  func (*PredictRequestResponseLoggingConfig) Descriptor() ([]byte, []int) {
   778  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{3}
   779  }
   780  
   781  func (x *PredictRequestResponseLoggingConfig) GetEnabled() bool {
   782  	if x != nil {
   783  		return x.Enabled
   784  	}
   785  	return false
   786  }
   787  
   788  func (x *PredictRequestResponseLoggingConfig) GetSamplingRate() float64 {
   789  	if x != nil {
   790  		return x.SamplingRate
   791  	}
   792  	return 0
   793  }
   794  
   795  func (x *PredictRequestResponseLoggingConfig) GetBigqueryDestination() *BigQueryDestination {
   796  	if x != nil {
   797  		return x.BigqueryDestination
   798  	}
   799  	return nil
   800  }
   801  
   802  // Configurations (e.g. inference timeout) that are applied on your endpoints.
   803  type ClientConnectionConfig struct {
   804  	state         protoimpl.MessageState
   805  	sizeCache     protoimpl.SizeCache
   806  	unknownFields protoimpl.UnknownFields
   807  
   808  	// Customizable online prediction request timeout.
   809  	InferenceTimeout *durationpb.Duration `protobuf:"bytes,1,opt,name=inference_timeout,json=inferenceTimeout,proto3" json:"inference_timeout,omitempty"`
   810  }
   811  
   812  func (x *ClientConnectionConfig) Reset() {
   813  	*x = ClientConnectionConfig{}
   814  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[4]
   815  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   816  	ms.StoreMessageInfo(mi)
   817  }
   818  
   819  func (x *ClientConnectionConfig) String() string {
   820  	return protoimpl.X.MessageStringOf(x)
   821  }
   822  
   823  func (*ClientConnectionConfig) ProtoMessage() {}
   824  
   825  func (x *ClientConnectionConfig) ProtoReflect() protoreflect.Message {
   826  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[4]
   827  	if x != nil {
   828  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   829  		if ms.LoadMessageInfo() == nil {
   830  			ms.StoreMessageInfo(mi)
   831  		}
   832  		return ms
   833  	}
   834  	return mi.MessageOf(x)
   835  }
   836  
   837  // Deprecated: Use ClientConnectionConfig.ProtoReflect.Descriptor instead.
   838  func (*ClientConnectionConfig) Descriptor() ([]byte, []int) {
   839  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{4}
   840  }
   841  
   842  func (x *ClientConnectionConfig) GetInferenceTimeout() *durationpb.Duration {
   843  	if x != nil {
   844  		return x.InferenceTimeout
   845  	}
   846  	return nil
   847  }
   848  
   849  // Configuration for faster model deployment.
   850  type FasterDeploymentConfig struct {
   851  	state         protoimpl.MessageState
   852  	sizeCache     protoimpl.SizeCache
   853  	unknownFields protoimpl.UnknownFields
   854  
   855  	// If true, enable fast tryout feature for this deployed model.
   856  	FastTryoutEnabled bool `protobuf:"varint,2,opt,name=fast_tryout_enabled,json=fastTryoutEnabled,proto3" json:"fast_tryout_enabled,omitempty"`
   857  }
   858  
   859  func (x *FasterDeploymentConfig) Reset() {
   860  	*x = FasterDeploymentConfig{}
   861  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[5]
   862  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   863  	ms.StoreMessageInfo(mi)
   864  }
   865  
   866  func (x *FasterDeploymentConfig) String() string {
   867  	return protoimpl.X.MessageStringOf(x)
   868  }
   869  
   870  func (*FasterDeploymentConfig) ProtoMessage() {}
   871  
   872  func (x *FasterDeploymentConfig) ProtoReflect() protoreflect.Message {
   873  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[5]
   874  	if x != nil {
   875  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   876  		if ms.LoadMessageInfo() == nil {
   877  			ms.StoreMessageInfo(mi)
   878  		}
   879  		return ms
   880  	}
   881  	return mi.MessageOf(x)
   882  }
   883  
   884  // Deprecated: Use FasterDeploymentConfig.ProtoReflect.Descriptor instead.
   885  func (*FasterDeploymentConfig) Descriptor() ([]byte, []int) {
   886  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{5}
   887  }
   888  
   889  func (x *FasterDeploymentConfig) GetFastTryoutEnabled() bool {
   890  	if x != nil {
   891  		return x.FastTryoutEnabled
   892  	}
   893  	return false
   894  }
   895  
   896  // Configuration for GenAiAdvancedFeatures.
   897  type GenAiAdvancedFeaturesConfig struct {
   898  	state         protoimpl.MessageState
   899  	sizeCache     protoimpl.SizeCache
   900  	unknownFields protoimpl.UnknownFields
   901  
   902  	// Configuration for Retrieval Augmented Generation feature.
   903  	RagConfig *GenAiAdvancedFeaturesConfig_RagConfig `protobuf:"bytes,1,opt,name=rag_config,json=ragConfig,proto3" json:"rag_config,omitempty"`
   904  }
   905  
   906  func (x *GenAiAdvancedFeaturesConfig) Reset() {
   907  	*x = GenAiAdvancedFeaturesConfig{}
   908  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[6]
   909  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   910  	ms.StoreMessageInfo(mi)
   911  }
   912  
   913  func (x *GenAiAdvancedFeaturesConfig) String() string {
   914  	return protoimpl.X.MessageStringOf(x)
   915  }
   916  
   917  func (*GenAiAdvancedFeaturesConfig) ProtoMessage() {}
   918  
   919  func (x *GenAiAdvancedFeaturesConfig) ProtoReflect() protoreflect.Message {
   920  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[6]
   921  	if x != nil {
   922  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   923  		if ms.LoadMessageInfo() == nil {
   924  			ms.StoreMessageInfo(mi)
   925  		}
   926  		return ms
   927  	}
   928  	return mi.MessageOf(x)
   929  }
   930  
   931  // Deprecated: Use GenAiAdvancedFeaturesConfig.ProtoReflect.Descriptor instead.
   932  func (*GenAiAdvancedFeaturesConfig) Descriptor() ([]byte, []int) {
   933  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{6}
   934  }
   935  
   936  func (x *GenAiAdvancedFeaturesConfig) GetRagConfig() *GenAiAdvancedFeaturesConfig_RagConfig {
   937  	if x != nil {
   938  		return x.RagConfig
   939  	}
   940  	return nil
   941  }
   942  
   943  // Configuration for Speculative Decoding.
   944  type SpeculativeDecodingSpec struct {
   945  	state         protoimpl.MessageState
   946  	sizeCache     protoimpl.SizeCache
   947  	unknownFields protoimpl.UnknownFields
   948  
   949  	// The type of speculation method to use.
   950  	//
   951  	// Types that are assignable to Speculation:
   952  	//
   953  	//	*SpeculativeDecodingSpec_DraftModelSpeculation_
   954  	//	*SpeculativeDecodingSpec_NgramSpeculation_
   955  	Speculation isSpeculativeDecodingSpec_Speculation `protobuf_oneof:"speculation"`
   956  	// The number of speculative tokens to generate at each step.
   957  	SpeculativeTokenCount int32 `protobuf:"varint,1,opt,name=speculative_token_count,json=speculativeTokenCount,proto3" json:"speculative_token_count,omitempty"`
   958  }
   959  
   960  func (x *SpeculativeDecodingSpec) Reset() {
   961  	*x = SpeculativeDecodingSpec{}
   962  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[7]
   963  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   964  	ms.StoreMessageInfo(mi)
   965  }
   966  
   967  func (x *SpeculativeDecodingSpec) String() string {
   968  	return protoimpl.X.MessageStringOf(x)
   969  }
   970  
   971  func (*SpeculativeDecodingSpec) ProtoMessage() {}
   972  
   973  func (x *SpeculativeDecodingSpec) ProtoReflect() protoreflect.Message {
   974  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[7]
   975  	if x != nil {
   976  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   977  		if ms.LoadMessageInfo() == nil {
   978  			ms.StoreMessageInfo(mi)
   979  		}
   980  		return ms
   981  	}
   982  	return mi.MessageOf(x)
   983  }
   984  
   985  // Deprecated: Use SpeculativeDecodingSpec.ProtoReflect.Descriptor instead.
   986  func (*SpeculativeDecodingSpec) Descriptor() ([]byte, []int) {
   987  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{7}
   988  }
   989  
   990  func (m *SpeculativeDecodingSpec) GetSpeculation() isSpeculativeDecodingSpec_Speculation {
   991  	if m != nil {
   992  		return m.Speculation
   993  	}
   994  	return nil
   995  }
   996  
   997  func (x *SpeculativeDecodingSpec) GetDraftModelSpeculation() *SpeculativeDecodingSpec_DraftModelSpeculation {
   998  	if x, ok := x.GetSpeculation().(*SpeculativeDecodingSpec_DraftModelSpeculation_); ok {
   999  		return x.DraftModelSpeculation
  1000  	}
  1001  	return nil
  1002  }
  1003  
  1004  func (x *SpeculativeDecodingSpec) GetNgramSpeculation() *SpeculativeDecodingSpec_NgramSpeculation {
  1005  	if x, ok := x.GetSpeculation().(*SpeculativeDecodingSpec_NgramSpeculation_); ok {
  1006  		return x.NgramSpeculation
  1007  	}
  1008  	return nil
  1009  }
  1010  
  1011  func (x *SpeculativeDecodingSpec) GetSpeculativeTokenCount() int32 {
  1012  	if x != nil {
  1013  		return x.SpeculativeTokenCount
  1014  	}
  1015  	return 0
  1016  }
  1017  
  1018  type isSpeculativeDecodingSpec_Speculation interface {
  1019  	isSpeculativeDecodingSpec_Speculation()
  1020  }
  1021  
  1022  type SpeculativeDecodingSpec_DraftModelSpeculation_ struct {
  1023  	// draft model speculation.
  1024  	DraftModelSpeculation *SpeculativeDecodingSpec_DraftModelSpeculation `protobuf:"bytes,2,opt,name=draft_model_speculation,json=draftModelSpeculation,proto3,oneof"`
  1025  }
  1026  
  1027  type SpeculativeDecodingSpec_NgramSpeculation_ struct {
  1028  	// N-Gram speculation.
  1029  	NgramSpeculation *SpeculativeDecodingSpec_NgramSpeculation `protobuf:"bytes,3,opt,name=ngram_speculation,json=ngramSpeculation,proto3,oneof"`
  1030  }
  1031  
  1032  func (*SpeculativeDecodingSpec_DraftModelSpeculation_) isSpeculativeDecodingSpec_Speculation() {}
  1033  
  1034  func (*SpeculativeDecodingSpec_NgramSpeculation_) isSpeculativeDecodingSpec_Speculation() {}
  1035  
  1036  // Runtime status of the deployed model.
  1037  type DeployedModel_Status struct {
  1038  	state         protoimpl.MessageState
  1039  	sizeCache     protoimpl.SizeCache
  1040  	unknownFields protoimpl.UnknownFields
  1041  
  1042  	// Output only. The latest deployed model's status message (if any).
  1043  	Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
  1044  	// Output only. The time at which the status was last updated.
  1045  	LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"`
  1046  	// Output only. The number of available replicas of the deployed model.
  1047  	AvailableReplicaCount int32 `protobuf:"varint,3,opt,name=available_replica_count,json=availableReplicaCount,proto3" json:"available_replica_count,omitempty"`
  1048  }
  1049  
  1050  func (x *DeployedModel_Status) Reset() {
  1051  	*x = DeployedModel_Status{}
  1052  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[10]
  1053  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1054  	ms.StoreMessageInfo(mi)
  1055  }
  1056  
  1057  func (x *DeployedModel_Status) String() string {
  1058  	return protoimpl.X.MessageStringOf(x)
  1059  }
  1060  
  1061  func (*DeployedModel_Status) ProtoMessage() {}
  1062  
  1063  func (x *DeployedModel_Status) ProtoReflect() protoreflect.Message {
  1064  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[10]
  1065  	if x != nil {
  1066  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1067  		if ms.LoadMessageInfo() == nil {
  1068  			ms.StoreMessageInfo(mi)
  1069  		}
  1070  		return ms
  1071  	}
  1072  	return mi.MessageOf(x)
  1073  }
  1074  
  1075  // Deprecated: Use DeployedModel_Status.ProtoReflect.Descriptor instead.
  1076  func (*DeployedModel_Status) Descriptor() ([]byte, []int) {
  1077  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{1, 0}
  1078  }
  1079  
  1080  func (x *DeployedModel_Status) GetMessage() string {
  1081  	if x != nil {
  1082  		return x.Message
  1083  	}
  1084  	return ""
  1085  }
  1086  
  1087  func (x *DeployedModel_Status) GetLastUpdateTime() *timestamppb.Timestamp {
  1088  	if x != nil {
  1089  		return x.LastUpdateTime
  1090  	}
  1091  	return nil
  1092  }
  1093  
  1094  func (x *DeployedModel_Status) GetAvailableReplicaCount() int32 {
  1095  	if x != nil {
  1096  		return x.AvailableReplicaCount
  1097  	}
  1098  	return 0
  1099  }
  1100  
  1101  // Configuration for Retrieval Augmented Generation feature.
  1102  type GenAiAdvancedFeaturesConfig_RagConfig struct {
  1103  	state         protoimpl.MessageState
  1104  	sizeCache     protoimpl.SizeCache
  1105  	unknownFields protoimpl.UnknownFields
  1106  
  1107  	// If true, enable Retrieval Augmented Generation in ChatCompletion request.
  1108  	// Once enabled, the endpoint will be identified as GenAI endpoint and
  1109  	// Arthedain router will be used.
  1110  	EnableRag bool `protobuf:"varint,1,opt,name=enable_rag,json=enableRag,proto3" json:"enable_rag,omitempty"`
  1111  }
  1112  
  1113  func (x *GenAiAdvancedFeaturesConfig_RagConfig) Reset() {
  1114  	*x = GenAiAdvancedFeaturesConfig_RagConfig{}
  1115  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[12]
  1116  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1117  	ms.StoreMessageInfo(mi)
  1118  }
  1119  
  1120  func (x *GenAiAdvancedFeaturesConfig_RagConfig) String() string {
  1121  	return protoimpl.X.MessageStringOf(x)
  1122  }
  1123  
  1124  func (*GenAiAdvancedFeaturesConfig_RagConfig) ProtoMessage() {}
  1125  
  1126  func (x *GenAiAdvancedFeaturesConfig_RagConfig) ProtoReflect() protoreflect.Message {
  1127  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[12]
  1128  	if x != nil {
  1129  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1130  		if ms.LoadMessageInfo() == nil {
  1131  			ms.StoreMessageInfo(mi)
  1132  		}
  1133  		return ms
  1134  	}
  1135  	return mi.MessageOf(x)
  1136  }
  1137  
  1138  // Deprecated: Use GenAiAdvancedFeaturesConfig_RagConfig.ProtoReflect.Descriptor instead.
  1139  func (*GenAiAdvancedFeaturesConfig_RagConfig) Descriptor() ([]byte, []int) {
  1140  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{6, 0}
  1141  }
  1142  
  1143  func (x *GenAiAdvancedFeaturesConfig_RagConfig) GetEnableRag() bool {
  1144  	if x != nil {
  1145  		return x.EnableRag
  1146  	}
  1147  	return false
  1148  }
  1149  
  1150  // Draft model speculation works by using the smaller model to generate
  1151  // candidate tokens for speculative decoding.
  1152  type SpeculativeDecodingSpec_DraftModelSpeculation struct {
  1153  	state         protoimpl.MessageState
  1154  	sizeCache     protoimpl.SizeCache
  1155  	unknownFields protoimpl.UnknownFields
  1156  
  1157  	// Required. The resource name of the draft model.
  1158  	DraftModel string `protobuf:"bytes,1,opt,name=draft_model,json=draftModel,proto3" json:"draft_model,omitempty"`
  1159  }
  1160  
  1161  func (x *SpeculativeDecodingSpec_DraftModelSpeculation) Reset() {
  1162  	*x = SpeculativeDecodingSpec_DraftModelSpeculation{}
  1163  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[13]
  1164  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1165  	ms.StoreMessageInfo(mi)
  1166  }
  1167  
  1168  func (x *SpeculativeDecodingSpec_DraftModelSpeculation) String() string {
  1169  	return protoimpl.X.MessageStringOf(x)
  1170  }
  1171  
  1172  func (*SpeculativeDecodingSpec_DraftModelSpeculation) ProtoMessage() {}
  1173  
  1174  func (x *SpeculativeDecodingSpec_DraftModelSpeculation) ProtoReflect() protoreflect.Message {
  1175  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[13]
  1176  	if x != nil {
  1177  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1178  		if ms.LoadMessageInfo() == nil {
  1179  			ms.StoreMessageInfo(mi)
  1180  		}
  1181  		return ms
  1182  	}
  1183  	return mi.MessageOf(x)
  1184  }
  1185  
  1186  // Deprecated: Use SpeculativeDecodingSpec_DraftModelSpeculation.ProtoReflect.Descriptor instead.
  1187  func (*SpeculativeDecodingSpec_DraftModelSpeculation) Descriptor() ([]byte, []int) {
  1188  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{7, 0}
  1189  }
  1190  
  1191  func (x *SpeculativeDecodingSpec_DraftModelSpeculation) GetDraftModel() string {
  1192  	if x != nil {
  1193  		return x.DraftModel
  1194  	}
  1195  	return ""
  1196  }
  1197  
  1198  // N-Gram speculation works by trying to find matching tokens in the
  1199  // previous prompt sequence and use those as speculation for generating
  1200  // new tokens.
  1201  type SpeculativeDecodingSpec_NgramSpeculation struct {
  1202  	state         protoimpl.MessageState
  1203  	sizeCache     protoimpl.SizeCache
  1204  	unknownFields protoimpl.UnknownFields
  1205  
  1206  	// The number of last N input tokens used as ngram to search/match
  1207  	// against the previous prompt sequence.
  1208  	// This is equal to the N in N-Gram.
  1209  	// The default value is 3 if not specified.
  1210  	NgramSize int32 `protobuf:"varint,1,opt,name=ngram_size,json=ngramSize,proto3" json:"ngram_size,omitempty"`
  1211  }
  1212  
  1213  func (x *SpeculativeDecodingSpec_NgramSpeculation) Reset() {
  1214  	*x = SpeculativeDecodingSpec_NgramSpeculation{}
  1215  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[14]
  1216  	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1217  	ms.StoreMessageInfo(mi)
  1218  }
  1219  
  1220  func (x *SpeculativeDecodingSpec_NgramSpeculation) String() string {
  1221  	return protoimpl.X.MessageStringOf(x)
  1222  }
  1223  
  1224  func (*SpeculativeDecodingSpec_NgramSpeculation) ProtoMessage() {}
  1225  
  1226  func (x *SpeculativeDecodingSpec_NgramSpeculation) ProtoReflect() protoreflect.Message {
  1227  	mi := &file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[14]
  1228  	if x != nil {
  1229  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1230  		if ms.LoadMessageInfo() == nil {
  1231  			ms.StoreMessageInfo(mi)
  1232  		}
  1233  		return ms
  1234  	}
  1235  	return mi.MessageOf(x)
  1236  }
  1237  
  1238  // Deprecated: Use SpeculativeDecodingSpec_NgramSpeculation.ProtoReflect.Descriptor instead.
  1239  func (*SpeculativeDecodingSpec_NgramSpeculation) Descriptor() ([]byte, []int) {
  1240  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP(), []int{7, 1}
  1241  }
  1242  
  1243  func (x *SpeculativeDecodingSpec_NgramSpeculation) GetNgramSize() int32 {
  1244  	if x != nil {
  1245  		return x.NgramSize
  1246  	}
  1247  	return 0
  1248  }
  1249  
  1250  var File_google_cloud_aiplatform_v1_endpoint_proto protoreflect.FileDescriptor
  1251  
  1252  var file_google_cloud_aiplatform_v1_endpoint_proto_rawDesc = []byte{
  1253  	0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61,
  1254  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x64,
  1255  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f,
  1256  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  1257  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
  1258  	0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69,
  1259  	0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1260  	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72,
  1261  	0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
  1262  	0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f,
  1263  	0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e,
  1264  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
  1265  	0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76,
  1266  	0x31, 0x2f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
  1267  	0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
  1268  	0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f,
  1269  	0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1270  	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
  1271  	0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73,
  1272  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f,
  1273  	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61,
  1274  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
  1275  	0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1276  	0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1277  	0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1278  	0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1279  	0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
  1280  	0x74, 0x6f, 0x22, 0xbe, 0x0f, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12,
  1281  	0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
  1282  	0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70,
  1283  	0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  1284  	0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65,
  1285  	0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
  1286  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
  1287  	0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d,
  1288  	0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f,
  1289  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61,
  1290  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65,
  1291  	0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x64, 0x65, 0x70,
  1292  	0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x5b, 0x0a, 0x0d, 0x74,
  1293  	0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x18, 0x05, 0x20, 0x03,
  1294  	0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  1295  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  1296  	0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
  1297  	0x53, 0x70, 0x6c, 0x69, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x66,
  1298  	0x66, 0x69, 0x63, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67,
  1299  	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x48, 0x0a, 0x06,
  1300  	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67,
  1301  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  1302  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69,
  1303  	0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06,
  1304  	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
  1305  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
  1306  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
  1307  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72,
  1308  	0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61,
  1309  	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
  1310  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  1311  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a,
  1312  	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x0f, 0x65, 0x6e,
  1313  	0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0a, 0x20,
  1314  	0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1315  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1316  	0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52,
  1317  	0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12,
  1318  	0x40, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09,
  1319  	0x42, 0x26, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74,
  1320  	0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
  1321  	0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
  1322  	0x6b, 0x12, 0x47, 0x0a, 0x1e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76,
  1323  	0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e,
  1324  	0x65, 0x63, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1b, 0x65,
  1325  	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
  1326  	0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x1e, 0x70,
  1327  	0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63,
  1328  	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x15, 0x20,
  1329  	0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1330  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1331  	0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43,
  1332  	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41,
  1333  	0x01, 0x52, 0x1b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
  1334  	0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x85,
  1335  	0x01, 0x0a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d,
  1336  	0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6a,
  1337  	0x6f, 0x62, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0xe0, 0x41, 0x03, 0xfa, 0x41, 0x38,
  1338  	0x0a, 0x36, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f,
  1339  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65,
  1340  	0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74,
  1341  	0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44,
  1342  	0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
  1343  	0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x95, 0x01, 0x0a, 0x27, 0x70, 0x72, 0x65, 0x64, 0x69,
  1344  	0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f,
  1345  	0x6e, 0x73, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
  1346  	0x69, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  1347  	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
  1348  	0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71,
  1349  	0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4c, 0x6f, 0x67, 0x67,
  1350  	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x23, 0x70, 0x72, 0x65, 0x64, 0x69,
  1351  	0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  1352  	0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3c,
  1353  	0x0a, 0x1a, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x70,
  1354  	0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x18, 0x20, 0x01,
  1355  	0x28, 0x08, 0x52, 0x18, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64,
  1356  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x16,
  1357  	0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69,
  1358  	0x6e, 0x74, 0x5f, 0x64, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  1359  	0x03, 0x52, 0x14, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70,
  1360  	0x6f, 0x69, 0x6e, 0x74, 0x44, 0x6e, 0x73, 0x12, 0x6c, 0x0a, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e,
  1361  	0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
  1362  	0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1363  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66,
  1364  	0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
  1365  	0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16, 0x63,
  1366  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43,
  1367  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69,
  1368  	0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41,
  1369  	0x03, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x12,
  1370  	0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x69,
  1371  	0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x61, 0x74,
  1372  	0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x69, 0x12, 0x82, 0x01, 0x0a, 0x1f, 0x67, 0x65,
  1373  	0x6e, 0x5f, 0x61, 0x69, 0x5f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x66, 0x65,
  1374  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1d, 0x20,
  1375  	0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1376  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1377  	0x2e, 0x47, 0x65, 0x6e, 0x41, 0x69, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x46, 0x65,
  1378  	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41,
  1379  	0x01, 0x52, 0x1b, 0x67, 0x65, 0x6e, 0x41, 0x69, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64,
  1380  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f,
  1381  	0x0a, 0x1c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
  1382  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x1e,
  1383  	0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64,
  1384  	0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a,
  1385  	0x3f, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x45,
  1386  	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
  1387  	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
  1388  	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
  1389  	0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
  1390  	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
  1391  	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
  1392  	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0xb5, 0x01, 0xea, 0x41,
  1393  	0xb1, 0x01, 0x0a, 0x22, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67,
  1394  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e,
  1395  	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
  1396  	0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
  1397  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f,
  1398  	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x64, 0x70, 0x6f,
  1399  	0x69, 0x6e, 0x74, 0x7d, 0x12, 0x4d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
  1400  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
  1401  	0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75,
  1402  	0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,
  1403  	0x68, 0x65, 0x72, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x6d, 0x6f, 0x64,
  1404  	0x65, 0x6c, 0x7d, 0x22, 0xe7, 0x0c, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64,
  1405  	0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x61, 0x0a, 0x13, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74,
  1406  	0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01,
  1407  	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
  1408  	0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e,
  1409  	0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
  1410  	0x65, 0x73, 0x48, 0x00, 0x52, 0x12, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52,
  1411  	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f,
  1412  	0x6d, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18,
  1413  	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
  1414  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e,
  1415  	0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f,
  1416  	0x75, 0x72, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74,
  1417  	0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x10, 0x73,
  1418  	0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18,
  1419  	0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xfa, 0x41, 0x32, 0x0a, 0x30, 0x61, 0x69, 0x70, 0x6c,
  1420  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
  1421  	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74,
  1422  	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x0f,
  1423  	0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12,
  1424  	0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05,
  1425  	0x52, 0x02, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x02, 0x20,
  1426  	0x01, 0x28, 0x09, 0x42, 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  1427  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
  1428  	0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
  1429  	0x12, 0x2d, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
  1430  	0x6e, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
  1431  	0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
  1432  	0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
  1433  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61,
  1434  	0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d,
  1435  	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  1436  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
  1437  	0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
  1438  	0x54, 0x69, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74,
  1439  	0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
  1440  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69,
  1441  	0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6c,
  1442  	0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, 0x65, 0x78, 0x70,
  1443  	0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x14,
  1444  	0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74,
  1445  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61,
  1446  	0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
  1447  	0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75,
  1448  	0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
  1449  	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x64, 0x69, 0x73, 0x61,
  1450  	0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x6f,
  1451  	0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x64, 0x69, 0x73,
  1452  	0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x67,
  1453  	0x67, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61,
  1454  	0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20,
  1455  	0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73,
  1456  	0x73, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x5e, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x76,
  1457  	0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20,
  1458  	0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1459  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1460  	0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74,
  1461  	0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45,
  1462  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x6c, 0x0a, 0x18, 0x66, 0x61, 0x73, 0x74,
  1463  	0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f,
  1464  	0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
  1465  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74,
  1466  	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65,
  1467  	0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x16,
  1468  	0x66, 0x61, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74,
  1469  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
  1470  	0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1471  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1472  	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65,
  1473  	0x6c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73,
  1474  	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x60, 0x0a, 0x0d, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f,
  1475  	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67,
  1476  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  1477  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79,
  1478  	0x65, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x61,
  1479  	0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x79, 0x73, 0x74, 0x65,
  1480  	0x6d, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b,
  1481  	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
  1482  	0x63, 0x68, 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x74, 0x0a, 0x19,
  1483  	0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x6f,
  1484  	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1485  	0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61,
  1486  	0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x65,
  1487  	0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67,
  1488  	0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x73, 0x70, 0x65, 0x63, 0x75,
  1489  	0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x70,
  1490  	0x65, 0x63, 0x1a, 0xaf, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a,
  1491  	0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
  1492  	0xe0, 0x41, 0x03, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x49, 0x0a, 0x10,
  1493  	0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
  1494  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1495  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  1496  	0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64,
  1497  	0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x17, 0x61, 0x76, 0x61, 0x69, 0x6c,
  1498  	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75,
  1499  	0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x61,
  1500  	0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43,
  1501  	0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x3f, 0x0a, 0x11, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x61,
  1502  	0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
  1503  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
  1504  	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
  1505  	0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74,
  1506  	0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xd1, 0x01,
  1507  	0x0a, 0x10, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
  1508  	0x74, 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x68, 0x74,
  1509  	0x74, 0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
  1510  	0x03, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72,
  1511  	0x69, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x74,
  1512  	0x70, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
  1513  	0x52, 0x0e, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69,
  1514  	0x12, 0x2b, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f,
  1515  	0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0d,
  1516  	0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x48, 0x74, 0x74, 0x70, 0x55, 0x72, 0x69, 0x12, 0x32, 0x0a,
  1517  	0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d,
  1518  	0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11,
  1519  	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e,
  1520  	0x74, 0x22, 0xc8, 0x01, 0x0a, 0x23, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71,
  1521  	0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4c, 0x6f, 0x67, 0x67,
  1522  	0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61,
  1523  	0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62,
  1524  	0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f,
  1525  	0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x73, 0x61, 0x6d, 0x70,
  1526  	0x6c, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x12, 0x62, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x71,
  1527  	0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1528  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1529  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
  1530  	0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74,
  1531  	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
  1532  	0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x60, 0x0a, 0x16,
  1533  	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  1534  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x11, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65,
  1535  	0x6e, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
  1536  	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1537  	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x69, 0x6e,
  1538  	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x48,
  1539  	0x0a, 0x16, 0x46, 0x61, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65,
  1540  	0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x61, 0x73, 0x74,
  1541  	0x5f, 0x74, 0x72, 0x79, 0x6f, 0x75, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
  1542  	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x66, 0x61, 0x73, 0x74, 0x54, 0x72, 0x79, 0x6f, 0x75,
  1543  	0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xab, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x6e,
  1544  	0x41, 0x69, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
  1545  	0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x0a, 0x72, 0x61, 0x67, 0x5f,
  1546  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67,
  1547  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c,
  1548  	0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x41, 0x69, 0x41,
  1549  	0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x43,
  1550  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
  1551  	0x09, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2a, 0x0a, 0x09, 0x52, 0x61,
  1552  	0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c,
  1553  	0x65, 0x5f, 0x72, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x65, 0x6e, 0x61,
  1554  	0x62, 0x6c, 0x65, 0x52, 0x61, 0x67, 0x22, 0xf1, 0x03, 0x0a, 0x17, 0x53, 0x70, 0x65, 0x63, 0x75,
  1555  	0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x70,
  1556  	0x65, 0x63, 0x12, 0x83, 0x01, 0x0a, 0x17, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x6d, 0x6f, 0x64,
  1557  	0x65, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
  1558  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
  1559  	0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76,
  1560  	0x31, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x63,
  1561  	0x6f, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x44, 0x72, 0x61, 0x66, 0x74, 0x4d,
  1562  	0x6f, 0x64, 0x65, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48,
  1563  	0x00, 0x52, 0x15, 0x64, 0x72, 0x61, 0x66, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x70, 0x65,
  1564  	0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x73, 0x0a, 0x11, 0x6e, 0x67, 0x72, 0x61,
  1565  	0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
  1566  	0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
  1567  	0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31,
  1568  	0x2e, 0x53, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x63, 0x6f,
  1569  	0x64, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4e, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x70,
  1570  	0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x6e, 0x67, 0x72,
  1571  	0x61, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a,
  1572  	0x17, 0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
  1573  	0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15,
  1574  	0x73, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
  1575  	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x61, 0x0a, 0x15, 0x44, 0x72, 0x61, 0x66, 0x74, 0x4d, 0x6f,
  1576  	0x64, 0x65, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48,
  1577  	0x0a, 0x0b, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x01, 0x20,
  1578  	0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x61, 0x69, 0x70,
  1579  	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
  1580  	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x64, 0x72,
  1581  	0x61, 0x66, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x1a, 0x31, 0x0a, 0x10, 0x4e, 0x67, 0x72, 0x61,
  1582  	0x6d, 0x53, 0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a,
  1583  	0x6e, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
  1584  	0x52, 0x09, 0x6e, 0x67, 0x72, 0x61, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x73,
  1585  	0x70, 0x65, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xcb, 0x01, 0x0a, 0x1e, 0x63,
  1586  	0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
  1587  	0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x45,
  1588  	0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e,
  1589  	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d,
  1590  	0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61,
  1591  	0x70, 0x69, 0x76, 0x31, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70,
  1592  	0x62, 0x3b, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02,
  1593  	0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49,
  1594  	0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f,
  1595  	0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61,
  1596  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c,
  1597  	0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74,
  1598  	0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1599  }
  1600  
  1601  var (
  1602  	file_google_cloud_aiplatform_v1_endpoint_proto_rawDescOnce sync.Once
  1603  	file_google_cloud_aiplatform_v1_endpoint_proto_rawDescData = file_google_cloud_aiplatform_v1_endpoint_proto_rawDesc
  1604  )
  1605  
  1606  func file_google_cloud_aiplatform_v1_endpoint_proto_rawDescGZIP() []byte {
  1607  	file_google_cloud_aiplatform_v1_endpoint_proto_rawDescOnce.Do(func() {
  1608  		file_google_cloud_aiplatform_v1_endpoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_endpoint_proto_rawDescData)
  1609  	})
  1610  	return file_google_cloud_aiplatform_v1_endpoint_proto_rawDescData
  1611  }
  1612  
  1613  var file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
  1614  var file_google_cloud_aiplatform_v1_endpoint_proto_goTypes = []any{
  1615  	(*Endpoint)(nil),                            // 0: google.cloud.aiplatform.v1.Endpoint
  1616  	(*DeployedModel)(nil),                       // 1: google.cloud.aiplatform.v1.DeployedModel
  1617  	(*PrivateEndpoints)(nil),                    // 2: google.cloud.aiplatform.v1.PrivateEndpoints
  1618  	(*PredictRequestResponseLoggingConfig)(nil), // 3: google.cloud.aiplatform.v1.PredictRequestResponseLoggingConfig
  1619  	(*ClientConnectionConfig)(nil),              // 4: google.cloud.aiplatform.v1.ClientConnectionConfig
  1620  	(*FasterDeploymentConfig)(nil),              // 5: google.cloud.aiplatform.v1.FasterDeploymentConfig
  1621  	(*GenAiAdvancedFeaturesConfig)(nil),         // 6: google.cloud.aiplatform.v1.GenAiAdvancedFeaturesConfig
  1622  	(*SpeculativeDecodingSpec)(nil),             // 7: google.cloud.aiplatform.v1.SpeculativeDecodingSpec
  1623  	nil,                                         // 8: google.cloud.aiplatform.v1.Endpoint.TrafficSplitEntry
  1624  	nil,                                         // 9: google.cloud.aiplatform.v1.Endpoint.LabelsEntry
  1625  	(*DeployedModel_Status)(nil),                // 10: google.cloud.aiplatform.v1.DeployedModel.Status
  1626  	nil,                                         // 11: google.cloud.aiplatform.v1.DeployedModel.SystemLabelsEntry
  1627  	(*GenAiAdvancedFeaturesConfig_RagConfig)(nil),         // 12: google.cloud.aiplatform.v1.GenAiAdvancedFeaturesConfig.RagConfig
  1628  	(*SpeculativeDecodingSpec_DraftModelSpeculation)(nil), // 13: google.cloud.aiplatform.v1.SpeculativeDecodingSpec.DraftModelSpeculation
  1629  	(*SpeculativeDecodingSpec_NgramSpeculation)(nil),      // 14: google.cloud.aiplatform.v1.SpeculativeDecodingSpec.NgramSpeculation
  1630  	(*timestamppb.Timestamp)(nil),                         // 15: google.protobuf.Timestamp
  1631  	(*EncryptionSpec)(nil),                                // 16: google.cloud.aiplatform.v1.EncryptionSpec
  1632  	(*PrivateServiceConnectConfig)(nil),                   // 17: google.cloud.aiplatform.v1.PrivateServiceConnectConfig
  1633  	(*DedicatedResources)(nil),                            // 18: google.cloud.aiplatform.v1.DedicatedResources
  1634  	(*AutomaticResources)(nil),                            // 19: google.cloud.aiplatform.v1.AutomaticResources
  1635  	(*ExplanationSpec)(nil),                               // 20: google.cloud.aiplatform.v1.ExplanationSpec
  1636  	(*BigQueryDestination)(nil),                           // 21: google.cloud.aiplatform.v1.BigQueryDestination
  1637  	(*durationpb.Duration)(nil),                           // 22: google.protobuf.Duration
  1638  }
  1639  var file_google_cloud_aiplatform_v1_endpoint_proto_depIdxs = []int32{
  1640  	1,  // 0: google.cloud.aiplatform.v1.Endpoint.deployed_models:type_name -> google.cloud.aiplatform.v1.DeployedModel
  1641  	8,  // 1: google.cloud.aiplatform.v1.Endpoint.traffic_split:type_name -> google.cloud.aiplatform.v1.Endpoint.TrafficSplitEntry
  1642  	9,  // 2: google.cloud.aiplatform.v1.Endpoint.labels:type_name -> google.cloud.aiplatform.v1.Endpoint.LabelsEntry
  1643  	15, // 3: google.cloud.aiplatform.v1.Endpoint.create_time:type_name -> google.protobuf.Timestamp
  1644  	15, // 4: google.cloud.aiplatform.v1.Endpoint.update_time:type_name -> google.protobuf.Timestamp
  1645  	16, // 5: google.cloud.aiplatform.v1.Endpoint.encryption_spec:type_name -> google.cloud.aiplatform.v1.EncryptionSpec
  1646  	17, // 6: google.cloud.aiplatform.v1.Endpoint.private_service_connect_config:type_name -> google.cloud.aiplatform.v1.PrivateServiceConnectConfig
  1647  	3,  // 7: google.cloud.aiplatform.v1.Endpoint.predict_request_response_logging_config:type_name -> google.cloud.aiplatform.v1.PredictRequestResponseLoggingConfig
  1648  	4,  // 8: google.cloud.aiplatform.v1.Endpoint.client_connection_config:type_name -> google.cloud.aiplatform.v1.ClientConnectionConfig
  1649  	6,  // 9: google.cloud.aiplatform.v1.Endpoint.gen_ai_advanced_features_config:type_name -> google.cloud.aiplatform.v1.GenAiAdvancedFeaturesConfig
  1650  	18, // 10: google.cloud.aiplatform.v1.DeployedModel.dedicated_resources:type_name -> google.cloud.aiplatform.v1.DedicatedResources
  1651  	19, // 11: google.cloud.aiplatform.v1.DeployedModel.automatic_resources:type_name -> google.cloud.aiplatform.v1.AutomaticResources
  1652  	15, // 12: google.cloud.aiplatform.v1.DeployedModel.create_time:type_name -> google.protobuf.Timestamp
  1653  	20, // 13: google.cloud.aiplatform.v1.DeployedModel.explanation_spec:type_name -> google.cloud.aiplatform.v1.ExplanationSpec
  1654  	2,  // 14: google.cloud.aiplatform.v1.DeployedModel.private_endpoints:type_name -> google.cloud.aiplatform.v1.PrivateEndpoints
  1655  	5,  // 15: google.cloud.aiplatform.v1.DeployedModel.faster_deployment_config:type_name -> google.cloud.aiplatform.v1.FasterDeploymentConfig
  1656  	10, // 16: google.cloud.aiplatform.v1.DeployedModel.status:type_name -> google.cloud.aiplatform.v1.DeployedModel.Status
  1657  	11, // 17: google.cloud.aiplatform.v1.DeployedModel.system_labels:type_name -> google.cloud.aiplatform.v1.DeployedModel.SystemLabelsEntry
  1658  	7,  // 18: google.cloud.aiplatform.v1.DeployedModel.speculative_decoding_spec:type_name -> google.cloud.aiplatform.v1.SpeculativeDecodingSpec
  1659  	21, // 19: google.cloud.aiplatform.v1.PredictRequestResponseLoggingConfig.bigquery_destination:type_name -> google.cloud.aiplatform.v1.BigQueryDestination
  1660  	22, // 20: google.cloud.aiplatform.v1.ClientConnectionConfig.inference_timeout:type_name -> google.protobuf.Duration
  1661  	12, // 21: google.cloud.aiplatform.v1.GenAiAdvancedFeaturesConfig.rag_config:type_name -> google.cloud.aiplatform.v1.GenAiAdvancedFeaturesConfig.RagConfig
  1662  	13, // 22: google.cloud.aiplatform.v1.SpeculativeDecodingSpec.draft_model_speculation:type_name -> google.cloud.aiplatform.v1.SpeculativeDecodingSpec.DraftModelSpeculation
  1663  	14, // 23: google.cloud.aiplatform.v1.SpeculativeDecodingSpec.ngram_speculation:type_name -> google.cloud.aiplatform.v1.SpeculativeDecodingSpec.NgramSpeculation
  1664  	15, // 24: google.cloud.aiplatform.v1.DeployedModel.Status.last_update_time:type_name -> google.protobuf.Timestamp
  1665  	25, // [25:25] is the sub-list for method output_type
  1666  	25, // [25:25] is the sub-list for method input_type
  1667  	25, // [25:25] is the sub-list for extension type_name
  1668  	25, // [25:25] is the sub-list for extension extendee
  1669  	0,  // [0:25] is the sub-list for field type_name
  1670  }
  1671  
  1672  func init() { file_google_cloud_aiplatform_v1_endpoint_proto_init() }
  1673  func file_google_cloud_aiplatform_v1_endpoint_proto_init() {
  1674  	if File_google_cloud_aiplatform_v1_endpoint_proto != nil {
  1675  		return
  1676  	}
  1677  	file_google_cloud_aiplatform_v1_encryption_spec_proto_init()
  1678  	file_google_cloud_aiplatform_v1_explanation_proto_init()
  1679  	file_google_cloud_aiplatform_v1_io_proto_init()
  1680  	file_google_cloud_aiplatform_v1_machine_resources_proto_init()
  1681  	file_google_cloud_aiplatform_v1_service_networking_proto_init()
  1682  	file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[1].OneofWrappers = []any{
  1683  		(*DeployedModel_DedicatedResources)(nil),
  1684  		(*DeployedModel_AutomaticResources)(nil),
  1685  		(*DeployedModel_SharedResources)(nil),
  1686  	}
  1687  	file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes[7].OneofWrappers = []any{
  1688  		(*SpeculativeDecodingSpec_DraftModelSpeculation_)(nil),
  1689  		(*SpeculativeDecodingSpec_NgramSpeculation_)(nil),
  1690  	}
  1691  	type x struct{}
  1692  	out := protoimpl.TypeBuilder{
  1693  		File: protoimpl.DescBuilder{
  1694  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1695  			RawDescriptor: file_google_cloud_aiplatform_v1_endpoint_proto_rawDesc,
  1696  			NumEnums:      0,
  1697  			NumMessages:   15,
  1698  			NumExtensions: 0,
  1699  			NumServices:   0,
  1700  		},
  1701  		GoTypes:           file_google_cloud_aiplatform_v1_endpoint_proto_goTypes,
  1702  		DependencyIndexes: file_google_cloud_aiplatform_v1_endpoint_proto_depIdxs,
  1703  		MessageInfos:      file_google_cloud_aiplatform_v1_endpoint_proto_msgTypes,
  1704  	}.Build()
  1705  	File_google_cloud_aiplatform_v1_endpoint_proto = out.File
  1706  	file_google_cloud_aiplatform_v1_endpoint_proto_rawDesc = nil
  1707  	file_google_cloud_aiplatform_v1_endpoint_proto_goTypes = nil
  1708  	file_google_cloud_aiplatform_v1_endpoint_proto_depIdxs = nil
  1709  }