1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/cloud/vision/v1p3beta1/product_search_service.proto
3
4package vision
5
6import (
7	context "context"
8	fmt "fmt"
9	math "math"
10
11	proto "github.com/golang/protobuf/proto"
12	empty "github.com/golang/protobuf/ptypes/empty"
13	timestamp "github.com/golang/protobuf/ptypes/timestamp"
14	_ "google.golang.org/genproto/googleapis/api/annotations"
15	longrunning "google.golang.org/genproto/googleapis/longrunning"
16	status "google.golang.org/genproto/googleapis/rpc/status"
17	field_mask "google.golang.org/genproto/protobuf/field_mask"
18	grpc "google.golang.org/grpc"
19	codes "google.golang.org/grpc/codes"
20	status1 "google.golang.org/grpc/status"
21)
22
23// Reference imports to suppress errors if they are not otherwise used.
24var _ = proto.Marshal
25var _ = fmt.Errorf
26var _ = math.Inf
27
28// This is a compile-time assertion to ensure that this generated file
29// is compatible with the proto package it is being compiled against.
30// A compilation error at this line likely means your copy of the
31// proto package needs to be updated.
32const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
33
34// Enumerates the possible states that the batch request can be in.
35type BatchOperationMetadata_State int32
36
37const (
38	// Invalid.
39	BatchOperationMetadata_STATE_UNSPECIFIED BatchOperationMetadata_State = 0
40	// Request is actively being processed.
41	BatchOperationMetadata_PROCESSING BatchOperationMetadata_State = 1
42	// The request is done and at least one item has been successfully
43	// processed.
44	BatchOperationMetadata_SUCCESSFUL BatchOperationMetadata_State = 2
45	// The request is done and no item has been successfully processed.
46	BatchOperationMetadata_FAILED BatchOperationMetadata_State = 3
47	// The request is done after the longrunning.Operations.CancelOperation has
48	// been called by the user.  Any records that were processed before the
49	// cancel command are output as specified in the request.
50	BatchOperationMetadata_CANCELLED BatchOperationMetadata_State = 4
51)
52
53var BatchOperationMetadata_State_name = map[int32]string{
54	0: "STATE_UNSPECIFIED",
55	1: "PROCESSING",
56	2: "SUCCESSFUL",
57	3: "FAILED",
58	4: "CANCELLED",
59}
60
61var BatchOperationMetadata_State_value = map[string]int32{
62	"STATE_UNSPECIFIED": 0,
63	"PROCESSING":        1,
64	"SUCCESSFUL":        2,
65	"FAILED":            3,
66	"CANCELLED":         4,
67}
68
69func (x BatchOperationMetadata_State) String() string {
70	return proto.EnumName(BatchOperationMetadata_State_name, int32(x))
71}
72
73func (BatchOperationMetadata_State) EnumDescriptor() ([]byte, []int) {
74	return fileDescriptor_3e303776708d7396, []int{28, 0}
75}
76
77// A Product contains ReferenceImages.
78type Product struct {
79	// The resource name of the product.
80	//
81	// Format is:
82	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
83	//
84	// This field is ignored when creating a product.
85	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
86	// The user-provided name for this Product. Must not be empty. Must be at most
87	// 4096 characters long.
88	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
89	// User-provided metadata to be stored with this product. Must be at most 4096
90	// characters long.
91	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
92	// Immutable. The category for the product identified by the reference image. This should
93	// be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories
94	// "homegoods", "apparel", and "toys" are still supported, but these should
95	// not be used for new products.
96	ProductCategory string `protobuf:"bytes,4,opt,name=product_category,json=productCategory,proto3" json:"product_category,omitempty"`
97	// Key-value pairs that can be attached to a product. At query time,
98	// constraints can be specified based on the product_labels.
99	//
100	// Note that integer values can be provided as strings, e.g. "1199". Only
101	// strings with integer values can match a range-based restriction which is
102	// to be supported soon.
103	//
104	// Multiple values can be assigned to the same key. One product may have up to
105	// 100 product_labels.
106	ProductLabels        []*Product_KeyValue `protobuf:"bytes,5,rep,name=product_labels,json=productLabels,proto3" json:"product_labels,omitempty"`
107	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
108	XXX_unrecognized     []byte              `json:"-"`
109	XXX_sizecache        int32               `json:"-"`
110}
111
112func (m *Product) Reset()         { *m = Product{} }
113func (m *Product) String() string { return proto.CompactTextString(m) }
114func (*Product) ProtoMessage()    {}
115func (*Product) Descriptor() ([]byte, []int) {
116	return fileDescriptor_3e303776708d7396, []int{0}
117}
118
119func (m *Product) XXX_Unmarshal(b []byte) error {
120	return xxx_messageInfo_Product.Unmarshal(m, b)
121}
122func (m *Product) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
123	return xxx_messageInfo_Product.Marshal(b, m, deterministic)
124}
125func (m *Product) XXX_Merge(src proto.Message) {
126	xxx_messageInfo_Product.Merge(m, src)
127}
128func (m *Product) XXX_Size() int {
129	return xxx_messageInfo_Product.Size(m)
130}
131func (m *Product) XXX_DiscardUnknown() {
132	xxx_messageInfo_Product.DiscardUnknown(m)
133}
134
135var xxx_messageInfo_Product proto.InternalMessageInfo
136
137func (m *Product) GetName() string {
138	if m != nil {
139		return m.Name
140	}
141	return ""
142}
143
144func (m *Product) GetDisplayName() string {
145	if m != nil {
146		return m.DisplayName
147	}
148	return ""
149}
150
151func (m *Product) GetDescription() string {
152	if m != nil {
153		return m.Description
154	}
155	return ""
156}
157
158func (m *Product) GetProductCategory() string {
159	if m != nil {
160		return m.ProductCategory
161	}
162	return ""
163}
164
165func (m *Product) GetProductLabels() []*Product_KeyValue {
166	if m != nil {
167		return m.ProductLabels
168	}
169	return nil
170}
171
172// A product label represented as a key-value pair.
173type Product_KeyValue struct {
174	// The key of the label attached to the product. Cannot be empty and cannot
175	// exceed 128 bytes.
176	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
177	// The value of the label attached to the product. Cannot be empty and
178	// cannot exceed 128 bytes.
179	Value                string   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
180	XXX_NoUnkeyedLiteral struct{} `json:"-"`
181	XXX_unrecognized     []byte   `json:"-"`
182	XXX_sizecache        int32    `json:"-"`
183}
184
185func (m *Product_KeyValue) Reset()         { *m = Product_KeyValue{} }
186func (m *Product_KeyValue) String() string { return proto.CompactTextString(m) }
187func (*Product_KeyValue) ProtoMessage()    {}
188func (*Product_KeyValue) Descriptor() ([]byte, []int) {
189	return fileDescriptor_3e303776708d7396, []int{0, 0}
190}
191
192func (m *Product_KeyValue) XXX_Unmarshal(b []byte) error {
193	return xxx_messageInfo_Product_KeyValue.Unmarshal(m, b)
194}
195func (m *Product_KeyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
196	return xxx_messageInfo_Product_KeyValue.Marshal(b, m, deterministic)
197}
198func (m *Product_KeyValue) XXX_Merge(src proto.Message) {
199	xxx_messageInfo_Product_KeyValue.Merge(m, src)
200}
201func (m *Product_KeyValue) XXX_Size() int {
202	return xxx_messageInfo_Product_KeyValue.Size(m)
203}
204func (m *Product_KeyValue) XXX_DiscardUnknown() {
205	xxx_messageInfo_Product_KeyValue.DiscardUnknown(m)
206}
207
208var xxx_messageInfo_Product_KeyValue proto.InternalMessageInfo
209
210func (m *Product_KeyValue) GetKey() string {
211	if m != nil {
212		return m.Key
213	}
214	return ""
215}
216
217func (m *Product_KeyValue) GetValue() string {
218	if m != nil {
219		return m.Value
220	}
221	return ""
222}
223
224// A ProductSet contains Products. A ProductSet can contain a maximum of 1
225// million reference images. If the limit is exceeded, periodic indexing will
226// fail.
227type ProductSet struct {
228	// The resource name of the ProductSet.
229	//
230	// Format is:
231	// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.
232	//
233	// This field is ignored when creating a ProductSet.
234	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
235	// The user-provided name for this ProductSet. Must not be empty. Must be at
236	// most 4096 characters long.
237	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
238	// Output only. The time at which this ProductSet was last indexed. Query
239	// results will reflect all updates before this time. If this ProductSet has
240	// never been indexed, this field is 0.
241	//
242	// This field is ignored when creating a ProductSet.
243	IndexTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=index_time,json=indexTime,proto3" json:"index_time,omitempty"`
244	// Output only. If there was an error with indexing the product set, the field
245	// is populated.
246	//
247	// This field is ignored when creating a ProductSet.
248	IndexError           *status.Status `protobuf:"bytes,4,opt,name=index_error,json=indexError,proto3" json:"index_error,omitempty"`
249	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
250	XXX_unrecognized     []byte         `json:"-"`
251	XXX_sizecache        int32          `json:"-"`
252}
253
254func (m *ProductSet) Reset()         { *m = ProductSet{} }
255func (m *ProductSet) String() string { return proto.CompactTextString(m) }
256func (*ProductSet) ProtoMessage()    {}
257func (*ProductSet) Descriptor() ([]byte, []int) {
258	return fileDescriptor_3e303776708d7396, []int{1}
259}
260
261func (m *ProductSet) XXX_Unmarshal(b []byte) error {
262	return xxx_messageInfo_ProductSet.Unmarshal(m, b)
263}
264func (m *ProductSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
265	return xxx_messageInfo_ProductSet.Marshal(b, m, deterministic)
266}
267func (m *ProductSet) XXX_Merge(src proto.Message) {
268	xxx_messageInfo_ProductSet.Merge(m, src)
269}
270func (m *ProductSet) XXX_Size() int {
271	return xxx_messageInfo_ProductSet.Size(m)
272}
273func (m *ProductSet) XXX_DiscardUnknown() {
274	xxx_messageInfo_ProductSet.DiscardUnknown(m)
275}
276
277var xxx_messageInfo_ProductSet proto.InternalMessageInfo
278
279func (m *ProductSet) GetName() string {
280	if m != nil {
281		return m.Name
282	}
283	return ""
284}
285
286func (m *ProductSet) GetDisplayName() string {
287	if m != nil {
288		return m.DisplayName
289	}
290	return ""
291}
292
293func (m *ProductSet) GetIndexTime() *timestamp.Timestamp {
294	if m != nil {
295		return m.IndexTime
296	}
297	return nil
298}
299
300func (m *ProductSet) GetIndexError() *status.Status {
301	if m != nil {
302		return m.IndexError
303	}
304	return nil
305}
306
307// A `ReferenceImage` represents a product image and its associated metadata,
308// such as bounding boxes.
309type ReferenceImage struct {
310	// The resource name of the reference image.
311	//
312	// Format is:
313	//
314	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`.
315	//
316	// This field is ignored when creating a reference image.
317	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
318	// Required. The Google Cloud Storage URI of the reference image.
319	//
320	// The URI must start with `gs://`.
321	Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"`
322	// Optional. Bounding polygons around the areas of interest in the reference image.
323	// If this field is empty, the system will try to detect regions of
324	// interest. At most 10 bounding polygons will be used.
325	//
326	// The provided shape is converted into a non-rotated rectangle. Once
327	// converted, the small edge of the rectangle must be greater than or equal
328	// to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5
329	// is not).
330	BoundingPolys        []*BoundingPoly `protobuf:"bytes,3,rep,name=bounding_polys,json=boundingPolys,proto3" json:"bounding_polys,omitempty"`
331	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
332	XXX_unrecognized     []byte          `json:"-"`
333	XXX_sizecache        int32           `json:"-"`
334}
335
336func (m *ReferenceImage) Reset()         { *m = ReferenceImage{} }
337func (m *ReferenceImage) String() string { return proto.CompactTextString(m) }
338func (*ReferenceImage) ProtoMessage()    {}
339func (*ReferenceImage) Descriptor() ([]byte, []int) {
340	return fileDescriptor_3e303776708d7396, []int{2}
341}
342
343func (m *ReferenceImage) XXX_Unmarshal(b []byte) error {
344	return xxx_messageInfo_ReferenceImage.Unmarshal(m, b)
345}
346func (m *ReferenceImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
347	return xxx_messageInfo_ReferenceImage.Marshal(b, m, deterministic)
348}
349func (m *ReferenceImage) XXX_Merge(src proto.Message) {
350	xxx_messageInfo_ReferenceImage.Merge(m, src)
351}
352func (m *ReferenceImage) XXX_Size() int {
353	return xxx_messageInfo_ReferenceImage.Size(m)
354}
355func (m *ReferenceImage) XXX_DiscardUnknown() {
356	xxx_messageInfo_ReferenceImage.DiscardUnknown(m)
357}
358
359var xxx_messageInfo_ReferenceImage proto.InternalMessageInfo
360
361func (m *ReferenceImage) GetName() string {
362	if m != nil {
363		return m.Name
364	}
365	return ""
366}
367
368func (m *ReferenceImage) GetUri() string {
369	if m != nil {
370		return m.Uri
371	}
372	return ""
373}
374
375func (m *ReferenceImage) GetBoundingPolys() []*BoundingPoly {
376	if m != nil {
377		return m.BoundingPolys
378	}
379	return nil
380}
381
382// Request message for the `CreateProduct` method.
383type CreateProductRequest struct {
384	// Required. The project in which the Product should be created.
385	//
386	// Format is
387	// `projects/PROJECT_ID/locations/LOC_ID`.
388	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
389	// Required. The product to create.
390	Product *Product `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"`
391	// A user-supplied resource id for this Product. If set, the server will
392	// attempt to use this value as the resource id. If it is already in use, an
393	// error is returned with code ALREADY_EXISTS. Must be at most 128 characters
394	// long. It cannot contain the character `/`.
395	ProductId            string   `protobuf:"bytes,3,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
396	XXX_NoUnkeyedLiteral struct{} `json:"-"`
397	XXX_unrecognized     []byte   `json:"-"`
398	XXX_sizecache        int32    `json:"-"`
399}
400
401func (m *CreateProductRequest) Reset()         { *m = CreateProductRequest{} }
402func (m *CreateProductRequest) String() string { return proto.CompactTextString(m) }
403func (*CreateProductRequest) ProtoMessage()    {}
404func (*CreateProductRequest) Descriptor() ([]byte, []int) {
405	return fileDescriptor_3e303776708d7396, []int{3}
406}
407
408func (m *CreateProductRequest) XXX_Unmarshal(b []byte) error {
409	return xxx_messageInfo_CreateProductRequest.Unmarshal(m, b)
410}
411func (m *CreateProductRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
412	return xxx_messageInfo_CreateProductRequest.Marshal(b, m, deterministic)
413}
414func (m *CreateProductRequest) XXX_Merge(src proto.Message) {
415	xxx_messageInfo_CreateProductRequest.Merge(m, src)
416}
417func (m *CreateProductRequest) XXX_Size() int {
418	return xxx_messageInfo_CreateProductRequest.Size(m)
419}
420func (m *CreateProductRequest) XXX_DiscardUnknown() {
421	xxx_messageInfo_CreateProductRequest.DiscardUnknown(m)
422}
423
424var xxx_messageInfo_CreateProductRequest proto.InternalMessageInfo
425
426func (m *CreateProductRequest) GetParent() string {
427	if m != nil {
428		return m.Parent
429	}
430	return ""
431}
432
433func (m *CreateProductRequest) GetProduct() *Product {
434	if m != nil {
435		return m.Product
436	}
437	return nil
438}
439
440func (m *CreateProductRequest) GetProductId() string {
441	if m != nil {
442		return m.ProductId
443	}
444	return ""
445}
446
447// Request message for the `ListProducts` method.
448type ListProductsRequest struct {
449	// Required. The project OR ProductSet from which Products should be listed.
450	//
451	// Format:
452	// `projects/PROJECT_ID/locations/LOC_ID`
453	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
454	// The maximum number of items to return. Default 10, maximum 100.
455	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
456	// The next_page_token returned from a previous List request, if any.
457	PageToken            string   `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
458	XXX_NoUnkeyedLiteral struct{} `json:"-"`
459	XXX_unrecognized     []byte   `json:"-"`
460	XXX_sizecache        int32    `json:"-"`
461}
462
463func (m *ListProductsRequest) Reset()         { *m = ListProductsRequest{} }
464func (m *ListProductsRequest) String() string { return proto.CompactTextString(m) }
465func (*ListProductsRequest) ProtoMessage()    {}
466func (*ListProductsRequest) Descriptor() ([]byte, []int) {
467	return fileDescriptor_3e303776708d7396, []int{4}
468}
469
470func (m *ListProductsRequest) XXX_Unmarshal(b []byte) error {
471	return xxx_messageInfo_ListProductsRequest.Unmarshal(m, b)
472}
473func (m *ListProductsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
474	return xxx_messageInfo_ListProductsRequest.Marshal(b, m, deterministic)
475}
476func (m *ListProductsRequest) XXX_Merge(src proto.Message) {
477	xxx_messageInfo_ListProductsRequest.Merge(m, src)
478}
479func (m *ListProductsRequest) XXX_Size() int {
480	return xxx_messageInfo_ListProductsRequest.Size(m)
481}
482func (m *ListProductsRequest) XXX_DiscardUnknown() {
483	xxx_messageInfo_ListProductsRequest.DiscardUnknown(m)
484}
485
486var xxx_messageInfo_ListProductsRequest proto.InternalMessageInfo
487
488func (m *ListProductsRequest) GetParent() string {
489	if m != nil {
490		return m.Parent
491	}
492	return ""
493}
494
495func (m *ListProductsRequest) GetPageSize() int32 {
496	if m != nil {
497		return m.PageSize
498	}
499	return 0
500}
501
502func (m *ListProductsRequest) GetPageToken() string {
503	if m != nil {
504		return m.PageToken
505	}
506	return ""
507}
508
509// Response message for the `ListProducts` method.
510type ListProductsResponse struct {
511	// List of products.
512	Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"`
513	// Token to retrieve the next page of results, or empty if there are no more
514	// results in the list.
515	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
516	XXX_NoUnkeyedLiteral struct{} `json:"-"`
517	XXX_unrecognized     []byte   `json:"-"`
518	XXX_sizecache        int32    `json:"-"`
519}
520
521func (m *ListProductsResponse) Reset()         { *m = ListProductsResponse{} }
522func (m *ListProductsResponse) String() string { return proto.CompactTextString(m) }
523func (*ListProductsResponse) ProtoMessage()    {}
524func (*ListProductsResponse) Descriptor() ([]byte, []int) {
525	return fileDescriptor_3e303776708d7396, []int{5}
526}
527
528func (m *ListProductsResponse) XXX_Unmarshal(b []byte) error {
529	return xxx_messageInfo_ListProductsResponse.Unmarshal(m, b)
530}
531func (m *ListProductsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
532	return xxx_messageInfo_ListProductsResponse.Marshal(b, m, deterministic)
533}
534func (m *ListProductsResponse) XXX_Merge(src proto.Message) {
535	xxx_messageInfo_ListProductsResponse.Merge(m, src)
536}
537func (m *ListProductsResponse) XXX_Size() int {
538	return xxx_messageInfo_ListProductsResponse.Size(m)
539}
540func (m *ListProductsResponse) XXX_DiscardUnknown() {
541	xxx_messageInfo_ListProductsResponse.DiscardUnknown(m)
542}
543
544var xxx_messageInfo_ListProductsResponse proto.InternalMessageInfo
545
546func (m *ListProductsResponse) GetProducts() []*Product {
547	if m != nil {
548		return m.Products
549	}
550	return nil
551}
552
553func (m *ListProductsResponse) GetNextPageToken() string {
554	if m != nil {
555		return m.NextPageToken
556	}
557	return ""
558}
559
560// Request message for the `GetProduct` method.
561type GetProductRequest struct {
562	// Required. Resource name of the Product to get.
563	//
564	// Format is:
565	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`
566	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
567	XXX_NoUnkeyedLiteral struct{} `json:"-"`
568	XXX_unrecognized     []byte   `json:"-"`
569	XXX_sizecache        int32    `json:"-"`
570}
571
572func (m *GetProductRequest) Reset()         { *m = GetProductRequest{} }
573func (m *GetProductRequest) String() string { return proto.CompactTextString(m) }
574func (*GetProductRequest) ProtoMessage()    {}
575func (*GetProductRequest) Descriptor() ([]byte, []int) {
576	return fileDescriptor_3e303776708d7396, []int{6}
577}
578
579func (m *GetProductRequest) XXX_Unmarshal(b []byte) error {
580	return xxx_messageInfo_GetProductRequest.Unmarshal(m, b)
581}
582func (m *GetProductRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
583	return xxx_messageInfo_GetProductRequest.Marshal(b, m, deterministic)
584}
585func (m *GetProductRequest) XXX_Merge(src proto.Message) {
586	xxx_messageInfo_GetProductRequest.Merge(m, src)
587}
588func (m *GetProductRequest) XXX_Size() int {
589	return xxx_messageInfo_GetProductRequest.Size(m)
590}
591func (m *GetProductRequest) XXX_DiscardUnknown() {
592	xxx_messageInfo_GetProductRequest.DiscardUnknown(m)
593}
594
595var xxx_messageInfo_GetProductRequest proto.InternalMessageInfo
596
597func (m *GetProductRequest) GetName() string {
598	if m != nil {
599		return m.Name
600	}
601	return ""
602}
603
604// Request message for the `UpdateProduct` method.
605type UpdateProductRequest struct {
606	// Required. The Product resource which replaces the one on the server.
607	// product.name is immutable.
608	Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"`
609	// The [FieldMask][google.protobuf.FieldMask] that specifies which fields
610	// to update.
611	// If update_mask isn't specified, all mutable fields are to be updated.
612	// Valid mask paths include `product_labels`, `display_name`, and
613	// `description`.
614	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
615	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
616	XXX_unrecognized     []byte                `json:"-"`
617	XXX_sizecache        int32                 `json:"-"`
618}
619
620func (m *UpdateProductRequest) Reset()         { *m = UpdateProductRequest{} }
621func (m *UpdateProductRequest) String() string { return proto.CompactTextString(m) }
622func (*UpdateProductRequest) ProtoMessage()    {}
623func (*UpdateProductRequest) Descriptor() ([]byte, []int) {
624	return fileDescriptor_3e303776708d7396, []int{7}
625}
626
627func (m *UpdateProductRequest) XXX_Unmarshal(b []byte) error {
628	return xxx_messageInfo_UpdateProductRequest.Unmarshal(m, b)
629}
630func (m *UpdateProductRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
631	return xxx_messageInfo_UpdateProductRequest.Marshal(b, m, deterministic)
632}
633func (m *UpdateProductRequest) XXX_Merge(src proto.Message) {
634	xxx_messageInfo_UpdateProductRequest.Merge(m, src)
635}
636func (m *UpdateProductRequest) XXX_Size() int {
637	return xxx_messageInfo_UpdateProductRequest.Size(m)
638}
639func (m *UpdateProductRequest) XXX_DiscardUnknown() {
640	xxx_messageInfo_UpdateProductRequest.DiscardUnknown(m)
641}
642
643var xxx_messageInfo_UpdateProductRequest proto.InternalMessageInfo
644
645func (m *UpdateProductRequest) GetProduct() *Product {
646	if m != nil {
647		return m.Product
648	}
649	return nil
650}
651
652func (m *UpdateProductRequest) GetUpdateMask() *field_mask.FieldMask {
653	if m != nil {
654		return m.UpdateMask
655	}
656	return nil
657}
658
659// Request message for the `DeleteProduct` method.
660type DeleteProductRequest struct {
661	// Required. Resource name of product to delete.
662	//
663	// Format is:
664	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`
665	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
666	XXX_NoUnkeyedLiteral struct{} `json:"-"`
667	XXX_unrecognized     []byte   `json:"-"`
668	XXX_sizecache        int32    `json:"-"`
669}
670
671func (m *DeleteProductRequest) Reset()         { *m = DeleteProductRequest{} }
672func (m *DeleteProductRequest) String() string { return proto.CompactTextString(m) }
673func (*DeleteProductRequest) ProtoMessage()    {}
674func (*DeleteProductRequest) Descriptor() ([]byte, []int) {
675	return fileDescriptor_3e303776708d7396, []int{8}
676}
677
678func (m *DeleteProductRequest) XXX_Unmarshal(b []byte) error {
679	return xxx_messageInfo_DeleteProductRequest.Unmarshal(m, b)
680}
681func (m *DeleteProductRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
682	return xxx_messageInfo_DeleteProductRequest.Marshal(b, m, deterministic)
683}
684func (m *DeleteProductRequest) XXX_Merge(src proto.Message) {
685	xxx_messageInfo_DeleteProductRequest.Merge(m, src)
686}
687func (m *DeleteProductRequest) XXX_Size() int {
688	return xxx_messageInfo_DeleteProductRequest.Size(m)
689}
690func (m *DeleteProductRequest) XXX_DiscardUnknown() {
691	xxx_messageInfo_DeleteProductRequest.DiscardUnknown(m)
692}
693
694var xxx_messageInfo_DeleteProductRequest proto.InternalMessageInfo
695
696func (m *DeleteProductRequest) GetName() string {
697	if m != nil {
698		return m.Name
699	}
700	return ""
701}
702
703// Request message for the `CreateProductSet` method.
704type CreateProductSetRequest struct {
705	// Required. The project in which the ProductSet should be created.
706	//
707	// Format is `projects/PROJECT_ID/locations/LOC_ID`.
708	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
709	// Required. The ProductSet to create.
710	ProductSet *ProductSet `protobuf:"bytes,2,opt,name=product_set,json=productSet,proto3" json:"product_set,omitempty"`
711	// A user-supplied resource id for this ProductSet. If set, the server will
712	// attempt to use this value as the resource id. If it is already in use, an
713	// error is returned with code ALREADY_EXISTS. Must be at most 128 characters
714	// long. It cannot contain the character `/`.
715	ProductSetId         string   `protobuf:"bytes,3,opt,name=product_set_id,json=productSetId,proto3" json:"product_set_id,omitempty"`
716	XXX_NoUnkeyedLiteral struct{} `json:"-"`
717	XXX_unrecognized     []byte   `json:"-"`
718	XXX_sizecache        int32    `json:"-"`
719}
720
721func (m *CreateProductSetRequest) Reset()         { *m = CreateProductSetRequest{} }
722func (m *CreateProductSetRequest) String() string { return proto.CompactTextString(m) }
723func (*CreateProductSetRequest) ProtoMessage()    {}
724func (*CreateProductSetRequest) Descriptor() ([]byte, []int) {
725	return fileDescriptor_3e303776708d7396, []int{9}
726}
727
728func (m *CreateProductSetRequest) XXX_Unmarshal(b []byte) error {
729	return xxx_messageInfo_CreateProductSetRequest.Unmarshal(m, b)
730}
731func (m *CreateProductSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
732	return xxx_messageInfo_CreateProductSetRequest.Marshal(b, m, deterministic)
733}
734func (m *CreateProductSetRequest) XXX_Merge(src proto.Message) {
735	xxx_messageInfo_CreateProductSetRequest.Merge(m, src)
736}
737func (m *CreateProductSetRequest) XXX_Size() int {
738	return xxx_messageInfo_CreateProductSetRequest.Size(m)
739}
740func (m *CreateProductSetRequest) XXX_DiscardUnknown() {
741	xxx_messageInfo_CreateProductSetRequest.DiscardUnknown(m)
742}
743
744var xxx_messageInfo_CreateProductSetRequest proto.InternalMessageInfo
745
746func (m *CreateProductSetRequest) GetParent() string {
747	if m != nil {
748		return m.Parent
749	}
750	return ""
751}
752
753func (m *CreateProductSetRequest) GetProductSet() *ProductSet {
754	if m != nil {
755		return m.ProductSet
756	}
757	return nil
758}
759
760func (m *CreateProductSetRequest) GetProductSetId() string {
761	if m != nil {
762		return m.ProductSetId
763	}
764	return ""
765}
766
767// Request message for the `ListProductSets` method.
768type ListProductSetsRequest struct {
769	// Required. The project from which ProductSets should be listed.
770	//
771	// Format is `projects/PROJECT_ID/locations/LOC_ID`.
772	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
773	// The maximum number of items to return. Default 10, maximum 100.
774	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
775	// The next_page_token returned from a previous List request, if any.
776	PageToken            string   `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
777	XXX_NoUnkeyedLiteral struct{} `json:"-"`
778	XXX_unrecognized     []byte   `json:"-"`
779	XXX_sizecache        int32    `json:"-"`
780}
781
782func (m *ListProductSetsRequest) Reset()         { *m = ListProductSetsRequest{} }
783func (m *ListProductSetsRequest) String() string { return proto.CompactTextString(m) }
784func (*ListProductSetsRequest) ProtoMessage()    {}
785func (*ListProductSetsRequest) Descriptor() ([]byte, []int) {
786	return fileDescriptor_3e303776708d7396, []int{10}
787}
788
789func (m *ListProductSetsRequest) XXX_Unmarshal(b []byte) error {
790	return xxx_messageInfo_ListProductSetsRequest.Unmarshal(m, b)
791}
792func (m *ListProductSetsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
793	return xxx_messageInfo_ListProductSetsRequest.Marshal(b, m, deterministic)
794}
795func (m *ListProductSetsRequest) XXX_Merge(src proto.Message) {
796	xxx_messageInfo_ListProductSetsRequest.Merge(m, src)
797}
798func (m *ListProductSetsRequest) XXX_Size() int {
799	return xxx_messageInfo_ListProductSetsRequest.Size(m)
800}
801func (m *ListProductSetsRequest) XXX_DiscardUnknown() {
802	xxx_messageInfo_ListProductSetsRequest.DiscardUnknown(m)
803}
804
805var xxx_messageInfo_ListProductSetsRequest proto.InternalMessageInfo
806
807func (m *ListProductSetsRequest) GetParent() string {
808	if m != nil {
809		return m.Parent
810	}
811	return ""
812}
813
814func (m *ListProductSetsRequest) GetPageSize() int32 {
815	if m != nil {
816		return m.PageSize
817	}
818	return 0
819}
820
821func (m *ListProductSetsRequest) GetPageToken() string {
822	if m != nil {
823		return m.PageToken
824	}
825	return ""
826}
827
828// Response message for the `ListProductSets` method.
829type ListProductSetsResponse struct {
830	// List of ProductSets.
831	ProductSets []*ProductSet `protobuf:"bytes,1,rep,name=product_sets,json=productSets,proto3" json:"product_sets,omitempty"`
832	// Token to retrieve the next page of results, or empty if there are no more
833	// results in the list.
834	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
835	XXX_NoUnkeyedLiteral struct{} `json:"-"`
836	XXX_unrecognized     []byte   `json:"-"`
837	XXX_sizecache        int32    `json:"-"`
838}
839
840func (m *ListProductSetsResponse) Reset()         { *m = ListProductSetsResponse{} }
841func (m *ListProductSetsResponse) String() string { return proto.CompactTextString(m) }
842func (*ListProductSetsResponse) ProtoMessage()    {}
843func (*ListProductSetsResponse) Descriptor() ([]byte, []int) {
844	return fileDescriptor_3e303776708d7396, []int{11}
845}
846
847func (m *ListProductSetsResponse) XXX_Unmarshal(b []byte) error {
848	return xxx_messageInfo_ListProductSetsResponse.Unmarshal(m, b)
849}
850func (m *ListProductSetsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
851	return xxx_messageInfo_ListProductSetsResponse.Marshal(b, m, deterministic)
852}
853func (m *ListProductSetsResponse) XXX_Merge(src proto.Message) {
854	xxx_messageInfo_ListProductSetsResponse.Merge(m, src)
855}
856func (m *ListProductSetsResponse) XXX_Size() int {
857	return xxx_messageInfo_ListProductSetsResponse.Size(m)
858}
859func (m *ListProductSetsResponse) XXX_DiscardUnknown() {
860	xxx_messageInfo_ListProductSetsResponse.DiscardUnknown(m)
861}
862
863var xxx_messageInfo_ListProductSetsResponse proto.InternalMessageInfo
864
865func (m *ListProductSetsResponse) GetProductSets() []*ProductSet {
866	if m != nil {
867		return m.ProductSets
868	}
869	return nil
870}
871
872func (m *ListProductSetsResponse) GetNextPageToken() string {
873	if m != nil {
874		return m.NextPageToken
875	}
876	return ""
877}
878
879// Request message for the `GetProductSet` method.
880type GetProductSetRequest struct {
881	// Required. Resource name of the ProductSet to get.
882	//
883	// Format is:
884	// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`
885	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
886	XXX_NoUnkeyedLiteral struct{} `json:"-"`
887	XXX_unrecognized     []byte   `json:"-"`
888	XXX_sizecache        int32    `json:"-"`
889}
890
891func (m *GetProductSetRequest) Reset()         { *m = GetProductSetRequest{} }
892func (m *GetProductSetRequest) String() string { return proto.CompactTextString(m) }
893func (*GetProductSetRequest) ProtoMessage()    {}
894func (*GetProductSetRequest) Descriptor() ([]byte, []int) {
895	return fileDescriptor_3e303776708d7396, []int{12}
896}
897
898func (m *GetProductSetRequest) XXX_Unmarshal(b []byte) error {
899	return xxx_messageInfo_GetProductSetRequest.Unmarshal(m, b)
900}
901func (m *GetProductSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
902	return xxx_messageInfo_GetProductSetRequest.Marshal(b, m, deterministic)
903}
904func (m *GetProductSetRequest) XXX_Merge(src proto.Message) {
905	xxx_messageInfo_GetProductSetRequest.Merge(m, src)
906}
907func (m *GetProductSetRequest) XXX_Size() int {
908	return xxx_messageInfo_GetProductSetRequest.Size(m)
909}
910func (m *GetProductSetRequest) XXX_DiscardUnknown() {
911	xxx_messageInfo_GetProductSetRequest.DiscardUnknown(m)
912}
913
914var xxx_messageInfo_GetProductSetRequest proto.InternalMessageInfo
915
916func (m *GetProductSetRequest) GetName() string {
917	if m != nil {
918		return m.Name
919	}
920	return ""
921}
922
923// Request message for the `UpdateProductSet` method.
924type UpdateProductSetRequest struct {
925	// Required. The ProductSet resource which replaces the one on the server.
926	ProductSet *ProductSet `protobuf:"bytes,1,opt,name=product_set,json=productSet,proto3" json:"product_set,omitempty"`
927	// The [FieldMask][google.protobuf.FieldMask] that specifies which fields to
928	// update.
929	// If update_mask isn't specified, all mutable fields are to be updated.
930	// Valid mask path is `display_name`.
931	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
932	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
933	XXX_unrecognized     []byte                `json:"-"`
934	XXX_sizecache        int32                 `json:"-"`
935}
936
937func (m *UpdateProductSetRequest) Reset()         { *m = UpdateProductSetRequest{} }
938func (m *UpdateProductSetRequest) String() string { return proto.CompactTextString(m) }
939func (*UpdateProductSetRequest) ProtoMessage()    {}
940func (*UpdateProductSetRequest) Descriptor() ([]byte, []int) {
941	return fileDescriptor_3e303776708d7396, []int{13}
942}
943
944func (m *UpdateProductSetRequest) XXX_Unmarshal(b []byte) error {
945	return xxx_messageInfo_UpdateProductSetRequest.Unmarshal(m, b)
946}
947func (m *UpdateProductSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
948	return xxx_messageInfo_UpdateProductSetRequest.Marshal(b, m, deterministic)
949}
950func (m *UpdateProductSetRequest) XXX_Merge(src proto.Message) {
951	xxx_messageInfo_UpdateProductSetRequest.Merge(m, src)
952}
953func (m *UpdateProductSetRequest) XXX_Size() int {
954	return xxx_messageInfo_UpdateProductSetRequest.Size(m)
955}
956func (m *UpdateProductSetRequest) XXX_DiscardUnknown() {
957	xxx_messageInfo_UpdateProductSetRequest.DiscardUnknown(m)
958}
959
960var xxx_messageInfo_UpdateProductSetRequest proto.InternalMessageInfo
961
962func (m *UpdateProductSetRequest) GetProductSet() *ProductSet {
963	if m != nil {
964		return m.ProductSet
965	}
966	return nil
967}
968
969func (m *UpdateProductSetRequest) GetUpdateMask() *field_mask.FieldMask {
970	if m != nil {
971		return m.UpdateMask
972	}
973	return nil
974}
975
976// Request message for the `DeleteProductSet` method.
977type DeleteProductSetRequest struct {
978	// Required. Resource name of the ProductSet to delete.
979	//
980	// Format is:
981	// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`
982	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
983	XXX_NoUnkeyedLiteral struct{} `json:"-"`
984	XXX_unrecognized     []byte   `json:"-"`
985	XXX_sizecache        int32    `json:"-"`
986}
987
988func (m *DeleteProductSetRequest) Reset()         { *m = DeleteProductSetRequest{} }
989func (m *DeleteProductSetRequest) String() string { return proto.CompactTextString(m) }
990func (*DeleteProductSetRequest) ProtoMessage()    {}
991func (*DeleteProductSetRequest) Descriptor() ([]byte, []int) {
992	return fileDescriptor_3e303776708d7396, []int{14}
993}
994
995func (m *DeleteProductSetRequest) XXX_Unmarshal(b []byte) error {
996	return xxx_messageInfo_DeleteProductSetRequest.Unmarshal(m, b)
997}
998func (m *DeleteProductSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
999	return xxx_messageInfo_DeleteProductSetRequest.Marshal(b, m, deterministic)
1000}
1001func (m *DeleteProductSetRequest) XXX_Merge(src proto.Message) {
1002	xxx_messageInfo_DeleteProductSetRequest.Merge(m, src)
1003}
1004func (m *DeleteProductSetRequest) XXX_Size() int {
1005	return xxx_messageInfo_DeleteProductSetRequest.Size(m)
1006}
1007func (m *DeleteProductSetRequest) XXX_DiscardUnknown() {
1008	xxx_messageInfo_DeleteProductSetRequest.DiscardUnknown(m)
1009}
1010
1011var xxx_messageInfo_DeleteProductSetRequest proto.InternalMessageInfo
1012
1013func (m *DeleteProductSetRequest) GetName() string {
1014	if m != nil {
1015		return m.Name
1016	}
1017	return ""
1018}
1019
1020// Request message for the `CreateReferenceImage` method.
1021type CreateReferenceImageRequest struct {
1022	// Required. Resource name of the product in which to create the reference image.
1023	//
1024	// Format is
1025	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
1026	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1027	// Required. The reference image to create.
1028	// If an image ID is specified, it is ignored.
1029	ReferenceImage *ReferenceImage `protobuf:"bytes,2,opt,name=reference_image,json=referenceImage,proto3" json:"reference_image,omitempty"`
1030	// A user-supplied resource id for the ReferenceImage to be added. If set,
1031	// the server will attempt to use this value as the resource id. If it is
1032	// already in use, an error is returned with code ALREADY_EXISTS. Must be at
1033	// most 128 characters long. It cannot contain the character `/`.
1034	ReferenceImageId     string   `protobuf:"bytes,3,opt,name=reference_image_id,json=referenceImageId,proto3" json:"reference_image_id,omitempty"`
1035	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1036	XXX_unrecognized     []byte   `json:"-"`
1037	XXX_sizecache        int32    `json:"-"`
1038}
1039
1040func (m *CreateReferenceImageRequest) Reset()         { *m = CreateReferenceImageRequest{} }
1041func (m *CreateReferenceImageRequest) String() string { return proto.CompactTextString(m) }
1042func (*CreateReferenceImageRequest) ProtoMessage()    {}
1043func (*CreateReferenceImageRequest) Descriptor() ([]byte, []int) {
1044	return fileDescriptor_3e303776708d7396, []int{15}
1045}
1046
1047func (m *CreateReferenceImageRequest) XXX_Unmarshal(b []byte) error {
1048	return xxx_messageInfo_CreateReferenceImageRequest.Unmarshal(m, b)
1049}
1050func (m *CreateReferenceImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1051	return xxx_messageInfo_CreateReferenceImageRequest.Marshal(b, m, deterministic)
1052}
1053func (m *CreateReferenceImageRequest) XXX_Merge(src proto.Message) {
1054	xxx_messageInfo_CreateReferenceImageRequest.Merge(m, src)
1055}
1056func (m *CreateReferenceImageRequest) XXX_Size() int {
1057	return xxx_messageInfo_CreateReferenceImageRequest.Size(m)
1058}
1059func (m *CreateReferenceImageRequest) XXX_DiscardUnknown() {
1060	xxx_messageInfo_CreateReferenceImageRequest.DiscardUnknown(m)
1061}
1062
1063var xxx_messageInfo_CreateReferenceImageRequest proto.InternalMessageInfo
1064
1065func (m *CreateReferenceImageRequest) GetParent() string {
1066	if m != nil {
1067		return m.Parent
1068	}
1069	return ""
1070}
1071
1072func (m *CreateReferenceImageRequest) GetReferenceImage() *ReferenceImage {
1073	if m != nil {
1074		return m.ReferenceImage
1075	}
1076	return nil
1077}
1078
1079func (m *CreateReferenceImageRequest) GetReferenceImageId() string {
1080	if m != nil {
1081		return m.ReferenceImageId
1082	}
1083	return ""
1084}
1085
1086// Request message for the `ListReferenceImages` method.
1087type ListReferenceImagesRequest struct {
1088	// Required. Resource name of the product containing the reference images.
1089	//
1090	// Format is
1091	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
1092	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1093	// The maximum number of items to return. Default 10, maximum 100.
1094	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1095	// A token identifying a page of results to be returned. This is the value
1096	// of `nextPageToken` returned in a previous reference image list request.
1097	//
1098	// Defaults to the first page if not specified.
1099	PageToken            string   `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
1100	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1101	XXX_unrecognized     []byte   `json:"-"`
1102	XXX_sizecache        int32    `json:"-"`
1103}
1104
1105func (m *ListReferenceImagesRequest) Reset()         { *m = ListReferenceImagesRequest{} }
1106func (m *ListReferenceImagesRequest) String() string { return proto.CompactTextString(m) }
1107func (*ListReferenceImagesRequest) ProtoMessage()    {}
1108func (*ListReferenceImagesRequest) Descriptor() ([]byte, []int) {
1109	return fileDescriptor_3e303776708d7396, []int{16}
1110}
1111
1112func (m *ListReferenceImagesRequest) XXX_Unmarshal(b []byte) error {
1113	return xxx_messageInfo_ListReferenceImagesRequest.Unmarshal(m, b)
1114}
1115func (m *ListReferenceImagesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1116	return xxx_messageInfo_ListReferenceImagesRequest.Marshal(b, m, deterministic)
1117}
1118func (m *ListReferenceImagesRequest) XXX_Merge(src proto.Message) {
1119	xxx_messageInfo_ListReferenceImagesRequest.Merge(m, src)
1120}
1121func (m *ListReferenceImagesRequest) XXX_Size() int {
1122	return xxx_messageInfo_ListReferenceImagesRequest.Size(m)
1123}
1124func (m *ListReferenceImagesRequest) XXX_DiscardUnknown() {
1125	xxx_messageInfo_ListReferenceImagesRequest.DiscardUnknown(m)
1126}
1127
1128var xxx_messageInfo_ListReferenceImagesRequest proto.InternalMessageInfo
1129
1130func (m *ListReferenceImagesRequest) GetParent() string {
1131	if m != nil {
1132		return m.Parent
1133	}
1134	return ""
1135}
1136
1137func (m *ListReferenceImagesRequest) GetPageSize() int32 {
1138	if m != nil {
1139		return m.PageSize
1140	}
1141	return 0
1142}
1143
1144func (m *ListReferenceImagesRequest) GetPageToken() string {
1145	if m != nil {
1146		return m.PageToken
1147	}
1148	return ""
1149}
1150
1151// Response message for the `ListReferenceImages` method.
1152type ListReferenceImagesResponse struct {
1153	// The list of reference images.
1154	ReferenceImages []*ReferenceImage `protobuf:"bytes,1,rep,name=reference_images,json=referenceImages,proto3" json:"reference_images,omitempty"`
1155	// The maximum number of items to return. Default 10, maximum 100.
1156	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1157	// The next_page_token returned from a previous List request, if any.
1158	NextPageToken        string   `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1159	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1160	XXX_unrecognized     []byte   `json:"-"`
1161	XXX_sizecache        int32    `json:"-"`
1162}
1163
1164func (m *ListReferenceImagesResponse) Reset()         { *m = ListReferenceImagesResponse{} }
1165func (m *ListReferenceImagesResponse) String() string { return proto.CompactTextString(m) }
1166func (*ListReferenceImagesResponse) ProtoMessage()    {}
1167func (*ListReferenceImagesResponse) Descriptor() ([]byte, []int) {
1168	return fileDescriptor_3e303776708d7396, []int{17}
1169}
1170
1171func (m *ListReferenceImagesResponse) XXX_Unmarshal(b []byte) error {
1172	return xxx_messageInfo_ListReferenceImagesResponse.Unmarshal(m, b)
1173}
1174func (m *ListReferenceImagesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1175	return xxx_messageInfo_ListReferenceImagesResponse.Marshal(b, m, deterministic)
1176}
1177func (m *ListReferenceImagesResponse) XXX_Merge(src proto.Message) {
1178	xxx_messageInfo_ListReferenceImagesResponse.Merge(m, src)
1179}
1180func (m *ListReferenceImagesResponse) XXX_Size() int {
1181	return xxx_messageInfo_ListReferenceImagesResponse.Size(m)
1182}
1183func (m *ListReferenceImagesResponse) XXX_DiscardUnknown() {
1184	xxx_messageInfo_ListReferenceImagesResponse.DiscardUnknown(m)
1185}
1186
1187var xxx_messageInfo_ListReferenceImagesResponse proto.InternalMessageInfo
1188
1189func (m *ListReferenceImagesResponse) GetReferenceImages() []*ReferenceImage {
1190	if m != nil {
1191		return m.ReferenceImages
1192	}
1193	return nil
1194}
1195
1196func (m *ListReferenceImagesResponse) GetPageSize() int32 {
1197	if m != nil {
1198		return m.PageSize
1199	}
1200	return 0
1201}
1202
1203func (m *ListReferenceImagesResponse) GetNextPageToken() string {
1204	if m != nil {
1205		return m.NextPageToken
1206	}
1207	return ""
1208}
1209
1210// Request message for the `GetReferenceImage` method.
1211type GetReferenceImageRequest struct {
1212	// Required. The resource name of the ReferenceImage to get.
1213	//
1214	// Format is:
1215	//
1216	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`.
1217	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1218	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1219	XXX_unrecognized     []byte   `json:"-"`
1220	XXX_sizecache        int32    `json:"-"`
1221}
1222
1223func (m *GetReferenceImageRequest) Reset()         { *m = GetReferenceImageRequest{} }
1224func (m *GetReferenceImageRequest) String() string { return proto.CompactTextString(m) }
1225func (*GetReferenceImageRequest) ProtoMessage()    {}
1226func (*GetReferenceImageRequest) Descriptor() ([]byte, []int) {
1227	return fileDescriptor_3e303776708d7396, []int{18}
1228}
1229
1230func (m *GetReferenceImageRequest) XXX_Unmarshal(b []byte) error {
1231	return xxx_messageInfo_GetReferenceImageRequest.Unmarshal(m, b)
1232}
1233func (m *GetReferenceImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1234	return xxx_messageInfo_GetReferenceImageRequest.Marshal(b, m, deterministic)
1235}
1236func (m *GetReferenceImageRequest) XXX_Merge(src proto.Message) {
1237	xxx_messageInfo_GetReferenceImageRequest.Merge(m, src)
1238}
1239func (m *GetReferenceImageRequest) XXX_Size() int {
1240	return xxx_messageInfo_GetReferenceImageRequest.Size(m)
1241}
1242func (m *GetReferenceImageRequest) XXX_DiscardUnknown() {
1243	xxx_messageInfo_GetReferenceImageRequest.DiscardUnknown(m)
1244}
1245
1246var xxx_messageInfo_GetReferenceImageRequest proto.InternalMessageInfo
1247
1248func (m *GetReferenceImageRequest) GetName() string {
1249	if m != nil {
1250		return m.Name
1251	}
1252	return ""
1253}
1254
1255// Request message for the `DeleteReferenceImage` method.
1256type DeleteReferenceImageRequest struct {
1257	// Required. The resource name of the reference image to delete.
1258	//
1259	// Format is:
1260	//
1261	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`
1262	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1263	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1264	XXX_unrecognized     []byte   `json:"-"`
1265	XXX_sizecache        int32    `json:"-"`
1266}
1267
1268func (m *DeleteReferenceImageRequest) Reset()         { *m = DeleteReferenceImageRequest{} }
1269func (m *DeleteReferenceImageRequest) String() string { return proto.CompactTextString(m) }
1270func (*DeleteReferenceImageRequest) ProtoMessage()    {}
1271func (*DeleteReferenceImageRequest) Descriptor() ([]byte, []int) {
1272	return fileDescriptor_3e303776708d7396, []int{19}
1273}
1274
1275func (m *DeleteReferenceImageRequest) XXX_Unmarshal(b []byte) error {
1276	return xxx_messageInfo_DeleteReferenceImageRequest.Unmarshal(m, b)
1277}
1278func (m *DeleteReferenceImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1279	return xxx_messageInfo_DeleteReferenceImageRequest.Marshal(b, m, deterministic)
1280}
1281func (m *DeleteReferenceImageRequest) XXX_Merge(src proto.Message) {
1282	xxx_messageInfo_DeleteReferenceImageRequest.Merge(m, src)
1283}
1284func (m *DeleteReferenceImageRequest) XXX_Size() int {
1285	return xxx_messageInfo_DeleteReferenceImageRequest.Size(m)
1286}
1287func (m *DeleteReferenceImageRequest) XXX_DiscardUnknown() {
1288	xxx_messageInfo_DeleteReferenceImageRequest.DiscardUnknown(m)
1289}
1290
1291var xxx_messageInfo_DeleteReferenceImageRequest proto.InternalMessageInfo
1292
1293func (m *DeleteReferenceImageRequest) GetName() string {
1294	if m != nil {
1295		return m.Name
1296	}
1297	return ""
1298}
1299
1300// Request message for the `AddProductToProductSet` method.
1301type AddProductToProductSetRequest struct {
1302	// Required. The resource name for the ProductSet to modify.
1303	//
1304	// Format is:
1305	// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`
1306	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1307	// Required. The resource name for the Product to be added to this ProductSet.
1308	//
1309	// Format is:
1310	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`
1311	Product              string   `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"`
1312	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1313	XXX_unrecognized     []byte   `json:"-"`
1314	XXX_sizecache        int32    `json:"-"`
1315}
1316
1317func (m *AddProductToProductSetRequest) Reset()         { *m = AddProductToProductSetRequest{} }
1318func (m *AddProductToProductSetRequest) String() string { return proto.CompactTextString(m) }
1319func (*AddProductToProductSetRequest) ProtoMessage()    {}
1320func (*AddProductToProductSetRequest) Descriptor() ([]byte, []int) {
1321	return fileDescriptor_3e303776708d7396, []int{20}
1322}
1323
1324func (m *AddProductToProductSetRequest) XXX_Unmarshal(b []byte) error {
1325	return xxx_messageInfo_AddProductToProductSetRequest.Unmarshal(m, b)
1326}
1327func (m *AddProductToProductSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1328	return xxx_messageInfo_AddProductToProductSetRequest.Marshal(b, m, deterministic)
1329}
1330func (m *AddProductToProductSetRequest) XXX_Merge(src proto.Message) {
1331	xxx_messageInfo_AddProductToProductSetRequest.Merge(m, src)
1332}
1333func (m *AddProductToProductSetRequest) XXX_Size() int {
1334	return xxx_messageInfo_AddProductToProductSetRequest.Size(m)
1335}
1336func (m *AddProductToProductSetRequest) XXX_DiscardUnknown() {
1337	xxx_messageInfo_AddProductToProductSetRequest.DiscardUnknown(m)
1338}
1339
1340var xxx_messageInfo_AddProductToProductSetRequest proto.InternalMessageInfo
1341
1342func (m *AddProductToProductSetRequest) GetName() string {
1343	if m != nil {
1344		return m.Name
1345	}
1346	return ""
1347}
1348
1349func (m *AddProductToProductSetRequest) GetProduct() string {
1350	if m != nil {
1351		return m.Product
1352	}
1353	return ""
1354}
1355
1356// Request message for the `RemoveProductFromProductSet` method.
1357type RemoveProductFromProductSetRequest struct {
1358	// Required. The resource name for the ProductSet to modify.
1359	//
1360	// Format is:
1361	// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`
1362	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1363	// Required. The resource name for the Product to be removed from this ProductSet.
1364	//
1365	// Format is:
1366	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`
1367	Product              string   `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"`
1368	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1369	XXX_unrecognized     []byte   `json:"-"`
1370	XXX_sizecache        int32    `json:"-"`
1371}
1372
1373func (m *RemoveProductFromProductSetRequest) Reset()         { *m = RemoveProductFromProductSetRequest{} }
1374func (m *RemoveProductFromProductSetRequest) String() string { return proto.CompactTextString(m) }
1375func (*RemoveProductFromProductSetRequest) ProtoMessage()    {}
1376func (*RemoveProductFromProductSetRequest) Descriptor() ([]byte, []int) {
1377	return fileDescriptor_3e303776708d7396, []int{21}
1378}
1379
1380func (m *RemoveProductFromProductSetRequest) XXX_Unmarshal(b []byte) error {
1381	return xxx_messageInfo_RemoveProductFromProductSetRequest.Unmarshal(m, b)
1382}
1383func (m *RemoveProductFromProductSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1384	return xxx_messageInfo_RemoveProductFromProductSetRequest.Marshal(b, m, deterministic)
1385}
1386func (m *RemoveProductFromProductSetRequest) XXX_Merge(src proto.Message) {
1387	xxx_messageInfo_RemoveProductFromProductSetRequest.Merge(m, src)
1388}
1389func (m *RemoveProductFromProductSetRequest) XXX_Size() int {
1390	return xxx_messageInfo_RemoveProductFromProductSetRequest.Size(m)
1391}
1392func (m *RemoveProductFromProductSetRequest) XXX_DiscardUnknown() {
1393	xxx_messageInfo_RemoveProductFromProductSetRequest.DiscardUnknown(m)
1394}
1395
1396var xxx_messageInfo_RemoveProductFromProductSetRequest proto.InternalMessageInfo
1397
1398func (m *RemoveProductFromProductSetRequest) GetName() string {
1399	if m != nil {
1400		return m.Name
1401	}
1402	return ""
1403}
1404
1405func (m *RemoveProductFromProductSetRequest) GetProduct() string {
1406	if m != nil {
1407		return m.Product
1408	}
1409	return ""
1410}
1411
1412// Request message for the `ListProductsInProductSet` method.
1413type ListProductsInProductSetRequest struct {
1414	// Required. The ProductSet resource for which to retrieve Products.
1415	//
1416	// Format is:
1417	// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`
1418	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1419	// The maximum number of items to return. Default 10, maximum 100.
1420	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
1421	// The next_page_token returned from a previous List request, if any.
1422	PageToken            string   `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
1423	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1424	XXX_unrecognized     []byte   `json:"-"`
1425	XXX_sizecache        int32    `json:"-"`
1426}
1427
1428func (m *ListProductsInProductSetRequest) Reset()         { *m = ListProductsInProductSetRequest{} }
1429func (m *ListProductsInProductSetRequest) String() string { return proto.CompactTextString(m) }
1430func (*ListProductsInProductSetRequest) ProtoMessage()    {}
1431func (*ListProductsInProductSetRequest) Descriptor() ([]byte, []int) {
1432	return fileDescriptor_3e303776708d7396, []int{22}
1433}
1434
1435func (m *ListProductsInProductSetRequest) XXX_Unmarshal(b []byte) error {
1436	return xxx_messageInfo_ListProductsInProductSetRequest.Unmarshal(m, b)
1437}
1438func (m *ListProductsInProductSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1439	return xxx_messageInfo_ListProductsInProductSetRequest.Marshal(b, m, deterministic)
1440}
1441func (m *ListProductsInProductSetRequest) XXX_Merge(src proto.Message) {
1442	xxx_messageInfo_ListProductsInProductSetRequest.Merge(m, src)
1443}
1444func (m *ListProductsInProductSetRequest) XXX_Size() int {
1445	return xxx_messageInfo_ListProductsInProductSetRequest.Size(m)
1446}
1447func (m *ListProductsInProductSetRequest) XXX_DiscardUnknown() {
1448	xxx_messageInfo_ListProductsInProductSetRequest.DiscardUnknown(m)
1449}
1450
1451var xxx_messageInfo_ListProductsInProductSetRequest proto.InternalMessageInfo
1452
1453func (m *ListProductsInProductSetRequest) GetName() string {
1454	if m != nil {
1455		return m.Name
1456	}
1457	return ""
1458}
1459
1460func (m *ListProductsInProductSetRequest) GetPageSize() int32 {
1461	if m != nil {
1462		return m.PageSize
1463	}
1464	return 0
1465}
1466
1467func (m *ListProductsInProductSetRequest) GetPageToken() string {
1468	if m != nil {
1469		return m.PageToken
1470	}
1471	return ""
1472}
1473
1474// Response message for the `ListProductsInProductSet` method.
1475type ListProductsInProductSetResponse struct {
1476	// The list of Products.
1477	Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"`
1478	// Token to retrieve the next page of results, or empty if there are no more
1479	// results in the list.
1480	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1481	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1482	XXX_unrecognized     []byte   `json:"-"`
1483	XXX_sizecache        int32    `json:"-"`
1484}
1485
1486func (m *ListProductsInProductSetResponse) Reset()         { *m = ListProductsInProductSetResponse{} }
1487func (m *ListProductsInProductSetResponse) String() string { return proto.CompactTextString(m) }
1488func (*ListProductsInProductSetResponse) ProtoMessage()    {}
1489func (*ListProductsInProductSetResponse) Descriptor() ([]byte, []int) {
1490	return fileDescriptor_3e303776708d7396, []int{23}
1491}
1492
1493func (m *ListProductsInProductSetResponse) XXX_Unmarshal(b []byte) error {
1494	return xxx_messageInfo_ListProductsInProductSetResponse.Unmarshal(m, b)
1495}
1496func (m *ListProductsInProductSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1497	return xxx_messageInfo_ListProductsInProductSetResponse.Marshal(b, m, deterministic)
1498}
1499func (m *ListProductsInProductSetResponse) XXX_Merge(src proto.Message) {
1500	xxx_messageInfo_ListProductsInProductSetResponse.Merge(m, src)
1501}
1502func (m *ListProductsInProductSetResponse) XXX_Size() int {
1503	return xxx_messageInfo_ListProductsInProductSetResponse.Size(m)
1504}
1505func (m *ListProductsInProductSetResponse) XXX_DiscardUnknown() {
1506	xxx_messageInfo_ListProductsInProductSetResponse.DiscardUnknown(m)
1507}
1508
1509var xxx_messageInfo_ListProductsInProductSetResponse proto.InternalMessageInfo
1510
1511func (m *ListProductsInProductSetResponse) GetProducts() []*Product {
1512	if m != nil {
1513		return m.Products
1514	}
1515	return nil
1516}
1517
1518func (m *ListProductsInProductSetResponse) GetNextPageToken() string {
1519	if m != nil {
1520		return m.NextPageToken
1521	}
1522	return ""
1523}
1524
1525// The Google Cloud Storage location for a csv file which preserves a list of
1526// ImportProductSetRequests in each line.
1527type ImportProductSetsGcsSource struct {
1528	// The Google Cloud Storage URI of the input csv file.
1529	//
1530	// The URI must start with `gs://`.
1531	//
1532	// The format of the input csv file should be one image per line.
1533	// In each line, there are 6 columns.
1534	// 1. image_uri
1535	// 2, image_id
1536	// 3. product_set_id
1537	// 4. product_id
1538	// 5, product_category
1539	// 6, product_display_name
1540	// 7, labels
1541	// 8. bounding_poly
1542	//
1543	// Columns 1, 3, 4, and 5 are required, other columns are optional. A new
1544	// ProductSet/Product with the same id will be created on the fly
1545	// if the ProductSet/Product specified by product_set_id/product_id does not
1546	// exist.
1547	//
1548	// The image_id field is optional but has to be unique if provided. If it is
1549	// empty, we will automatically assign an unique id to the image.
1550	//
1551	// The product_display_name field is optional. If it is empty, a space (" ")
1552	// is used as the place holder for the product display_name, which can
1553	// be updated later through the realtime API.
1554	//
1555	// If the Product with product_id already exists, the fields
1556	// product_display_name, product_category and labels are ignored.
1557	//
1558	// If a Product doesn't exist and needs to be created on the fly, the
1559	// product_display_name field refers to
1560	// [Product.display_name][google.cloud.vision.v1p3beta1.Product.display_name],
1561	// the product_category field refers to
1562	// [Product.product_category][google.cloud.vision.v1p3beta1.Product.product_category],
1563	// and the labels field refers to [Product.labels][].
1564	//
1565	// Labels (optional) should be a line containing a list of comma-separated
1566	// key-value pairs, with the format
1567	//     "key_1=value_1,key_2=value_2,...,key_n=value_n".
1568	//
1569	// The bounding_poly (optional) field is used to identify one region of
1570	// interest from the image in the same manner as CreateReferenceImage. If no
1571	// bounding_poly is specified, the system will try to detect regions of
1572	// interest automatically.
1573	//
1574	// Note that the pipeline will resize the image if the image resolution is too
1575	// large to process (above 20MP).
1576	//
1577	// Also note that at most one bounding_poly is allowed per line. If the image
1578	// contains multiple regions of interest, the csv should contain one line per
1579	// region of interest.
1580	//
1581	// The bounding_poly column should contain an even number of comma-separated
1582	// numbers, with the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Nonnegative
1583	// integers should be used for absolute bounding polygons, and float values
1584	// in [0, 1] should be used for normalized bounding polygons.
1585	CsvFileUri           string   `protobuf:"bytes,1,opt,name=csv_file_uri,json=csvFileUri,proto3" json:"csv_file_uri,omitempty"`
1586	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1587	XXX_unrecognized     []byte   `json:"-"`
1588	XXX_sizecache        int32    `json:"-"`
1589}
1590
1591func (m *ImportProductSetsGcsSource) Reset()         { *m = ImportProductSetsGcsSource{} }
1592func (m *ImportProductSetsGcsSource) String() string { return proto.CompactTextString(m) }
1593func (*ImportProductSetsGcsSource) ProtoMessage()    {}
1594func (*ImportProductSetsGcsSource) Descriptor() ([]byte, []int) {
1595	return fileDescriptor_3e303776708d7396, []int{24}
1596}
1597
1598func (m *ImportProductSetsGcsSource) XXX_Unmarshal(b []byte) error {
1599	return xxx_messageInfo_ImportProductSetsGcsSource.Unmarshal(m, b)
1600}
1601func (m *ImportProductSetsGcsSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1602	return xxx_messageInfo_ImportProductSetsGcsSource.Marshal(b, m, deterministic)
1603}
1604func (m *ImportProductSetsGcsSource) XXX_Merge(src proto.Message) {
1605	xxx_messageInfo_ImportProductSetsGcsSource.Merge(m, src)
1606}
1607func (m *ImportProductSetsGcsSource) XXX_Size() int {
1608	return xxx_messageInfo_ImportProductSetsGcsSource.Size(m)
1609}
1610func (m *ImportProductSetsGcsSource) XXX_DiscardUnknown() {
1611	xxx_messageInfo_ImportProductSetsGcsSource.DiscardUnknown(m)
1612}
1613
1614var xxx_messageInfo_ImportProductSetsGcsSource proto.InternalMessageInfo
1615
1616func (m *ImportProductSetsGcsSource) GetCsvFileUri() string {
1617	if m != nil {
1618		return m.CsvFileUri
1619	}
1620	return ""
1621}
1622
1623// The input content for the `ImportProductSets` method.
1624type ImportProductSetsInputConfig struct {
1625	// The source of the input.
1626	//
1627	// Types that are valid to be assigned to Source:
1628	//	*ImportProductSetsInputConfig_GcsSource
1629	Source               isImportProductSetsInputConfig_Source `protobuf_oneof:"source"`
1630	XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
1631	XXX_unrecognized     []byte                                `json:"-"`
1632	XXX_sizecache        int32                                 `json:"-"`
1633}
1634
1635func (m *ImportProductSetsInputConfig) Reset()         { *m = ImportProductSetsInputConfig{} }
1636func (m *ImportProductSetsInputConfig) String() string { return proto.CompactTextString(m) }
1637func (*ImportProductSetsInputConfig) ProtoMessage()    {}
1638func (*ImportProductSetsInputConfig) Descriptor() ([]byte, []int) {
1639	return fileDescriptor_3e303776708d7396, []int{25}
1640}
1641
1642func (m *ImportProductSetsInputConfig) XXX_Unmarshal(b []byte) error {
1643	return xxx_messageInfo_ImportProductSetsInputConfig.Unmarshal(m, b)
1644}
1645func (m *ImportProductSetsInputConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1646	return xxx_messageInfo_ImportProductSetsInputConfig.Marshal(b, m, deterministic)
1647}
1648func (m *ImportProductSetsInputConfig) XXX_Merge(src proto.Message) {
1649	xxx_messageInfo_ImportProductSetsInputConfig.Merge(m, src)
1650}
1651func (m *ImportProductSetsInputConfig) XXX_Size() int {
1652	return xxx_messageInfo_ImportProductSetsInputConfig.Size(m)
1653}
1654func (m *ImportProductSetsInputConfig) XXX_DiscardUnknown() {
1655	xxx_messageInfo_ImportProductSetsInputConfig.DiscardUnknown(m)
1656}
1657
1658var xxx_messageInfo_ImportProductSetsInputConfig proto.InternalMessageInfo
1659
1660type isImportProductSetsInputConfig_Source interface {
1661	isImportProductSetsInputConfig_Source()
1662}
1663
1664type ImportProductSetsInputConfig_GcsSource struct {
1665	GcsSource *ImportProductSetsGcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"`
1666}
1667
1668func (*ImportProductSetsInputConfig_GcsSource) isImportProductSetsInputConfig_Source() {}
1669
1670func (m *ImportProductSetsInputConfig) GetSource() isImportProductSetsInputConfig_Source {
1671	if m != nil {
1672		return m.Source
1673	}
1674	return nil
1675}
1676
1677func (m *ImportProductSetsInputConfig) GetGcsSource() *ImportProductSetsGcsSource {
1678	if x, ok := m.GetSource().(*ImportProductSetsInputConfig_GcsSource); ok {
1679		return x.GcsSource
1680	}
1681	return nil
1682}
1683
1684// XXX_OneofWrappers is for the internal use of the proto package.
1685func (*ImportProductSetsInputConfig) XXX_OneofWrappers() []interface{} {
1686	return []interface{}{
1687		(*ImportProductSetsInputConfig_GcsSource)(nil),
1688	}
1689}
1690
1691// Request message for the `ImportProductSets` method.
1692type ImportProductSetsRequest struct {
1693	// Required. The project in which the ProductSets should be imported.
1694	//
1695	// Format is `projects/PROJECT_ID/locations/LOC_ID`.
1696	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1697	// Required. The input content for the list of requests.
1698	InputConfig          *ImportProductSetsInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
1699	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
1700	XXX_unrecognized     []byte                        `json:"-"`
1701	XXX_sizecache        int32                         `json:"-"`
1702}
1703
1704func (m *ImportProductSetsRequest) Reset()         { *m = ImportProductSetsRequest{} }
1705func (m *ImportProductSetsRequest) String() string { return proto.CompactTextString(m) }
1706func (*ImportProductSetsRequest) ProtoMessage()    {}
1707func (*ImportProductSetsRequest) Descriptor() ([]byte, []int) {
1708	return fileDescriptor_3e303776708d7396, []int{26}
1709}
1710
1711func (m *ImportProductSetsRequest) XXX_Unmarshal(b []byte) error {
1712	return xxx_messageInfo_ImportProductSetsRequest.Unmarshal(m, b)
1713}
1714func (m *ImportProductSetsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1715	return xxx_messageInfo_ImportProductSetsRequest.Marshal(b, m, deterministic)
1716}
1717func (m *ImportProductSetsRequest) XXX_Merge(src proto.Message) {
1718	xxx_messageInfo_ImportProductSetsRequest.Merge(m, src)
1719}
1720func (m *ImportProductSetsRequest) XXX_Size() int {
1721	return xxx_messageInfo_ImportProductSetsRequest.Size(m)
1722}
1723func (m *ImportProductSetsRequest) XXX_DiscardUnknown() {
1724	xxx_messageInfo_ImportProductSetsRequest.DiscardUnknown(m)
1725}
1726
1727var xxx_messageInfo_ImportProductSetsRequest proto.InternalMessageInfo
1728
1729func (m *ImportProductSetsRequest) GetParent() string {
1730	if m != nil {
1731		return m.Parent
1732	}
1733	return ""
1734}
1735
1736func (m *ImportProductSetsRequest) GetInputConfig() *ImportProductSetsInputConfig {
1737	if m != nil {
1738		return m.InputConfig
1739	}
1740	return nil
1741}
1742
1743// Response message for the `ImportProductSets` method.
1744//
1745// This message is returned by the
1746// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation]
1747// method in the returned
1748// [google.longrunning.Operation.response][google.longrunning.Operation.response]
1749// field.
1750type ImportProductSetsResponse struct {
1751	// The list of reference_images that are imported successfully.
1752	ReferenceImages []*ReferenceImage `protobuf:"bytes,1,rep,name=reference_images,json=referenceImages,proto3" json:"reference_images,omitempty"`
1753	// The rpc status for each ImportProductSet request, including both successes
1754	// and errors.
1755	//
1756	// The number of statuses here matches the number of lines in the csv file,
1757	// and statuses[i] stores the success or failure status of processing the i-th
1758	// line of the csv, starting from line 0.
1759	Statuses             []*status.Status `protobuf:"bytes,2,rep,name=statuses,proto3" json:"statuses,omitempty"`
1760	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
1761	XXX_unrecognized     []byte           `json:"-"`
1762	XXX_sizecache        int32            `json:"-"`
1763}
1764
1765func (m *ImportProductSetsResponse) Reset()         { *m = ImportProductSetsResponse{} }
1766func (m *ImportProductSetsResponse) String() string { return proto.CompactTextString(m) }
1767func (*ImportProductSetsResponse) ProtoMessage()    {}
1768func (*ImportProductSetsResponse) Descriptor() ([]byte, []int) {
1769	return fileDescriptor_3e303776708d7396, []int{27}
1770}
1771
1772func (m *ImportProductSetsResponse) XXX_Unmarshal(b []byte) error {
1773	return xxx_messageInfo_ImportProductSetsResponse.Unmarshal(m, b)
1774}
1775func (m *ImportProductSetsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1776	return xxx_messageInfo_ImportProductSetsResponse.Marshal(b, m, deterministic)
1777}
1778func (m *ImportProductSetsResponse) XXX_Merge(src proto.Message) {
1779	xxx_messageInfo_ImportProductSetsResponse.Merge(m, src)
1780}
1781func (m *ImportProductSetsResponse) XXX_Size() int {
1782	return xxx_messageInfo_ImportProductSetsResponse.Size(m)
1783}
1784func (m *ImportProductSetsResponse) XXX_DiscardUnknown() {
1785	xxx_messageInfo_ImportProductSetsResponse.DiscardUnknown(m)
1786}
1787
1788var xxx_messageInfo_ImportProductSetsResponse proto.InternalMessageInfo
1789
1790func (m *ImportProductSetsResponse) GetReferenceImages() []*ReferenceImage {
1791	if m != nil {
1792		return m.ReferenceImages
1793	}
1794	return nil
1795}
1796
1797func (m *ImportProductSetsResponse) GetStatuses() []*status.Status {
1798	if m != nil {
1799		return m.Statuses
1800	}
1801	return nil
1802}
1803
1804// Metadata for the batch operations such as the current state.
1805//
1806// This is included in the `metadata` field of the `Operation` returned by the
1807// `GetOperation` call of the `google::longrunning::Operations` service.
1808type BatchOperationMetadata struct {
1809	// The current state of the batch operation.
1810	State BatchOperationMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.vision.v1p3beta1.BatchOperationMetadata_State" json:"state,omitempty"`
1811	// The time when the batch request was submitted to the server.
1812	SubmitTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"`
1813	// The time when the batch request is finished and
1814	// [google.longrunning.Operation.done][google.longrunning.Operation.done] is
1815	// set to true.
1816	EndTime              *timestamp.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
1817	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
1818	XXX_unrecognized     []byte               `json:"-"`
1819	XXX_sizecache        int32                `json:"-"`
1820}
1821
1822func (m *BatchOperationMetadata) Reset()         { *m = BatchOperationMetadata{} }
1823func (m *BatchOperationMetadata) String() string { return proto.CompactTextString(m) }
1824func (*BatchOperationMetadata) ProtoMessage()    {}
1825func (*BatchOperationMetadata) Descriptor() ([]byte, []int) {
1826	return fileDescriptor_3e303776708d7396, []int{28}
1827}
1828
1829func (m *BatchOperationMetadata) XXX_Unmarshal(b []byte) error {
1830	return xxx_messageInfo_BatchOperationMetadata.Unmarshal(m, b)
1831}
1832func (m *BatchOperationMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1833	return xxx_messageInfo_BatchOperationMetadata.Marshal(b, m, deterministic)
1834}
1835func (m *BatchOperationMetadata) XXX_Merge(src proto.Message) {
1836	xxx_messageInfo_BatchOperationMetadata.Merge(m, src)
1837}
1838func (m *BatchOperationMetadata) XXX_Size() int {
1839	return xxx_messageInfo_BatchOperationMetadata.Size(m)
1840}
1841func (m *BatchOperationMetadata) XXX_DiscardUnknown() {
1842	xxx_messageInfo_BatchOperationMetadata.DiscardUnknown(m)
1843}
1844
1845var xxx_messageInfo_BatchOperationMetadata proto.InternalMessageInfo
1846
1847func (m *BatchOperationMetadata) GetState() BatchOperationMetadata_State {
1848	if m != nil {
1849		return m.State
1850	}
1851	return BatchOperationMetadata_STATE_UNSPECIFIED
1852}
1853
1854func (m *BatchOperationMetadata) GetSubmitTime() *timestamp.Timestamp {
1855	if m != nil {
1856		return m.SubmitTime
1857	}
1858	return nil
1859}
1860
1861func (m *BatchOperationMetadata) GetEndTime() *timestamp.Timestamp {
1862	if m != nil {
1863		return m.EndTime
1864	}
1865	return nil
1866}
1867
1868func init() {
1869	proto.RegisterEnum("google.cloud.vision.v1p3beta1.BatchOperationMetadata_State", BatchOperationMetadata_State_name, BatchOperationMetadata_State_value)
1870	proto.RegisterType((*Product)(nil), "google.cloud.vision.v1p3beta1.Product")
1871	proto.RegisterType((*Product_KeyValue)(nil), "google.cloud.vision.v1p3beta1.Product.KeyValue")
1872	proto.RegisterType((*ProductSet)(nil), "google.cloud.vision.v1p3beta1.ProductSet")
1873	proto.RegisterType((*ReferenceImage)(nil), "google.cloud.vision.v1p3beta1.ReferenceImage")
1874	proto.RegisterType((*CreateProductRequest)(nil), "google.cloud.vision.v1p3beta1.CreateProductRequest")
1875	proto.RegisterType((*ListProductsRequest)(nil), "google.cloud.vision.v1p3beta1.ListProductsRequest")
1876	proto.RegisterType((*ListProductsResponse)(nil), "google.cloud.vision.v1p3beta1.ListProductsResponse")
1877	proto.RegisterType((*GetProductRequest)(nil), "google.cloud.vision.v1p3beta1.GetProductRequest")
1878	proto.RegisterType((*UpdateProductRequest)(nil), "google.cloud.vision.v1p3beta1.UpdateProductRequest")
1879	proto.RegisterType((*DeleteProductRequest)(nil), "google.cloud.vision.v1p3beta1.DeleteProductRequest")
1880	proto.RegisterType((*CreateProductSetRequest)(nil), "google.cloud.vision.v1p3beta1.CreateProductSetRequest")
1881	proto.RegisterType((*ListProductSetsRequest)(nil), "google.cloud.vision.v1p3beta1.ListProductSetsRequest")
1882	proto.RegisterType((*ListProductSetsResponse)(nil), "google.cloud.vision.v1p3beta1.ListProductSetsResponse")
1883	proto.RegisterType((*GetProductSetRequest)(nil), "google.cloud.vision.v1p3beta1.GetProductSetRequest")
1884	proto.RegisterType((*UpdateProductSetRequest)(nil), "google.cloud.vision.v1p3beta1.UpdateProductSetRequest")
1885	proto.RegisterType((*DeleteProductSetRequest)(nil), "google.cloud.vision.v1p3beta1.DeleteProductSetRequest")
1886	proto.RegisterType((*CreateReferenceImageRequest)(nil), "google.cloud.vision.v1p3beta1.CreateReferenceImageRequest")
1887	proto.RegisterType((*ListReferenceImagesRequest)(nil), "google.cloud.vision.v1p3beta1.ListReferenceImagesRequest")
1888	proto.RegisterType((*ListReferenceImagesResponse)(nil), "google.cloud.vision.v1p3beta1.ListReferenceImagesResponse")
1889	proto.RegisterType((*GetReferenceImageRequest)(nil), "google.cloud.vision.v1p3beta1.GetReferenceImageRequest")
1890	proto.RegisterType((*DeleteReferenceImageRequest)(nil), "google.cloud.vision.v1p3beta1.DeleteReferenceImageRequest")
1891	proto.RegisterType((*AddProductToProductSetRequest)(nil), "google.cloud.vision.v1p3beta1.AddProductToProductSetRequest")
1892	proto.RegisterType((*RemoveProductFromProductSetRequest)(nil), "google.cloud.vision.v1p3beta1.RemoveProductFromProductSetRequest")
1893	proto.RegisterType((*ListProductsInProductSetRequest)(nil), "google.cloud.vision.v1p3beta1.ListProductsInProductSetRequest")
1894	proto.RegisterType((*ListProductsInProductSetResponse)(nil), "google.cloud.vision.v1p3beta1.ListProductsInProductSetResponse")
1895	proto.RegisterType((*ImportProductSetsGcsSource)(nil), "google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource")
1896	proto.RegisterType((*ImportProductSetsInputConfig)(nil), "google.cloud.vision.v1p3beta1.ImportProductSetsInputConfig")
1897	proto.RegisterType((*ImportProductSetsRequest)(nil), "google.cloud.vision.v1p3beta1.ImportProductSetsRequest")
1898	proto.RegisterType((*ImportProductSetsResponse)(nil), "google.cloud.vision.v1p3beta1.ImportProductSetsResponse")
1899	proto.RegisterType((*BatchOperationMetadata)(nil), "google.cloud.vision.v1p3beta1.BatchOperationMetadata")
1900}
1901
1902func init() {
1903	proto.RegisterFile("google/cloud/vision/v1p3beta1/product_search_service.proto", fileDescriptor_3e303776708d7396)
1904}
1905
1906var fileDescriptor_3e303776708d7396 = []byte{
1907	// 2235 bytes of a gzipped FileDescriptorProto
1908	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x5f, 0x6f, 0xdb, 0xd6,
1909	0x15, 0xef, 0x95, 0xeb, 0xc4, 0x3e, 0xf2, 0x1f, 0xe5, 0xd6, 0x89, 0x15, 0xb9, 0x5e, 0x1c, 0xb6,
1910	0x0b, 0x12, 0xcf, 0x15, 0x57, 0x1b, 0xc9, 0x1a, 0xa5, 0x49, 0x46, 0xd9, 0xb2, 0x27, 0xcc, 0x75,
1911	0x1c, 0xca, 0x4e, 0xbb, 0xa6, 0xa8, 0x46, 0x53, 0xd7, 0x32, 0x17, 0x89, 0x64, 0x49, 0x4a, 0xa9,
1912	0x1b, 0xf8, 0x25, 0xe8, 0x43, 0xb1, 0x87, 0xee, 0x61, 0x05, 0x06, 0x6c, 0xc0, 0x36, 0x60, 0x18,
1913	0x8a, 0xed, 0x03, 0xec, 0x61, 0xd8, 0xb0, 0x61, 0x6f, 0xeb, 0x80, 0x61, 0x5b, 0x5f, 0x06, 0x3f,
1914	0xf5, 0xa1, 0xd8, 0x86, 0xf4, 0x0b, 0x0c, 0x7b, 0x18, 0x06, 0xf2, 0x5e, 0x4a, 0x24, 0x45, 0x89,
1915	0x94, 0xac, 0x62, 0x7d, 0x23, 0xef, 0x3d, 0xe7, 0xf2, 0xfc, 0xf9, 0xfd, 0xee, 0xbd, 0xe7, 0x48,
1916	0x90, 0xab, 0x6a, 0x5a, 0xb5, 0x46, 0x78, 0xb9, 0xa6, 0x35, 0x2a, 0x7c, 0x53, 0x31, 0x15, 0x4d,
1917	0xe5, 0x9b, 0x2f, 0xea, 0x2b, 0x7b, 0xc4, 0x92, 0x5e, 0xe4, 0x75, 0x43, 0xab, 0x34, 0x64, 0xab,
1918	0x6c, 0x12, 0xc9, 0x90, 0x0f, 0xca, 0x26, 0x31, 0x9a, 0x8a, 0x4c, 0xb2, 0xba, 0xa1, 0x59, 0x1a,
1919	0x9e, 0xa7, 0xba, 0x59, 0x47, 0x37, 0x4b, 0x75, 0xb3, 0x2d, 0xdd, 0xcc, 0xb3, 0x6c, 0x69, 0x49,
1920	0x57, 0x78, 0x49, 0x55, 0x35, 0x4b, 0xb2, 0x14, 0x4d, 0x35, 0xa9, 0x72, 0x66, 0xd6, 0x33, 0x2b,
1921	0xd7, 0x14, 0xa2, 0x5a, 0x6c, 0xe2, 0x82, 0x67, 0x62, 0x5f, 0x21, 0xb5, 0x4a, 0x79, 0x8f, 0x1c,
1922	0x48, 0x4d, 0x45, 0x33, 0x98, 0xc0, 0x79, 0x8f, 0x80, 0x41, 0x4c, 0xad, 0x61, 0xb8, 0x16, 0x65,
1923	0x96, 0x7a, 0x7b, 0x53, 0x25, 0x5a, 0x9d, 0x58, 0xc6, 0x21, 0x93, 0x7e, 0x8e, 0x49, 0xd7, 0x34,
1924	0xb5, 0x6a, 0x34, 0x54, 0x55, 0x51, 0xab, 0xbc, 0xa6, 0x13, 0xc3, 0x67, 0xe7, 0x1c, 0x13, 0x72,
1925	0xde, 0xf6, 0x1a, 0xfb, 0x3c, 0xa9, 0xeb, 0x96, 0xbb, 0xc2, 0x42, 0x70, 0x92, 0x1a, 0x5c, 0x97,
1926	0xcc, 0x07, 0x01, 0x6f, 0x5a, 0x12, 0x96, 0x52, 0x27, 0xa6, 0x25, 0xd5, 0xf5, 0x40, 0x1c, 0x0c,
1927	0x5d, 0xe6, 0x4d, 0x4b, 0xb2, 0x1a, 0xec, 0xc3, 0xdc, 0x7f, 0x13, 0x70, 0x7a, 0x9b, 0x86, 0x1f,
1928	0x63, 0x78, 0x5a, 0x95, 0xea, 0x24, 0x8d, 0x16, 0xd0, 0xe5, 0x71, 0xd1, 0x79, 0xc6, 0x17, 0x61,
1929	0xa2, 0xa2, 0x98, 0x7a, 0x4d, 0x3a, 0x2c, 0x3b, 0x73, 0x09, 0x67, 0x2e, 0xc9, 0xc6, 0xb6, 0x6c,
1930	0x91, 0x05, 0x48, 0x56, 0x88, 0x29, 0x1b, 0x8a, 0x6e, 0x7b, 0x94, 0x1e, 0x61, 0x12, 0xed, 0x21,
1931	0x9c, 0x85, 0x94, 0x9b, 0x62, 0x59, 0xb2, 0x48, 0x55, 0x33, 0x0e, 0xd3, 0x4f, 0xdb, 0x62, 0xf9,
1932	0x91, 0x4f, 0x84, 0x51, 0x71, 0x9a, 0x4d, 0xae, 0xb2, 0x39, 0x7c, 0x0f, 0xa6, 0x5c, 0xf9, 0x9a,
1933	0xb4, 0x47, 0x6a, 0x66, 0x7a, 0x74, 0x61, 0xe4, 0x72, 0x72, 0x99, 0xcf, 0xf6, 0xc4, 0x42, 0x96,
1934	0x39, 0x92, 0xfd, 0x26, 0x39, 0xbc, 0x27, 0xd5, 0x1a, 0x44, 0x9c, 0x64, 0xcb, 0x6c, 0x3a, 0xab,
1935	0x64, 0x96, 0x61, 0xcc, 0x9d, 0xc2, 0x29, 0x18, 0x79, 0x40, 0x0e, 0x99, 0xaf, 0xf6, 0x23, 0x9e,
1936	0x81, 0xd1, 0xa6, 0x3d, 0xc5, 0x7c, 0xa4, 0x2f, 0xb9, 0x37, 0x9f, 0x08, 0xf7, 0x61, 0x9e, 0x7d,
1937	0x8a, 0x7e, 0x5e, 0xd2, 0x15, 0x33, 0x2b, 0x6b, 0x75, 0xde, 0x0d, 0x5c, 0x4e, 0x37, 0xb4, 0xef,
1938	0x10, 0xd9, 0x32, 0xf9, 0x47, 0xec, 0xe9, 0x88, 0xaf, 0x69, 0x32, 0xcd, 0x30, 0xff, 0xc8, 0x7d,
1939	0x3c, 0x72, 0x81, 0x4e, 0xe5, 0xec, 0xa7, 0x23, 0xee, 0xc3, 0x04, 0x00, 0x5b, 0xa7, 0x44, 0x06,
1940	0xce, 0xc1, 0x2d, 0x00, 0x45, 0xad, 0x90, 0xb7, 0xcb, 0x76, 0xe2, 0x9d, 0x14, 0x24, 0x97, 0x33,
1941	0x6e, 0xb4, 0x5c, 0x54, 0x64, 0x77, 0x5c, 0x54, 0xd8, 0x71, 0x1f, 0x11, 0xc7, 0x1d, 0x15, 0x7b,
1942	0x10, 0xbf, 0x04, 0x49, 0xaa, 0x4f, 0x0c, 0x43, 0x33, 0x9c, 0xe4, 0x24, 0x97, 0xb1, 0xbb, 0x80,
1943	0xa1, 0xcb, 0xd9, 0x92, 0x83, 0x1a, 0xaa, 0x48, 0xbf, 0x55, 0xb0, 0x45, 0x73, 0x07, 0x4f, 0x04,
1944	0x02, 0x0b, 0x3d, 0xe3, 0x63, 0xfb, 0x25, 0xf4, 0x19, 0xa2, 0x12, 0xf1, 0x44, 0xa9, 0x6c, 0x12,
1945	0xeb, 0x88, 0xfb, 0x49, 0x02, 0xa6, 0x44, 0xb2, 0x4f, 0x0c, 0xa2, 0xca, 0xa4, 0x58, 0x97, 0xaa,
1946	0x24, 0x34, 0x5a, 0x67, 0x61, 0xa4, 0x61, 0x28, 0x34, 0x48, 0xb6, 0xb9, 0x09, 0xd1, 0x7e, 0xc7,
1947	0xaf, 0xc2, 0xd4, 0x9e, 0xd6, 0x50, 0x2b, 0x8a, 0x5a, 0x2d, 0xeb, 0x5a, 0xed, 0xd0, 0x4c, 0x8f,
1948	0x38, 0x98, 0xfa, 0x4a, 0x04, 0xa6, 0xf2, 0x4c, 0x69, 0x5b, 0xab, 0x1d, 0xda, 0xcb, 0x21, 0x71,
1949	0x72, 0xcf, 0x33, 0x64, 0xe6, 0xde, 0x43, 0x4f, 0x84, 0x77, 0x11, 0x3c, 0x1f, 0x1e, 0x82, 0x80,
1950	0xc1, 0x6f, 0x0c, 0x8e, 0x14, 0xde, 0xf0, 0x2d, 0x65, 0xf2, 0x8f, 0x5a, 0x03, 0x65, 0xc5, 0x1e,
1951	0x39, 0xe2, 0x7e, 0x87, 0x60, 0x66, 0xd5, 0x20, 0x92, 0x45, 0x58, 0xe4, 0x45, 0xf2, 0x56, 0x83,
1952	0x98, 0x16, 0x16, 0xe0, 0x94, 0x2e, 0x19, 0x44, 0xb5, 0x68, 0xa4, 0xf2, 0x57, 0x3e, 0x11, 0x12,
1953	0xff, 0x11, 0x9e, 0x83, 0x8b, 0xad, 0x6f, 0x07, 0xed, 0xde, 0x64, 0x13, 0x22, 0x53, 0xc4, 0x05,
1954	0x38, 0xcd, 0x2c, 0x71, 0x42, 0x9b, 0x5c, 0xbe, 0x14, 0x8f, 0x8c, 0x34, 0x05, 0xae, 0x2e, 0x9e,
1955	0x07, 0x70, 0x93, 0xaa, 0x54, 0xd8, 0x5e, 0x31, 0xce, 0x46, 0x8a, 0x15, 0xee, 0x03, 0x04, 0xcf,
1956	0x6c, 0x2a, 0xa6, 0xc5, 0x94, 0xcd, 0x21, 0x3a, 0x30, 0x07, 0xe3, 0xba, 0x54, 0x25, 0x65, 0x53,
1957	0x79, 0x87, 0x52, 0x68, 0x54, 0x1c, 0xb3, 0x07, 0x4a, 0xca, 0x3b, 0xc4, 0x31, 0xcb, 0x9e, 0xb4,
1958	0xb4, 0x07, 0x44, 0x6d, 0x99, 0x25, 0x55, 0xc9, 0x8e, 0x3d, 0xc0, 0x3d, 0x46, 0x30, 0xe3, 0x37,
1959	0xcb, 0xd4, 0x35, 0xd5, 0x24, 0x38, 0x0f, 0x63, 0x6e, 0xa6, 0xd2, 0xc8, 0xc1, 0x53, 0xcc, 0xb0,
1960	0x88, 0x2d, 0x3d, 0x7c, 0x09, 0xa6, 0x55, 0xf2, 0xb6, 0x55, 0xf6, 0x18, 0x40, 0x19, 0x3e, 0x69,
1961	0x0f, 0x6f, 0xb7, 0x8c, 0xd8, 0x82, 0x33, 0x1b, 0xc4, 0x0a, 0x64, 0xf6, 0xba, 0x97, 0x01, 0xf9,
1962	0x2f, 0x3b, 0x61, 0xb9, 0x10, 0xb1, 0x5f, 0x51, 0xa2, 0x70, 0x3f, 0x44, 0x30, 0xb3, 0xab, 0x57,
1963	0x3a, 0xd1, 0xe2, 0x49, 0x35, 0x3a, 0x41, 0xaa, 0x6f, 0x40, 0xb2, 0xe1, 0x2c, 0xef, 0x9c, 0x54,
1964	0x0c, 0x35, 0x9d, 0x9b, 0xd2, 0xba, 0x7d, 0x98, 0xbd, 0x22, 0x99, 0x0f, 0x44, 0xa0, 0xe2, 0xf6,
1965	0x33, 0x77, 0x17, 0x66, 0xd6, 0x48, 0x8d, 0x74, 0xd8, 0x76, 0x02, 0x7f, 0x3f, 0x46, 0x30, 0xeb,
1966	0x63, 0x47, 0x89, 0x0c, 0x93, 0x20, 0x77, 0x20, 0xe9, 0xd9, 0xae, 0x98, 0xbb, 0x57, 0xe2, 0x45,
1967	0xae, 0x44, 0x58, 0xf0, 0xa0, 0xbd, 0xfd, 0xe1, 0xe7, 0xdb, 0xa7, 0xa0, 0x49, 0x3c, 0x74, 0x99,
1968	0x68, 0xcb, 0x14, 0x2b, 0xdc, 0x0f, 0x10, 0x9c, 0xf3, 0x40, 0xd3, 0xde, 0x37, 0xbf, 0x20, 0xa4,
1969	0xf9, 0x1e, 0x82, 0xd9, 0x0e, 0xcb, 0x18, 0x6f, 0x36, 0x61, 0xc2, 0xe3, 0x9b, 0xcb, 0x9d, 0xf8,
1970	0xd1, 0x12, 0x93, 0x9e, 0x73, 0x22, 0x36, 0x83, 0x76, 0x60, 0xa6, 0xcd, 0x20, 0x4f, 0xf6, 0x5f,
1971	0xf6, 0x81, 0xea, 0xb2, 0x13, 0x26, 0x2e, 0xfa, 0x50, 0x63, 0xb8, 0xfa, 0x10, 0xc1, 0xac, 0x8f,
1972	0x47, 0x9e, 0x95, 0x03, 0xa0, 0x40, 0x27, 0x06, 0xc5, 0x89, 0x48, 0xf5, 0x2a, 0xcc, 0xfa, 0x48,
1973	0x35, 0xb4, 0x10, 0xfc, 0x13, 0xc1, 0x1c, 0xa5, 0x96, 0xff, 0xbc, 0x73, 0x57, 0xbf, 0x19, 0x40,
1974	0x62, 0x4c, 0xde, 0xba, 0x28, 0xbc, 0x0f, 0xd3, 0x81, 0xb3, 0x8e, 0x39, 0xfe, 0x42, 0x44, 0x24,
1975	0xfd, 0xd6, 0xd0, 0x68, 0x4e, 0xf9, 0xcf, 0x51, 0xbc, 0x04, 0x38, 0xb0, 0x78, 0x9b, 0x6a, 0x29,
1976	0xbf, 0x2c, 0xa5, 0x5b, 0xc6, 0x06, 0xb5, 0x7f, 0x65, 0x73, 0x48, 0x8e, 0x9e, 0x84, 0x6e, 0xbf,
1977	0x41, 0x30, 0x17, 0x6a, 0x19, 0xa3, 0xdc, 0x6b, 0x90, 0x0a, 0xf8, 0xe9, 0xd2, 0xae, 0xbf, 0x28,
1978	0x8a, 0xd3, 0x81, 0x8b, 0x48, 0x6f, 0xab, 0x43, 0xb8, 0x39, 0x12, 0xc6, 0xcd, 0x37, 0x20, 0xbd,
1979	0x41, 0xac, 0x70, 0xf8, 0x7c, 0xdd, 0x07, 0xce, 0x25, 0x27, 0xa6, 0x97, 0xe2, 0xdd, 0xb8, 0x18,
1980	0x40, 0xcb, 0x30, 0x47, 0x91, 0xff, 0x79, 0x7d, 0xe0, 0xc7, 0x08, 0xe6, 0x85, 0x4a, 0x85, 0x25,
1981	0x74, 0x47, 0x1b, 0x32, 0xc3, 0xf0, 0x6d, 0xff, 0xf5, 0x2b, 0x36, 0xb2, 0x5c, 0x2d, 0xee, 0x67,
1982	0x08, 0x38, 0x91, 0xd4, 0xb5, 0xa6, 0x4b, 0xfe, 0x75, 0x43, 0xab, 0x7f, 0xe1, 0xac, 0xfc, 0x11,
1983	0x82, 0x0b, 0xde, 0x8b, 0x56, 0x51, 0x1d, 0xb6, 0x89, 0x27, 0xa1, 0xd8, 0xfb, 0x08, 0x16, 0xba,
1984	0x5b, 0xf7, 0x7f, 0xb8, 0x12, 0xde, 0x82, 0x4c, 0xb1, 0xae, 0x6b, 0x86, 0xf7, 0x8c, 0xdd, 0x90,
1985	0xcd, 0x92, 0xd3, 0xad, 0xc0, 0x0b, 0x30, 0x21, 0x9b, 0xcd, 0xf2, 0xbe, 0x52, 0x23, 0x65, 0xbb,
1986	0x24, 0xa2, 0x55, 0x12, 0xc8, 0x66, 0x73, 0x5d, 0xa9, 0x91, 0x5d, 0x43, 0xe1, 0xde, 0x45, 0xf0,
1987	0x6c, 0xc7, 0x02, 0x45, 0x55, 0x6f, 0x58, 0xab, 0x9a, 0xba, 0xaf, 0x54, 0xf1, 0xeb, 0x00, 0x55,
1988	0xd9, 0x2c, 0xd3, 0xf6, 0x07, 0x3b, 0xbe, 0xae, 0x47, 0xb8, 0xd3, 0xdd, 0xa2, 0x6f, 0x3c, 0x25,
1989	0x8e, 0x57, 0xdd, 0x97, 0xfc, 0x18, 0x9c, 0xa2, 0xeb, 0x72, 0x7f, 0x40, 0x90, 0xee, 0xd0, 0x1a,
1990	0xe2, 0x2d, 0x46, 0x86, 0x09, 0xc5, 0x76, 0xaa, 0x2c, 0x3b, 0x5e, 0xb1, 0xc3, 0xe3, 0x46, 0xbf,
1991	0x7e, 0x78, 0x02, 0x43, 0x8f, 0x92, 0xa4, 0xd2, 0x1e, 0xe1, 0x7e, 0x8e, 0xe0, 0x7c, 0x88, 0x13,
1992	0x9f, 0xfb, 0xee, 0x9b, 0x85, 0x31, 0xda, 0xd1, 0x21, 0x66, 0x3a, 0xe1, 0xac, 0x18, 0x52, 0xb7,
1993	0x8b, 0x2d, 0x19, 0xee, 0xd7, 0x09, 0x38, 0x97, 0x97, 0x2c, 0xf9, 0xe0, 0x8e, 0xdb, 0x84, 0x7a,
1994	0x85, 0x58, 0x52, 0x45, 0xb2, 0x24, 0x7c, 0x17, 0x46, 0x6d, 0x31, 0x9a, 0xe8, 0xa9, 0xc8, 0x00,
1995	0x85, 0xaf, 0xe2, 0x7c, 0x91, 0x88, 0x74, 0x25, 0xfb, 0xbe, 0x62, 0x36, 0xf6, 0xea, 0x8a, 0x45,
1996	0x3b, 0x13, 0x89, 0xa8, 0xce, 0x84, 0x08, 0x54, 0xdc, 0xe9, 0x4a, 0x5c, 0x85, 0x31, 0xa2, 0x56,
1997	0x62, 0xf6, 0x34, 0xc4, 0xd3, 0x44, 0xad, 0xd8, 0x6f, 0xdc, 0xb7, 0x60, 0xd4, 0xb1, 0x01, 0x9f,
1998	0x85, 0x33, 0xa5, 0x1d, 0x61, 0xa7, 0x50, 0xde, 0xdd, 0x2a, 0x6d, 0x17, 0x56, 0x8b, 0xeb, 0xc5,
1999	0xc2, 0x5a, 0xea, 0x29, 0x3c, 0x05, 0xb0, 0x2d, 0xde, 0x59, 0x2d, 0x94, 0x4a, 0xc5, 0xad, 0x8d,
2000	0x14, 0xb2, 0xdf, 0x4b, 0xbb, 0xab, 0xf6, 0xfb, 0xfa, 0xee, 0x66, 0x2a, 0x81, 0x01, 0x4e, 0xad,
2001	0x0b, 0xc5, 0xcd, 0xc2, 0x5a, 0x6a, 0x04, 0x4f, 0xc2, 0xf8, 0xaa, 0xb0, 0xb5, 0x5a, 0xd8, 0xb4,
2002	0x5f, 0x9f, 0x5e, 0xfe, 0xec, 0x4b, 0x30, 0xd9, 0x4a, 0xaf, 0x64, 0xc8, 0x07, 0xf8, 0x1f, 0x08,
2003	0x52, 0xc1, 0xaa, 0x02, 0x5f, 0x8b, 0x88, 0x5c, 0x97, 0x32, 0x24, 0x13, 0xff, 0x66, 0xc8, 0x69,
2004	0xc7, 0xc2, 0x45, 0x0a, 0xef, 0x25, 0xcf, 0x0d, 0x73, 0xc9, 0x5f, 0x31, 0x3c, 0xfe, 0xf8, 0xd3,
2005	0xef, 0x27, 0x0a, 0xdc, 0x35, 0x4f, 0x77, 0xf2, 0x11, 0x55, 0xba, 0xd9, 0x6a, 0x44, 0x2c, 0x7a,
2006	0x1a, 0x10, 0x8b, 0xbe, 0xfe, 0x4b, 0xce, 0x7b, 0x77, 0xc5, 0x7f, 0x44, 0x30, 0x1d, 0xb8, 0xce,
2007	0xe3, 0xab, 0x11, 0xf6, 0x86, 0x17, 0x26, 0x99, 0x6b, 0xfd, 0xaa, 0x51, 0x12, 0x71, 0x1b, 0xc7,
2008	0x02, 0xa3, 0xb4, 0xe3, 0xd8, 0x4b, 0x78, 0x40, 0xc7, 0xf0, 0xaf, 0x10, 0x4c, 0xfa, 0x2a, 0x01,
2009	0xbc, 0x12, 0x61, 0x52, 0x58, 0xdd, 0xd0, 0x4f, 0xba, 0x0a, 0xc7, 0x82, 0x73, 0xfe, 0x84, 0x19,
2010	0x6e, 0x8f, 0x77, 0x31, 0xdb, 0xd7, 0x0e, 0x5b, 0x3c, 0xc2, 0xff, 0x42, 0x90, 0x0a, 0xd6, 0x1a,
2011	0x91, 0x68, 0xeb, 0x52, 0x9c, 0xf4, 0x63, 0xfe, 0x5b, 0xc7, 0xc2, 0xac, 0x17, 0x66, 0x9e, 0x1a,
2012	0xc4, 0xf1, 0xe8, 0xee, 0x72, 0xde, 0x97, 0x8a, 0xb6, 0x68, 0x36, 0xbe, 0x77, 0x7e, 0xbc, 0xfd,
2013	0x02, 0x41, 0x2a, 0x58, 0xad, 0x44, 0xba, 0xda, 0xa5, 0xbc, 0xc9, 0x9c, 0xeb, 0xd8, 0x37, 0x0a,
2014	0x75, 0xdd, 0x3a, 0x0c, 0xa4, 0x65, 0x71, 0xd0, 0xb4, 0xfc, 0x19, 0xc1, 0xa4, 0x8f, 0xd3, 0x91,
2015	0x78, 0x0a, 0x6b, 0xd3, 0x65, 0x62, 0x5e, 0x14, 0xb8, 0x6f, 0x1f, 0x0b, 0xe7, 0xfd, 0xdc, 0x5f,
2016	0x6a, 0x37, 0xd5, 0x1c, 0x57, 0x6e, 0x71, 0x2b, 0xfd, 0x53, 0xc3, 0xcc, 0xb5, 0x7a, 0x37, 0xbf,
2017	0x45, 0x30, 0xe1, 0xbd, 0xe9, 0xe0, 0xe5, 0xf8, 0x94, 0x6d, 0xd1, 0x7c, 0xa5, 0x2f, 0x1d, 0xc6,
2018	0xf1, 0x35, 0x3f, 0xc7, 0xaf, 0xe2, 0x41, 0x1c, 0xc1, 0xbf, 0x44, 0x00, 0x6d, 0xca, 0xe2, 0xaf,
2019	0xc6, 0x66, 0x77, 0xbf, 0xa9, 0xc8, 0x7b, 0x01, 0x14, 0x30, 0x36, 0x06, 0x80, 0x1c, 0xf4, 0xfc,
2020	0x05, 0xc1, 0xa4, 0x8f, 0xa3, 0x91, 0xe8, 0x09, 0x6b, 0xdb, 0xc5, 0x36, 0x79, 0xef, 0x58, 0x78,
2021	0xc6, 0x85, 0x4d, 0x90, 0xc7, 0xeb, 0xcb, 0x37, 0x42, 0x78, 0x9c, 0x8d, 0xe9, 0x49, 0x1b, 0x3f,
2022	0x3f, 0x45, 0x30, 0xe9, 0xe3, 0x62, 0xa4, 0x4b, 0x61, 0xdd, 0xbe, 0xae, 0xb4, 0xf5, 0x47, 0x7d,
2023	0x71, 0xa0, 0xa8, 0xbf, 0x9f, 0x70, 0x9b, 0xe5, 0x81, 0x1e, 0x7d, 0x2e, 0x16, 0x75, 0x43, 0x0b,
2024	0xc9, 0x4c, 0x7f, 0x97, 0x39, 0xee, 0xbb, 0xe8, 0x58, 0xb8, 0xc2, 0x98, 0x1c, 0xb8, 0x1e, 0x2e,
2025	0x75, 0x36, 0x25, 0x1c, 0x6f, 0x5f, 0xe3, 0x0a, 0xb1, 0x09, 0xe1, 0xf5, 0x37, 0xf8, 0xf3, 0x41,
2026	0x2e, 0xd8, 0x52, 0xc1, 0xbf, 0x47, 0x6e, 0xcf, 0xb5, 0xcf, 0x80, 0xf4, 0xa8, 0xac, 0xbb, 0x66,
2027	0x70, 0xc7, 0x9b, 0xc1, 0x8d, 0xc5, 0x42, 0xff, 0x19, 0xec, 0xf8, 0x3d, 0x64, 0xf1, 0x08, 0x7f,
2028	0xca, 0x7e, 0x3e, 0x08, 0xf4, 0x40, 0xf0, 0xf5, 0x18, 0x3b, 0x51, 0x78, 0x47, 0x27, 0x93, 0x1b,
2029	0x44, 0x95, 0xed, 0x65, 0xf7, 0xfc, 0x7b, 0xd9, 0x06, 0x1e, 0x4e, 0xea, 0xf0, 0x5f, 0x91, 0xf3,
2030	0x53, 0x40, 0x20, 0x4d, 0x5f, 0x8b, 0xde, 0xe4, 0x86, 0x02, 0x5a, 0x7f, 0xea, 0xf0, 0x90, 0x52,
2031	0xf7, 0x27, 0x04, 0xe7, 0xc2, 0x1b, 0x28, 0xf8, 0xe5, 0x08, 0xfb, 0x7a, 0xf6, 0x5d, 0xba, 0x22,
2032	0xf0, 0xfe, 0xb1, 0x30, 0x61, 0x9b, 0xeb, 0x1e, 0x9d, 0x74, 0xff, 0xe3, 0x84, 0xc1, 0xae, 0x00,
2033	0x39, 0xa9, 0x65, 0x44, 0x0e, 0x2d, 0xe2, 0xbf, 0x23, 0x98, 0xeb, 0xd1, 0x6d, 0xc1, 0x42, 0x64,
2034	0xc8, 0xa3, 0x3a, 0x35, 0x5d, 0xfd, 0x7a, 0x33, 0xcc, 0xaf, 0x22, 0xb7, 0x36, 0xa0, 0x5f, 0x86,
2035	0xd7, 0x12, 0xdb, 0xb5, 0xcf, 0x10, 0xa4, 0xbb, 0x35, 0x41, 0xf0, 0xad, 0x3e, 0x8e, 0xfc, 0x90,
2036	0xde, 0x4e, 0xe6, 0xf6, 0xc0, 0xfa, 0x8c, 0x72, 0x5b, 0x5e, 0x70, 0x0a, 0xf8, 0xf6, 0x60, 0x5e,
2037	0xb7, 0x2f, 0x12, 0x8f, 0x13, 0x70, 0xa6, 0xa3, 0xaa, 0x8f, 0xa4, 0x5a, 0xb7, 0x66, 0x46, 0x66,
2038	0xde, 0x55, 0xf4, 0xfc, 0x1b, 0x24, 0xdb, 0x2a, 0xa1, 0xb9, 0x0f, 0xd0, 0x47, 0xc2, 0x4a, 0xaf,
2039	0x36, 0x42, 0x97, 0xca, 0xdd, 0x3e, 0xd1, 0xe9, 0x29, 0xe2, 0xed, 0x73, 0x38, 0x31, 0xc8, 0x73,
2040	0x37, 0x07, 0xac, 0xfe, 0x14, 0xc7, 0x8a, 0x1c, 0x5a, 0xcc, 0x34, 0x3f, 0x12, 0xce, 0x86, 0xb6,
2041	0xd7, 0xfe, 0x26, 0xdc, 0x3f, 0xb0, 0x2c, 0xdd, 0xcc, 0xf1, 0xfc, 0xc3, 0x87, 0x0f, 0x83, 0x7d,
2042	0x18, 0xa9, 0x61, 0x1d, 0xd0, 0x3f, 0xc9, 0xbc, 0xa0, 0xd7, 0x24, 0x6b, 0x5f, 0x33, 0xea, 0x4b,
2043	0xf1, 0xc4, 0xe9, 0xc7, 0xf2, 0xef, 0x21, 0xb8, 0x28, 0x6b, 0xf5, 0xde, 0xc1, 0xce, 0x9f, 0xf7,
2044	0x15, 0xe4, 0x25, 0xfa, 0xe7, 0xa1, 0x6d, 0x9b, 0x14, 0xdb, 0xe8, 0xf5, 0x55, 0xa6, 0x5b, 0xd5,
2045	0x6a, 0x92, 0x5a, 0xcd, 0x6a, 0x46, 0x95, 0xaf, 0x12, 0xd5, 0xa1, 0x0c, 0xdf, 0xfe, 0x7e, 0x97,
2046	0xbf, 0xf2, 0xdc, 0xa0, 0x03, 0xff, 0x46, 0x68, 0xef, 0x94, 0xa3, 0xb2, 0xf2, 0xbf, 0x00, 0x00,
2047	0x00, 0xff, 0xff, 0x63, 0x03, 0xdb, 0x4c, 0xca, 0x24, 0x00, 0x00,
2048}
2049
2050// Reference imports to suppress errors if they are not otherwise used.
2051var _ context.Context
2052var _ grpc.ClientConnInterface
2053
2054// This is a compile-time assertion to ensure that this generated file
2055// is compatible with the grpc package it is being compiled against.
2056const _ = grpc.SupportPackageIsVersion6
2057
2058// ProductSearchClient is the client API for ProductSearch service.
2059//
2060// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2061type ProductSearchClient interface {
2062	// Creates and returns a new ProductSet resource.
2063	//
2064	// Possible errors:
2065	//
2066	// * Returns INVALID_ARGUMENT if display_name is missing, or is longer than
2067	//   4096 characters.
2068	CreateProductSet(ctx context.Context, in *CreateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error)
2069	// Lists ProductSets in an unspecified order.
2070	//
2071	// Possible errors:
2072	//
2073	// * Returns INVALID_ARGUMENT if page_size is greater than 100, or less
2074	//   than 1.
2075	ListProductSets(ctx context.Context, in *ListProductSetsRequest, opts ...grpc.CallOption) (*ListProductSetsResponse, error)
2076	// Gets information associated with a ProductSet.
2077	//
2078	// Possible errors:
2079	//
2080	// * Returns NOT_FOUND if the ProductSet does not exist.
2081	GetProductSet(ctx context.Context, in *GetProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error)
2082	// Makes changes to a ProductSet resource.
2083	// Only display_name can be updated currently.
2084	//
2085	// Possible errors:
2086	//
2087	// * Returns NOT_FOUND if the ProductSet does not exist.
2088	// * Returns INVALID_ARGUMENT if display_name is present in update_mask but
2089	//   missing from the request or longer than 4096 characters.
2090	UpdateProductSet(ctx context.Context, in *UpdateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error)
2091	// Permanently deletes a ProductSet. All Products and ReferenceImages in the
2092	// ProductSet will be deleted.
2093	//
2094	// The actual image files are not deleted from Google Cloud Storage.
2095	//
2096	// Possible errors:
2097	//
2098	// * Returns NOT_FOUND if the ProductSet does not exist.
2099	DeleteProductSet(ctx context.Context, in *DeleteProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2100	// Creates and returns a new product resource.
2101	//
2102	// Possible errors:
2103	//
2104	// * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096
2105	//   characters.
2106	// * Returns INVALID_ARGUMENT if description is longer than 4096 characters.
2107	// * Returns INVALID_ARGUMENT if product_category is missing or invalid.
2108	CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error)
2109	// Lists products in an unspecified order.
2110	//
2111	// Possible errors:
2112	//
2113	// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.
2114	ListProducts(ctx context.Context, in *ListProductsRequest, opts ...grpc.CallOption) (*ListProductsResponse, error)
2115	// Gets information associated with a Product.
2116	//
2117	// Possible errors:
2118	//
2119	// * Returns NOT_FOUND if the Product does not exist.
2120	GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error)
2121	// Makes changes to a Product resource.
2122	// Only display_name, description and labels can be updated right now.
2123	//
2124	// If labels are updated, the change will not be reflected in queries until
2125	// the next index time.
2126	//
2127	// Possible errors:
2128	//
2129	// * Returns NOT_FOUND if the Product does not exist.
2130	// * Returns INVALID_ARGUMENT if display_name is present in update_mask but is
2131	//   missing from the request or longer than 4096 characters.
2132	// * Returns INVALID_ARGUMENT if description is present in update_mask but is
2133	//   longer than 4096 characters.
2134	// * Returns INVALID_ARGUMENT if product_category is present in update_mask.
2135	UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error)
2136	// Permanently deletes a product and its reference images.
2137	//
2138	// Metadata of the product and all its images will be deleted right away, but
2139	// search queries against ProductSets containing the product may still work
2140	// until all related caches are refreshed.
2141	//
2142	// Possible errors:
2143	//
2144	// * Returns NOT_FOUND if the product does not exist.
2145	DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2146	// Creates and returns a new ReferenceImage resource.
2147	//
2148	// The `bounding_poly` field is optional. If `bounding_poly` is not specified,
2149	// the system will try to detect regions of interest in the image that are
2150	// compatible with the product_category on the parent product. If it is
2151	// specified, detection is ALWAYS skipped. The system converts polygons into
2152	// non-rotated rectangles.
2153	//
2154	// Note that the pipeline will resize the image if the image resolution is too
2155	// large to process (above 50MP).
2156	//
2157	// Possible errors:
2158	//
2159	// * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096
2160	//   characters.
2161	// * Returns INVALID_ARGUMENT if the product does not exist.
2162	// * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing
2163	//   compatible with the parent product's product_category is detected.
2164	// * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.
2165	CreateReferenceImage(ctx context.Context, in *CreateReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error)
2166	// Permanently deletes a reference image.
2167	//
2168	// The image metadata will be deleted right away, but search queries
2169	// against ProductSets containing the image may still work until all related
2170	// caches are refreshed.
2171	//
2172	// The actual image files are not deleted from Google Cloud Storage.
2173	//
2174	// Possible errors:
2175	//
2176	// * Returns NOT_FOUND if the reference image does not exist.
2177	DeleteReferenceImage(ctx context.Context, in *DeleteReferenceImageRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2178	// Lists reference images.
2179	//
2180	// Possible errors:
2181	//
2182	// * Returns NOT_FOUND if the parent product does not exist.
2183	// * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less
2184	//   than 1.
2185	ListReferenceImages(ctx context.Context, in *ListReferenceImagesRequest, opts ...grpc.CallOption) (*ListReferenceImagesResponse, error)
2186	// Gets information associated with a ReferenceImage.
2187	//
2188	// Possible errors:
2189	//
2190	// * Returns NOT_FOUND if the specified image does not exist.
2191	GetReferenceImage(ctx context.Context, in *GetReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error)
2192	// Adds a Product to the specified ProductSet. If the Product is already
2193	// present, no change is made.
2194	//
2195	// One Product can be added to at most 100 ProductSets.
2196	//
2197	// Possible errors:
2198	//
2199	// * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.
2200	AddProductToProductSet(ctx context.Context, in *AddProductToProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2201	// Removes a Product from the specified ProductSet.
2202	//
2203	// Possible errors:
2204	//
2205	// * Returns NOT_FOUND If the Product is not found under the ProductSet.
2206	RemoveProductFromProductSet(ctx context.Context, in *RemoveProductFromProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2207	// Lists the Products in a ProductSet, in an unspecified order. If the
2208	// ProductSet does not exist, the products field of the response will be
2209	// empty.
2210	//
2211	// Possible errors:
2212	//
2213	// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.
2214	ListProductsInProductSet(ctx context.Context, in *ListProductsInProductSetRequest, opts ...grpc.CallOption) (*ListProductsInProductSetResponse, error)
2215	// Asynchronous API that imports a list of reference images to specified
2216	// product sets based on a list of image information.
2217	//
2218	// The [google.longrunning.Operation][google.longrunning.Operation] API can be
2219	// used to keep track of the progress and results of the request.
2220	// `Operation.metadata` contains `BatchOperationMetadata`. (progress)
2221	// `Operation.response` contains `ImportProductSetsResponse`. (results)
2222	//
2223	// The input source of this method is a csv file on Google Cloud Storage.
2224	// For the format of the csv file please see
2225	// [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri].
2226	ImportProductSets(ctx context.Context, in *ImportProductSetsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
2227}
2228
2229type productSearchClient struct {
2230	cc grpc.ClientConnInterface
2231}
2232
2233func NewProductSearchClient(cc grpc.ClientConnInterface) ProductSearchClient {
2234	return &productSearchClient{cc}
2235}
2236
2237func (c *productSearchClient) CreateProductSet(ctx context.Context, in *CreateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error) {
2238	out := new(ProductSet)
2239	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/CreateProductSet", in, out, opts...)
2240	if err != nil {
2241		return nil, err
2242	}
2243	return out, nil
2244}
2245
2246func (c *productSearchClient) ListProductSets(ctx context.Context, in *ListProductSetsRequest, opts ...grpc.CallOption) (*ListProductSetsResponse, error) {
2247	out := new(ListProductSetsResponse)
2248	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/ListProductSets", in, out, opts...)
2249	if err != nil {
2250		return nil, err
2251	}
2252	return out, nil
2253}
2254
2255func (c *productSearchClient) GetProductSet(ctx context.Context, in *GetProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error) {
2256	out := new(ProductSet)
2257	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/GetProductSet", in, out, opts...)
2258	if err != nil {
2259		return nil, err
2260	}
2261	return out, nil
2262}
2263
2264func (c *productSearchClient) UpdateProductSet(ctx context.Context, in *UpdateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error) {
2265	out := new(ProductSet)
2266	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/UpdateProductSet", in, out, opts...)
2267	if err != nil {
2268		return nil, err
2269	}
2270	return out, nil
2271}
2272
2273func (c *productSearchClient) DeleteProductSet(ctx context.Context, in *DeleteProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2274	out := new(empty.Empty)
2275	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteProductSet", in, out, opts...)
2276	if err != nil {
2277		return nil, err
2278	}
2279	return out, nil
2280}
2281
2282func (c *productSearchClient) CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) {
2283	out := new(Product)
2284	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/CreateProduct", in, out, opts...)
2285	if err != nil {
2286		return nil, err
2287	}
2288	return out, nil
2289}
2290
2291func (c *productSearchClient) ListProducts(ctx context.Context, in *ListProductsRequest, opts ...grpc.CallOption) (*ListProductsResponse, error) {
2292	out := new(ListProductsResponse)
2293	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/ListProducts", in, out, opts...)
2294	if err != nil {
2295		return nil, err
2296	}
2297	return out, nil
2298}
2299
2300func (c *productSearchClient) GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error) {
2301	out := new(Product)
2302	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/GetProduct", in, out, opts...)
2303	if err != nil {
2304		return nil, err
2305	}
2306	return out, nil
2307}
2308
2309func (c *productSearchClient) UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) {
2310	out := new(Product)
2311	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/UpdateProduct", in, out, opts...)
2312	if err != nil {
2313		return nil, err
2314	}
2315	return out, nil
2316}
2317
2318func (c *productSearchClient) DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2319	out := new(empty.Empty)
2320	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteProduct", in, out, opts...)
2321	if err != nil {
2322		return nil, err
2323	}
2324	return out, nil
2325}
2326
2327func (c *productSearchClient) CreateReferenceImage(ctx context.Context, in *CreateReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error) {
2328	out := new(ReferenceImage)
2329	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/CreateReferenceImage", in, out, opts...)
2330	if err != nil {
2331		return nil, err
2332	}
2333	return out, nil
2334}
2335
2336func (c *productSearchClient) DeleteReferenceImage(ctx context.Context, in *DeleteReferenceImageRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2337	out := new(empty.Empty)
2338	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteReferenceImage", in, out, opts...)
2339	if err != nil {
2340		return nil, err
2341	}
2342	return out, nil
2343}
2344
2345func (c *productSearchClient) ListReferenceImages(ctx context.Context, in *ListReferenceImagesRequest, opts ...grpc.CallOption) (*ListReferenceImagesResponse, error) {
2346	out := new(ListReferenceImagesResponse)
2347	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/ListReferenceImages", in, out, opts...)
2348	if err != nil {
2349		return nil, err
2350	}
2351	return out, nil
2352}
2353
2354func (c *productSearchClient) GetReferenceImage(ctx context.Context, in *GetReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error) {
2355	out := new(ReferenceImage)
2356	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/GetReferenceImage", in, out, opts...)
2357	if err != nil {
2358		return nil, err
2359	}
2360	return out, nil
2361}
2362
2363func (c *productSearchClient) AddProductToProductSet(ctx context.Context, in *AddProductToProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2364	out := new(empty.Empty)
2365	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/AddProductToProductSet", in, out, opts...)
2366	if err != nil {
2367		return nil, err
2368	}
2369	return out, nil
2370}
2371
2372func (c *productSearchClient) RemoveProductFromProductSet(ctx context.Context, in *RemoveProductFromProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2373	out := new(empty.Empty)
2374	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/RemoveProductFromProductSet", in, out, opts...)
2375	if err != nil {
2376		return nil, err
2377	}
2378	return out, nil
2379}
2380
2381func (c *productSearchClient) ListProductsInProductSet(ctx context.Context, in *ListProductsInProductSetRequest, opts ...grpc.CallOption) (*ListProductsInProductSetResponse, error) {
2382	out := new(ListProductsInProductSetResponse)
2383	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/ListProductsInProductSet", in, out, opts...)
2384	if err != nil {
2385		return nil, err
2386	}
2387	return out, nil
2388}
2389
2390func (c *productSearchClient) ImportProductSets(ctx context.Context, in *ImportProductSetsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
2391	out := new(longrunning.Operation)
2392	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/ImportProductSets", in, out, opts...)
2393	if err != nil {
2394		return nil, err
2395	}
2396	return out, nil
2397}
2398
2399// ProductSearchServer is the server API for ProductSearch service.
2400type ProductSearchServer interface {
2401	// Creates and returns a new ProductSet resource.
2402	//
2403	// Possible errors:
2404	//
2405	// * Returns INVALID_ARGUMENT if display_name is missing, or is longer than
2406	//   4096 characters.
2407	CreateProductSet(context.Context, *CreateProductSetRequest) (*ProductSet, error)
2408	// Lists ProductSets in an unspecified order.
2409	//
2410	// Possible errors:
2411	//
2412	// * Returns INVALID_ARGUMENT if page_size is greater than 100, or less
2413	//   than 1.
2414	ListProductSets(context.Context, *ListProductSetsRequest) (*ListProductSetsResponse, error)
2415	// Gets information associated with a ProductSet.
2416	//
2417	// Possible errors:
2418	//
2419	// * Returns NOT_FOUND if the ProductSet does not exist.
2420	GetProductSet(context.Context, *GetProductSetRequest) (*ProductSet, error)
2421	// Makes changes to a ProductSet resource.
2422	// Only display_name can be updated currently.
2423	//
2424	// Possible errors:
2425	//
2426	// * Returns NOT_FOUND if the ProductSet does not exist.
2427	// * Returns INVALID_ARGUMENT if display_name is present in update_mask but
2428	//   missing from the request or longer than 4096 characters.
2429	UpdateProductSet(context.Context, *UpdateProductSetRequest) (*ProductSet, error)
2430	// Permanently deletes a ProductSet. All Products and ReferenceImages in the
2431	// ProductSet will be deleted.
2432	//
2433	// The actual image files are not deleted from Google Cloud Storage.
2434	//
2435	// Possible errors:
2436	//
2437	// * Returns NOT_FOUND if the ProductSet does not exist.
2438	DeleteProductSet(context.Context, *DeleteProductSetRequest) (*empty.Empty, error)
2439	// Creates and returns a new product resource.
2440	//
2441	// Possible errors:
2442	//
2443	// * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096
2444	//   characters.
2445	// * Returns INVALID_ARGUMENT if description is longer than 4096 characters.
2446	// * Returns INVALID_ARGUMENT if product_category is missing or invalid.
2447	CreateProduct(context.Context, *CreateProductRequest) (*Product, error)
2448	// Lists products in an unspecified order.
2449	//
2450	// Possible errors:
2451	//
2452	// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.
2453	ListProducts(context.Context, *ListProductsRequest) (*ListProductsResponse, error)
2454	// Gets information associated with a Product.
2455	//
2456	// Possible errors:
2457	//
2458	// * Returns NOT_FOUND if the Product does not exist.
2459	GetProduct(context.Context, *GetProductRequest) (*Product, error)
2460	// Makes changes to a Product resource.
2461	// Only display_name, description and labels can be updated right now.
2462	//
2463	// If labels are updated, the change will not be reflected in queries until
2464	// the next index time.
2465	//
2466	// Possible errors:
2467	//
2468	// * Returns NOT_FOUND if the Product does not exist.
2469	// * Returns INVALID_ARGUMENT if display_name is present in update_mask but is
2470	//   missing from the request or longer than 4096 characters.
2471	// * Returns INVALID_ARGUMENT if description is present in update_mask but is
2472	//   longer than 4096 characters.
2473	// * Returns INVALID_ARGUMENT if product_category is present in update_mask.
2474	UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error)
2475	// Permanently deletes a product and its reference images.
2476	//
2477	// Metadata of the product and all its images will be deleted right away, but
2478	// search queries against ProductSets containing the product may still work
2479	// until all related caches are refreshed.
2480	//
2481	// Possible errors:
2482	//
2483	// * Returns NOT_FOUND if the product does not exist.
2484	DeleteProduct(context.Context, *DeleteProductRequest) (*empty.Empty, error)
2485	// Creates and returns a new ReferenceImage resource.
2486	//
2487	// The `bounding_poly` field is optional. If `bounding_poly` is not specified,
2488	// the system will try to detect regions of interest in the image that are
2489	// compatible with the product_category on the parent product. If it is
2490	// specified, detection is ALWAYS skipped. The system converts polygons into
2491	// non-rotated rectangles.
2492	//
2493	// Note that the pipeline will resize the image if the image resolution is too
2494	// large to process (above 50MP).
2495	//
2496	// Possible errors:
2497	//
2498	// * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096
2499	//   characters.
2500	// * Returns INVALID_ARGUMENT if the product does not exist.
2501	// * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing
2502	//   compatible with the parent product's product_category is detected.
2503	// * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.
2504	CreateReferenceImage(context.Context, *CreateReferenceImageRequest) (*ReferenceImage, error)
2505	// Permanently deletes a reference image.
2506	//
2507	// The image metadata will be deleted right away, but search queries
2508	// against ProductSets containing the image may still work until all related
2509	// caches are refreshed.
2510	//
2511	// The actual image files are not deleted from Google Cloud Storage.
2512	//
2513	// Possible errors:
2514	//
2515	// * Returns NOT_FOUND if the reference image does not exist.
2516	DeleteReferenceImage(context.Context, *DeleteReferenceImageRequest) (*empty.Empty, error)
2517	// Lists reference images.
2518	//
2519	// Possible errors:
2520	//
2521	// * Returns NOT_FOUND if the parent product does not exist.
2522	// * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less
2523	//   than 1.
2524	ListReferenceImages(context.Context, *ListReferenceImagesRequest) (*ListReferenceImagesResponse, error)
2525	// Gets information associated with a ReferenceImage.
2526	//
2527	// Possible errors:
2528	//
2529	// * Returns NOT_FOUND if the specified image does not exist.
2530	GetReferenceImage(context.Context, *GetReferenceImageRequest) (*ReferenceImage, error)
2531	// Adds a Product to the specified ProductSet. If the Product is already
2532	// present, no change is made.
2533	//
2534	// One Product can be added to at most 100 ProductSets.
2535	//
2536	// Possible errors:
2537	//
2538	// * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.
2539	AddProductToProductSet(context.Context, *AddProductToProductSetRequest) (*empty.Empty, error)
2540	// Removes a Product from the specified ProductSet.
2541	//
2542	// Possible errors:
2543	//
2544	// * Returns NOT_FOUND If the Product is not found under the ProductSet.
2545	RemoveProductFromProductSet(context.Context, *RemoveProductFromProductSetRequest) (*empty.Empty, error)
2546	// Lists the Products in a ProductSet, in an unspecified order. If the
2547	// ProductSet does not exist, the products field of the response will be
2548	// empty.
2549	//
2550	// Possible errors:
2551	//
2552	// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.
2553	ListProductsInProductSet(context.Context, *ListProductsInProductSetRequest) (*ListProductsInProductSetResponse, error)
2554	// Asynchronous API that imports a list of reference images to specified
2555	// product sets based on a list of image information.
2556	//
2557	// The [google.longrunning.Operation][google.longrunning.Operation] API can be
2558	// used to keep track of the progress and results of the request.
2559	// `Operation.metadata` contains `BatchOperationMetadata`. (progress)
2560	// `Operation.response` contains `ImportProductSetsResponse`. (results)
2561	//
2562	// The input source of this method is a csv file on Google Cloud Storage.
2563	// For the format of the csv file please see
2564	// [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri].
2565	ImportProductSets(context.Context, *ImportProductSetsRequest) (*longrunning.Operation, error)
2566}
2567
2568// UnimplementedProductSearchServer can be embedded to have forward compatible implementations.
2569type UnimplementedProductSearchServer struct {
2570}
2571
2572func (*UnimplementedProductSearchServer) CreateProductSet(ctx context.Context, req *CreateProductSetRequest) (*ProductSet, error) {
2573	return nil, status1.Errorf(codes.Unimplemented, "method CreateProductSet not implemented")
2574}
2575func (*UnimplementedProductSearchServer) ListProductSets(ctx context.Context, req *ListProductSetsRequest) (*ListProductSetsResponse, error) {
2576	return nil, status1.Errorf(codes.Unimplemented, "method ListProductSets not implemented")
2577}
2578func (*UnimplementedProductSearchServer) GetProductSet(ctx context.Context, req *GetProductSetRequest) (*ProductSet, error) {
2579	return nil, status1.Errorf(codes.Unimplemented, "method GetProductSet not implemented")
2580}
2581func (*UnimplementedProductSearchServer) UpdateProductSet(ctx context.Context, req *UpdateProductSetRequest) (*ProductSet, error) {
2582	return nil, status1.Errorf(codes.Unimplemented, "method UpdateProductSet not implemented")
2583}
2584func (*UnimplementedProductSearchServer) DeleteProductSet(ctx context.Context, req *DeleteProductSetRequest) (*empty.Empty, error) {
2585	return nil, status1.Errorf(codes.Unimplemented, "method DeleteProductSet not implemented")
2586}
2587func (*UnimplementedProductSearchServer) CreateProduct(ctx context.Context, req *CreateProductRequest) (*Product, error) {
2588	return nil, status1.Errorf(codes.Unimplemented, "method CreateProduct not implemented")
2589}
2590func (*UnimplementedProductSearchServer) ListProducts(ctx context.Context, req *ListProductsRequest) (*ListProductsResponse, error) {
2591	return nil, status1.Errorf(codes.Unimplemented, "method ListProducts not implemented")
2592}
2593func (*UnimplementedProductSearchServer) GetProduct(ctx context.Context, req *GetProductRequest) (*Product, error) {
2594	return nil, status1.Errorf(codes.Unimplemented, "method GetProduct not implemented")
2595}
2596func (*UnimplementedProductSearchServer) UpdateProduct(ctx context.Context, req *UpdateProductRequest) (*Product, error) {
2597	return nil, status1.Errorf(codes.Unimplemented, "method UpdateProduct not implemented")
2598}
2599func (*UnimplementedProductSearchServer) DeleteProduct(ctx context.Context, req *DeleteProductRequest) (*empty.Empty, error) {
2600	return nil, status1.Errorf(codes.Unimplemented, "method DeleteProduct not implemented")
2601}
2602func (*UnimplementedProductSearchServer) CreateReferenceImage(ctx context.Context, req *CreateReferenceImageRequest) (*ReferenceImage, error) {
2603	return nil, status1.Errorf(codes.Unimplemented, "method CreateReferenceImage not implemented")
2604}
2605func (*UnimplementedProductSearchServer) DeleteReferenceImage(ctx context.Context, req *DeleteReferenceImageRequest) (*empty.Empty, error) {
2606	return nil, status1.Errorf(codes.Unimplemented, "method DeleteReferenceImage not implemented")
2607}
2608func (*UnimplementedProductSearchServer) ListReferenceImages(ctx context.Context, req *ListReferenceImagesRequest) (*ListReferenceImagesResponse, error) {
2609	return nil, status1.Errorf(codes.Unimplemented, "method ListReferenceImages not implemented")
2610}
2611func (*UnimplementedProductSearchServer) GetReferenceImage(ctx context.Context, req *GetReferenceImageRequest) (*ReferenceImage, error) {
2612	return nil, status1.Errorf(codes.Unimplemented, "method GetReferenceImage not implemented")
2613}
2614func (*UnimplementedProductSearchServer) AddProductToProductSet(ctx context.Context, req *AddProductToProductSetRequest) (*empty.Empty, error) {
2615	return nil, status1.Errorf(codes.Unimplemented, "method AddProductToProductSet not implemented")
2616}
2617func (*UnimplementedProductSearchServer) RemoveProductFromProductSet(ctx context.Context, req *RemoveProductFromProductSetRequest) (*empty.Empty, error) {
2618	return nil, status1.Errorf(codes.Unimplemented, "method RemoveProductFromProductSet not implemented")
2619}
2620func (*UnimplementedProductSearchServer) ListProductsInProductSet(ctx context.Context, req *ListProductsInProductSetRequest) (*ListProductsInProductSetResponse, error) {
2621	return nil, status1.Errorf(codes.Unimplemented, "method ListProductsInProductSet not implemented")
2622}
2623func (*UnimplementedProductSearchServer) ImportProductSets(ctx context.Context, req *ImportProductSetsRequest) (*longrunning.Operation, error) {
2624	return nil, status1.Errorf(codes.Unimplemented, "method ImportProductSets not implemented")
2625}
2626
2627func RegisterProductSearchServer(s *grpc.Server, srv ProductSearchServer) {
2628	s.RegisterService(&_ProductSearch_serviceDesc, srv)
2629}
2630
2631func _ProductSearch_CreateProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2632	in := new(CreateProductSetRequest)
2633	if err := dec(in); err != nil {
2634		return nil, err
2635	}
2636	if interceptor == nil {
2637		return srv.(ProductSearchServer).CreateProductSet(ctx, in)
2638	}
2639	info := &grpc.UnaryServerInfo{
2640		Server:     srv,
2641		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/CreateProductSet",
2642	}
2643	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2644		return srv.(ProductSearchServer).CreateProductSet(ctx, req.(*CreateProductSetRequest))
2645	}
2646	return interceptor(ctx, in, info, handler)
2647}
2648
2649func _ProductSearch_ListProductSets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2650	in := new(ListProductSetsRequest)
2651	if err := dec(in); err != nil {
2652		return nil, err
2653	}
2654	if interceptor == nil {
2655		return srv.(ProductSearchServer).ListProductSets(ctx, in)
2656	}
2657	info := &grpc.UnaryServerInfo{
2658		Server:     srv,
2659		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/ListProductSets",
2660	}
2661	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2662		return srv.(ProductSearchServer).ListProductSets(ctx, req.(*ListProductSetsRequest))
2663	}
2664	return interceptor(ctx, in, info, handler)
2665}
2666
2667func _ProductSearch_GetProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2668	in := new(GetProductSetRequest)
2669	if err := dec(in); err != nil {
2670		return nil, err
2671	}
2672	if interceptor == nil {
2673		return srv.(ProductSearchServer).GetProductSet(ctx, in)
2674	}
2675	info := &grpc.UnaryServerInfo{
2676		Server:     srv,
2677		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/GetProductSet",
2678	}
2679	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2680		return srv.(ProductSearchServer).GetProductSet(ctx, req.(*GetProductSetRequest))
2681	}
2682	return interceptor(ctx, in, info, handler)
2683}
2684
2685func _ProductSearch_UpdateProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2686	in := new(UpdateProductSetRequest)
2687	if err := dec(in); err != nil {
2688		return nil, err
2689	}
2690	if interceptor == nil {
2691		return srv.(ProductSearchServer).UpdateProductSet(ctx, in)
2692	}
2693	info := &grpc.UnaryServerInfo{
2694		Server:     srv,
2695		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/UpdateProductSet",
2696	}
2697	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2698		return srv.(ProductSearchServer).UpdateProductSet(ctx, req.(*UpdateProductSetRequest))
2699	}
2700	return interceptor(ctx, in, info, handler)
2701}
2702
2703func _ProductSearch_DeleteProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2704	in := new(DeleteProductSetRequest)
2705	if err := dec(in); err != nil {
2706		return nil, err
2707	}
2708	if interceptor == nil {
2709		return srv.(ProductSearchServer).DeleteProductSet(ctx, in)
2710	}
2711	info := &grpc.UnaryServerInfo{
2712		Server:     srv,
2713		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteProductSet",
2714	}
2715	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2716		return srv.(ProductSearchServer).DeleteProductSet(ctx, req.(*DeleteProductSetRequest))
2717	}
2718	return interceptor(ctx, in, info, handler)
2719}
2720
2721func _ProductSearch_CreateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2722	in := new(CreateProductRequest)
2723	if err := dec(in); err != nil {
2724		return nil, err
2725	}
2726	if interceptor == nil {
2727		return srv.(ProductSearchServer).CreateProduct(ctx, in)
2728	}
2729	info := &grpc.UnaryServerInfo{
2730		Server:     srv,
2731		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/CreateProduct",
2732	}
2733	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2734		return srv.(ProductSearchServer).CreateProduct(ctx, req.(*CreateProductRequest))
2735	}
2736	return interceptor(ctx, in, info, handler)
2737}
2738
2739func _ProductSearch_ListProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2740	in := new(ListProductsRequest)
2741	if err := dec(in); err != nil {
2742		return nil, err
2743	}
2744	if interceptor == nil {
2745		return srv.(ProductSearchServer).ListProducts(ctx, in)
2746	}
2747	info := &grpc.UnaryServerInfo{
2748		Server:     srv,
2749		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/ListProducts",
2750	}
2751	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2752		return srv.(ProductSearchServer).ListProducts(ctx, req.(*ListProductsRequest))
2753	}
2754	return interceptor(ctx, in, info, handler)
2755}
2756
2757func _ProductSearch_GetProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2758	in := new(GetProductRequest)
2759	if err := dec(in); err != nil {
2760		return nil, err
2761	}
2762	if interceptor == nil {
2763		return srv.(ProductSearchServer).GetProduct(ctx, in)
2764	}
2765	info := &grpc.UnaryServerInfo{
2766		Server:     srv,
2767		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/GetProduct",
2768	}
2769	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2770		return srv.(ProductSearchServer).GetProduct(ctx, req.(*GetProductRequest))
2771	}
2772	return interceptor(ctx, in, info, handler)
2773}
2774
2775func _ProductSearch_UpdateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2776	in := new(UpdateProductRequest)
2777	if err := dec(in); err != nil {
2778		return nil, err
2779	}
2780	if interceptor == nil {
2781		return srv.(ProductSearchServer).UpdateProduct(ctx, in)
2782	}
2783	info := &grpc.UnaryServerInfo{
2784		Server:     srv,
2785		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/UpdateProduct",
2786	}
2787	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2788		return srv.(ProductSearchServer).UpdateProduct(ctx, req.(*UpdateProductRequest))
2789	}
2790	return interceptor(ctx, in, info, handler)
2791}
2792
2793func _ProductSearch_DeleteProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2794	in := new(DeleteProductRequest)
2795	if err := dec(in); err != nil {
2796		return nil, err
2797	}
2798	if interceptor == nil {
2799		return srv.(ProductSearchServer).DeleteProduct(ctx, in)
2800	}
2801	info := &grpc.UnaryServerInfo{
2802		Server:     srv,
2803		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteProduct",
2804	}
2805	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2806		return srv.(ProductSearchServer).DeleteProduct(ctx, req.(*DeleteProductRequest))
2807	}
2808	return interceptor(ctx, in, info, handler)
2809}
2810
2811func _ProductSearch_CreateReferenceImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2812	in := new(CreateReferenceImageRequest)
2813	if err := dec(in); err != nil {
2814		return nil, err
2815	}
2816	if interceptor == nil {
2817		return srv.(ProductSearchServer).CreateReferenceImage(ctx, in)
2818	}
2819	info := &grpc.UnaryServerInfo{
2820		Server:     srv,
2821		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/CreateReferenceImage",
2822	}
2823	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2824		return srv.(ProductSearchServer).CreateReferenceImage(ctx, req.(*CreateReferenceImageRequest))
2825	}
2826	return interceptor(ctx, in, info, handler)
2827}
2828
2829func _ProductSearch_DeleteReferenceImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2830	in := new(DeleteReferenceImageRequest)
2831	if err := dec(in); err != nil {
2832		return nil, err
2833	}
2834	if interceptor == nil {
2835		return srv.(ProductSearchServer).DeleteReferenceImage(ctx, in)
2836	}
2837	info := &grpc.UnaryServerInfo{
2838		Server:     srv,
2839		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteReferenceImage",
2840	}
2841	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2842		return srv.(ProductSearchServer).DeleteReferenceImage(ctx, req.(*DeleteReferenceImageRequest))
2843	}
2844	return interceptor(ctx, in, info, handler)
2845}
2846
2847func _ProductSearch_ListReferenceImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2848	in := new(ListReferenceImagesRequest)
2849	if err := dec(in); err != nil {
2850		return nil, err
2851	}
2852	if interceptor == nil {
2853		return srv.(ProductSearchServer).ListReferenceImages(ctx, in)
2854	}
2855	info := &grpc.UnaryServerInfo{
2856		Server:     srv,
2857		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/ListReferenceImages",
2858	}
2859	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2860		return srv.(ProductSearchServer).ListReferenceImages(ctx, req.(*ListReferenceImagesRequest))
2861	}
2862	return interceptor(ctx, in, info, handler)
2863}
2864
2865func _ProductSearch_GetReferenceImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2866	in := new(GetReferenceImageRequest)
2867	if err := dec(in); err != nil {
2868		return nil, err
2869	}
2870	if interceptor == nil {
2871		return srv.(ProductSearchServer).GetReferenceImage(ctx, in)
2872	}
2873	info := &grpc.UnaryServerInfo{
2874		Server:     srv,
2875		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/GetReferenceImage",
2876	}
2877	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2878		return srv.(ProductSearchServer).GetReferenceImage(ctx, req.(*GetReferenceImageRequest))
2879	}
2880	return interceptor(ctx, in, info, handler)
2881}
2882
2883func _ProductSearch_AddProductToProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2884	in := new(AddProductToProductSetRequest)
2885	if err := dec(in); err != nil {
2886		return nil, err
2887	}
2888	if interceptor == nil {
2889		return srv.(ProductSearchServer).AddProductToProductSet(ctx, in)
2890	}
2891	info := &grpc.UnaryServerInfo{
2892		Server:     srv,
2893		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/AddProductToProductSet",
2894	}
2895	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2896		return srv.(ProductSearchServer).AddProductToProductSet(ctx, req.(*AddProductToProductSetRequest))
2897	}
2898	return interceptor(ctx, in, info, handler)
2899}
2900
2901func _ProductSearch_RemoveProductFromProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2902	in := new(RemoveProductFromProductSetRequest)
2903	if err := dec(in); err != nil {
2904		return nil, err
2905	}
2906	if interceptor == nil {
2907		return srv.(ProductSearchServer).RemoveProductFromProductSet(ctx, in)
2908	}
2909	info := &grpc.UnaryServerInfo{
2910		Server:     srv,
2911		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/RemoveProductFromProductSet",
2912	}
2913	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2914		return srv.(ProductSearchServer).RemoveProductFromProductSet(ctx, req.(*RemoveProductFromProductSetRequest))
2915	}
2916	return interceptor(ctx, in, info, handler)
2917}
2918
2919func _ProductSearch_ListProductsInProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2920	in := new(ListProductsInProductSetRequest)
2921	if err := dec(in); err != nil {
2922		return nil, err
2923	}
2924	if interceptor == nil {
2925		return srv.(ProductSearchServer).ListProductsInProductSet(ctx, in)
2926	}
2927	info := &grpc.UnaryServerInfo{
2928		Server:     srv,
2929		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/ListProductsInProductSet",
2930	}
2931	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2932		return srv.(ProductSearchServer).ListProductsInProductSet(ctx, req.(*ListProductsInProductSetRequest))
2933	}
2934	return interceptor(ctx, in, info, handler)
2935}
2936
2937func _ProductSearch_ImportProductSets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2938	in := new(ImportProductSetsRequest)
2939	if err := dec(in); err != nil {
2940		return nil, err
2941	}
2942	if interceptor == nil {
2943		return srv.(ProductSearchServer).ImportProductSets(ctx, in)
2944	}
2945	info := &grpc.UnaryServerInfo{
2946		Server:     srv,
2947		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/ImportProductSets",
2948	}
2949	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2950		return srv.(ProductSearchServer).ImportProductSets(ctx, req.(*ImportProductSetsRequest))
2951	}
2952	return interceptor(ctx, in, info, handler)
2953}
2954
2955var _ProductSearch_serviceDesc = grpc.ServiceDesc{
2956	ServiceName: "google.cloud.vision.v1p3beta1.ProductSearch",
2957	HandlerType: (*ProductSearchServer)(nil),
2958	Methods: []grpc.MethodDesc{
2959		{
2960			MethodName: "CreateProductSet",
2961			Handler:    _ProductSearch_CreateProductSet_Handler,
2962		},
2963		{
2964			MethodName: "ListProductSets",
2965			Handler:    _ProductSearch_ListProductSets_Handler,
2966		},
2967		{
2968			MethodName: "GetProductSet",
2969			Handler:    _ProductSearch_GetProductSet_Handler,
2970		},
2971		{
2972			MethodName: "UpdateProductSet",
2973			Handler:    _ProductSearch_UpdateProductSet_Handler,
2974		},
2975		{
2976			MethodName: "DeleteProductSet",
2977			Handler:    _ProductSearch_DeleteProductSet_Handler,
2978		},
2979		{
2980			MethodName: "CreateProduct",
2981			Handler:    _ProductSearch_CreateProduct_Handler,
2982		},
2983		{
2984			MethodName: "ListProducts",
2985			Handler:    _ProductSearch_ListProducts_Handler,
2986		},
2987		{
2988			MethodName: "GetProduct",
2989			Handler:    _ProductSearch_GetProduct_Handler,
2990		},
2991		{
2992			MethodName: "UpdateProduct",
2993			Handler:    _ProductSearch_UpdateProduct_Handler,
2994		},
2995		{
2996			MethodName: "DeleteProduct",
2997			Handler:    _ProductSearch_DeleteProduct_Handler,
2998		},
2999		{
3000			MethodName: "CreateReferenceImage",
3001			Handler:    _ProductSearch_CreateReferenceImage_Handler,
3002		},
3003		{
3004			MethodName: "DeleteReferenceImage",
3005			Handler:    _ProductSearch_DeleteReferenceImage_Handler,
3006		},
3007		{
3008			MethodName: "ListReferenceImages",
3009			Handler:    _ProductSearch_ListReferenceImages_Handler,
3010		},
3011		{
3012			MethodName: "GetReferenceImage",
3013			Handler:    _ProductSearch_GetReferenceImage_Handler,
3014		},
3015		{
3016			MethodName: "AddProductToProductSet",
3017			Handler:    _ProductSearch_AddProductToProductSet_Handler,
3018		},
3019		{
3020			MethodName: "RemoveProductFromProductSet",
3021			Handler:    _ProductSearch_RemoveProductFromProductSet_Handler,
3022		},
3023		{
3024			MethodName: "ListProductsInProductSet",
3025			Handler:    _ProductSearch_ListProductsInProductSet_Handler,
3026		},
3027		{
3028			MethodName: "ImportProductSets",
3029			Handler:    _ProductSearch_ImportProductSets_Handler,
3030		},
3031	},
3032	Streams:  []grpc.StreamDesc{},
3033	Metadata: "google/cloud/vision/v1p3beta1/product_search_service.proto",
3034}
3035