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

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

package retailpb

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

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
)

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

// Request for creating a model.
type CreateModelRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The parent resource under which to create the model. Format:
	// `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. The payload of the [Model][google.cloud.retail.v2.Model]  to
	// create.
	Model *Model `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"`
	// Optional. Whether to run a dry run to validate the request (without
	// actually creating the model).
	DryRun        bool `protobuf:"varint,3,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateModelRequest) ProtoMessage() {}

func (x *CreateModelRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateModelRequest.ProtoReflect.Descriptor instead.
func (*CreateModelRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{0}
}

func (x *CreateModelRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *CreateModelRequest) GetModel() *Model {
	if x != nil {
		return x.Model
	}
	return nil
}

func (x *CreateModelRequest) GetDryRun() bool {
	if x != nil {
		return x.DryRun
	}
	return false
}

// Request for updating an existing model.
type UpdateModelRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The body of the updated [Model][google.cloud.retail.v2.Model].
	Model *Model `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
	// Optional. Indicates which fields in the provided 'model' to
	// update. If not set, by default updates all fields.
	UpdateMask    *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpdateModelRequest) ProtoMessage() {}

func (x *UpdateModelRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateModelRequest.ProtoReflect.Descriptor instead.
func (*UpdateModelRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{1}
}

func (x *UpdateModelRequest) GetModel() *Model {
	if x != nil {
		return x.Model
	}
	return nil
}

func (x *UpdateModelRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
	if x != nil {
		return x.UpdateMask
	}
	return nil
}

// Request for getting a model.
type GetModelRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The resource name of the [Model][google.cloud.retail.v2.Model] to
	// get. Format:
	// `projects/{project_number}/locations/{location_id}/catalogs/{catalog}/models/{model_id}`
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetModelRequest) ProtoMessage() {}

