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