Class: Google::Cloud::Retail::V2::Model

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/retail/v2/model.rb

Overview

Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict API.

Defined Under Namespace

Modules: ContextProductsType, DataState, PeriodicTuningState, ServingState, TrainingState Classes: FrequentlyBoughtTogetherFeaturesConfig, ModelFeaturesConfig, ServingConfigList

Instance Attribute Summary collapse

Instance Attribute Details

#create_time::Google::Protobuf::Timestamp (readonly)



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#data_state::Google::Cloud::Retail::V2::Model::DataState (readonly)



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#display_name::String



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#filtering_option::Google::Cloud::Retail::V2::RecommendationsFilteringOption



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#last_tune_time::Google::Protobuf::Timestamp (readonly)



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#model_features_config::Google::Cloud::Retail::V2::Model::ModelFeaturesConfig



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#name::String



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#optimization_objective::String



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#periodic_tuning_state::Google::Cloud::Retail::V2::Model::PeriodicTuningState



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#serving_config_lists::Array<::Google::Cloud::Retail::V2::Model::ServingConfigList> (readonly)



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#serving_state::Google::Cloud::Retail::V2::Model::ServingState (readonly)



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#training_state::Google::Cloud::Retail::V2::Model::TrainingState



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#tuning_operation::String (readonly)



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#type::String



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end

#update_time::Google::Protobuf::Timestamp (readonly)



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# File 'proto_docs/google/cloud/retail/v2/model.rb', line 144

class Model
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Represents an ordered combination of valid serving configs, which
  # can be used for `PAGE_OPTIMIZATION` recommendations.
  # @!attribute [rw] serving_config_ids
  #   @return [::Array<::String>]
  #     Optional. A set of valid serving configs that may be used for
  #     `PAGE_OPTIMIZATION`.
  class ServingConfigList
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional configs for the frequently-bought-together model type.
  # @!attribute [rw] context_products_type
  #   @return [::Google::Cloud::Retail::V2::Model::ContextProductsType]
  #     Optional. Specifies the context of the model when it is used in predict
  #     requests. Can only be set for the `frequently-bought-together` type. If
  #     it isn't specified, it defaults to
  #     {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
  class FrequentlyBoughtTogetherFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Additional model features config.
  # @!attribute [rw] frequently_bought_together_config
  #   @return [::Google::Cloud::Retail::V2::Model::FrequentlyBoughtTogetherFeaturesConfig]
  #     Additional configs for frequently-bought-together models.
  class ModelFeaturesConfig
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # The serving state of the model.
  module ServingState
    # Unspecified serving state.
    SERVING_STATE_UNSPECIFIED = 0

    # The model is not serving.
    INACTIVE = 1

    # The model is serving and can be queried.
    ACTIVE = 2

    # The model is trained on tuned hyperparameters and can be
    # queried.
    TUNED = 3
  end

  # The training state of the model.
  module TrainingState
    # Unspecified training state.
    TRAINING_STATE_UNSPECIFIED = 0

    # The model training is paused.
    PAUSED = 1

    # The model is training.
    TRAINING = 2
  end

  # 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.
  module PeriodicTuningState
    # Unspecified default value, should never be explicitly set.
    PERIODIC_TUNING_STATE_UNSPECIFIED = 0

    # The model has periodic tuning disabled. Tuning
    # can be reenabled by calling the `EnableModelPeriodicTuning`
    # method or by calling the `TuneModel` method.
    PERIODIC_TUNING_DISABLED = 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.
    ALL_TUNING_DISABLED = 3

    # The model has periodic tuning enabled. Tuning
    # can be disabled by calling the `DisableModelPeriodicTuning`
    # method.
    PERIODIC_TUNING_ENABLED = 2
  end

  # Describes whether this model have sufficient training data
  # to be continuously trained.
  module DataState
    # Unspecified default value, should never be explicitly set.
    DATA_STATE_UNSPECIFIED = 0

    # The model has sufficient training data.
    DATA_OK = 1

    # The model does not have sufficient training data. Error
    # messages can be queried via Stackdriver.
    DATA_ERROR = 2
  end

  # Use single or multiple context products for recommendations.
  module ContextProductsType
    # Unspecified default value, should never be explicitly set.
    # Defaults to
    # {::Google::Cloud::Retail::V2::Model::ContextProductsType::MULTIPLE_CONTEXT_PRODUCTS MULTIPLE_CONTEXT_PRODUCTS}.
    CONTEXT_PRODUCTS_TYPE_UNSPECIFIED = 0

    # Use only a single product as context for the recommendation. Typically
    # used on pages like add-to-cart or product details.
    SINGLE_CONTEXT_PRODUCT = 1

    # Use one or multiple products as context for the recommendation. Typically
    # used on shopping cart pages.
    MULTIPLE_CONTEXT_PRODUCTS = 2
  end
end