| // Copyright 2021 Google LLC |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.33.0 |
| // protoc v4.25.3 |
| // source: google/cloud/retail/v2alpha/model.proto |
| |
| package retailpb |
| |
| import ( |
| reflect "reflect" |
| sync "sync" |
| |
| _ "google.golang.org/genproto/googleapis/api/annotations" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| timestamppb "google.golang.org/protobuf/types/known/timestamppb" |
| ) |
| |
| const ( |
| // Verify that this generated code is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
| // Verify that runtime/protoimpl is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
| ) |
| |
| // The serving state of the model. |
| type Model_ServingState int32 |
| |
| const ( |
| // Unspecified serving state. |
| Model_SERVING_STATE_UNSPECIFIED Model_ServingState = 0 |
| // The model is not serving. |
| Model_INACTIVE Model_ServingState = 1 |
| // The model is serving and can be queried. |
| Model_ACTIVE Model_ServingState = 2 |
| // The model is trained on tuned hyperparameters and can be |
| // queried. |
| Model_TUNED Model_ServingState = 3 |
| ) |
| |
| // Enum value maps for Model_ServingState. |
| var ( |
| Model_ServingState_name = map[int32]string{ |
| 0: "SERVING_STATE_UNSPECIFIED", |
| 1: "INACTIVE", |
| 2: "ACTIVE", |
| 3: "TUNED", |
| } |
| Model_ServingState_value = map[string]int32{ |
| "SERVING_STATE_UNSPECIFIED": 0, |
| "INACTIVE": 1, |
| "ACTIVE": 2, |
| "TUNED": 3, |
| } |
| ) |
| |
| func (x Model_ServingState) Enum() *Model_ServingState { |
| p := new(Model_ServingState) |
| *p = x |
| return p |
| } |
| |
| func (x Model_ServingState) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Model_ServingState) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_retail_v2alpha_model_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (Model_ServingState) Type() protoreflect.EnumType { |
| return &file_google_cloud_retail_v2alpha_model_proto_enumTypes[0] |
| } |
| |
| func (x Model_ServingState) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Model_ServingState.Descriptor instead. |
| func (Model_ServingState) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_retail_v2alpha_model_proto_rawDescGZIP(), []int{0, 0} |
| } |
| |
| // The training state of the model. |
| type Model_TrainingState int32 |
| |
| const ( |
| // Unspecified training state. |
| Model_TRAINING_STATE_UNSPECIFIED Model_TrainingState = 0 |
| // The model training is paused. |
| Model_PAUSED Model_TrainingState = 1 |
| // The model is training. |
| Model_TRAINING Model_TrainingState = 2 |
| ) |
| |
| // Enum value maps for Model_TrainingState. |
| var ( |
| Model_TrainingState_name = map[int32]string{ |
| 0: "TRAINING_STATE_UNSPECIFIED", |
| 1: "PAUSED", |
| 2: "TRAINING", |
| } |
| Model_TrainingState_value = map[string]int32{ |
| "TRAINING_STATE_UNSPECIFIED": 0, |
| "PAUSED": 1, |
| "TRAINING": 2, |
| } |
| ) |
| |
| func (x Model_TrainingState) Enum() *Model_TrainingState { |
| p := new(Model_TrainingState) |
| *p = x |
| return p |
| } |
| |
| func (x Model_TrainingState) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Model_TrainingState) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_retail_v2alpha_model_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (Model_TrainingState) Type() protoreflect.EnumType { |
| return &file_google_cloud_retail_v2alpha_model_proto_enumTypes[1] |
| } |
| |
| func (x Model_TrainingState) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Model_TrainingState.Descriptor instead. |
| func (Model_TrainingState) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_retail_v2alpha_model_proto_rawDescGZIP(), []int{0, 1} |
| } |
| |
| // Describes whether periodic tuning is enabled for this model |
| // or not. Periodic tuning is scheduled at most every three months. You can |
| // start a tuning process manually by using the `TuneModel` |
| // method, which starts a tuning process immediately and resets the quarterly |
| // schedule. Enabling or disabling periodic tuning does not affect any |
| // current tuning processes. |
| type Model_PeriodicTuningState int32 |
| |
| const ( |
| // Unspecified default value, should never be explicitly set. |
| Model_PERIODIC_TUNING_STATE_UNSPECIFIED Model_PeriodicTuningState = 0 |
| // The model has periodic tuning disabled. Tuning |
| // can be reenabled by calling the `EnableModelPeriodicTuning` |
| // method or by calling the `TuneModel` method. |
| Model_PERIODIC_TUNING_DISABLED Model_PeriodicTuningState = 1 |
| // The model cannot be tuned with periodic tuning OR the |
| // `TuneModel` method. Hide the options in customer UI and |
| // reject any requests through the backend self serve API. |
| Model_ALL_TUNING_DISABLED Model_PeriodicTuningState = 3 |
| // The model has periodic tuning enabled. Tuning |
| // can be disabled by calling the `DisableModelPeriodicTuning` |
| // method. |
| Model_PERIODIC_TUNING_ENABLED Model_PeriodicTuningState = 2 |
| ) |
| |
| // Enum value maps for Model_PeriodicTuningState. |
| var ( |
| Model_PeriodicTuningState_name = map[int32]string{ |
| 0: "PERIODIC_TUNING_STATE_UNSPECIFIED", |
| 1: "PERIODIC_TUNING_DISABLED", |
| 3: "ALL_TUNING_DISABLED", |
| 2: "PERIODIC_TUNING_ENABLED", |
| } |
| Model_PeriodicTuningState_value = map[string]int32{ |
| "PERIODIC_TUNING_STATE_UNSPECIFIED": 0, |
| "PERIODIC_TUNING_DISABLED": 1, |
| "ALL_TUNING_DISABLED": 3, |
| "PERIODIC_TUNING_ENABLED": 2, |
| } |
| ) |
| |
| func (x Model_PeriodicTuningState) Enum() *Model_PeriodicTuningState { |
| p := new(Model_PeriodicTuningState) |
| *p = x |
| return p |
| } |
| |
| func (x Model_PeriodicTuningState) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Model_PeriodicTuningState) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_retail_v2alpha_model_proto_enumTypes[2].Descriptor() |
| } |
| |
| func (Model_PeriodicTuningState) Type() protoreflect.EnumType { |
| return &file_google_cloud_retail_v2alpha_model_proto_enumTypes[2] |
| } |
| |
| func (x Model_PeriodicTuningState) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Model_PeriodicTuningState.Descriptor instead. |
| func (Model_PeriodicTuningState) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_retail_v2alpha_model_proto_rawDescGZIP(), []int{0, 2} |
| } |
| |
| // Describes whether this model have sufficient training data |
| // to be continuously trained. |
| type Model_DataState int32 |
| |
| const ( |
| // Unspecified default value, should never be explicitly set. |
| Model_DATA_STATE_UNSPECIFIED Model_DataState = 0 |
| // The model has sufficient training data. |
| Model_DATA_OK Model_DataState = 1 |
| // The model does not have sufficient training data. Error |
| // messages can be queried via Stackdriver. |
| Model_DATA_ERROR Model_DataState = 2 |
| ) |
| |
| // Enum value maps for Model_DataState. |
| var ( |
| Model_DataState_name = map[int32]string{ |
| 0: "DATA_STATE_UNSPECIFIED", |
| 1: "DATA_OK", |
| 2: "DATA_ERROR", |
| } |
| Model_DataState_value = map[string]int32{ |
| "DATA_STATE_UNSPECIFIED": 0, |
| "DATA_OK": 1, |
| "DATA_ERROR": 2, |
| } |
| ) |
| |
| func (x Model_DataState) Enum() *Model_DataState { |
| p := new(Model_DataState) |
| *p = x |
| return p |
| } |
| |
| func (x Model_DataState) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Model_DataState) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_retail_v2alpha_model_proto_enumTypes[3].Descriptor() |
| } |
| |
| func (Model_DataState) Type() protoreflect.EnumType { |
| return &file_google_cloud_retail_v2alpha_model_proto_enumTypes[3] |
| } |
| |
| func (x Model_DataState) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Model_DataState.Descriptor instead. |
| func (Model_DataState) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_retail_v2alpha_model_proto_rawDescGZIP(), []int{0, 3} |
| } |
| |
| // Restrictions of expected returned results. |
| type Model_PageOptimizationConfig_Restriction int32 |
| |
| const ( |
| // Unspecified value for restriction. |
| Model_PageOptimizationConfig_RESTRICTION_UNSPECIFIED Model_PageOptimizationConfig_Restriction = 0 |
| // Allow any [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] to |
| // be show on any number of panels. |
| // |
| // Example: |
| // |
| // `Panel1 candidates`: pdp_ctr, pdp_cvr, home_page_ctr_no_diversity |
| // |
| // `Panel2 candidates`: home_page_ctr_no_diversity, |
| // home_page_ctr_diversity, |
| // |
| // pdp_cvr_no_diversity |
| // |
| // `Restriction` = NO_RESTRICTION |
| // |
| // `Valid combinations`: |
| // |
| // - <i> (pdp_ctr, home_page_ctr_no_diversity) |
| // - (pdp_ctr, home_page_ctr_diversity) |
| // - (pdp_ctr, pdp_cvr_no_diversity) |
| // - (pdp_cvr, home_page_ctr_no_diversity) |
| // - (pdp_cvr, home_page_ctr_diversity) |
| // - (pdp_cvr, pdp_cvr_no_diversity) |
| // - (home_page_ctr_no_diversity, home_page_ctr_no_diversity) |
| // - (home_page_ctr_no_diversity, home_page_ctr_diversity) |
| // - (home_page_ctr_no_diversity, pdp_cvr_no_diversity) </i> |
| // |
| // `Invalid combinations`: [] |
| Model_PageOptimizationConfig_NO_RESTRICTION Model_PageOptimizationConfig_Restriction = 1 |
| // Do not allow the same |
| // [ServingConfig.name][google.cloud.retail.v2alpha.ServingConfig.name] to |
| // be shown on multiple panels. |
| // |
| // Example: |
| // |
| // `Panel1 candidates`: <i> pdp_ctr, pdp_cvr, home_page_ctr_no_diversity |
| // </i> |
| // |
| // `Panel2 candidates`: <i> home_page_ctr_no_diversity, |
| // home_page_ctr_diversity_low, |
| // |
| // pdp_cvr_no_diversity </i> |
| // |
| // `Restriction` = `UNIQUE_SERVING_CONFIG_RESTRICTION` |
| // |
| // `Valid combinations`: |
| // |
| // - <i> (pdp_ctr, home_page_ctr_no_diversity) |
| // - (pdp_ctr, home_page_ctr_diversity_low) |
| // - (pdp_ctr, pdp_cvr_no_diversity) |
| // - (pdp_ctr, pdp_cvr_no_diversity) |
| // - (pdp_cvr, home_page_ctr_no_diversity) |
| // - (pdp_cvr, home_page_ctr_diversity_low) |
| // - (pdp_cvr, pdp_cvr_no_diversity) |
| // - (home_page_ctr_no_diversity, home_page_ctr_diversity_low) |
| // - (home_page_ctr_no_diversity, pdp_cvr_no_diversity) </i> |
| // |
| // `Invalid combinations`: |
| // |
| // - <i> (home_page_ctr_no_diversity, home_page_ctr_no_diversity) </i> |
| Model_PageOptimizationConfig_UNIQUE_SERVING_CONFIG_RESTRICTION Model_PageOptimizationConfig_Restriction = 2 |
| // Do not allow multiple |
| // [ServingConfigs][google.cloud.retail.v2alpha.ServingConfig] with same |
| // [Model.name][google.cloud.retail.v2alpha.Model.name] to be show on on |
| // different panels. |
| // |
| // Example: |
| // |
| // `Panel1 candidates`: <i> pdp_ctr, pdp_cvr, home_page_ctr_no_diversity |
| // </i> |
| // |
| // `Panel2 candidates`: <i> home_page_ctr_no_diversity, |
| // home_page_ctr_diversity_low, |
| // |
| // pdp_cvr_no_diversity </i> |
| // |
| // `Restriction` = `UNIQUE_MODEL_RESTRICTION` |
| // |
| // `Valid combinations`: |
| // |
| // - <i> (pdp_ctr, home_page_ctr_no_diversity) |
| // - (pdp_ctr, home_page_ctr_diversity) |
| // - (pdp_ctr, pdp_cvr_no_diversity) |
| // - (pdp_ctr, pdp_cvr_no_diversity) |
| // - (pdp_cvr, home_page_ctr_no_diversity) |
| // - (pdp_cvr, home_page_ctr_diversity_low) |
| // - (home_page_ctr_no_diversity, pdp_cvr_no_diversity) </i> |
| // |
| // `Invalid combinations`: |
| // |
| // - <i> (home_page_ctr_no_diversity, home_page_ctr_no_diversity) |
| // - (pdp_cvr, pdp_cvr_no_diversity) </i> |
| Model_PageOptimizationConfig_UNIQUE_MODEL_RESTRICTION Model_PageOptimizationConfig_Restriction = 3 |
| // Do not allow multiple |
| // [ServingConfigs][google.cloud.retail.v2alpha.ServingConfig] with same |
| // [Model.type][google.cloud.retail.v2alpha.Model.type] to be shown on |
| // different panels. |
| // |
| // Example: |
| // |
| // `Panel1 candidates`: <i> pdp_ctr, pdp_cvr, home_page_ctr_no_diversity |
| // </i> |
| // |
| // `Panel2 candidates`: <i> home_page_ctr_no_diversity, |
| // home_page_ctr_diversity_low, |
| // |
| // pdp_cvr_no_diversity </i> |
| // |
| // `Restriction` = `UNIQUE_MODEL_RESTRICTION` |
| // |
| // `Valid combinations`: |
| // |
| // * <i> (pdp_ctr, home_page_ctr_no_diversity) |
| // * (pdp_ctr, home_page_ctr_diversity) |
| // * (pdp_cvr, home_page_ctr_no_diversity) |
| // * (pdp_cvr, home_page_ctr_diversity_low) |
| // * (home_page_ctr_no_diversity, pdp_cvr_no_diversity) </i> |
| // |
| // `Invalid combinations`: |
| // |
| // - <i> (pdp_ctr, pdp_cvr_no_diversity) |
| // - (pdp_ctr, pdp_cvr_no_diversity) |
| // - (pdp_cvr, pdp_cvr_no_diversity) |
| // - (home_page_ctr_no_diversity, home_page_ctr_no_diversity) |
| // - (home_page_ctr_no_diversity, home_page_ctr_diversity) </i> |
| Model_PageOptimizationConfig_UNIQUE_MODEL_TYPE_RESTRICTION Model_PageOptimizationConfig_Restriction = 4 |
| ) |
| |
| // Enum value maps for Model_PageOptimizationConfig_Restriction. |
| var ( |
| Model_PageOptimizationConfig_Restriction_name = map[int32]string{ |
| 0: "RESTRICTION_UNSPECIFIED", |
| 1: "NO_RESTRICTION", |
| 2: "UNIQUE_SERVING_CONFIG_RESTRICTION", |
| 3: "UNIQUE_MODEL_RESTRICTION", |
| 4: "UNIQUE_MODEL_TYPE_RESTRICTION", |
| } |
| Model_PageOptimizationConfig_Restriction_value = map[string]int32{ |
| "RESTRICTION_UNSPECIFIED": 0, |
| "NO_RESTRICTION": 1, |
| "UNIQUE_SERVING_CONFIG_RESTRICTION": 2, |
| "UNIQUE_MODEL_RESTRICTION": 3, |
| "UNIQUE_MODEL_TYPE_RESTRICTION": 4, |
| } |
| ) |
| |
| func (x Model_PageOptimizationConfig_Restriction) Enum() *Model_PageOptimizationConfig_Restriction { |
| p := new(Model_PageOptimizationConfig_Restriction) |
| *p = x |
| return p |
| } |
| |
| func (x Model_PageOptimizationConfig_Restriction) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Model_PageOptimizationConfig_Restriction) Descriptor() protoreflect.EnumDescriptor { |
| return file_google_cloud_retail_v2alpha_model_proto_enumTypes[4].Descriptor() |
| } |
| |
| func (Model_PageOptimizationConfig_Restriction) Type() protoreflect.EnumType { |
| return &file_google_cloud_retail_v2alpha_model_proto_enumTypes[4] |
| } |
| |
| func (x Model_PageOptimizationConfig_Restriction) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Model_PageOptimizationConfig_Restriction.Descriptor instead. |
| func (Model_PageOptimizationConfig_Restriction) EnumDescriptor() ([]byte, []int) { |
| return file_google_cloud_retail_v2alpha_model_proto_rawDescGZIP(), []int{0, 0, 0} |
| } |
| |
| // Metadata that describes the training and serving parameters of a |
| // [Model][google.cloud.retail.v2alpha.Model]. A |
| // [Model][google.cloud.retail.v2alpha.Model] can be associated with a |
| // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] and then queried |
| // through the Predict API. |
| type Model struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Training configuration specific to a |
| // [Model.type][google.cloud.retail.v2alpha.Model.type] - currently, only for |
| // page optimization. |
| // |
| // Types that are assignable to TrainingConfig: |
| // |
| // *Model_PageOptimizationConfig_ |
| TrainingConfig isModel_TrainingConfig `protobuf_oneof:"training_config"` |
| // Required. The fully qualified resource name of the model. |
| // |
| // Format: |
| // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}` |
| // catalog_id has char limit of 50. |
| // recommendation_model_id has char limit of 40. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Required. The display name of the model. |
| // |
| // Should be human readable, used to display Recommendation Models in the |
| // Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 |
| // characters. |
| DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` |
| // Optional. The training state that the model is in (e.g. |
| // `TRAINING` or `PAUSED`). |
| // |
| // Since part of the cost of running the service |
| // is frequency of training - this can be used to determine when to train |
| // model in order to control cost. If not specified: the default value for |
| // `CreateModel` method is `TRAINING`. The default value for |
| // `UpdateModel` method is to keep the state the same as before. |
| TrainingState Model_TrainingState `protobuf:"varint,3,opt,name=training_state,json=trainingState,proto3,enum=google.cloud.retail.v2alpha.Model_TrainingState" json:"training_state,omitempty"` |
| // Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`. |
| ServingState Model_ServingState `protobuf:"varint,4,opt,name=serving_state,json=servingState,proto3,enum=google.cloud.retail.v2alpha.Model_ServingState" json:"serving_state,omitempty"` |
| // Output only. Timestamp the Recommendation Model was created at. |
| CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` |
| // Output only. Timestamp the Recommendation Model was last updated. E.g. |
| // if a Recommendation Model was paused - this would be the time the pause was |
| // initiated. |
| UpdateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` |
| // Required. The type of model e.g. `home-page`. |
| // |
| // Currently supported values: `recommended-for-you`, `others-you-may-like`, |
| // `frequently-bought-together`, `page-optimization`, `similar-items`, |
| // `buy-it-again`, `on-sale-items`, and `recently-viewed`(readonly value). |
| // |
| // This field together with |
| // [optimization_objective][google.cloud.retail.v2alpha.Model.optimization_objective] |
| // describe model metadata to use to control model training and serving. |
| // See https://cloud.google.com/retail/docs/models |
| // for more details on what the model metadata control and which combination |
| // of parameters are valid. For invalid combinations of parameters (e.g. type |
| // = `frequently-bought-together` and optimization_objective = `ctr`), you |
| // receive an error 400 if you try to create/update a recommendation with |
| // this set of knobs. |
| Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"` |
| // Optional. The optimization objective e.g. `cvr`. |
| // |
| // Currently supported |
| // values: `ctr`, `cvr`, `revenue-per-order`. |
| // |
| // If not specified, we choose default based on model type. |
| // |
| // Default depends on type of recommendation: |
| // |
| // `recommended-for-you` => `ctr` |
| // |
| // `others-you-may-like` => `ctr` |
| // |
| // `frequently-bought-together` => `revenue_per_order` |
| // |
| // This field together with |
| // [optimization_objective][google.cloud.retail.v2alpha.Model.type] |
| // describe model metadata to use to control model training and serving. |
| // See https://cloud.google.com/retail/docs/models |
| // for more details on what the model metadata control and which combination |
| // of parameters are valid. For invalid combinations of parameters (e.g. type |
| // = `frequently-bought-together` and optimization_objective = `ctr`), you |
| // receive an error 400 if you try to create/update a recommendation with |
| // this set of knobs. |
| OptimizationObjective string `protobuf:"bytes,8,opt,name=optimization_objective,json=optimizationObjective,proto3" json:"optimization_objective,omitempty"` |
| // Optional. The state of periodic tuning. |
| // |
| // The period we use is 3 months - to do a |
| // one-off tune earlier use the `TuneModel` method. Default value |
| // is `PERIODIC_TUNING_ENABLED`. |
| PeriodicTuningState Model_PeriodicTuningState `protobuf:"varint,11,opt,name=periodic_tuning_state,json=periodicTuningState,proto3,enum=google.cloud.retail.v2alpha.Model_PeriodicTuningState" json:"periodic_tuning_state,omitempty"` |
| // Output only. The timestamp when the latest successful tune finished. |
| LastTuneTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=last_tune_time,json=lastTuneTime,proto3" json:"last_tune_time,omitempty"` |
| // Output only. The tune operation associated with the model. |
| // |
| // Can be used to determine if there is an ongoing tune for this |
| // recommendation. Empty field implies no tune is goig on. |
| TuningOperation string `protobuf:"bytes,15,opt,name=tuning_operation,json=tuningOperation,proto3" json:"tuning_operation,omitempty"` |
| // Output only. The state of data requirements for this model: `DATA_OK` and |
| // `DATA_ERROR`. |
| // |
| // Recommendation model cannot be trained if the data is in |
| // `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even |
| // if serving state is `ACTIVE`: models were trained successfully before, but |
| // cannot be refreshed because model no longer has sufficient |
| // data for training. |
| DataState Model_DataState `protobuf:"varint,16,opt,name=data_state,json=dataState,proto3,enum=google.cloud.retail.v2alpha.Model_DataState" json:"data_state,omitempty"` |
| // Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering |
| // by attributes is enabled for the model. |
| FilteringOption RecommendationsFilteringOption `protobuf:"varint,18,opt,name=filtering_option,json=filteringOption,proto3,enum=google.cloud.retail.v2alpha.RecommendationsFilteringOption" json:"filtering_option,omitempty"` |
| // Output only. The list of valid serving configs associated with the |
| // PageOptimizationConfig. |
| ServingConfigLists []*Model_ServingConfigList `protobuf:"bytes,19,rep,name=serving_config_lists,json=servingConfigLists,proto3" json:"serving_config_lists,omitempty"` |
| } |
| |
| func (x *Model) Reset() { |
| *x = Model{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_retail_v2alpha_model_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Model) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Model) ProtoMessage() {} |
| |
| func (x *Model) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_retail_v2alpha_model_proto_msgTypes[0] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Model.ProtoReflect.Descriptor instead. |
| func (*Model) Descriptor() ([]byte, []int) { |
| return file_google_cloud_retail_v2alpha_model_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (m *Model) GetTrainingConfig() isModel_TrainingConfig { |
| if m != nil { |
| return m.TrainingConfig |
| } |
| return nil |
| } |
| |
| func (x *Model) GetPageOptimizationConfig() *Model_PageOptimizationConfig { |
| if x, ok := x.GetTrainingConfig().(*Model_PageOptimizationConfig_); ok { |
| return x.PageOptimizationConfig |
| } |
| return nil |
| } |
| |
| func (x *Model) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *Model) GetDisplayName() string { |
| if x != nil { |
| return x.DisplayName |
| } |
| return "" |
| } |
| |
| func (x *Model) GetTrainingState() Model_TrainingState { |
| if x != nil { |
| return x.TrainingState |
| } |
| return Model_TRAINING_STATE_UNSPECIFIED |
| } |
| |
| func (x *Model) GetServingState() Model_ServingState { |
| if x != nil { |
| return x.ServingState |
| } |
| return Model_SERVING_STATE_UNSPECIFIED |
| } |
| |
| func (x *Model) GetCreateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CreateTime |
| } |
| return nil |
| } |
| |
| func (x *Model) GetUpdateTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.UpdateTime |
| } |
| return nil |
| } |
| |
| func (x *Model) GetType() string { |
| if x != nil { |
| return x.Type |
| } |
| return "" |
| } |
| |
| func (x *Model) GetOptimizationObjective() string { |
| if x != nil { |
| return x.OptimizationObjective |
| } |
| return "" |
| } |
| |
| func (x *Model) GetPeriodicTuningState() Model_PeriodicTuningState { |
| if x != nil { |
| return x.PeriodicTuningState |
| } |
| return Model_PERIODIC_TUNING_STATE_UNSPECIFIED |
| } |
| |
| func (x *Model) GetLastTuneTime() *timestamppb.Timestamp { |
| if x != nil { |
| return x.LastTuneTime |
| } |
| return nil |
| } |
| |
| func (x *Model) GetTuningOperation() string { |
| if x != nil { |
| return x.TuningOperation |
| } |
| return "" |
| } |
| |
| func (x *Model) GetDataState() Model_DataState { |
| if x != nil { |
| return x.DataState |
| } |
| return Model_DATA_STATE_UNSPECIFIED |
| } |
| |
| func (x *Model) GetFilteringOption() RecommendationsFilteringOption { |
| if x != nil { |
| return x.FilteringOption |
| } |
| return RecommendationsFilteringOption_RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED |
| } |
| |
| func (x *Model) GetServingConfigLists() []*Model_ServingConfigList { |
| if x != nil { |
| return x.ServingConfigLists |
| } |
| return nil |
| } |
| |
| type isModel_TrainingConfig interface { |
| isModel_TrainingConfig() |
| } |
| |
| type Model_PageOptimizationConfig_ struct { |
| // Optional. The page optimization config. |
| PageOptimizationConfig *Model_PageOptimizationConfig `protobuf:"bytes,17,opt,name=page_optimization_config,json=pageOptimizationConfig,proto3,oneof"` |
| } |
| |
| func (*Model_PageOptimizationConfig_) isModel_TrainingConfig() {} |
| |
| // The PageOptimizationConfig for model training. |
| // |
| // This determines how many panels to optimize for, and which serving |
| // configs to consider for each panel. |
| // The purpose of this model is to optimize which |
| // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] to show on which |
| // panels in way that optimizes the visitors shopping journey. |
| type Model_PageOptimizationConfig struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Required. The type of [UserEvent][google.cloud.retail.v2alpha.UserEvent] |
| // this page optimization is shown for. |
| // |
| // Each page has an associated event type - this will be the |
| // corresponding event type for the page that the page optimization |
| // model is used on. |
| // |
| // Supported types: |
| // |
| // * `add-to-cart`: Products being added to cart. |
| // * `detail-page-view`: Products detail page viewed. |
| // * `home-page-view`: Homepage viewed |
| // * `category-page-view`: Homepage viewed |
| // * `shopping-cart-page-view`: User viewing a shopping cart. |
| // |
| // `home-page-view` only allows models with type `recommended-for-you`. |
| // All other page_optimization_event_type allow all |
| // [Model.types][google.cloud.retail.v2alpha.Model.type]. |
| PageOptimizationEventType string `protobuf:"bytes,1,opt,name=page_optimization_event_type,json=pageOptimizationEventType,proto3" json:"page_optimization_event_type,omitempty"` |
| // Required. A list of panel configurations. |
| // |
| // Limit = 5. |
| Panels []*Model_PageOptimizationConfig_Panel `protobuf:"bytes,2,rep,name=panels,proto3" json:"panels,omitempty"` |
| // Optional. How to restrict results across panels e.g. can the same |
| // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] be shown on |
| // multiple panels at once. |
| // |
| // If unspecified, default to `UNIQUE_MODEL_RESTRICTION`. |
| Restriction Model_PageOptimizationConfig_Restriction `protobuf:"varint,3,opt,name=restriction,proto3,enum=google.cloud.retail.v2alpha.Model_PageOptimizationConfig_Restriction" json:"restriction,omitempty"` |
| } |
| |
| func (x *Model_PageOptimizationConfig) Reset() { |
| *x = Model_PageOptimizationConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_retail_v2alpha_model_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Model_PageOptimizationConfig) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Model_PageOptimizationConfig) ProtoMessage() {} |
| |
| func (x *Model_PageOptimizationConfig) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_retail_v2alpha_model_proto_msgTypes[1] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Model_PageOptimizationConfig.ProtoReflect.Descriptor instead. |
| func (*Model_PageOptimizationConfig) Descriptor() ([]byte, []int) { |
| return file_google_cloud_retail_v2alpha_model_proto_rawDescGZIP(), []int{0, 0} |
| } |
| |
| func (x *Model_PageOptimizationConfig) GetPageOptimizationEventType() string { |
| if x != nil { |
| return x.PageOptimizationEventType |
| } |
| return "" |
| } |
| |
| func (x *Model_PageOptimizationConfig) GetPanels() []*Model_PageOptimizationConfig_Panel { |
| if x != nil { |
| return x.Panels |
| } |
| return nil |
| } |
| |
| func (x *Model_PageOptimizationConfig) GetRestriction() Model_PageOptimizationConfig_Restriction { |
| if x != nil { |
| return x.Restriction |
| } |
| return Model_PageOptimizationConfig_RESTRICTION_UNSPECIFIED |
| } |
| |
| // Represents an ordered combination of valid serving configs, which |
| // can be used for `PAGE_OPTIMIZATION` recommendations. |
| type Model_ServingConfigList struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. A set of valid serving configs that may be used for |
| // `PAGE_OPTIMIZATION`. |
| ServingConfigIds []string `protobuf:"bytes,1,rep,name=serving_config_ids,json=servingConfigIds,proto3" json:"serving_config_ids,omitempty"` |
| } |
| |
| func (x *Model_ServingConfigList) Reset() { |
| *x = Model_ServingConfigList{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_retail_v2alpha_model_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Model_ServingConfigList) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Model_ServingConfigList) ProtoMessage() {} |
| |
| func (x *Model_ServingConfigList) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_retail_v2alpha_model_proto_msgTypes[2] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Model_ServingConfigList.ProtoReflect.Descriptor instead. |
| func (*Model_ServingConfigList) Descriptor() ([]byte, []int) { |
| return file_google_cloud_retail_v2alpha_model_proto_rawDescGZIP(), []int{0, 1} |
| } |
| |
| func (x *Model_ServingConfigList) GetServingConfigIds() []string { |
| if x != nil { |
| return x.ServingConfigIds |
| } |
| return nil |
| } |
| |
| // A candidate to consider for a given panel. Currently only |
| // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] are valid |
| // candidates. |
| type Model_PageOptimizationConfig_Candidate struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Types that are assignable to Candidate: |
| // |
| // *Model_PageOptimizationConfig_Candidate_ServingConfigId |
| Candidate isModel_PageOptimizationConfig_Candidate_Candidate `protobuf_oneof:"candidate"` |
| } |
| |
| func (x *Model_PageOptimizationConfig_Candidate) Reset() { |
| *x = Model_PageOptimizationConfig_Candidate{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_retail_v2alpha_model_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Model_PageOptimizationConfig_Candidate) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Model_PageOptimizationConfig_Candidate) ProtoMessage() {} |
| |
| func (x *Model_PageOptimizationConfig_Candidate) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_retail_v2alpha_model_proto_msgTypes[3] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Model_PageOptimizationConfig_Candidate.ProtoReflect.Descriptor instead. |
| func (*Model_PageOptimizationConfig_Candidate) Descriptor() ([]byte, []int) { |
| return file_google_cloud_retail_v2alpha_model_proto_rawDescGZIP(), []int{0, 0, 0} |
| } |
| |
| func (m *Model_PageOptimizationConfig_Candidate) GetCandidate() isModel_PageOptimizationConfig_Candidate_Candidate { |
| if m != nil { |
| return m.Candidate |
| } |
| return nil |
| } |
| |
| func (x *Model_PageOptimizationConfig_Candidate) GetServingConfigId() string { |
| if x, ok := x.GetCandidate().(*Model_PageOptimizationConfig_Candidate_ServingConfigId); ok { |
| return x.ServingConfigId |
| } |
| return "" |
| } |
| |
| type isModel_PageOptimizationConfig_Candidate_Candidate interface { |
| isModel_PageOptimizationConfig_Candidate_Candidate() |
| } |
| |
| type Model_PageOptimizationConfig_Candidate_ServingConfigId struct { |
| // This has to be a valid |
| // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] |
| // identifier. For example, for a ServingConfig with full name: |
| // `projects/*/locations/global/catalogs/default_catalog/servingConfigs/my_candidate_config`, |
| // this would be `my_candidate_config`. |
| ServingConfigId string `protobuf:"bytes,1,opt,name=serving_config_id,json=servingConfigId,proto3,oneof"` |
| } |
| |
| func (*Model_PageOptimizationConfig_Candidate_ServingConfigId) isModel_PageOptimizationConfig_Candidate_Candidate() { |
| } |
| |
| // An individual panel with a list of |
| // [ServingConfigs][google.cloud.retail.v2alpha.ServingConfig] to consider |
| // for it. |
| type Model_PageOptimizationConfig_Panel struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional. The name to display for the panel. |
| DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` |
| // Required. The candidates to consider on the panel. |
| Candidates []*Model_PageOptimizationConfig_Candidate `protobuf:"bytes,2,rep,name=candidates,proto3" json:"candidates,omitempty"` |
| // Required. The default candidate. If the model fails at serving time, |
| // we fall back to the default. |
| DefaultCandidate *Model_PageOptimizationConfig_Candidate `protobuf:"bytes,3,opt,name=default_candidate,json=defaultCandidate,proto3" json:"default_candidate,omitempty"` |
| } |
| |
| func (x *Model_PageOptimizationConfig_Panel) Reset() { |
| *x = Model_PageOptimizationConfig_Panel{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_google_cloud_retail_v2alpha_model_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Model_PageOptimizationConfig_Panel) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Model_PageOptimizationConfig_Panel) ProtoMessage() {} |
| |
| func (x *Model_PageOptimizationConfig_Panel) ProtoReflect() protoreflect.Message { |
| mi := &file_google_cloud_retail_v2alpha_model_proto_msgTypes[4] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Model_PageOptimizationConfig_Panel.ProtoReflect.Descriptor instead. |
| func (*Model_PageOptimizationConfig_Panel) Descriptor() ([]byte, []int) { |
| return file_google_cloud_retail_v2alpha_model_proto_rawDescGZIP(), []int{0, 0, 1} |
| } |
| |
| func (x *Model_PageOptimizationConfig_Panel) GetDisplayName() string { |
| if x != nil { |
| return x.DisplayName |
| } |
| return "" |
| } |
| |
| func (x *Model_PageOptimizationConfig_Panel) GetCandidates() []*Model_PageOptimizationConfig_Candidate { |
| if x != nil { |
| return x.Candidates |
| } |
| return nil |
| } |
| |
| func (x *Model_PageOptimizationConfig_Panel) GetDefaultCandidate() *Model_PageOptimizationConfig_Candidate { |
| if x != nil { |
| return x.DefaultCandidate |
| } |
| return nil |
| } |
| |
| var File_google_cloud_retail_v2alpha_model_proto protoreflect.FileDescriptor |
| |
| var file_google_cloud_retail_v2alpha_model_proto_rawDesc = []byte{ |
| 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, |
| 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x6d, 0x6f, |
| 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, |
| 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, |
| 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, |
| 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, |
| 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, |
| 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, |
| 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x13, |
| 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x7a, 0x0a, 0x18, 0x70, 0x61, 0x67, 0x65, 0x5f, |
| 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, |
| 0x66, 0x69, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, |
| 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x61, |
| 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, |
| 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x16, 0x70, 0x61, 0x67, |
| 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, |
| 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, |
| 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, |
| 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, |
| 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, |
| 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, |
| 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, |
| 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, |
| 0x74, 0x65, 0x12, 0x59, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, |
| 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, |
| 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x53, 0x65, |
| 0x72, 0x76, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, |
| 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, |
| 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, |
| 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, |
| 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, |
| 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, |
| 0x65, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, |
| 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x16, 0x6f, 0x70, |
| 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, |
| 0x74, 0x69, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, |
| 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, |
| 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x6f, 0x0a, 0x15, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, |
| 0x69, 0x63, 0x5f, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, |
| 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, |
| 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, |
| 0x69, 0x63, 0x54, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, |
| 0x41, 0x01, 0x52, 0x13, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x54, 0x75, 0x6e, 0x69, |
| 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, |
| 0x74, 0x75, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, |
| 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, |
| 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x75, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, |
| 0x0a, 0x10, 0x74, 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x74, |
| 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, |
| 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, |
| 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, |
| 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, |
| 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, |
| 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, |
| 0x12, 0x6b, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, |
| 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, |
| 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, |
| 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, |
| 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x66, 0x69, |
| 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, |
| 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, |
| 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, |
| 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, |
| 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x69, 0x73, |
| 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, |
| 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x1a, 0xae, 0x06, 0x0a, 0x16, 0x50, |
| 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, |
| 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x1c, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x70, |
| 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, |
| 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, |
| 0x52, 0x19, 0x70, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5c, 0x0a, 0x06, 0x70, |
| 0x61, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, |
| 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, |
| 0x50, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
| 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, |
| 0x02, 0x52, 0x06, 0x70, 0x61, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x6c, 0x0a, 0x0b, 0x72, 0x65, 0x73, |
| 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, |
| 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, |
| 0x65, 0x6c, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, |
| 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x74, |
| 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x46, 0x0a, 0x09, 0x43, 0x61, 0x6e, 0x64, 0x69, |
| 0x64, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, |
| 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, |
| 0x00, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, |
| 0x49, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x1a, |
| 0x90, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x6e, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, |
| 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, |
| 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, |
| 0x65, 0x12, 0x68, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, |
| 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, |
| 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x4f, 0x70, |
| 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, |
| 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, |
| 0x0a, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x75, 0x0a, 0x11, 0x64, |
| 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, |
| 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, |
| 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, |
| 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x4f, |
| 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, |
| 0x67, 0x2e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, |
| 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, |
| 0x74, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, |
| 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, |
| 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, |
| 0x12, 0x0a, 0x0e, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, |
| 0x4e, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x5f, 0x53, 0x45, |
| 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x52, 0x45, 0x53, |
| 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, |
| 0x49, 0x51, 0x55, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, |
| 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x4e, 0x49, 0x51, |
| 0x55, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, |
| 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x1a, 0x46, 0x0a, 0x11, 0x53, |
| 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x69, 0x73, 0x74, |
| 0x12, 0x31, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, |
| 0x69, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, |
| 0x01, 0x52, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, |
| 0x49, 0x64, 0x73, 0x22, 0x52, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x53, 0x74, |
| 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x53, |
| 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, |
| 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, |
| 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, |
| 0x54, 0x55, 0x4e, 0x45, 0x44, 0x10, 0x03, 0x22, 0x49, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x69, 0x6e, |
| 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x52, 0x41, 0x49, |
| 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, |
| 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x55, 0x53, |
| 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, |
| 0x10, 0x02, 0x22, 0x90, 0x01, 0x0a, 0x13, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x54, |
| 0x75, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x45, |
| 0x52, 0x49, 0x4f, 0x44, 0x49, 0x43, 0x5f, 0x54, 0x55, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, |
| 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, |
| 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x45, 0x52, 0x49, 0x4f, 0x44, 0x49, 0x43, 0x5f, 0x54, 0x55, |
| 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, |
| 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x55, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x49, |
| 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x45, 0x52, 0x49, |
| 0x4f, 0x44, 0x49, 0x43, 0x5f, 0x54, 0x55, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, 0x41, 0x42, |
| 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0x44, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x53, 0x74, 0x61, |
| 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, |
| 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, |
| 0x0a, 0x07, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x44, |
| 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x3a, 0x6b, 0xea, 0x41, 0x68, |
| 0x0a, 0x1b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, |
| 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x49, 0x70, |
| 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, |
| 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, |
| 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x7d, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, |
| 0x2f, 0x7b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x7d, 0x42, 0x11, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x69, |
| 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xce, 0x01, 0x0a, 0x1f, |
| 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, |
| 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, |
| 0x0a, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x63, |
| 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, |
| 0x67, 0x6f, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x32, 0x61, |
| 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0x3b, 0x72, 0x65, |
| 0x74, 0x61, 0x69, 0x6c, 0x70, 0x62, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, |
| 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, |
| 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x41, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, |
| 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, |
| 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, |
| 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_google_cloud_retail_v2alpha_model_proto_rawDescOnce sync.Once |
| file_google_cloud_retail_v2alpha_model_proto_rawDescData = file_google_cloud_retail_v2alpha_model_proto_rawDesc |
| ) |
| |
| func file_google_cloud_retail_v2alpha_model_proto_rawDescGZIP() []byte { |
| file_google_cloud_retail_v2alpha_model_proto_rawDescOnce.Do(func() { |
| file_google_cloud_retail_v2alpha_model_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_model_proto_rawDescData) |
| }) |
| return file_google_cloud_retail_v2alpha_model_proto_rawDescData |
| } |
| |
| var file_google_cloud_retail_v2alpha_model_proto_enumTypes = make([]protoimpl.EnumInfo, 5) |
| var file_google_cloud_retail_v2alpha_model_proto_msgTypes = make([]protoimpl.MessageInfo, 5) |
| var file_google_cloud_retail_v2alpha_model_proto_goTypes = []interface{}{ |
| (Model_ServingState)(0), // 0: google.cloud.retail.v2alpha.Model.ServingState |
| (Model_TrainingState)(0), // 1: google.cloud.retail.v2alpha.Model.TrainingState |
| (Model_PeriodicTuningState)(0), // 2: google.cloud.retail.v2alpha.Model.PeriodicTuningState |
| (Model_DataState)(0), // 3: google.cloud.retail.v2alpha.Model.DataState |
| (Model_PageOptimizationConfig_Restriction)(0), // 4: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Restriction |
| (*Model)(nil), // 5: google.cloud.retail.v2alpha.Model |
| (*Model_PageOptimizationConfig)(nil), // 6: google.cloud.retail.v2alpha.Model.PageOptimizationConfig |
| (*Model_ServingConfigList)(nil), // 7: google.cloud.retail.v2alpha.Model.ServingConfigList |
| (*Model_PageOptimizationConfig_Candidate)(nil), // 8: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Candidate |
| (*Model_PageOptimizationConfig_Panel)(nil), // 9: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Panel |
| (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp |
| (RecommendationsFilteringOption)(0), // 11: google.cloud.retail.v2alpha.RecommendationsFilteringOption |
| } |
| var file_google_cloud_retail_v2alpha_model_proto_depIdxs = []int32{ |
| 6, // 0: google.cloud.retail.v2alpha.Model.page_optimization_config:type_name -> google.cloud.retail.v2alpha.Model.PageOptimizationConfig |
| 1, // 1: google.cloud.retail.v2alpha.Model.training_state:type_name -> google.cloud.retail.v2alpha.Model.TrainingState |
| 0, // 2: google.cloud.retail.v2alpha.Model.serving_state:type_name -> google.cloud.retail.v2alpha.Model.ServingState |
| 10, // 3: google.cloud.retail.v2alpha.Model.create_time:type_name -> google.protobuf.Timestamp |
| 10, // 4: google.cloud.retail.v2alpha.Model.update_time:type_name -> google.protobuf.Timestamp |
| 2, // 5: google.cloud.retail.v2alpha.Model.periodic_tuning_state:type_name -> google.cloud.retail.v2alpha.Model.PeriodicTuningState |
| 10, // 6: google.cloud.retail.v2alpha.Model.last_tune_time:type_name -> google.protobuf.Timestamp |
| 3, // 7: google.cloud.retail.v2alpha.Model.data_state:type_name -> google.cloud.retail.v2alpha.Model.DataState |
| 11, // 8: google.cloud.retail.v2alpha.Model.filtering_option:type_name -> google.cloud.retail.v2alpha.RecommendationsFilteringOption |
| 7, // 9: google.cloud.retail.v2alpha.Model.serving_config_lists:type_name -> google.cloud.retail.v2alpha.Model.ServingConfigList |
| 9, // 10: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.panels:type_name -> google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Panel |
| 4, // 11: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.restriction:type_name -> google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Restriction |
| 8, // 12: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Panel.candidates:type_name -> google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Candidate |
| 8, // 13: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Panel.default_candidate:type_name -> google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Candidate |
| 14, // [14:14] is the sub-list for method output_type |
| 14, // [14:14] is the sub-list for method input_type |
| 14, // [14:14] is the sub-list for extension type_name |
| 14, // [14:14] is the sub-list for extension extendee |
| 0, // [0:14] is the sub-list for field type_name |
| } |
| |
| func init() { file_google_cloud_retail_v2alpha_model_proto_init() } |
| func file_google_cloud_retail_v2alpha_model_proto_init() { |
| if File_google_cloud_retail_v2alpha_model_proto != nil { |
| return |
| } |
| file_google_cloud_retail_v2alpha_common_proto_init() |
| if !protoimpl.UnsafeEnabled { |
| file_google_cloud_retail_v2alpha_model_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Model); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_retail_v2alpha_model_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Model_PageOptimizationConfig); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_retail_v2alpha_model_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Model_ServingConfigList); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_retail_v2alpha_model_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Model_PageOptimizationConfig_Candidate); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_google_cloud_retail_v2alpha_model_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Model_PageOptimizationConfig_Panel); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_google_cloud_retail_v2alpha_model_proto_msgTypes[0].OneofWrappers = []interface{}{ |
| (*Model_PageOptimizationConfig_)(nil), |
| } |
| file_google_cloud_retail_v2alpha_model_proto_msgTypes[3].OneofWrappers = []interface{}{ |
| (*Model_PageOptimizationConfig_Candidate_ServingConfigId)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_google_cloud_retail_v2alpha_model_proto_rawDesc, |
| NumEnums: 5, |
| NumMessages: 5, |
| NumExtensions: 0, |
| NumServices: 0, |
| }, |
| GoTypes: file_google_cloud_retail_v2alpha_model_proto_goTypes, |
| DependencyIndexes: file_google_cloud_retail_v2alpha_model_proto_depIdxs, |
| EnumInfos: file_google_cloud_retail_v2alpha_model_proto_enumTypes, |
| MessageInfos: file_google_cloud_retail_v2alpha_model_proto_msgTypes, |
| }.Build() |
| File_google_cloud_retail_v2alpha_model_proto = out.File |
| file_google_cloud_retail_v2alpha_model_proto_rawDesc = nil |
| file_google_cloud_retail_v2alpha_model_proto_goTypes = nil |
| file_google_cloud_retail_v2alpha_model_proto_depIdxs = nil |
| } |