1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0
18// 	protoc        v3.13.0
19// source: google/cloud/retail/v2beta/product_service.proto
20
21package retail
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	longrunning "google.golang.org/genproto/googleapis/longrunning"
31	grpc "google.golang.org/grpc"
32	codes "google.golang.org/grpc/codes"
33	status "google.golang.org/grpc/status"
34	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
35	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
36	emptypb "google.golang.org/protobuf/types/known/emptypb"
37	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
38)
39
40const (
41	// Verify that this generated code is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
43	// Verify that runtime/protoimpl is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
45)
46
47// This is a compile-time assertion that a sufficiently up-to-date version
48// of the legacy proto package is being used.
49const _ = proto.ProtoPackageIsVersion4
50
51// Request message for [CreateProduct][] method.
52type CreateProductRequest struct {
53	state         protoimpl.MessageState
54	sizeCache     protoimpl.SizeCache
55	unknownFields protoimpl.UnknownFields
56
57	// Required. The parent catalog resource name, such as
58	// "projects/*/locations/global/catalogs/default_catalog/branches/default_branch".
59	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
60	// Required. The [Product][google.cloud.retail.v2beta.Product] to create.
61	Product *Product `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"`
62	// Required. The ID to use for the
63	// [Product][google.cloud.retail.v2beta.Product], which will become the final
64	// component of the [Product.name][google.cloud.retail.v2beta.Product.name].
65	//
66	// If the caller does not have permission to create the
67	// [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
68	// it exists, a PERMISSION_DENIED error is returned.
69	//
70	// This field must be unique among all
71	// [Product][google.cloud.retail.v2beta.Product]s with the same
72	// [parent][google.cloud.retail.v2beta.CreateProductRequest.parent].
73	// Otherwise, an ALREADY_EXISTS error is returned.
74	//
75	// This field must be a UTF-8 encoded string with a length limit of 128
76	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
77	ProductId string `protobuf:"bytes,3,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
78}
79
80func (x *CreateProductRequest) Reset() {
81	*x = CreateProductRequest{}
82	if protoimpl.UnsafeEnabled {
83		mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[0]
84		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
85		ms.StoreMessageInfo(mi)
86	}
87}
88
89func (x *CreateProductRequest) String() string {
90	return protoimpl.X.MessageStringOf(x)
91}
92
93func (*CreateProductRequest) ProtoMessage() {}
94
95func (x *CreateProductRequest) ProtoReflect() protoreflect.Message {
96	mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[0]
97	if protoimpl.UnsafeEnabled && x != nil {
98		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
99		if ms.LoadMessageInfo() == nil {
100			ms.StoreMessageInfo(mi)
101		}
102		return ms
103	}
104	return mi.MessageOf(x)
105}
106
107// Deprecated: Use CreateProductRequest.ProtoReflect.Descriptor instead.
108func (*CreateProductRequest) Descriptor() ([]byte, []int) {
109	return file_google_cloud_retail_v2beta_product_service_proto_rawDescGZIP(), []int{0}
110}
111
112func (x *CreateProductRequest) GetParent() string {
113	if x != nil {
114		return x.Parent
115	}
116	return ""
117}
118
119func (x *CreateProductRequest) GetProduct() *Product {
120	if x != nil {
121		return x.Product
122	}
123	return nil
124}
125
126func (x *CreateProductRequest) GetProductId() string {
127	if x != nil {
128		return x.ProductId
129	}
130	return ""
131}
132
133// Request message for [GetProduct][] method.
134type GetProductRequest struct {
135	state         protoimpl.MessageState
136	sizeCache     protoimpl.SizeCache
137	unknownFields protoimpl.UnknownFields
138
139	// Required. Full resource name of
140	// [Product][google.cloud.retail.v2beta.Product], such as
141	// "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id".
142	//
143	// If the caller does not have permission to access the
144	// [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
145	// it exists, a PERMISSION_DENIED error is returned.
146	//
147	// If the requested [Product][google.cloud.retail.v2beta.Product] does not
148	// exist, a NOT_FOUND error is returned.
149	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
150}
151
152func (x *GetProductRequest) Reset() {
153	*x = GetProductRequest{}
154	if protoimpl.UnsafeEnabled {
155		mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[1]
156		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
157		ms.StoreMessageInfo(mi)
158	}
159}
160
161func (x *GetProductRequest) String() string {
162	return protoimpl.X.MessageStringOf(x)
163}
164
165func (*GetProductRequest) ProtoMessage() {}
166
167func (x *GetProductRequest) ProtoReflect() protoreflect.Message {
168	mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[1]
169	if protoimpl.UnsafeEnabled && x != nil {
170		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
171		if ms.LoadMessageInfo() == nil {
172			ms.StoreMessageInfo(mi)
173		}
174		return ms
175	}
176	return mi.MessageOf(x)
177}
178
179// Deprecated: Use GetProductRequest.ProtoReflect.Descriptor instead.
180func (*GetProductRequest) Descriptor() ([]byte, []int) {
181	return file_google_cloud_retail_v2beta_product_service_proto_rawDescGZIP(), []int{1}
182}
183
184func (x *GetProductRequest) GetName() string {
185	if x != nil {
186		return x.Name
187	}
188	return ""
189}
190
191// Request message for [UpdateProduct][] method.
192type UpdateProductRequest struct {
193	state         protoimpl.MessageState
194	sizeCache     protoimpl.SizeCache
195	unknownFields protoimpl.UnknownFields
196
197	// Required. The product to update/create.
198	//
199	// If the caller does not have permission to update the
200	// [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
201	// it exists, a PERMISSION_DENIED error is returned.
202	//
203	// If the [Product][google.cloud.retail.v2beta.Product] to update does not
204	// exist, a NOT_FOUND error is returned.
205	Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"`
206	// Indicates which fields in the provided
207	// [Product][google.cloud.retail.v2beta.Product] to update. The immutable and
208	// output only fields are NOT supported. If not set, all supported fields (the
209	// fields that are neither immutable nor output only) are updated.
210	//
211	// If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
212	// is returned.
213	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
214}
215
216func (x *UpdateProductRequest) Reset() {
217	*x = UpdateProductRequest{}
218	if protoimpl.UnsafeEnabled {
219		mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[2]
220		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
221		ms.StoreMessageInfo(mi)
222	}
223}
224
225func (x *UpdateProductRequest) String() string {
226	return protoimpl.X.MessageStringOf(x)
227}
228
229func (*UpdateProductRequest) ProtoMessage() {}
230
231func (x *UpdateProductRequest) ProtoReflect() protoreflect.Message {
232	mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[2]
233	if protoimpl.UnsafeEnabled && x != nil {
234		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
235		if ms.LoadMessageInfo() == nil {
236			ms.StoreMessageInfo(mi)
237		}
238		return ms
239	}
240	return mi.MessageOf(x)
241}
242
243// Deprecated: Use UpdateProductRequest.ProtoReflect.Descriptor instead.
244func (*UpdateProductRequest) Descriptor() ([]byte, []int) {
245	return file_google_cloud_retail_v2beta_product_service_proto_rawDescGZIP(), []int{2}
246}
247
248func (x *UpdateProductRequest) GetProduct() *Product {
249	if x != nil {
250		return x.Product
251	}
252	return nil
253}
254
255func (x *UpdateProductRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
256	if x != nil {
257		return x.UpdateMask
258	}
259	return nil
260}
261
262// Request message for [DeleteProduct][] method.
263type DeleteProductRequest struct {
264	state         protoimpl.MessageState
265	sizeCache     protoimpl.SizeCache
266	unknownFields protoimpl.UnknownFields
267
268	// Required. Full resource name of
269	// [Product][google.cloud.retail.v2beta.Product], such as
270	// "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id".
271	//
272	// If the caller does not have permission to delete the
273	// [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
274	// it exists, a PERMISSION_DENIED error is returned.
275	//
276	// If the [Product][google.cloud.retail.v2beta.Product] to delete does not
277	// exist, a NOT_FOUND error is returned.
278	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
279}
280
281func (x *DeleteProductRequest) Reset() {
282	*x = DeleteProductRequest{}
283	if protoimpl.UnsafeEnabled {
284		mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[3]
285		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
286		ms.StoreMessageInfo(mi)
287	}
288}
289
290func (x *DeleteProductRequest) String() string {
291	return protoimpl.X.MessageStringOf(x)
292}
293
294func (*DeleteProductRequest) ProtoMessage() {}
295
296func (x *DeleteProductRequest) ProtoReflect() protoreflect.Message {
297	mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[3]
298	if protoimpl.UnsafeEnabled && x != nil {
299		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
300		if ms.LoadMessageInfo() == nil {
301			ms.StoreMessageInfo(mi)
302		}
303		return ms
304	}
305	return mi.MessageOf(x)
306}
307
308// Deprecated: Use DeleteProductRequest.ProtoReflect.Descriptor instead.
309func (*DeleteProductRequest) Descriptor() ([]byte, []int) {
310	return file_google_cloud_retail_v2beta_product_service_proto_rawDescGZIP(), []int{3}
311}
312
313func (x *DeleteProductRequest) GetName() string {
314	if x != nil {
315		return x.Name
316	}
317	return ""
318}
319
320var File_google_cloud_retail_v2beta_product_service_proto protoreflect.FileDescriptor
321
322var file_google_cloud_retail_v2beta_product_service_proto_rawDesc = []byte{
323	0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72,
324	0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x72, 0x6f,
325	0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
326	0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
327	0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c,
328	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
329	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f,
330	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
331	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
332	0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
333	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
334	0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
335	0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
336	0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x69, 0x6d,
337	0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
338	0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
339	0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x72,
340	0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f,
341	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c,
342	0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f,
343	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67,
344	0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f,
345	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
346	0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
347	0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f,
348	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69,
349	0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc,
350	0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
351	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
352	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a,
353	0x1c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
354	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x06, 0x70,
355	0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
356	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
357	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62,
358	0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02,
359	0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
360	0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
361	0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0x4e, 0x0a,
362	0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
363	0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
364	0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c,
365	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
366	0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x97, 0x01,
367	0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52,
368	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
369	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
370	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32,
371	0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41,
372	0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70,
373	0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
374	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
375	0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64,
376	0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x51, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74,
377	0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
378	0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0,
379	0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f,
380	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f,
381	0x64, 0x75, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xaa, 0x09, 0x0a, 0x0e, 0x50,
382	0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdb, 0x01,
383	0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12,
384	0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
385	0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65,
386	0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
387	0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
388	0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50,
389	0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x22, 0x46,
390	0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d,
391	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
392	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f,
393	0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72,
394	0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0xda,
395	0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
396	0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0xb8, 0x01, 0x0a, 0x0a,
397	0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f,
398	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c,
399	0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75,
400	0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
401	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e,
402	0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x56,
403	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f,
404	0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a,
405	0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74,
406	0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73,
407	0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0xda,
408	0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74,
409	0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
410	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76,
411	0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64,
412	0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
413	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c,
414	0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22,
415	0x76, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x32, 0x4f, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61,
416	0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
417	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
418	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a,
419	0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64,
420	0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
421	0x74, 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61,
422	0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xb1, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65,
423	0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
424	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e,
425	0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f,
426	0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
427	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
428	0x70, 0x74, 0x79, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x2a, 0x47, 0x2f, 0x76, 0x32,
429	0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
430	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
431	0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61,
432	0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73,
433	0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x9e, 0x02, 0x0a, 0x0e,
434	0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x31,
435	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65,
436	0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f,
437	0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
438	0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
439	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
440	0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x22, 0x4d, 0x2f, 0x76, 0x32, 0x62, 0x65,
441	0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
442	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
443	0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61,
444	0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
445	0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x5e, 0x0a, 0x31,
446	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74,
447	0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
448	0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
449	0x65, 0x12, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
450	0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d,
451	0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x49, 0xca, 0x41,
452	0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
453	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,
454	0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
455	0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70,
456	0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xdc, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e,
457	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74,
458	0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x42, 0x13, 0x50, 0x72, 0x6f, 0x64,
459	0x75, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
460	0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
461	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
462	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72,
463	0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x3b, 0x72, 0x65, 0x74,
464	0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1a, 0x47,
465	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61,
466	0x69, 0x6c, 0x2e, 0x56, 0x32, 0x42, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67,
467	0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c,
468	0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a,
469	0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a,
470	0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
471}
472
473var (
474	file_google_cloud_retail_v2beta_product_service_proto_rawDescOnce sync.Once
475	file_google_cloud_retail_v2beta_product_service_proto_rawDescData = file_google_cloud_retail_v2beta_product_service_proto_rawDesc
476)
477
478func file_google_cloud_retail_v2beta_product_service_proto_rawDescGZIP() []byte {
479	file_google_cloud_retail_v2beta_product_service_proto_rawDescOnce.Do(func() {
480		file_google_cloud_retail_v2beta_product_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_product_service_proto_rawDescData)
481	})
482	return file_google_cloud_retail_v2beta_product_service_proto_rawDescData
483}
484
485var file_google_cloud_retail_v2beta_product_service_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
486var file_google_cloud_retail_v2beta_product_service_proto_goTypes = []interface{}{
487	(*CreateProductRequest)(nil),  // 0: google.cloud.retail.v2beta.CreateProductRequest
488	(*GetProductRequest)(nil),     // 1: google.cloud.retail.v2beta.GetProductRequest
489	(*UpdateProductRequest)(nil),  // 2: google.cloud.retail.v2beta.UpdateProductRequest
490	(*DeleteProductRequest)(nil),  // 3: google.cloud.retail.v2beta.DeleteProductRequest
491	(*Product)(nil),               // 4: google.cloud.retail.v2beta.Product
492	(*fieldmaskpb.FieldMask)(nil), // 5: google.protobuf.FieldMask
493	(*ImportProductsRequest)(nil), // 6: google.cloud.retail.v2beta.ImportProductsRequest
494	(*emptypb.Empty)(nil),         // 7: google.protobuf.Empty
495	(*longrunning.Operation)(nil), // 8: google.longrunning.Operation
496}
497var file_google_cloud_retail_v2beta_product_service_proto_depIdxs = []int32{
498	4, // 0: google.cloud.retail.v2beta.CreateProductRequest.product:type_name -> google.cloud.retail.v2beta.Product
499	4, // 1: google.cloud.retail.v2beta.UpdateProductRequest.product:type_name -> google.cloud.retail.v2beta.Product
500	5, // 2: google.cloud.retail.v2beta.UpdateProductRequest.update_mask:type_name -> google.protobuf.FieldMask
501	0, // 3: google.cloud.retail.v2beta.ProductService.CreateProduct:input_type -> google.cloud.retail.v2beta.CreateProductRequest
502	1, // 4: google.cloud.retail.v2beta.ProductService.GetProduct:input_type -> google.cloud.retail.v2beta.GetProductRequest
503	2, // 5: google.cloud.retail.v2beta.ProductService.UpdateProduct:input_type -> google.cloud.retail.v2beta.UpdateProductRequest
504	3, // 6: google.cloud.retail.v2beta.ProductService.DeleteProduct:input_type -> google.cloud.retail.v2beta.DeleteProductRequest
505	6, // 7: google.cloud.retail.v2beta.ProductService.ImportProducts:input_type -> google.cloud.retail.v2beta.ImportProductsRequest
506	4, // 8: google.cloud.retail.v2beta.ProductService.CreateProduct:output_type -> google.cloud.retail.v2beta.Product
507	4, // 9: google.cloud.retail.v2beta.ProductService.GetProduct:output_type -> google.cloud.retail.v2beta.Product
508	4, // 10: google.cloud.retail.v2beta.ProductService.UpdateProduct:output_type -> google.cloud.retail.v2beta.Product
509	7, // 11: google.cloud.retail.v2beta.ProductService.DeleteProduct:output_type -> google.protobuf.Empty
510	8, // 12: google.cloud.retail.v2beta.ProductService.ImportProducts:output_type -> google.longrunning.Operation
511	8, // [8:13] is the sub-list for method output_type
512	3, // [3:8] is the sub-list for method input_type
513	3, // [3:3] is the sub-list for extension type_name
514	3, // [3:3] is the sub-list for extension extendee
515	0, // [0:3] is the sub-list for field type_name
516}
517
518func init() { file_google_cloud_retail_v2beta_product_service_proto_init() }
519func file_google_cloud_retail_v2beta_product_service_proto_init() {
520	if File_google_cloud_retail_v2beta_product_service_proto != nil {
521		return
522	}
523	file_google_cloud_retail_v2beta_import_config_proto_init()
524	file_google_cloud_retail_v2beta_product_proto_init()
525	file_google_cloud_retail_v2beta_purge_config_proto_init()
526	if !protoimpl.UnsafeEnabled {
527		file_google_cloud_retail_v2beta_product_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
528			switch v := v.(*CreateProductRequest); i {
529			case 0:
530				return &v.state
531			case 1:
532				return &v.sizeCache
533			case 2:
534				return &v.unknownFields
535			default:
536				return nil
537			}
538		}
539		file_google_cloud_retail_v2beta_product_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
540			switch v := v.(*GetProductRequest); i {
541			case 0:
542				return &v.state
543			case 1:
544				return &v.sizeCache
545			case 2:
546				return &v.unknownFields
547			default:
548				return nil
549			}
550		}
551		file_google_cloud_retail_v2beta_product_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
552			switch v := v.(*UpdateProductRequest); i {
553			case 0:
554				return &v.state
555			case 1:
556				return &v.sizeCache
557			case 2:
558				return &v.unknownFields
559			default:
560				return nil
561			}
562		}
563		file_google_cloud_retail_v2beta_product_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
564			switch v := v.(*DeleteProductRequest); i {
565			case 0:
566				return &v.state
567			case 1:
568				return &v.sizeCache
569			case 2:
570				return &v.unknownFields
571			default:
572				return nil
573			}
574		}
575	}
576	type x struct{}
577	out := protoimpl.TypeBuilder{
578		File: protoimpl.DescBuilder{
579			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
580			RawDescriptor: file_google_cloud_retail_v2beta_product_service_proto_rawDesc,
581			NumEnums:      0,
582			NumMessages:   4,
583			NumExtensions: 0,
584			NumServices:   1,
585		},
586		GoTypes:           file_google_cloud_retail_v2beta_product_service_proto_goTypes,
587		DependencyIndexes: file_google_cloud_retail_v2beta_product_service_proto_depIdxs,
588		MessageInfos:      file_google_cloud_retail_v2beta_product_service_proto_msgTypes,
589	}.Build()
590	File_google_cloud_retail_v2beta_product_service_proto = out.File
591	file_google_cloud_retail_v2beta_product_service_proto_rawDesc = nil
592	file_google_cloud_retail_v2beta_product_service_proto_goTypes = nil
593	file_google_cloud_retail_v2beta_product_service_proto_depIdxs = nil
594}
595
596// Reference imports to suppress errors if they are not otherwise used.
597var _ context.Context
598var _ grpc.ClientConnInterface
599
600// This is a compile-time assertion to ensure that this generated file
601// is compatible with the grpc package it is being compiled against.
602const _ = grpc.SupportPackageIsVersion6
603
604// ProductServiceClient is the client API for ProductService service.
605//
606// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
607type ProductServiceClient interface {
608	// Creates a [Product][google.cloud.retail.v2beta.Product].
609	CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error)
610	// Gets a [Product][google.cloud.retail.v2beta.Product].
611	GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error)
612	// Updates a [Product][google.cloud.retail.v2beta.Product].
613	UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error)
614	// Deletes a [Product][google.cloud.retail.v2beta.Product].
615	DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
616	// Bulk import of multiple [Product][google.cloud.retail.v2beta.Product]s.
617	//
618	// Request processing may be synchronous. No partial updating is supported.
619	// Non-existing items are created.
620	//
621	// Note that it is possible for a subset of the
622	// [Product][google.cloud.retail.v2beta.Product]s to be successfully updated.
623	ImportProducts(ctx context.Context, in *ImportProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
624}
625
626type productServiceClient struct {
627	cc grpc.ClientConnInterface
628}
629
630func NewProductServiceClient(cc grpc.ClientConnInterface) ProductServiceClient {
631	return &productServiceClient{cc}
632}
633
634func (c *productServiceClient) CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) {
635	out := new(Product)
636	err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.ProductService/CreateProduct", in, out, opts...)
637	if err != nil {
638		return nil, err
639	}
640	return out, nil
641}
642
643func (c *productServiceClient) GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error) {
644	out := new(Product)
645	err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.ProductService/GetProduct", in, out, opts...)
646	if err != nil {
647		return nil, err
648	}
649	return out, nil
650}
651
652func (c *productServiceClient) UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) {
653	out := new(Product)
654	err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.ProductService/UpdateProduct", in, out, opts...)
655	if err != nil {
656		return nil, err
657	}
658	return out, nil
659}
660
661func (c *productServiceClient) DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
662	out := new(emptypb.Empty)
663	err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.ProductService/DeleteProduct", in, out, opts...)
664	if err != nil {
665		return nil, err
666	}
667	return out, nil
668}
669
670func (c *productServiceClient) ImportProducts(ctx context.Context, in *ImportProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
671	out := new(longrunning.Operation)
672	err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.ProductService/ImportProducts", in, out, opts...)
673	if err != nil {
674		return nil, err
675	}
676	return out, nil
677}
678
679// ProductServiceServer is the server API for ProductService service.
680type ProductServiceServer interface {
681	// Creates a [Product][google.cloud.retail.v2beta.Product].
682	CreateProduct(context.Context, *CreateProductRequest) (*Product, error)
683	// Gets a [Product][google.cloud.retail.v2beta.Product].
684	GetProduct(context.Context, *GetProductRequest) (*Product, error)
685	// Updates a [Product][google.cloud.retail.v2beta.Product].
686	UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error)
687	// Deletes a [Product][google.cloud.retail.v2beta.Product].
688	DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error)
689	// Bulk import of multiple [Product][google.cloud.retail.v2beta.Product]s.
690	//
691	// Request processing may be synchronous. No partial updating is supported.
692	// Non-existing items are created.
693	//
694	// Note that it is possible for a subset of the
695	// [Product][google.cloud.retail.v2beta.Product]s to be successfully updated.
696	ImportProducts(context.Context, *ImportProductsRequest) (*longrunning.Operation, error)
697}
698
699// UnimplementedProductServiceServer can be embedded to have forward compatible implementations.
700type UnimplementedProductServiceServer struct {
701}
702
703func (*UnimplementedProductServiceServer) CreateProduct(context.Context, *CreateProductRequest) (*Product, error) {
704	return nil, status.Errorf(codes.Unimplemented, "method CreateProduct not implemented")
705}
706func (*UnimplementedProductServiceServer) GetProduct(context.Context, *GetProductRequest) (*Product, error) {
707	return nil, status.Errorf(codes.Unimplemented, "method GetProduct not implemented")
708}
709func (*UnimplementedProductServiceServer) UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error) {
710	return nil, status.Errorf(codes.Unimplemented, "method UpdateProduct not implemented")
711}
712func (*UnimplementedProductServiceServer) DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error) {
713	return nil, status.Errorf(codes.Unimplemented, "method DeleteProduct not implemented")
714}
715func (*UnimplementedProductServiceServer) ImportProducts(context.Context, *ImportProductsRequest) (*longrunning.Operation, error) {
716	return nil, status.Errorf(codes.Unimplemented, "method ImportProducts not implemented")
717}
718
719func RegisterProductServiceServer(s *grpc.Server, srv ProductServiceServer) {
720	s.RegisterService(&_ProductService_serviceDesc, srv)
721}
722
723func _ProductService_CreateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
724	in := new(CreateProductRequest)
725	if err := dec(in); err != nil {
726		return nil, err
727	}
728	if interceptor == nil {
729		return srv.(ProductServiceServer).CreateProduct(ctx, in)
730	}
731	info := &grpc.UnaryServerInfo{
732		Server:     srv,
733		FullMethod: "/google.cloud.retail.v2beta.ProductService/CreateProduct",
734	}
735	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
736		return srv.(ProductServiceServer).CreateProduct(ctx, req.(*CreateProductRequest))
737	}
738	return interceptor(ctx, in, info, handler)
739}
740
741func _ProductService_GetProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
742	in := new(GetProductRequest)
743	if err := dec(in); err != nil {
744		return nil, err
745	}
746	if interceptor == nil {
747		return srv.(ProductServiceServer).GetProduct(ctx, in)
748	}
749	info := &grpc.UnaryServerInfo{
750		Server:     srv,
751		FullMethod: "/google.cloud.retail.v2beta.ProductService/GetProduct",
752	}
753	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
754		return srv.(ProductServiceServer).GetProduct(ctx, req.(*GetProductRequest))
755	}
756	return interceptor(ctx, in, info, handler)
757}
758
759func _ProductService_UpdateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
760	in := new(UpdateProductRequest)
761	if err := dec(in); err != nil {
762		return nil, err
763	}
764	if interceptor == nil {
765		return srv.(ProductServiceServer).UpdateProduct(ctx, in)
766	}
767	info := &grpc.UnaryServerInfo{
768		Server:     srv,
769		FullMethod: "/google.cloud.retail.v2beta.ProductService/UpdateProduct",
770	}
771	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
772		return srv.(ProductServiceServer).UpdateProduct(ctx, req.(*UpdateProductRequest))
773	}
774	return interceptor(ctx, in, info, handler)
775}
776
777func _ProductService_DeleteProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
778	in := new(DeleteProductRequest)
779	if err := dec(in); err != nil {
780		return nil, err
781	}
782	if interceptor == nil {
783		return srv.(ProductServiceServer).DeleteProduct(ctx, in)
784	}
785	info := &grpc.UnaryServerInfo{
786		Server:     srv,
787		FullMethod: "/google.cloud.retail.v2beta.ProductService/DeleteProduct",
788	}
789	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
790		return srv.(ProductServiceServer).DeleteProduct(ctx, req.(*DeleteProductRequest))
791	}
792	return interceptor(ctx, in, info, handler)
793}
794
795func _ProductService_ImportProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
796	in := new(ImportProductsRequest)
797	if err := dec(in); err != nil {
798		return nil, err
799	}
800	if interceptor == nil {
801		return srv.(ProductServiceServer).ImportProducts(ctx, in)
802	}
803	info := &grpc.UnaryServerInfo{
804		Server:     srv,
805		FullMethod: "/google.cloud.retail.v2beta.ProductService/ImportProducts",
806	}
807	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
808		return srv.(ProductServiceServer).ImportProducts(ctx, req.(*ImportProductsRequest))
809	}
810	return interceptor(ctx, in, info, handler)
811}
812
813var _ProductService_serviceDesc = grpc.ServiceDesc{
814	ServiceName: "google.cloud.retail.v2beta.ProductService",
815	HandlerType: (*ProductServiceServer)(nil),
816	Methods: []grpc.MethodDesc{
817		{
818			MethodName: "CreateProduct",
819			Handler:    _ProductService_CreateProduct_Handler,
820		},
821		{
822			MethodName: "GetProduct",
823			Handler:    _ProductService_GetProduct_Handler,
824		},
825		{
826			MethodName: "UpdateProduct",
827			Handler:    _ProductService_UpdateProduct_Handler,
828		},
829		{
830			MethodName: "DeleteProduct",
831			Handler:    _ProductService_DeleteProduct_Handler,
832		},
833		{
834			MethodName: "ImportProducts",
835			Handler:    _ProductService_ImportProducts_Handler,
836		},
837	},
838	Streams:  []grpc.StreamDesc{},
839	Metadata: "google/cloud/retail/v2beta/product_service.proto",
840}
841