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-devel
18// 	protoc        v3.13.0
19// source: google/cloud/retail/v2/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.v2.Product] to create.
61	Product *Product `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"`
62	// Required. The ID to use for the [Product][google.cloud.retail.v2.Product],
63	// which will become the final component of the
64	// [Product.name][google.cloud.retail.v2.Product.name].
65	//
66	// If the caller does not have permission to create the
67	// [Product][google.cloud.retail.v2.Product], regardless of whether or not it
68	// exists, a PERMISSION_DENIED error is returned.
69	//
70	// This field must be unique among all
71	// [Product][google.cloud.retail.v2.Product]s with the same
72	// [parent][google.cloud.retail.v2.CreateProductRequest.parent]. Otherwise, an
73	// 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_v2_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_v2_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_v2_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 [Product][google.cloud.retail.v2.Product],
140	// 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.v2.Product], regardless of whether or not it
145	// exists, a PERMISSION_DENIED error is returned.
146	//
147	// If the requested [Product][google.cloud.retail.v2.Product] does not exist,
148	// 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_v2_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_v2_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_v2_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.v2.Product], regardless of whether or not it
201	// exists, a PERMISSION_DENIED error is returned.
202	//
203	// If the [Product][google.cloud.retail.v2.Product] to update does not exist,
204	// 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.v2.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_v2_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_v2_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_v2_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 [Product][google.cloud.retail.v2.Product],
269	// 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.v2.Product], regardless of whether or not it
274	// exists, a PERMISSION_DENIED error is returned.
275	//
276	// If the [Product][google.cloud.retail.v2.Product] to delete does not exist,
277	// 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_v2_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_v2_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_v2_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_v2_product_service_proto protoreflect.FileDescriptor
321
322var file_google_cloud_retail_v2_product_service_proto_rawDesc = []byte{
323	0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72,
324	0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
325	0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16,
326	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74,
327	0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
328	0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
329	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
330	0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
331	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
332	0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
333	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
334	0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
335	0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76,
336	0x32, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
337	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
338	0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72,
339	0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f,
340	0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c,
341	0x2f, 0x76, 0x32, 0x2f, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
342	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c,
343	0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61,
344	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f,
345	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70,
346	0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
347	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
348	0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x14, 0x43,
349	0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
350	0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
351	0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x72, 0x65, 0x74,
352	0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
353	0x6f, 0x6d, 0x2f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
354	0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01,
355	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
356	0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64,
357	0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
358	0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
359	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64,
360	0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64,
361	0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61,
362	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f,
363	0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
364	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52,
365	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
366	0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e,
367	0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
368	0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72,
369	0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
370	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x3b,
371	0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20,
372	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
373	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52,
374	0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x51, 0x0a, 0x14, 0x44,
375	0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
376	0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
377	0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69,
378	0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
379	0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xee,
380	0x08, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
381	0x65, 0x12, 0xcf, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64,
382	0x75, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
383	0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65,
384	0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
385	0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
386	0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75,
387	0x63, 0x74, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x22, 0x42, 0x2f, 0x76, 0x32, 0x2f,
388	0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
389	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63,
390	0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68,
391	0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x07,
392	0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
393	0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
394	0x5f, 0x69, 0x64, 0x12, 0xac, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75,
395	0x63, 0x74, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
396	0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x50,
397	0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
398	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74,
399	0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x52,
400	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,
401	0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,
402	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
403	0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70,
404	0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61,
405	0x6d, 0x65, 0x12, 0xd2, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f,
406	0x64, 0x75, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
407	0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70,
408	0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
409	0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
410	0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64,
411	0x75, 0x63, 0x74, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x32, 0x4b, 0x2f, 0x76, 0x32,
412	0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70,
413	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
414	0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a,
415	0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64,
416	0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
417	0x74, 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61,
418	0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xa9, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65,
419	0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
420	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e,
421	0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
422	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
423	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
424	0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x2a, 0x43, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61,
425	0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,
426	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f,
427	0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f,
428	0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e,
429	0x61, 0x6d, 0x65, 0x12, 0x8e, 0x02, 0x0a, 0x0e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72,
430	0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
431	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e,
432	0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65,
433	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c,
434	0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61,
435	0x74, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x22, 0x49, 0x2f,
436	0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
437	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
438	0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61,
439	0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
440	0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x56, 0x0a, 0x2d,
441	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74,
442	0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f,
443	0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x67,
444	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61,
445	0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61,
446	0x64, 0x61, 0x74, 0x61, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e,
447	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41,
448	0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f,
449	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68,
450	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42,
451	0xc8, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
452	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x42, 0x13,
453	0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72,
454	0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f,
455	0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74,
456	0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f,
457	0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x74,
458	0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x16, 0x47,
459	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61,
460	0x69, 0x6c, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43,
461	0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0xea, 0x02,
462	0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a,
463	0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
464	0x6f, 0x33,
465}
466
467var (
468	file_google_cloud_retail_v2_product_service_proto_rawDescOnce sync.Once
469	file_google_cloud_retail_v2_product_service_proto_rawDescData = file_google_cloud_retail_v2_product_service_proto_rawDesc
470)
471
472func file_google_cloud_retail_v2_product_service_proto_rawDescGZIP() []byte {
473	file_google_cloud_retail_v2_product_service_proto_rawDescOnce.Do(func() {
474		file_google_cloud_retail_v2_product_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_product_service_proto_rawDescData)
475	})
476	return file_google_cloud_retail_v2_product_service_proto_rawDescData
477}
478
479var file_google_cloud_retail_v2_product_service_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
480var file_google_cloud_retail_v2_product_service_proto_goTypes = []interface{}{
481	(*CreateProductRequest)(nil),  // 0: google.cloud.retail.v2.CreateProductRequest
482	(*GetProductRequest)(nil),     // 1: google.cloud.retail.v2.GetProductRequest
483	(*UpdateProductRequest)(nil),  // 2: google.cloud.retail.v2.UpdateProductRequest
484	(*DeleteProductRequest)(nil),  // 3: google.cloud.retail.v2.DeleteProductRequest
485	(*Product)(nil),               // 4: google.cloud.retail.v2.Product
486	(*fieldmaskpb.FieldMask)(nil), // 5: google.protobuf.FieldMask
487	(*ImportProductsRequest)(nil), // 6: google.cloud.retail.v2.ImportProductsRequest
488	(*emptypb.Empty)(nil),         // 7: google.protobuf.Empty
489	(*longrunning.Operation)(nil), // 8: google.longrunning.Operation
490}
491var file_google_cloud_retail_v2_product_service_proto_depIdxs = []int32{
492	4, // 0: google.cloud.retail.v2.CreateProductRequest.product:type_name -> google.cloud.retail.v2.Product
493	4, // 1: google.cloud.retail.v2.UpdateProductRequest.product:type_name -> google.cloud.retail.v2.Product
494	5, // 2: google.cloud.retail.v2.UpdateProductRequest.update_mask:type_name -> google.protobuf.FieldMask
495	0, // 3: google.cloud.retail.v2.ProductService.CreateProduct:input_type -> google.cloud.retail.v2.CreateProductRequest
496	1, // 4: google.cloud.retail.v2.ProductService.GetProduct:input_type -> google.cloud.retail.v2.GetProductRequest
497	2, // 5: google.cloud.retail.v2.ProductService.UpdateProduct:input_type -> google.cloud.retail.v2.UpdateProductRequest
498	3, // 6: google.cloud.retail.v2.ProductService.DeleteProduct:input_type -> google.cloud.retail.v2.DeleteProductRequest
499	6, // 7: google.cloud.retail.v2.ProductService.ImportProducts:input_type -> google.cloud.retail.v2.ImportProductsRequest
500	4, // 8: google.cloud.retail.v2.ProductService.CreateProduct:output_type -> google.cloud.retail.v2.Product
501	4, // 9: google.cloud.retail.v2.ProductService.GetProduct:output_type -> google.cloud.retail.v2.Product
502	4, // 10: google.cloud.retail.v2.ProductService.UpdateProduct:output_type -> google.cloud.retail.v2.Product
503	7, // 11: google.cloud.retail.v2.ProductService.DeleteProduct:output_type -> google.protobuf.Empty
504	8, // 12: google.cloud.retail.v2.ProductService.ImportProducts:output_type -> google.longrunning.Operation
505	8, // [8:13] is the sub-list for method output_type
506	3, // [3:8] is the sub-list for method input_type
507	3, // [3:3] is the sub-list for extension type_name
508	3, // [3:3] is the sub-list for extension extendee
509	0, // [0:3] is the sub-list for field type_name
510}
511
512func init() { file_google_cloud_retail_v2_product_service_proto_init() }
513func file_google_cloud_retail_v2_product_service_proto_init() {
514	if File_google_cloud_retail_v2_product_service_proto != nil {
515		return
516	}
517	file_google_cloud_retail_v2_import_config_proto_init()
518	file_google_cloud_retail_v2_product_proto_init()
519	file_google_cloud_retail_v2_purge_config_proto_init()
520	if !protoimpl.UnsafeEnabled {
521		file_google_cloud_retail_v2_product_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
522			switch v := v.(*CreateProductRequest); i {
523			case 0:
524				return &v.state
525			case 1:
526				return &v.sizeCache
527			case 2:
528				return &v.unknownFields
529			default:
530				return nil
531			}
532		}
533		file_google_cloud_retail_v2_product_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
534			switch v := v.(*GetProductRequest); i {
535			case 0:
536				return &v.state
537			case 1:
538				return &v.sizeCache
539			case 2:
540				return &v.unknownFields
541			default:
542				return nil
543			}
544		}
545		file_google_cloud_retail_v2_product_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
546			switch v := v.(*UpdateProductRequest); i {
547			case 0:
548				return &v.state
549			case 1:
550				return &v.sizeCache
551			case 2:
552				return &v.unknownFields
553			default:
554				return nil
555			}
556		}
557		file_google_cloud_retail_v2_product_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
558			switch v := v.(*DeleteProductRequest); i {
559			case 0:
560				return &v.state
561			case 1:
562				return &v.sizeCache
563			case 2:
564				return &v.unknownFields
565			default:
566				return nil
567			}
568		}
569	}
570	type x struct{}
571	out := protoimpl.TypeBuilder{
572		File: protoimpl.DescBuilder{
573			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
574			RawDescriptor: file_google_cloud_retail_v2_product_service_proto_rawDesc,
575			NumEnums:      0,
576			NumMessages:   4,
577			NumExtensions: 0,
578			NumServices:   1,
579		},
580		GoTypes:           file_google_cloud_retail_v2_product_service_proto_goTypes,
581		DependencyIndexes: file_google_cloud_retail_v2_product_service_proto_depIdxs,
582		MessageInfos:      file_google_cloud_retail_v2_product_service_proto_msgTypes,
583	}.Build()
584	File_google_cloud_retail_v2_product_service_proto = out.File
585	file_google_cloud_retail_v2_product_service_proto_rawDesc = nil
586	file_google_cloud_retail_v2_product_service_proto_goTypes = nil
587	file_google_cloud_retail_v2_product_service_proto_depIdxs = nil
588}
589
590// Reference imports to suppress errors if they are not otherwise used.
591var _ context.Context
592var _ grpc.ClientConnInterface
593
594// This is a compile-time assertion to ensure that this generated file
595// is compatible with the grpc package it is being compiled against.
596const _ = grpc.SupportPackageIsVersion6
597
598// ProductServiceClient is the client API for ProductService service.
599//
600// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
601type ProductServiceClient interface {
602	// Creates a [Product][google.cloud.retail.v2.Product].
603	CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error)
604	// Gets a [Product][google.cloud.retail.v2.Product].
605	GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error)
606	// Updates a [Product][google.cloud.retail.v2.Product].
607	UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error)
608	// Deletes a [Product][google.cloud.retail.v2.Product].
609	DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
610	// Bulk import of multiple [Product][google.cloud.retail.v2.Product]s.
611	//
612	// Request processing may be synchronous. No partial updating is supported.
613	// Non-existing items are created.
614	//
615	// Note that it is possible for a subset of the
616	// [Product][google.cloud.retail.v2.Product]s to be successfully updated.
617	ImportProducts(ctx context.Context, in *ImportProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
618}
619
620type productServiceClient struct {
621	cc grpc.ClientConnInterface
622}
623
624func NewProductServiceClient(cc grpc.ClientConnInterface) ProductServiceClient {
625	return &productServiceClient{cc}
626}
627
628func (c *productServiceClient) CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) {
629	out := new(Product)
630	err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.ProductService/CreateProduct", in, out, opts...)
631	if err != nil {
632		return nil, err
633	}
634	return out, nil
635}
636
637func (c *productServiceClient) GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error) {
638	out := new(Product)
639	err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.ProductService/GetProduct", in, out, opts...)
640	if err != nil {
641		return nil, err
642	}
643	return out, nil
644}
645
646func (c *productServiceClient) UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) {
647	out := new(Product)
648	err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.ProductService/UpdateProduct", in, out, opts...)
649	if err != nil {
650		return nil, err
651	}
652	return out, nil
653}
654
655func (c *productServiceClient) DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
656	out := new(emptypb.Empty)
657	err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.ProductService/DeleteProduct", in, out, opts...)
658	if err != nil {
659		return nil, err
660	}
661	return out, nil
662}
663
664func (c *productServiceClient) ImportProducts(ctx context.Context, in *ImportProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
665	out := new(longrunning.Operation)
666	err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.ProductService/ImportProducts", in, out, opts...)
667	if err != nil {
668		return nil, err
669	}
670	return out, nil
671}
672
673// ProductServiceServer is the server API for ProductService service.
674type ProductServiceServer interface {
675	// Creates a [Product][google.cloud.retail.v2.Product].
676	CreateProduct(context.Context, *CreateProductRequest) (*Product, error)
677	// Gets a [Product][google.cloud.retail.v2.Product].
678	GetProduct(context.Context, *GetProductRequest) (*Product, error)
679	// Updates a [Product][google.cloud.retail.v2.Product].
680	UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error)
681	// Deletes a [Product][google.cloud.retail.v2.Product].
682	DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error)
683	// Bulk import of multiple [Product][google.cloud.retail.v2.Product]s.
684	//
685	// Request processing may be synchronous. No partial updating is supported.
686	// Non-existing items are created.
687	//
688	// Note that it is possible for a subset of the
689	// [Product][google.cloud.retail.v2.Product]s to be successfully updated.
690	ImportProducts(context.Context, *ImportProductsRequest) (*longrunning.Operation, error)
691}
692
693// UnimplementedProductServiceServer can be embedded to have forward compatible implementations.
694type UnimplementedProductServiceServer struct {
695}
696
697func (*UnimplementedProductServiceServer) CreateProduct(context.Context, *CreateProductRequest) (*Product, error) {
698	return nil, status.Errorf(codes.Unimplemented, "method CreateProduct not implemented")
699}
700func (*UnimplementedProductServiceServer) GetProduct(context.Context, *GetProductRequest) (*Product, error) {
701	return nil, status.Errorf(codes.Unimplemented, "method GetProduct not implemented")
702}
703func (*UnimplementedProductServiceServer) UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error) {
704	return nil, status.Errorf(codes.Unimplemented, "method UpdateProduct not implemented")
705}
706func (*UnimplementedProductServiceServer) DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error) {
707	return nil, status.Errorf(codes.Unimplemented, "method DeleteProduct not implemented")
708}
709func (*UnimplementedProductServiceServer) ImportProducts(context.Context, *ImportProductsRequest) (*longrunning.Operation, error) {
710	return nil, status.Errorf(codes.Unimplemented, "method ImportProducts not implemented")
711}
712
713func RegisterProductServiceServer(s *grpc.Server, srv ProductServiceServer) {
714	s.RegisterService(&_ProductService_serviceDesc, srv)
715}
716
717func _ProductService_CreateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
718	in := new(CreateProductRequest)
719	if err := dec(in); err != nil {
720		return nil, err
721	}
722	if interceptor == nil {
723		return srv.(ProductServiceServer).CreateProduct(ctx, in)
724	}
725	info := &grpc.UnaryServerInfo{
726		Server:     srv,
727		FullMethod: "/google.cloud.retail.v2.ProductService/CreateProduct",
728	}
729	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
730		return srv.(ProductServiceServer).CreateProduct(ctx, req.(*CreateProductRequest))
731	}
732	return interceptor(ctx, in, info, handler)
733}
734
735func _ProductService_GetProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
736	in := new(GetProductRequest)
737	if err := dec(in); err != nil {
738		return nil, err
739	}
740	if interceptor == nil {
741		return srv.(ProductServiceServer).GetProduct(ctx, in)
742	}
743	info := &grpc.UnaryServerInfo{
744		Server:     srv,
745		FullMethod: "/google.cloud.retail.v2.ProductService/GetProduct",
746	}
747	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
748		return srv.(ProductServiceServer).GetProduct(ctx, req.(*GetProductRequest))
749	}
750	return interceptor(ctx, in, info, handler)
751}
752
753func _ProductService_UpdateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
754	in := new(UpdateProductRequest)
755	if err := dec(in); err != nil {
756		return nil, err
757	}
758	if interceptor == nil {
759		return srv.(ProductServiceServer).UpdateProduct(ctx, in)
760	}
761	info := &grpc.UnaryServerInfo{
762		Server:     srv,
763		FullMethod: "/google.cloud.retail.v2.ProductService/UpdateProduct",
764	}
765	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
766		return srv.(ProductServiceServer).UpdateProduct(ctx, req.(*UpdateProductRequest))
767	}
768	return interceptor(ctx, in, info, handler)
769}
770
771func _ProductService_DeleteProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
772	in := new(DeleteProductRequest)
773	if err := dec(in); err != nil {
774		return nil, err
775	}
776	if interceptor == nil {
777		return srv.(ProductServiceServer).DeleteProduct(ctx, in)
778	}
779	info := &grpc.UnaryServerInfo{
780		Server:     srv,
781		FullMethod: "/google.cloud.retail.v2.ProductService/DeleteProduct",
782	}
783	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
784		return srv.(ProductServiceServer).DeleteProduct(ctx, req.(*DeleteProductRequest))
785	}
786	return interceptor(ctx, in, info, handler)
787}
788
789func _ProductService_ImportProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
790	in := new(ImportProductsRequest)
791	if err := dec(in); err != nil {
792		return nil, err
793	}
794	if interceptor == nil {
795		return srv.(ProductServiceServer).ImportProducts(ctx, in)
796	}
797	info := &grpc.UnaryServerInfo{
798		Server:     srv,
799		FullMethod: "/google.cloud.retail.v2.ProductService/ImportProducts",
800	}
801	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
802		return srv.(ProductServiceServer).ImportProducts(ctx, req.(*ImportProductsRequest))
803	}
804	return interceptor(ctx, in, info, handler)
805}
806
807var _ProductService_serviceDesc = grpc.ServiceDesc{
808	ServiceName: "google.cloud.retail.v2.ProductService",
809	HandlerType: (*ProductServiceServer)(nil),
810	Methods: []grpc.MethodDesc{
811		{
812			MethodName: "CreateProduct",
813			Handler:    _ProductService_CreateProduct_Handler,
814		},
815		{
816			MethodName: "GetProduct",
817			Handler:    _ProductService_GetProduct_Handler,
818		},
819		{
820			MethodName: "UpdateProduct",
821			Handler:    _ProductService_UpdateProduct_Handler,
822		},
823		{
824			MethodName: "DeleteProduct",
825			Handler:    _ProductService_DeleteProduct_Handler,
826		},
827		{
828			MethodName: "ImportProducts",
829			Handler:    _ProductService_ImportProducts_Handler,
830		},
831	},
832	Streams:  []grpc.StreamDesc{},
833	Metadata: "google/cloud/retail/v2/product_service.proto",
834}
835