func (x *GetModelRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetModelRequest.ProtoReflect.Descriptor instead.
func (*GetModelRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{2}
}

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

// Request for pausing training of a model.
type PauseModelRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The name of the model to pause.
	// Format:
	// `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PauseModelRequest) ProtoMessage() {}

func (x *PauseModelRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PauseModelRequest.ProtoReflect.Descriptor instead.
func (*PauseModelRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{3}
}

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

// Request for resuming training of a model.
type ResumeModelRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The name of the model to resume.
	// Format:
	// `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResumeModelRequest) ProtoMessage() {}

func (x *ResumeModelRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResumeModelRequest.ProtoReflect.Descriptor instead.
func (*ResumeModelRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{4}
}

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

// Request for listing models associated with a resource.
type ListModelsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The parent for which to list models.
	// Format:
	// `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Optional. Maximum number of results to return. If unspecified, defaults
	// to 50. Max allowed value is 1000.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Optional. A page token, received from a previous `ListModels`
	// call. Provide this to retrieve the subsequent page.
	PageToken     string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListModelsRequest) ProtoMessage() {}

func (x *ListModelsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListModelsRequest.ProtoReflect.Descriptor instead.
func (*ListModelsRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{5}
}

func (x *ListModelsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListModelsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListModelsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

// Request for deleting a model.
type DeleteModelRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The resource name of the [Model][google.cloud.retail.v2.Model] to
	// delete. Format:
	// `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteModelRequest) ProtoMessage() {}

func (x *DeleteModelRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteModelRequest.ProtoReflect.Descriptor instead.
func (*DeleteModelRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{6}
}

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

// Response to a ListModelRequest.
type ListModelsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of Models.
	Models []*Model `protobuf:"bytes,1,rep,name=models,proto3" json:"models,omitempty"`
	// Pagination token, if not returned indicates the last page.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListModelsResponse) Reset() {
	*x = ListModelsResponse{}
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListModelsResponse) ProtoMessage() {}

func (x *ListModelsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListModelsResponse.ProtoReflect.Descriptor instead.
func (*ListModelsResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{7}
}

func (x *ListModelsResponse) GetModels() []*Model {
	if x != nil {
		return x.Models
	}
	return nil
}

func (x *ListModelsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Request to manually start a tuning process now (instead of waiting for
// the periodically scheduled tuning to happen).
type TuneModelRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The resource name of the model to tune.
	// Format:
	// `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TuneModelRequest) ProtoMessage() {}

func (x *TuneModelRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TuneModelRequest.ProtoReflect.Descriptor instead.
func (*TuneModelRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{8}
}

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

// Metadata associated with a create operation.
type CreateModelMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The resource name of the model that this create applies to.
	// Format:
	// `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
	Model         string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateModelMetadata) ProtoMessage() {}

func (x *CreateModelMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateModelMetadata.ProtoReflect.Descriptor instead.
func (*CreateModelMetadata) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{9}
}

func (x *CreateModelMetadata) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

// Metadata associated with a tune operation.
type TuneModelMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The resource name of the model that this tune applies to.
	// Format:
	// `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
	Model         string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TuneModelMetadata) ProtoMessage() {}

func (x *TuneModelMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TuneModelMetadata.ProtoReflect.Descriptor instead.
func (*TuneModelMetadata) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{10}
}

func (x *TuneModelMetadata) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

// Response associated with a tune operation.
type TuneModelResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TuneModelResponse) ProtoMessage() {}

func (x *TuneModelResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_retail_v2_model_service_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TuneModelResponse.ProtoReflect.Descriptor instead.
func (*TuneModelResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_retail_v2_model_service_proto_rawDescGZIP(), []int{11}
}

var File_google_cloud_retail_v2_model_service_proto protoreflect.FileDescriptor

const file_google_cloud_retail_v2_model_service_proto_rawDesc = "" +
	"\n" +
	"*google/cloud/retail/v2/model_service.proto\x12\x16google.cloud.retail.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\"google/cloud/retail/v2/model.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\"\xab\x01\n" +
	"\x12CreateModelRequest\x12=\n" +
	"\x06parent\x18\x01 \x01(\tB%\xe0A\x02\xfaA\x1f\n" +
	"\x1dretail.googleapis.com/CatalogR\x06parent\x128\n" +
	"\x05model\x18\x02 \x01(\v2\x1d.google.cloud.retail.v2.ModelB\x03\xe0A\x02R\x05model\x12\x1c\n" +
	"\adry_run\x18\x03 \x01(\bB\x03\xe0A\x01R\x06dryRun\"\x90\x01\n" +
	"\x12UpdateModelRequest\x128\n" +
	"\x05model\x18\x01 \x01(\v2\x1d.google.cloud.retail.v2.ModelB\x03\xe0A\x02R\x05model\x12@\n" +
	"\vupdate_mask\x18\x02 \x01(\v2\x1a.google.protobuf.FieldMaskB\x03\xe0A\x01R\n" +
	"updateMask\"J\n" +
	"\x0fGetModelRequest\x127\n" +
	"\x04name\x18\x01 \x01(\tB#\xe0A\x02\xfaA\x1d\n" +
	"\x1bretail.googleapis.com/ModelR\x04name\"L\n" +
	"\x11PauseModelRequest\x127\n" +
	"\x04name\x18\x01 \x01(\tB#\xe0A\x02\xfaA\x1d\n" +
	"\x1bretail.googleapis.com/ModelR\x04name\"-\n" +
	"\x12ResumeModelRequest\x12\x17\n" +
	"\x04name\x18\x01 \x01(\tB\x03\xe0A\x02R\x04name\"\x98\x01\n" +
	"\x11ListModelsRequest\x12=\n" +
	"\x06parent\x18\x01 \x01(\tB%\xe0A\x02\xfaA\x1f\n" +
	"\x1dretail.googleapis.com/CatalogR\x06parent\x12 \n" +
	"\tpage_size\x18\x02 \x01(\x05B\x03\xe0A\x01R\bpageSize\x12\"\n" +
	"\n" +
	"page_token\x18\x03 \x01(\tB\x03\xe0A\x01R\tpageToken\"M\n" +
	"\x12DeleteModelRequest\x127\n" +
	"\x04name\x18\x01 \x01(\tB#\xe0A\x02\xfaA\x1d\n" +
	"\x1bretail.googleapis.com/ModelR\x04name\"s\n" +
	"\x12ListModelsResponse\x125\n" +
	"\x06models\x18\x01 \x03(\v2\x1d.google.cloud.retail.v2.ModelR\x06models\x12&\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"K\n" +
	"\x10TuneModelRequest\x127\n" +
	"\x04name\x18\x01 \x01(\tB#\xe0A\x02\xfaA\x1d\n" +
	"\x1bretail.googleapis.com/ModelR\x04name\"+\n" +
	"\x13CreateModelMetadata\x12\x14\n" +
	"\x05model\x18\x01 \x01(\tR\x05model\")\n" +
	"\x11TuneModelMetadata\x12\x14\n" +
	"\x05model\x18\x01 \x01(\tR\x05model\"\x13\n" +
	"\x11TuneModelResponse2\xc5\f\n" +
	"\fModelService\x12\xfb\x01\n" +
	"\vCreateModel\x12*.google.cloud.retail.v2.CreateModelRequest\x1a\x1d.google.longrunning.Operation\"\xa0\x01\xcaAJ\n" +
	"\x1cgoogle.cloud.retail.v2.Model\x12*google.cloud.retail.v2.CreateModelMetadata\xdaA\fparent,model\x82\xd3\xe4\x93\x02>:\x05model\"5/v2/{parent=projects/*/locations/*/catalogs/*}/models\x12\x98\x01\n" +
	"\bGetModel\x12'.google.cloud.retail.v2.GetModelRequest\x1a\x1d.google.cloud.retail.v2.Model\"D\xdaA\x04name\x82\xd3\xe4\x93\x027\x125/v2/{name=projects/*/locations/*/catalogs/*/models/*}\x12\xa5\x01\n" +
	"\n" +
	"PauseModel\x12).google.cloud.retail.v2.PauseModelRequest\x1a\x1d.google.cloud.retail.v2.Model\"M\xdaA\x04name\x82\xd3\xe4\x93\x02@:\x01*\";/v2/{name=projects/*/locations/*/catalogs/*/models/*}:pause\x12\xa8\x01\n" +
	"\vResumeModel\x12*.google.cloud.retail.v2.ResumeModelRequest\x1a\x1d.google.cloud.retail.v2.Model\"N\xdaA\x04name\x82\xd3\xe4\x93\x02A:\x01*\"</v2/{name=projects/*/locations/*/catalogs/*/models/*}:resume\x12\x97\x01\n" +
	"\vDeleteModel\x12*.google.cloud.retail.v2.DeleteModelRequest\x1a\x16.google.protobuf.Empty\"D\xdaA\x04name\x82\xd3\xe4\x93\x027*5/v2/{name=projects/*/locations/*/catalogs/*/models/*}\x12\xab\x01\n" +
	"\n" +
	"ListModels\x12).google.cloud.retail.v2.ListModelsRequest\x1a*.google.cloud.retail.v2.ListModelsResponse\"F\xdaA\x06parent\x82\xd3\xe4\x93\x027\x125/v2/{parent=projects/*/locations/*/catalogs/*}/models\x12\xb8\x01\n" +
	"\vUpdateModel\x12*.google.cloud.retail.v2.UpdateModelRequest\x1a\x1d.google.cloud.retail.v2.Model\"^\xdaA\x11model,update_mask\x82\xd3\xe4\x93\x02D:\x05model2;/v2/{model.name=projects/*/locations/*/catalogs/*/models/*}\x12\xfa\x01\n" +
	"\tTuneModel\x12(.google.cloud.retail.v2.TuneModelRequest\x1a\x1d.google.longrunning.Operation\"\xa3\x01\xcaAT\n" +
	"(google.cloud.retail.v2.TuneModelResponse\x12(google.cloud.retail.v2.TuneModelMetadata\xdaA\x04name\x82\xd3\xe4\x93\x02?:\x01*\":/v2/{name=projects/*/locations/*/catalogs/*/models/*}:tune\x1aI\xcaA\x15retail.googleapis.com\xd2A.https://www.googleapis.com/auth/cloud-platformB\xbc\x01\n" +
	"\x1acom.google.cloud.retail.v2B\x11ModelServiceProtoP\x01Z2cloud.google.com/go/retail/apiv2/retailpb;retailpb\xa2\x02\x06RETAIL\xaa\x02\x16Google.Cloud.Retail.V2\xca\x02\x16Google\\Cloud\\Retail\\V2\xea\x02\x19Google::Cloud::Retail::V2b\x06proto3"

var (
	file_google_cloud_retail_v2_model_service_proto_rawDescOnce sync.Once
	file_google_cloud_retail_v2_model_service_proto_rawDescData []byte
)

func file_google_cloud_retail_v2_model_service_proto_rawDescGZIP() []byte {
	file_google_cloud_retail_v2_model_service_proto_rawDescOnce.Do(func() {
		file_google_cloud_retail_v2_model_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_retail_v2_model_service_proto_rawDesc), len(file_google_cloud_retail_v2_model_service_proto_rawDesc)))
	})
	return file_google_cloud_retail_v2_model_service_proto_rawDescData
}

var file_google_cloud_retail_v2_model_service_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_google_cloud_retail_v2_model_service_proto_goTypes = []any{
	(*CreateModelRequest)(nil),      // 0: google.cloud.retail.v2.CreateModelRequest
	(*UpdateModelRequest)(nil),      // 1: google.cloud.retail.v2.UpdateModelRequest
	(*GetModelRequest)(nil),         // 2: google.cloud.retail.v2.GetModelRequest
	(*PauseModelRequest)(nil),       // 3: google.cloud.retail.v2.PauseModelRequest
	(*ResumeModelRequest)(nil),      // 4: google.cloud.retail.v2.ResumeModelRequest
	(*ListModelsRequest)(nil),       // 5: google.cloud.retail.v2.ListModelsRequest
	(*DeleteModelRequest)(nil),      // 6: google.cloud.retail.v2.DeleteModelRequest
	(*ListModelsResponse)(nil),      // 7: google.cloud.retail.v2.ListModelsResponse
	(*TuneModelRequest)(nil),        // 8: google.cloud.retail.v2.TuneModelRequest
	(*CreateModelMetadata)(nil),     // 9: google.cloud.retail.v2.CreateModelMetadata
	(*TuneModelMetadata)(nil),       // 10: google.cloud.retail.v2.TuneModelMetadata
	(*TuneModelResponse)(nil),       // 11: google.cloud.retail.v2.TuneModelResponse
	(*Model)(nil),                   // 12: google.cloud.retail.v2.Model
	(*fieldmaskpb.FieldMask)(nil),   // 13: google.protobuf.FieldMask
	(*longrunningpb.Operation)(nil), // 14: google.longrunning.Operation
	(*emptypb.Empty)(nil),           // 15: google.protobuf.Empty
}
var file_google_cloud_retail_v2_model_service_proto_depIdxs = []int32{
	12, // 0: google.cloud.retail.v2.CreateModelRequest.model:type_name -> google.cloud.retail.v2.Model
	12, // 1: google.cloud.retail.v2.UpdateModelRequest.model:type_name -> google.cloud.retail.v2.Model
	13, // 2: google.cloud.retail.v2.UpdateModelRequest.update_mask:type_name -> google.protobuf.FieldMask
	12, // 3: google.cloud.retail.v2.ListModelsResponse.models:type_name -> google.cloud.retail.v2.Model
	0,  // 4: google.cloud.retail.v2.ModelService.CreateModel:input_type -> google.cloud.retail.v2.CreateModelRequest
	2,  // 5: google.cloud.retail.v2.ModelService.GetModel:input_type -> google.cloud.retail.v2.GetModelRequest
	3,  // 6: google.cloud.retail.v2.ModelService.PauseModel:input_type -> google.cloud.retail.v2.PauseModelRequest
	4,  // 7: google.cloud.retail.v2.ModelService.ResumeModel:input_type -> google.cloud.retail.v2.ResumeModelRequest
	6,  // 8: google.cloud.retail.v2.ModelService.DeleteModel:input_type -> google.cloud.retail.v2.DeleteModelRequest
	5,  // 9: google.cloud.retail.v2.ModelService.ListModels:input_type -> google.cloud.retail.v2.ListModelsRequest
	1,  // 10: google.cloud.retail.v2.ModelService.UpdateModel:input_type -> google.cloud.retail.v2.UpdateModelRequest
	8,  // 11: google.cloud.retail.v2.ModelService.TuneModel:input_type -> google.cloud.retail.v2.TuneModelRequest
	14, // 12: google.cloud.retail.v2.ModelService.CreateModel:output_type -> google.longrunning.Operation
	12, // 13: google.cloud.retail.v2.ModelService.GetModel:output_type -> google.cloud.retail.v2.Model
	12, // 14: google.cloud.retail.v2.ModelService.PauseModel:output_type -> google.cloud.retail.v2.Model
	12, // 15: google.cloud.retail.v2.ModelService.ResumeModel:output_type -> google.cloud.retail.v2.Model
	15, // 16: google.cloud.retail.v2.ModelService.DeleteModel:output_type -> google.protobuf.Empty
	7,  // 17: google.cloud.retail.v2.ModelService.ListModels:output_type -> google.cloud.retail.v2.ListModelsResponse
	12, // 18: google.cloud.retail.v2.ModelService.UpdateModel:output_type -> google.cloud.retail.v2.Model
	14, // 19: google.cloud.retail.v2.ModelService.TuneModel:output_type -> google.longrunning.Operation
	12, // [12:20] is the sub-list for method output_type
	4,  // [4:12] is the sub-list for method input_type
	4,  // [4:4] is the sub-list for extension type_name
	4,  // [4:4] is the sub-list for extension extendee
	0,  // [0:4] is the sub-list for field type_name
}

func init() { file_google_cloud_retail_v2_model_service_proto_init() }
func file_google_cloud_retail_v2_model_service_proto_init() {
	if File_google_cloud_retail_v2_model_service_proto != nil {
		return
	}
	file_google_cloud_retail_v2_model_proto_init()
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_retail_v2_model_service_proto_rawDesc), len(file_google_cloud_retail_v2_model_service_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   12,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_cloud_retail_v2_model_service_proto_goTypes,
		DependencyIndexes: file_google_cloud_retail_v2_model_service_proto_depIdxs,
		MessageInfos:      file_google_cloud_retail_v2_model_service_proto_msgTypes,
	}.Build()
	File_google_cloud_retail_v2_model_service_proto = out.File
	file_google_cloud_retail_v2_model_service_proto_goTypes = nil
	file_google_cloud_retail_v2_model_service_proto_depIdxs = nil
}
