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)
20
21// Reference imports to suppress errors if they are not otherwise used.
22var _ = proto.Marshal
23var _ = fmt.Errorf
24var _ = math.Inf
25
26// This is a compile-time assertion to ensure that this generated file
27// is compatible with the proto package it is being compiled against.
28// A compilation error at this line likely means your copy of the
29// proto package needs to be updated.
30const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
31
32// Enumerates the possible states that the batch request can be in.
33type BatchOperationMetadata_State int32
34
35const (
36	// Invalid.
37	BatchOperationMetadata_STATE_UNSPECIFIED BatchOperationMetadata_State = 0
38	// Request is actively being processed.
39	BatchOperationMetadata_PROCESSING BatchOperationMetadata_State = 1
40	// The request is done and at least one item has been successfully
41	// processed.
42	BatchOperationMetadata_SUCCESSFUL BatchOperationMetadata_State = 2
43	// The request is done and no item has been successfully processed.
44	BatchOperationMetadata_FAILED BatchOperationMetadata_State = 3
45	// The request is done after the longrunning.Operations.CancelOperation has
46	// been called by the user.  Any records that were processed before the
47	// cancel command are output as specified in the request.
48	BatchOperationMetadata_CANCELLED BatchOperationMetadata_State = 4
49)
50
51var BatchOperationMetadata_State_name = map[int32]string{
52	0: "STATE_UNSPECIFIED",
53	1: "PROCESSING",
54	2: "SUCCESSFUL",
55	3: "FAILED",
56	4: "CANCELLED",
57}
58
59var BatchOperationMetadata_State_value = map[string]int32{
60	"STATE_UNSPECIFIED": 0,
61	"PROCESSING":        1,
62	"SUCCESSFUL":        2,
63	"FAILED":            3,
64	"CANCELLED":         4,
65}
66
67func (x BatchOperationMetadata_State) String() string {
68	return proto.EnumName(BatchOperationMetadata_State_name, int32(x))
69}
70
71func (BatchOperationMetadata_State) EnumDescriptor() ([]byte, []int) {
72	return fileDescriptor_3e303776708d7396, []int{28, 0}
73}
74
75// A Product contains ReferenceImages.
76type Product struct {
77	// The resource name of the product.
78	//
79	// Format is:
80	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
81	//
82	// This field is ignored when creating a product.
83	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
84	// The user-provided name for this Product. Must not be empty. Must be at most
85	// 4096 characters long.
86	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
87	// User-provided metadata to be stored with this product. Must be at most 4096
88	// characters long.
89	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
90	// The category for the product identified by the reference image. This should
91	// be either "homegoods" or "apparel".
92	//
93	// This field is immutable.
94	ProductCategory string `protobuf:"bytes,4,opt,name=product_category,json=productCategory,proto3" json:"product_category,omitempty"`
95	// Key-value pairs that can be attached to a product. At query time,
96	// constraints can be specified based on the product_labels.
97	//
98	// Note that integer values can be provided as strings, e.g. "1199". Only
99	// strings with integer values can match a range-based restriction which is
100	// to be supported soon.
101	//
102	// Multiple values can be assigned to the same key. One product may have up to
103	// 100 product_labels.
104	ProductLabels        []*Product_KeyValue `protobuf:"bytes,5,rep,name=product_labels,json=productLabels,proto3" json:"product_labels,omitempty"`
105	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
106	XXX_unrecognized     []byte              `json:"-"`
107	XXX_sizecache        int32               `json:"-"`
108}
109
110func (m *Product) Reset()         { *m = Product{} }
111func (m *Product) String() string { return proto.CompactTextString(m) }
112func (*Product) ProtoMessage()    {}
113func (*Product) Descriptor() ([]byte, []int) {
114	return fileDescriptor_3e303776708d7396, []int{0}
115}
116
117func (m *Product) XXX_Unmarshal(b []byte) error {
118	return xxx_messageInfo_Product.Unmarshal(m, b)
119}
120func (m *Product) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
121	return xxx_messageInfo_Product.Marshal(b, m, deterministic)
122}
123func (m *Product) XXX_Merge(src proto.Message) {
124	xxx_messageInfo_Product.Merge(m, src)
125}
126func (m *Product) XXX_Size() int {
127	return xxx_messageInfo_Product.Size(m)
128}
129func (m *Product) XXX_DiscardUnknown() {
130	xxx_messageInfo_Product.DiscardUnknown(m)
131}
132
133var xxx_messageInfo_Product proto.InternalMessageInfo
134
135func (m *Product) GetName() string {
136	if m != nil {
137		return m.Name
138	}
139	return ""
140}
141
142func (m *Product) GetDisplayName() string {
143	if m != nil {
144		return m.DisplayName
145	}
146	return ""
147}
148
149func (m *Product) GetDescription() string {
150	if m != nil {
151		return m.Description
152	}
153	return ""
154}
155
156func (m *Product) GetProductCategory() string {
157	if m != nil {
158		return m.ProductCategory
159	}
160	return ""
161}
162
163func (m *Product) GetProductLabels() []*Product_KeyValue {
164	if m != nil {
165		return m.ProductLabels
166	}
167	return nil
168}
169
170// A product label represented as a key-value pair.
171type Product_KeyValue struct {
172	// The key of the label attached to the product. Cannot be empty and cannot
173	// exceed 128 bytes.
174	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
175	// The value of the label attached to the product. Cannot be empty and
176	// cannot exceed 128 bytes.
177	Value                string   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
178	XXX_NoUnkeyedLiteral struct{} `json:"-"`
179	XXX_unrecognized     []byte   `json:"-"`
180	XXX_sizecache        int32    `json:"-"`
181}
182
183func (m *Product_KeyValue) Reset()         { *m = Product_KeyValue{} }
184func (m *Product_KeyValue) String() string { return proto.CompactTextString(m) }
185func (*Product_KeyValue) ProtoMessage()    {}
186func (*Product_KeyValue) Descriptor() ([]byte, []int) {
187	return fileDescriptor_3e303776708d7396, []int{0, 0}
188}
189
190func (m *Product_KeyValue) XXX_Unmarshal(b []byte) error {
191	return xxx_messageInfo_Product_KeyValue.Unmarshal(m, b)
192}
193func (m *Product_KeyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
194	return xxx_messageInfo_Product_KeyValue.Marshal(b, m, deterministic)
195}
196func (m *Product_KeyValue) XXX_Merge(src proto.Message) {
197	xxx_messageInfo_Product_KeyValue.Merge(m, src)
198}
199func (m *Product_KeyValue) XXX_Size() int {
200	return xxx_messageInfo_Product_KeyValue.Size(m)
201}
202func (m *Product_KeyValue) XXX_DiscardUnknown() {
203	xxx_messageInfo_Product_KeyValue.DiscardUnknown(m)
204}
205
206var xxx_messageInfo_Product_KeyValue proto.InternalMessageInfo
207
208func (m *Product_KeyValue) GetKey() string {
209	if m != nil {
210		return m.Key
211	}
212	return ""
213}
214
215func (m *Product_KeyValue) GetValue() string {
216	if m != nil {
217		return m.Value
218	}
219	return ""
220}
221
222// A ProductSet contains Products. A ProductSet can contain a maximum of 1
223// million reference images. If the limit is exceeded, periodic indexing will
224// fail.
225type ProductSet struct {
226	// The resource name of the ProductSet.
227	//
228	// Format is:
229	// `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.
230	//
231	// This field is ignored when creating a ProductSet.
232	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
233	// The user-provided name for this ProductSet. Must not be empty. Must be at
234	// most 4096 characters long.
235	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
236	// Output only. The time at which this ProductSet was last indexed. Query
237	// results will reflect all updates before this time. If this ProductSet has
238	// never been indexed, this field is 0.
239	//
240	// This field is ignored when creating a ProductSet.
241	IndexTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=index_time,json=indexTime,proto3" json:"index_time,omitempty"`
242	// Output only. If there was an error with indexing the product set, the field
243	// is populated.
244	//
245	// This field is ignored when creating a ProductSet.
246	IndexError           *status.Status `protobuf:"bytes,4,opt,name=index_error,json=indexError,proto3" json:"index_error,omitempty"`
247	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
248	XXX_unrecognized     []byte         `json:"-"`
249	XXX_sizecache        int32          `json:"-"`
250}
251
252func (m *ProductSet) Reset()         { *m = ProductSet{} }
253func (m *ProductSet) String() string { return proto.CompactTextString(m) }
254func (*ProductSet) ProtoMessage()    {}
255func (*ProductSet) Descriptor() ([]byte, []int) {
256	return fileDescriptor_3e303776708d7396, []int{1}
257}
258
259func (m *ProductSet) XXX_Unmarshal(b []byte) error {
260	return xxx_messageInfo_ProductSet.Unmarshal(m, b)
261}
262func (m *ProductSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
263	return xxx_messageInfo_ProductSet.Marshal(b, m, deterministic)
264}
265func (m *ProductSet) XXX_Merge(src proto.Message) {
266	xxx_messageInfo_ProductSet.Merge(m, src)
267}
268func (m *ProductSet) XXX_Size() int {
269	return xxx_messageInfo_ProductSet.Size(m)
270}
271func (m *ProductSet) XXX_DiscardUnknown() {
272	xxx_messageInfo_ProductSet.DiscardUnknown(m)
273}
274
275var xxx_messageInfo_ProductSet proto.InternalMessageInfo
276
277func (m *ProductSet) GetName() string {
278	if m != nil {
279		return m.Name
280	}
281	return ""
282}
283
284func (m *ProductSet) GetDisplayName() string {
285	if m != nil {
286		return m.DisplayName
287	}
288	return ""
289}
290
291func (m *ProductSet) GetIndexTime() *timestamp.Timestamp {
292	if m != nil {
293		return m.IndexTime
294	}
295	return nil
296}
297
298func (m *ProductSet) GetIndexError() *status.Status {
299	if m != nil {
300		return m.IndexError
301	}
302	return nil
303}
304
305// A `ReferenceImage` represents a product image and its associated metadata,
306// such as bounding boxes.
307type ReferenceImage struct {
308	// The resource name of the reference image.
309	//
310	// Format is:
311	//
312	// `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/IMAGE_ID`.
313	//
314	// This field is ignored when creating a reference image.
315	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
316	// The Google Cloud Storage URI of the reference image.
317	//
318	// The URI must start with `gs://`.
319	//
320	// Required.
321	Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"`
322	// Bounding polygons around the areas of interest in the reference image.
323	// Optional. 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	// 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	// 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	// 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	// 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	// 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	// 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	// 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	// 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	// 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	// Resource name of the ProductSet to get.
882	//
883	// Format is:
884	// `projects/PROJECT_ID/locations/LOG_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	// 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	// 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	// 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	// 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	// 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	// 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	// 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	// 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	// 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	// 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	// 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	// 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	// 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	// 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	// 1867 bytes of a gzipped FileDescriptorProto
1908	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcf, 0x6f, 0xe3, 0xc6,
1909	0x15, 0xce, 0xd8, 0xeb, 0x5d, 0xfb, 0xc9, 0xb2, 0xb5, 0x53, 0xd7, 0x56, 0xe4, 0x2c, 0xe2, 0xb0,
1910	0x45, 0x9a, 0xa8, 0x89, 0xd8, 0x95, 0xb1, 0xdb, 0xae, 0xdc, 0x6c, 0x6a, 0xcb, 0xb2, 0xa3, 0xc6,
1911	0xbb, 0xeb, 0x50, 0xf6, 0x36, 0xcd, 0x21, 0x02, 0x4d, 0x8e, 0x19, 0x76, 0x29, 0x92, 0xe1, 0x50,
1912	0x46, 0x94, 0x22, 0x97, 0xa0, 0x87, 0xa2, 0x87, 0x06, 0x68, 0xd1, 0x43, 0x4e, 0x05, 0x12, 0xf4,
1913	0x5c, 0xa0, 0x3f, 0x0e, 0x4d, 0x73, 0x28, 0x7a, 0x6b, 0x0f, 0xbd, 0xf4, 0xd8, 0x53, 0x81, 0xfc,
1914	0x11, 0x3d, 0x16, 0x33, 0x1c, 0x4a, 0x24, 0x45, 0x99, 0x94, 0x36, 0x8b, 0xdc, 0x34, 0xc3, 0xf7,
1915	0xde, 0x7c, 0xef, 0xbd, 0x6f, 0x66, 0xde, 0x1b, 0x41, 0xc3, 0x70, 0x1c, 0xc3, 0x22, 0xb2, 0x66,
1916	0x39, 0x7d, 0x5d, 0xbe, 0x30, 0xa9, 0xe9, 0xd8, 0xf2, 0xc5, 0x4d, 0x77, 0xfb, 0x8c, 0xf8, 0xea,
1917	0x4d, 0xd9, 0xf5, 0x1c, 0xbd, 0xaf, 0xf9, 0x5d, 0x4a, 0x54, 0x4f, 0x7b, 0xa7, 0x4b, 0x89, 0x77,
1918	0x61, 0x6a, 0xa4, 0xe6, 0x7a, 0x8e, 0xef, 0xe0, 0x1b, 0x81, 0x6e, 0x8d, 0xeb, 0xd6, 0x02, 0xdd,
1919	0xda, 0x50, 0xb7, 0xf2, 0x8c, 0x30, 0xad, 0xba, 0xa6, 0xac, 0xda, 0xb6, 0xe3, 0xab, 0xbe, 0xe9,
1920	0xd8, 0x34, 0x50, 0xae, 0xbc, 0x74, 0xf9, 0xc2, 0x06, 0x71, 0x7a, 0xc4, 0xf7, 0x06, 0x42, 0xfa,
1921	0x1b, 0x42, 0xda, 0x72, 0x6c, 0xc3, 0xeb, 0xdb, 0xb6, 0x69, 0x1b, 0xb2, 0xe3, 0x12, 0x2f, 0x66,
1922	0x72, 0x53, 0x08, 0xf1, 0xd1, 0x59, 0xff, 0x5c, 0x26, 0x3d, 0xd7, 0x0f, 0x2d, 0x6c, 0x25, 0x3f,
1923	0x9e, 0x9b, 0xc4, 0xd2, 0xbb, 0x3d, 0x95, 0x3e, 0x12, 0x12, 0xcf, 0x26, 0x25, 0x7c, 0xb3, 0x47,
1924	0xa8, 0xaf, 0xf6, 0x5c, 0x21, 0xb0, 0x21, 0x04, 0x3c, 0x57, 0x93, 0xa9, 0xaf, 0xfa, 0x7d, 0xb1,
1925	0xb0, 0xf4, 0xf1, 0x1c, 0x5c, 0x3b, 0x0e, 0x22, 0x85, 0x31, 0x5c, 0xb1, 0xd5, 0x1e, 0x29, 0xa3,
1926	0x2d, 0xf4, 0xc2, 0x92, 0xc2, 0x7f, 0xe3, 0xe7, 0x60, 0x59, 0x37, 0xa9, 0x6b, 0xa9, 0x83, 0x2e,
1927	0xff, 0x36, 0xc7, 0xbf, 0x15, 0xc4, 0xdc, 0x7d, 0x26, 0xb2, 0x05, 0x05, 0x9d, 0x50, 0xcd, 0x33,
1928	0x5d, 0xe6, 0x51, 0x79, 0x5e, 0x48, 0x8c, 0xa6, 0xf0, 0x8b, 0x50, 0x0a, 0xb3, 0xa1, 0xa9, 0x3e,
1929	0x31, 0x1c, 0x6f, 0x50, 0xbe, 0xc2, 0xc5, 0x56, 0xc5, 0x7c, 0x53, 0x4c, 0xe3, 0x87, 0xb0, 0x12,
1930	0x8a, 0x5a, 0xea, 0x19, 0xb1, 0x68, 0x79, 0x61, 0x6b, 0xfe, 0x85, 0x42, 0x5d, 0xae, 0x5d, 0x9a,
1931	0xb1, 0x9a, 0xf0, 0xa1, 0xf6, 0x3a, 0x19, 0x3c, 0x54, 0xad, 0x3e, 0x51, 0x8a, 0xc2, 0xcc, 0x11,
1932	0xb7, 0x52, 0xa9, 0xc3, 0x62, 0xf8, 0x09, 0x97, 0x60, 0xfe, 0x11, 0x19, 0x08, 0x37, 0xd9, 0x4f,
1933	0xbc, 0x06, 0x0b, 0x17, 0xec, 0x93, 0x70, 0x2f, 0x18, 0x48, 0x7f, 0x44, 0x00, 0xc2, 0x6e, 0x87,
1934	0xcc, 0x1c, 0x9e, 0x3b, 0x00, 0xa6, 0xad, 0x93, 0xf7, 0xba, 0x2c, 0x27, 0x3c, 0x3a, 0x85, 0x7a,
1935	0x25, 0xf4, 0x26, 0x4c, 0x58, 0xed, 0x24, 0x4c, 0x98, 0xb2, 0xc4, 0xa5, 0xd9, 0x18, 0x6f, 0x43,
1936	0x21, 0x50, 0x25, 0x9e, 0xe7, 0x78, 0x3c, 0x64, 0x85, 0x3a, 0x0e, 0x75, 0x3d, 0x57, 0xab, 0x75,
1937	0x78, 0x2e, 0x95, 0x60, 0x85, 0x16, 0x93, 0x92, 0x7e, 0x81, 0x60, 0x45, 0x21, 0xe7, 0xc4, 0x23,
1938	0xb6, 0x46, 0xda, 0x3d, 0xd5, 0x20, 0xa9, 0xc8, 0x4b, 0x30, 0xdf, 0xf7, 0x4c, 0x01, 0x98, 0xfd,
1939	0xc4, 0x0a, 0xac, 0x9c, 0x39, 0x7d, 0x5b, 0x37, 0x6d, 0xa3, 0xeb, 0x3a, 0xd6, 0x80, 0x96, 0xe7,
1940	0x79, 0xe8, 0xbf, 0x9d, 0x11, 0xfa, 0x3d, 0xa1, 0x74, 0xec, 0x58, 0x03, 0xa5, 0x78, 0x16, 0x19,
1941	0x51, 0xe9, 0x23, 0x04, 0x6b, 0x4d, 0x8f, 0xa8, 0x3e, 0x11, 0x81, 0x54, 0xc8, 0xbb, 0x7d, 0x42,
1942	0x7d, 0xbc, 0x0e, 0x57, 0x5d, 0xd5, 0x23, 0xb6, 0x2f, 0x40, 0x89, 0x11, 0xfe, 0x01, 0x5c, 0x13,
1943	0x89, 0xe3, 0xd0, 0x0a, 0xf5, 0xe7, 0xf3, 0x25, 0x5e, 0x09, 0xd5, 0xf0, 0x0d, 0x80, 0x90, 0x41,
1944	0xa6, 0x2e, 0xd8, 0xb8, 0x24, 0x66, 0xda, 0xba, 0x64, 0xc2, 0xd7, 0x8e, 0x4c, 0xea, 0x0b, 0x35,
1945	0x9a, 0x85, 0x67, 0x13, 0x96, 0x5c, 0xd5, 0x20, 0x5d, 0x6a, 0xbe, 0x1f, 0x64, 0x77, 0x41, 0x59,
1946	0x64, 0x13, 0x1d, 0xf3, 0x7d, 0xc2, 0x97, 0x62, 0x1f, 0x7d, 0xe7, 0x11, 0xb1, 0x87, 0x4b, 0xa9,
1947	0x06, 0x39, 0x61, 0x13, 0xd2, 0x87, 0x08, 0xd6, 0xe2, 0x6b, 0x51, 0xd7, 0xb1, 0x29, 0xc1, 0x7b,
1948	0xb0, 0x28, 0x00, 0xd1, 0x32, 0xe2, 0x31, 0xce, 0xeb, 0xe5, 0x50, 0x0f, 0x3f, 0x0f, 0xab, 0x36,
1949	0x79, 0xcf, 0xef, 0x46, 0x00, 0x04, 0xb9, 0x2c, 0xb2, 0xe9, 0xe3, 0x21, 0x88, 0x6f, 0xc1, 0xf5,
1950	0x43, 0xe2, 0x27, 0xa2, 0x9f, 0x42, 0x08, 0xe9, 0x37, 0x08, 0xd6, 0x4e, 0x5d, 0x7d, 0x3c, 0x55,
1951	0x91, 0x94, 0xa0, 0xd9, 0x52, 0xb2, 0x03, 0x85, 0x3e, 0xb7, 0xcc, 0xcf, 0x2c, 0x91, 0xd8, 0xf1,
1952	0x3d, 0x70, 0xc0, 0x8e, 0xb5, 0x7b, 0x2a, 0x7d, 0xa4, 0x40, 0x20, 0xce, 0x7e, 0x4b, 0x55, 0x58,
1953	0xdb, 0x27, 0x16, 0x19, 0x83, 0x95, 0xe6, 0xc3, 0xa7, 0x08, 0x36, 0x62, 0x74, 0xeb, 0x90, 0x4c,
1954	0xc6, 0xfd, 0x10, 0x0a, 0xa3, 0xab, 0x22, 0x64, 0xdd, 0x8b, 0xf9, 0x5c, 0x64, 0xe6, 0x43, 0xb6,
1955	0xb1, 0x23, 0xe2, 0x9b, 0xa3, 0xd3, 0x8b, 0x92, 0x08, 0xff, 0x96, 0x47, 0x32, 0x6d, 0x5d, 0xb2,
1956	0x60, 0x3d, 0x42, 0x8b, 0x0e, 0x79, 0xb2, 0x2c, 0xfc, 0x08, 0xc1, 0xc6, 0xd8, 0x72, 0x82, 0x88,
1957	0x47, 0xb0, 0x1c, 0xc1, 0x1b, 0x92, 0x71, 0x0a, 0xe7, 0x0b, 0x23, 0xc7, 0xf2, 0x53, 0xb2, 0x0a,
1958	0x6b, 0x23, 0x4a, 0x46, 0x32, 0x94, 0x96, 0xd1, 0x4f, 0x10, 0x6c, 0xc4, 0x58, 0x19, 0x91, 0x4f,
1959	0x64, 0x0e, 0x3d, 0x4e, 0xe6, 0x1e, 0x8b, 0xa2, 0x2f, 0xc3, 0x46, 0x8c, 0xa2, 0x19, 0x3e, 0xfd,
1960	0x15, 0xc1, 0x66, 0xc0, 0xd2, 0xf8, 0x39, 0x9d, 0xc5, 0x82, 0x87, 0xb0, 0xea, 0x85, 0x0a, 0x5d,
1961	0x93, 0x69, 0x08, 0x9c, 0x2f, 0x67, 0xf8, 0x9c, 0x58, 0x66, 0xc5, 0x8b, 0x5f, 0x0f, 0x2f, 0x01,
1962	0x4e, 0xd8, 0x1d, 0x31, 0xb7, 0x14, 0x97, 0x6d, 0xeb, 0x92, 0x0b, 0x15, 0x46, 0xa7, 0xb8, 0xcd,
1963	0x27, 0xca, 0xe0, 0xcf, 0x11, 0x6c, 0xa6, 0x2e, 0x29, 0x58, 0xfc, 0x26, 0x94, 0x12, 0xf8, 0x43,
1964	0x26, 0x4f, 0x19, 0x98, 0xd5, 0xb8, 0xb3, 0xf4, 0x72, 0xd4, 0x29, 0x74, 0x9f, 0x4f, 0xa3, 0x7b,
1965	0x0d, 0xca, 0x87, 0xc4, 0x4f, 0x4f, 0x75, 0x1a, 0x3d, 0x6e, 0xc2, 0x66, 0xc0, 0xa6, 0xfc, 0x2a,
1966	0xf7, 0xe0, 0xc6, 0xae, 0xae, 0x0b, 0xf6, 0x9d, 0x38, 0xb9, 0x68, 0x88, 0xcb, 0xf1, 0xab, 0x76,
1967	0x69, 0x78, 0x5e, 0x4b, 0x0a, 0x48, 0x0a, 0xe9, 0x39, 0x17, 0x21, 0x9f, 0x0f, 0x3c, 0xa7, 0xf7,
1968	0xb8, 0x36, 0xdf, 0x85, 0x67, 0xa3, 0x77, 0x61, 0xdb, 0xce, 0x67, 0xf0, 0x71, 0x78, 0xf3, 0x4b,
1969	0x04, 0x5b, 0x93, 0xd7, 0xfc, 0x0a, 0xee, 0xe2, 0xbb, 0x50, 0x69, 0xf7, 0x5c, 0xc7, 0x8b, 0x9e,
1970	0xc5, 0x87, 0x1a, 0xed, 0x38, 0x7d, 0x4f, 0x63, 0x75, 0xf4, 0xb2, 0x46, 0x2f, 0xba, 0xe7, 0xa6,
1971	0x45, 0xba, 0xac, 0x34, 0x0b, 0xc2, 0x00, 0x1a, 0xbd, 0x38, 0x30, 0x2d, 0x72, 0xea, 0x99, 0xd2,
1972	0xcf, 0x10, 0x3c, 0x33, 0x66, 0xa0, 0x6d, 0xbb, 0x7d, 0xbf, 0xe9, 0xd8, 0xe7, 0xa6, 0x81, 0xdf,
1973	0x02, 0x30, 0x34, 0xda, 0xa5, 0xdc, 0xa0, 0x38, 0x10, 0xef, 0x64, 0xb8, 0x33, 0x19, 0xd1, 0x6b,
1974	0x4f, 0x29, 0x4b, 0x46, 0x38, 0xd8, 0x5b, 0x84, 0xab, 0x81, 0x5d, 0xe9, 0x57, 0x08, 0xca, 0x63,
1975	0x5a, 0x59, 0x07, 0xc0, 0xdb, 0xb0, 0x6c, 0x32, 0xa4, 0x5d, 0x8d, 0x43, 0x15, 0x27, 0xd7, 0xce,
1976	0xb4, 0xe0, 0x22, 0xde, 0x2a, 0x05, 0x73, 0x34, 0x90, 0x7e, 0x87, 0xe0, 0xe9, 0x14, 0x50, 0x4f,
1977	0xfc, 0x88, 0xa8, 0xc1, 0x62, 0xd0, 0x50, 0x11, 0x5a, 0x9e, 0xe3, 0x16, 0xd3, 0x0a, 0xf4, 0xa1,
1978	0x8c, 0xf4, 0xd9, 0x1c, 0xac, 0xef, 0xa9, 0xbe, 0xf6, 0xce, 0x83, 0xb0, 0x07, 0xbc, 0x47, 0x7c,
1979	0x55, 0x57, 0x7d, 0x15, 0xbf, 0x01, 0x0b, 0x4c, 0x2c, 0x48, 0xdc, 0x4a, 0x66, 0x6c, 0xd2, 0xad,
1980	0xf0, 0x15, 0x89, 0x12, 0x58, 0x62, 0xd7, 0x1a, 0xed, 0x9f, 0xf5, 0x4c, 0x3f, 0xe8, 0x3e, 0xe6,
1981	0x32, 0xbb, 0x0f, 0x08, 0xc4, 0x79, 0xfb, 0x71, 0x0b, 0x16, 0x89, 0xad, 0xe7, 0xed, 0x5b, 0xae,
1982	0x11, 0x5b, 0x67, 0x23, 0xe9, 0xc7, 0xb0, 0xc0, 0x31, 0xe0, 0xaf, 0xc3, 0xf5, 0xce, 0xc9, 0xee,
1983	0x49, 0xab, 0x7b, 0x7a, 0xbf, 0x73, 0xdc, 0x6a, 0xb6, 0x0f, 0xda, 0xad, 0xfd, 0xd2, 0x53, 0x78,
1984	0x05, 0xe0, 0x58, 0x79, 0xd0, 0x6c, 0x75, 0x3a, 0xed, 0xfb, 0x87, 0x25, 0xc4, 0xc6, 0x9d, 0xd3,
1985	0x26, 0x1b, 0x1f, 0x9c, 0x1e, 0x95, 0xe6, 0x30, 0xc0, 0xd5, 0x83, 0xdd, 0xf6, 0x51, 0x6b, 0xbf,
1986	0x34, 0x8f, 0x8b, 0xb0, 0xd4, 0xdc, 0xbd, 0xdf, 0x6c, 0x1d, 0xb1, 0xe1, 0x95, 0xfa, 0x6f, 0x37,
1987	0xa1, 0x38, 0x4c, 0x2f, 0x6b, 0xeb, 0xf1, 0xdf, 0x11, 0x94, 0x92, 0x15, 0x1f, 0xbe, 0x9d, 0x11,
1988	0xb9, 0x09, 0x25, 0x62, 0x25, 0x7f, 0xed, 0x20, 0xbd, 0xfe, 0xe1, 0xbf, 0xbf, 0xf8, 0xf5, 0x5c,
1989	0x4b, 0xba, 0x1d, 0x69, 0xfc, 0x7f, 0x1a, 0x50, 0xfd, 0x15, 0xd7, 0x73, 0x7e, 0x42, 0x34, 0x9f,
1990	0xca, 0x55, 0xd9, 0x72, 0xb4, 0xa0, 0xcf, 0x97, 0xab, 0x1f, 0xc8, 0x91, 0x5a, 0xa9, 0x11, 0xad,
1991	0x5c, 0xf0, 0xdf, 0x10, 0xac, 0x26, 0x4a, 0x34, 0x7c, 0x2b, 0x03, 0x4b, 0x7a, 0x05, 0x59, 0xb9,
1992	0x3d, 0xad, 0x5a, 0xb0, 0x41, 0xa4, 0xbb, 0xdc, 0x9f, 0xef, 0xe1, 0x19, 0xfd, 0xc1, 0xbf, 0x47,
1993	0x50, 0x8c, 0x15, 0x75, 0x78, 0x3b, 0x03, 0x49, 0x5a, 0x09, 0x38, 0x4d, 0x06, 0x52, 0x11, 0xb3,
1994	0x3b, 0x63, 0x02, 0xde, 0x28, 0x5c, 0xb9, 0xfa, 0x01, 0xfe, 0x17, 0x82, 0x52, 0xb2, 0xb2, 0xcc,
1995	0x64, 0xce, 0x84, 0x52, 0x74, 0x1a, 0xdc, 0x3f, 0xe2, 0xb8, 0xdf, 0xa8, 0xef, 0xc5, 0x22, 0x3d,
1996	0x62, 0x43, 0x2d, 0xbf, 0x0f, 0x71, 0x16, 0x7d, 0x82, 0xa0, 0x94, 0x2c, 0x43, 0x33, 0x1d, 0x9a,
1997	0x50, 0xb7, 0x56, 0xd6, 0xc7, 0x76, 0x7a, 0xab, 0xe7, 0xfa, 0x83, 0x30, 0xea, 0xd5, 0x59, 0xa3,
1998	0xfe, 0x07, 0x04, 0xc5, 0xd8, 0xf6, 0xcb, 0xe4, 0x49, 0xda, 0xf3, 0x41, 0x25, 0xe7, 0x1d, 0x2d,
1999	0xed, 0x73, 0xb8, 0x77, 0xa5, 0xed, 0xe9, 0x69, 0x4d, 0x1b, 0xc3, 0xfe, 0xf5, 0x4f, 0x08, 0x96,
2000	0xa3, 0x85, 0x04, 0xae, 0xe7, 0xdf, 0x65, 0xc3, 0x9d, 0xb9, 0x3d, 0x95, 0x8e, 0xd8, 0x96, 0x3b,
2001	0x1c, 0xff, 0x2d, 0x3c, 0x0b, 0x7e, 0xfc, 0x29, 0x02, 0x18, 0xed, 0x32, 0xfc, 0x9d, 0xdc, 0x1b,
2002	0x72, 0xda, 0x28, 0xa7, 0xa2, 0xcc, 0x41, 0x0a, 0xce, 0x88, 0xcf, 0x10, 0x14, 0x63, 0xdb, 0x2a,
2003	0x93, 0x11, 0x69, 0xaf, 0x14, 0xb9, 0xb1, 0x1e, 0x71, 0xac, 0x07, 0xf5, 0x9d, 0x94, 0xed, 0x57,
2004	0xcb, 0x89, 0x79, 0xc4, 0x8c, 0x8f, 0x11, 0x14, 0x63, 0x5b, 0x28, 0x13, 0x7c, 0xda, 0x5b, 0xc6,
2005	0xc4, 0xdd, 0x26, 0x02, 0x5b, 0x9d, 0x29, 0xb0, 0xff, 0x1d, 0xbe, 0xbd, 0x25, 0x9e, 0x03, 0x1b,
2006	0xb9, 0x76, 0x5c, 0x6a, 0xf7, 0x51, 0x99, 0xae, 0x5c, 0x92, 0xde, 0xe6, 0x0e, 0xbc, 0x29, 0xb5,
2007	0x72, 0xf3, 0x37, 0xea, 0x82, 0x9c, 0x28, 0xb6, 0x1a, 0xc9, 0xfe, 0x17, 0xff, 0x05, 0x85, 0xaf,
2008	0x43, 0x53, 0xfa, 0x78, 0x49, 0x87, 0x35, 0x31, 0x1b, 0xf7, 0xb8, 0x33, 0x87, 0xd5, 0xd6, 0xf4,
2009	0xd9, 0x48, 0x7a, 0xc2, 0xf2, 0xf3, 0x1f, 0x14, 0x3c, 0x45, 0x26, 0xda, 0x5a, 0x7c, 0x27, 0xc7,
2010	0x41, 0x91, 0xde, 0x7d, 0x57, 0x1a, 0xb3, 0xa8, 0x8a, 0xa3, 0x46, 0x78, 0x87, 0xbf, 0x9c, 0x54,
2011	0xe1, 0x7f, 0x22, 0xfe, 0xf0, 0x98, 0x48, 0xcb, 0x77, 0xb3, 0xcf, 0xa0, 0x2f, 0x85, 0x77, 0xa9,
2012	0xce, 0xcc, 0x9e, 0xaa, 0xcf, 0x11, 0xac, 0xa7, 0x37, 0xd8, 0xf8, 0xfb, 0x19, 0xc0, 0x2e, 0xed,
2013	0xcb, 0x27, 0x52, 0x4d, 0x9c, 0x52, 0xd2, 0xee, 0x6c, 0xd7, 0x6c, 0x43, 0x1d, 0xae, 0xda, 0x40,
2014	0x55, 0xfc, 0x0f, 0x04, 0x9b, 0x97, 0x34, 0xf4, 0x78, 0x37, 0x33, 0xb8, 0x59, 0x8f, 0x01, 0x13,
2015	0x1d, 0x79, 0xc0, 0x1d, 0x69, 0x4b, 0xfb, 0x33, 0x3a, 0xe2, 0x45, 0x97, 0x66, 0xbe, 0x7c, 0x81,
2016	0xa0, 0x3c, 0xa9, 0xa9, 0xc7, 0x77, 0xa7, 0xb8, 0x63, 0x53, 0x5e, 0x20, 0x2a, 0xaf, 0xce, 0xac,
2017	0x2f, 0x36, 0xd1, 0x21, 0x77, 0x77, 0x17, 0xbf, 0x3a, 0x9b, 0xbb, 0xa3, 0xbb, 0xfb, 0xcf, 0x08,
2018	0xae, 0x8f, 0xb5, 0xb3, 0x99, 0xdb, 0x67, 0x52, 0x57, 0x5e, 0xb9, 0x11, 0x2a, 0x46, 0xfe, 0x85,
2019	0xac, 0x0d, 0x7b, 0x47, 0xe9, 0x35, 0x0e, 0x7b, 0x4f, 0x7a, 0x65, 0xc6, 0x6e, 0xc6, 0xe4, 0xeb,
2020	0x36, 0x50, 0x75, 0xef, 0xe7, 0x08, 0x9e, 0xd3, 0x9c, 0xde, 0xe5, 0x38, 0xf7, 0x9e, 0x8e, 0x35,
2021	0x71, 0x9d, 0xe0, 0xaf, 0xd9, 0x63, 0xc6, 0x9c, 0x63, 0xf4, 0x56, 0x53, 0xe8, 0x1a, 0x8e, 0xa5,
2022	0xda, 0x46, 0xcd, 0xf1, 0x0c, 0xd9, 0x20, 0x36, 0xe7, 0x95, 0x1c, 0x7c, 0x52, 0x5d, 0x93, 0x4e,
2023	0xf8, 0xf7, 0x75, 0x27, 0x98, 0xf8, 0x1f, 0x42, 0x67, 0x57, 0xb9, 0xca, 0xf6, 0xff, 0x03, 0x00,
2024	0x00, 0xff, 0xff, 0x24, 0x8c, 0xbc, 0xfe, 0x28, 0x1e, 0x00, 0x00,
2025}
2026
2027// Reference imports to suppress errors if they are not otherwise used.
2028var _ context.Context
2029var _ grpc.ClientConn
2030
2031// This is a compile-time assertion to ensure that this generated file
2032// is compatible with the grpc package it is being compiled against.
2033const _ = grpc.SupportPackageIsVersion4
2034
2035// ProductSearchClient is the client API for ProductSearch service.
2036//
2037// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2038type ProductSearchClient interface {
2039	// Creates and returns a new ProductSet resource.
2040	//
2041	// Possible errors:
2042	//
2043	// * Returns INVALID_ARGUMENT if display_name is missing, or is longer than
2044	//   4096 characters.
2045	CreateProductSet(ctx context.Context, in *CreateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error)
2046	// Lists ProductSets in an unspecified order.
2047	//
2048	// Possible errors:
2049	//
2050	// * Returns INVALID_ARGUMENT if page_size is greater than 100, or less
2051	//   than 1.
2052	ListProductSets(ctx context.Context, in *ListProductSetsRequest, opts ...grpc.CallOption) (*ListProductSetsResponse, error)
2053	// Gets information associated with a ProductSet.
2054	//
2055	// Possible errors:
2056	//
2057	// * Returns NOT_FOUND if the ProductSet does not exist.
2058	GetProductSet(ctx context.Context, in *GetProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error)
2059	// Makes changes to a ProductSet resource.
2060	// Only display_name can be updated currently.
2061	//
2062	// Possible errors:
2063	//
2064	// * Returns NOT_FOUND if the ProductSet does not exist.
2065	// * Returns INVALID_ARGUMENT if display_name is present in update_mask but
2066	//   missing from the request or longer than 4096 characters.
2067	UpdateProductSet(ctx context.Context, in *UpdateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error)
2068	// Permanently deletes a ProductSet. All Products and ReferenceImages in the
2069	// ProductSet will be deleted.
2070	//
2071	// The actual image files are not deleted from Google Cloud Storage.
2072	//
2073	// Possible errors:
2074	//
2075	// * Returns NOT_FOUND if the ProductSet does not exist.
2076	DeleteProductSet(ctx context.Context, in *DeleteProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2077	// Creates and returns a new product resource.
2078	//
2079	// Possible errors:
2080	//
2081	// * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096
2082	//   characters.
2083	// * Returns INVALID_ARGUMENT if description is longer than 4096 characters.
2084	// * Returns INVALID_ARGUMENT if product_category is missing or invalid.
2085	CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error)
2086	// Lists products in an unspecified order.
2087	//
2088	// Possible errors:
2089	//
2090	// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.
2091	ListProducts(ctx context.Context, in *ListProductsRequest, opts ...grpc.CallOption) (*ListProductsResponse, error)
2092	// Gets information associated with a Product.
2093	//
2094	// Possible errors:
2095	//
2096	// * Returns NOT_FOUND if the Product does not exist.
2097	GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error)
2098	// Makes changes to a Product resource.
2099	// Only display_name, description and labels can be updated right now.
2100	//
2101	// If labels are updated, the change will not be reflected in queries until
2102	// the next index time.
2103	//
2104	// Possible errors:
2105	//
2106	// * Returns NOT_FOUND if the Product does not exist.
2107	// * Returns INVALID_ARGUMENT if display_name is present in update_mask but is
2108	//   missing from the request or longer than 4096 characters.
2109	// * Returns INVALID_ARGUMENT if description is present in update_mask but is
2110	//   longer than 4096 characters.
2111	// * Returns INVALID_ARGUMENT if product_category is present in update_mask.
2112	UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error)
2113	// Permanently deletes a product and its reference images.
2114	//
2115	// Metadata of the product and all its images will be deleted right away, but
2116	// search queries against ProductSets containing the product may still work
2117	// until all related caches are refreshed.
2118	//
2119	// Possible errors:
2120	//
2121	// * Returns NOT_FOUND if the product does not exist.
2122	DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2123	// Creates and returns a new ReferenceImage resource.
2124	//
2125	// The `bounding_poly` field is optional. If `bounding_poly` is not specified,
2126	// the system will try to detect regions of interest in the image that are
2127	// compatible with the product_category on the parent product. If it is
2128	// specified, detection is ALWAYS skipped. The system converts polygons into
2129	// non-rotated rectangles.
2130	//
2131	// Note that the pipeline will resize the image if the image resolution is too
2132	// large to process (above 50MP).
2133	//
2134	// Possible errors:
2135	//
2136	// * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096
2137	//   characters.
2138	// * Returns INVALID_ARGUMENT if the product does not exist.
2139	// * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing
2140	//   compatible with the parent product's product_category is detected.
2141	// * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.
2142	CreateReferenceImage(ctx context.Context, in *CreateReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error)
2143	// Permanently deletes a reference image.
2144	//
2145	// The image metadata will be deleted right away, but search queries
2146	// against ProductSets containing the image may still work until all related
2147	// caches are refreshed.
2148	//
2149	// The actual image files are not deleted from Google Cloud Storage.
2150	//
2151	// Possible errors:
2152	//
2153	// * Returns NOT_FOUND if the reference image does not exist.
2154	DeleteReferenceImage(ctx context.Context, in *DeleteReferenceImageRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2155	// Lists reference images.
2156	//
2157	// Possible errors:
2158	//
2159	// * Returns NOT_FOUND if the parent product does not exist.
2160	// * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less
2161	//   than 1.
2162	ListReferenceImages(ctx context.Context, in *ListReferenceImagesRequest, opts ...grpc.CallOption) (*ListReferenceImagesResponse, error)
2163	// Gets information associated with a ReferenceImage.
2164	//
2165	// Possible errors:
2166	//
2167	// * Returns NOT_FOUND if the specified image does not exist.
2168	GetReferenceImage(ctx context.Context, in *GetReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error)
2169	// Adds a Product to the specified ProductSet. If the Product is already
2170	// present, no change is made.
2171	//
2172	// One Product can be added to at most 100 ProductSets.
2173	//
2174	// Possible errors:
2175	//
2176	// * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.
2177	AddProductToProductSet(ctx context.Context, in *AddProductToProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2178	// Removes a Product from the specified ProductSet.
2179	//
2180	// Possible errors:
2181	//
2182	// * Returns NOT_FOUND If the Product is not found under the ProductSet.
2183	RemoveProductFromProductSet(ctx context.Context, in *RemoveProductFromProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error)
2184	// Lists the Products in a ProductSet, in an unspecified order. If the
2185	// ProductSet does not exist, the products field of the response will be
2186	// empty.
2187	//
2188	// Possible errors:
2189	//
2190	// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.
2191	ListProductsInProductSet(ctx context.Context, in *ListProductsInProductSetRequest, opts ...grpc.CallOption) (*ListProductsInProductSetResponse, error)
2192	// Asynchronous API that imports a list of reference images to specified
2193	// product sets based on a list of image information.
2194	//
2195	// The [google.longrunning.Operation][google.longrunning.Operation] API can be
2196	// used to keep track of the progress and results of the request.
2197	// `Operation.metadata` contains `BatchOperationMetadata`. (progress)
2198	// `Operation.response` contains `ImportProductSetsResponse`. (results)
2199	//
2200	// The input source of this method is a csv file on Google Cloud Storage.
2201	// For the format of the csv file please see
2202	// [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri].
2203	ImportProductSets(ctx context.Context, in *ImportProductSetsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
2204}
2205
2206type productSearchClient struct {
2207	cc *grpc.ClientConn
2208}
2209
2210func NewProductSearchClient(cc *grpc.ClientConn) ProductSearchClient {
2211	return &productSearchClient{cc}
2212}
2213
2214func (c *productSearchClient) CreateProductSet(ctx context.Context, in *CreateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error) {
2215	out := new(ProductSet)
2216	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/CreateProductSet", in, out, opts...)
2217	if err != nil {
2218		return nil, err
2219	}
2220	return out, nil
2221}
2222
2223func (c *productSearchClient) ListProductSets(ctx context.Context, in *ListProductSetsRequest, opts ...grpc.CallOption) (*ListProductSetsResponse, error) {
2224	out := new(ListProductSetsResponse)
2225	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/ListProductSets", in, out, opts...)
2226	if err != nil {
2227		return nil, err
2228	}
2229	return out, nil
2230}
2231
2232func (c *productSearchClient) GetProductSet(ctx context.Context, in *GetProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error) {
2233	out := new(ProductSet)
2234	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/GetProductSet", in, out, opts...)
2235	if err != nil {
2236		return nil, err
2237	}
2238	return out, nil
2239}
2240
2241func (c *productSearchClient) UpdateProductSet(ctx context.Context, in *UpdateProductSetRequest, opts ...grpc.CallOption) (*ProductSet, error) {
2242	out := new(ProductSet)
2243	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/UpdateProductSet", in, out, opts...)
2244	if err != nil {
2245		return nil, err
2246	}
2247	return out, nil
2248}
2249
2250func (c *productSearchClient) DeleteProductSet(ctx context.Context, in *DeleteProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2251	out := new(empty.Empty)
2252	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteProductSet", in, out, opts...)
2253	if err != nil {
2254		return nil, err
2255	}
2256	return out, nil
2257}
2258
2259func (c *productSearchClient) CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) {
2260	out := new(Product)
2261	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/CreateProduct", in, out, opts...)
2262	if err != nil {
2263		return nil, err
2264	}
2265	return out, nil
2266}
2267
2268func (c *productSearchClient) ListProducts(ctx context.Context, in *ListProductsRequest, opts ...grpc.CallOption) (*ListProductsResponse, error) {
2269	out := new(ListProductsResponse)
2270	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/ListProducts", in, out, opts...)
2271	if err != nil {
2272		return nil, err
2273	}
2274	return out, nil
2275}
2276
2277func (c *productSearchClient) GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error) {
2278	out := new(Product)
2279	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/GetProduct", in, out, opts...)
2280	if err != nil {
2281		return nil, err
2282	}
2283	return out, nil
2284}
2285
2286func (c *productSearchClient) UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) {
2287	out := new(Product)
2288	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/UpdateProduct", in, out, opts...)
2289	if err != nil {
2290		return nil, err
2291	}
2292	return out, nil
2293}
2294
2295func (c *productSearchClient) DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2296	out := new(empty.Empty)
2297	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteProduct", in, out, opts...)
2298	if err != nil {
2299		return nil, err
2300	}
2301	return out, nil
2302}
2303
2304func (c *productSearchClient) CreateReferenceImage(ctx context.Context, in *CreateReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error) {
2305	out := new(ReferenceImage)
2306	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/CreateReferenceImage", in, out, opts...)
2307	if err != nil {
2308		return nil, err
2309	}
2310	return out, nil
2311}
2312
2313func (c *productSearchClient) DeleteReferenceImage(ctx context.Context, in *DeleteReferenceImageRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2314	out := new(empty.Empty)
2315	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteReferenceImage", in, out, opts...)
2316	if err != nil {
2317		return nil, err
2318	}
2319	return out, nil
2320}
2321
2322func (c *productSearchClient) ListReferenceImages(ctx context.Context, in *ListReferenceImagesRequest, opts ...grpc.CallOption) (*ListReferenceImagesResponse, error) {
2323	out := new(ListReferenceImagesResponse)
2324	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/ListReferenceImages", in, out, opts...)
2325	if err != nil {
2326		return nil, err
2327	}
2328	return out, nil
2329}
2330
2331func (c *productSearchClient) GetReferenceImage(ctx context.Context, in *GetReferenceImageRequest, opts ...grpc.CallOption) (*ReferenceImage, error) {
2332	out := new(ReferenceImage)
2333	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/GetReferenceImage", in, out, opts...)
2334	if err != nil {
2335		return nil, err
2336	}
2337	return out, nil
2338}
2339
2340func (c *productSearchClient) AddProductToProductSet(ctx context.Context, in *AddProductToProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2341	out := new(empty.Empty)
2342	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/AddProductToProductSet", in, out, opts...)
2343	if err != nil {
2344		return nil, err
2345	}
2346	return out, nil
2347}
2348
2349func (c *productSearchClient) RemoveProductFromProductSet(ctx context.Context, in *RemoveProductFromProductSetRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
2350	out := new(empty.Empty)
2351	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/RemoveProductFromProductSet", in, out, opts...)
2352	if err != nil {
2353		return nil, err
2354	}
2355	return out, nil
2356}
2357
2358func (c *productSearchClient) ListProductsInProductSet(ctx context.Context, in *ListProductsInProductSetRequest, opts ...grpc.CallOption) (*ListProductsInProductSetResponse, error) {
2359	out := new(ListProductsInProductSetResponse)
2360	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/ListProductsInProductSet", in, out, opts...)
2361	if err != nil {
2362		return nil, err
2363	}
2364	return out, nil
2365}
2366
2367func (c *productSearchClient) ImportProductSets(ctx context.Context, in *ImportProductSetsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
2368	out := new(longrunning.Operation)
2369	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p3beta1.ProductSearch/ImportProductSets", in, out, opts...)
2370	if err != nil {
2371		return nil, err
2372	}
2373	return out, nil
2374}
2375
2376// ProductSearchServer is the server API for ProductSearch service.
2377type ProductSearchServer interface {
2378	// Creates and returns a new ProductSet resource.
2379	//
2380	// Possible errors:
2381	//
2382	// * Returns INVALID_ARGUMENT if display_name is missing, or is longer than
2383	//   4096 characters.
2384	CreateProductSet(context.Context, *CreateProductSetRequest) (*ProductSet, error)
2385	// Lists ProductSets in an unspecified order.
2386	//
2387	// Possible errors:
2388	//
2389	// * Returns INVALID_ARGUMENT if page_size is greater than 100, or less
2390	//   than 1.
2391	ListProductSets(context.Context, *ListProductSetsRequest) (*ListProductSetsResponse, error)
2392	// Gets information associated with a ProductSet.
2393	//
2394	// Possible errors:
2395	//
2396	// * Returns NOT_FOUND if the ProductSet does not exist.
2397	GetProductSet(context.Context, *GetProductSetRequest) (*ProductSet, error)
2398	// Makes changes to a ProductSet resource.
2399	// Only display_name can be updated currently.
2400	//
2401	// Possible errors:
2402	//
2403	// * Returns NOT_FOUND if the ProductSet does not exist.
2404	// * Returns INVALID_ARGUMENT if display_name is present in update_mask but
2405	//   missing from the request or longer than 4096 characters.
2406	UpdateProductSet(context.Context, *UpdateProductSetRequest) (*ProductSet, error)
2407	// Permanently deletes a ProductSet. All Products and ReferenceImages in the
2408	// ProductSet will be deleted.
2409	//
2410	// The actual image files are not deleted from Google Cloud Storage.
2411	//
2412	// Possible errors:
2413	//
2414	// * Returns NOT_FOUND if the ProductSet does not exist.
2415	DeleteProductSet(context.Context, *DeleteProductSetRequest) (*empty.Empty, error)
2416	// Creates and returns a new product resource.
2417	//
2418	// Possible errors:
2419	//
2420	// * Returns INVALID_ARGUMENT if display_name is missing or longer than 4096
2421	//   characters.
2422	// * Returns INVALID_ARGUMENT if description is longer than 4096 characters.
2423	// * Returns INVALID_ARGUMENT if product_category is missing or invalid.
2424	CreateProduct(context.Context, *CreateProductRequest) (*Product, error)
2425	// Lists products in an unspecified order.
2426	//
2427	// Possible errors:
2428	//
2429	// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.
2430	ListProducts(context.Context, *ListProductsRequest) (*ListProductsResponse, error)
2431	// Gets information associated with a Product.
2432	//
2433	// Possible errors:
2434	//
2435	// * Returns NOT_FOUND if the Product does not exist.
2436	GetProduct(context.Context, *GetProductRequest) (*Product, error)
2437	// Makes changes to a Product resource.
2438	// Only display_name, description and labels can be updated right now.
2439	//
2440	// If labels are updated, the change will not be reflected in queries until
2441	// the next index time.
2442	//
2443	// Possible errors:
2444	//
2445	// * Returns NOT_FOUND if the Product does not exist.
2446	// * Returns INVALID_ARGUMENT if display_name is present in update_mask but is
2447	//   missing from the request or longer than 4096 characters.
2448	// * Returns INVALID_ARGUMENT if description is present in update_mask but is
2449	//   longer than 4096 characters.
2450	// * Returns INVALID_ARGUMENT if product_category is present in update_mask.
2451	UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error)
2452	// Permanently deletes a product and its reference images.
2453	//
2454	// Metadata of the product and all its images will be deleted right away, but
2455	// search queries against ProductSets containing the product may still work
2456	// until all related caches are refreshed.
2457	//
2458	// Possible errors:
2459	//
2460	// * Returns NOT_FOUND if the product does not exist.
2461	DeleteProduct(context.Context, *DeleteProductRequest) (*empty.Empty, error)
2462	// Creates and returns a new ReferenceImage resource.
2463	//
2464	// The `bounding_poly` field is optional. If `bounding_poly` is not specified,
2465	// the system will try to detect regions of interest in the image that are
2466	// compatible with the product_category on the parent product. If it is
2467	// specified, detection is ALWAYS skipped. The system converts polygons into
2468	// non-rotated rectangles.
2469	//
2470	// Note that the pipeline will resize the image if the image resolution is too
2471	// large to process (above 50MP).
2472	//
2473	// Possible errors:
2474	//
2475	// * Returns INVALID_ARGUMENT if the image_uri is missing or longer than 4096
2476	//   characters.
2477	// * Returns INVALID_ARGUMENT if the product does not exist.
2478	// * Returns INVALID_ARGUMENT if bounding_poly is not provided, and nothing
2479	//   compatible with the parent product's product_category is detected.
2480	// * Returns INVALID_ARGUMENT if bounding_poly contains more than 10 polygons.
2481	CreateReferenceImage(context.Context, *CreateReferenceImageRequest) (*ReferenceImage, error)
2482	// Permanently deletes a reference image.
2483	//
2484	// The image metadata will be deleted right away, but search queries
2485	// against ProductSets containing the image may still work until all related
2486	// caches are refreshed.
2487	//
2488	// The actual image files are not deleted from Google Cloud Storage.
2489	//
2490	// Possible errors:
2491	//
2492	// * Returns NOT_FOUND if the reference image does not exist.
2493	DeleteReferenceImage(context.Context, *DeleteReferenceImageRequest) (*empty.Empty, error)
2494	// Lists reference images.
2495	//
2496	// Possible errors:
2497	//
2498	// * Returns NOT_FOUND if the parent product does not exist.
2499	// * Returns INVALID_ARGUMENT if the page_size is greater than 100, or less
2500	//   than 1.
2501	ListReferenceImages(context.Context, *ListReferenceImagesRequest) (*ListReferenceImagesResponse, error)
2502	// Gets information associated with a ReferenceImage.
2503	//
2504	// Possible errors:
2505	//
2506	// * Returns NOT_FOUND if the specified image does not exist.
2507	GetReferenceImage(context.Context, *GetReferenceImageRequest) (*ReferenceImage, error)
2508	// Adds a Product to the specified ProductSet. If the Product is already
2509	// present, no change is made.
2510	//
2511	// One Product can be added to at most 100 ProductSets.
2512	//
2513	// Possible errors:
2514	//
2515	// * Returns NOT_FOUND if the Product or the ProductSet doesn't exist.
2516	AddProductToProductSet(context.Context, *AddProductToProductSetRequest) (*empty.Empty, error)
2517	// Removes a Product from the specified ProductSet.
2518	//
2519	// Possible errors:
2520	//
2521	// * Returns NOT_FOUND If the Product is not found under the ProductSet.
2522	RemoveProductFromProductSet(context.Context, *RemoveProductFromProductSetRequest) (*empty.Empty, error)
2523	// Lists the Products in a ProductSet, in an unspecified order. If the
2524	// ProductSet does not exist, the products field of the response will be
2525	// empty.
2526	//
2527	// Possible errors:
2528	//
2529	// * Returns INVALID_ARGUMENT if page_size is greater than 100 or less than 1.
2530	ListProductsInProductSet(context.Context, *ListProductsInProductSetRequest) (*ListProductsInProductSetResponse, error)
2531	// Asynchronous API that imports a list of reference images to specified
2532	// product sets based on a list of image information.
2533	//
2534	// The [google.longrunning.Operation][google.longrunning.Operation] API can be
2535	// used to keep track of the progress and results of the request.
2536	// `Operation.metadata` contains `BatchOperationMetadata`. (progress)
2537	// `Operation.response` contains `ImportProductSetsResponse`. (results)
2538	//
2539	// The input source of this method is a csv file on Google Cloud Storage.
2540	// For the format of the csv file please see
2541	// [ImportProductSetsGcsSource.csv_file_uri][google.cloud.vision.v1p3beta1.ImportProductSetsGcsSource.csv_file_uri].
2542	ImportProductSets(context.Context, *ImportProductSetsRequest) (*longrunning.Operation, error)
2543}
2544
2545func RegisterProductSearchServer(s *grpc.Server, srv ProductSearchServer) {
2546	s.RegisterService(&_ProductSearch_serviceDesc, srv)
2547}
2548
2549func _ProductSearch_CreateProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2550	in := new(CreateProductSetRequest)
2551	if err := dec(in); err != nil {
2552		return nil, err
2553	}
2554	if interceptor == nil {
2555		return srv.(ProductSearchServer).CreateProductSet(ctx, in)
2556	}
2557	info := &grpc.UnaryServerInfo{
2558		Server:     srv,
2559		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/CreateProductSet",
2560	}
2561	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2562		return srv.(ProductSearchServer).CreateProductSet(ctx, req.(*CreateProductSetRequest))
2563	}
2564	return interceptor(ctx, in, info, handler)
2565}
2566
2567func _ProductSearch_ListProductSets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2568	in := new(ListProductSetsRequest)
2569	if err := dec(in); err != nil {
2570		return nil, err
2571	}
2572	if interceptor == nil {
2573		return srv.(ProductSearchServer).ListProductSets(ctx, in)
2574	}
2575	info := &grpc.UnaryServerInfo{
2576		Server:     srv,
2577		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/ListProductSets",
2578	}
2579	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2580		return srv.(ProductSearchServer).ListProductSets(ctx, req.(*ListProductSetsRequest))
2581	}
2582	return interceptor(ctx, in, info, handler)
2583}
2584
2585func _ProductSearch_GetProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2586	in := new(GetProductSetRequest)
2587	if err := dec(in); err != nil {
2588		return nil, err
2589	}
2590	if interceptor == nil {
2591		return srv.(ProductSearchServer).GetProductSet(ctx, in)
2592	}
2593	info := &grpc.UnaryServerInfo{
2594		Server:     srv,
2595		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/GetProductSet",
2596	}
2597	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2598		return srv.(ProductSearchServer).GetProductSet(ctx, req.(*GetProductSetRequest))
2599	}
2600	return interceptor(ctx, in, info, handler)
2601}
2602
2603func _ProductSearch_UpdateProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2604	in := new(UpdateProductSetRequest)
2605	if err := dec(in); err != nil {
2606		return nil, err
2607	}
2608	if interceptor == nil {
2609		return srv.(ProductSearchServer).UpdateProductSet(ctx, in)
2610	}
2611	info := &grpc.UnaryServerInfo{
2612		Server:     srv,
2613		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/UpdateProductSet",
2614	}
2615	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2616		return srv.(ProductSearchServer).UpdateProductSet(ctx, req.(*UpdateProductSetRequest))
2617	}
2618	return interceptor(ctx, in, info, handler)
2619}
2620
2621func _ProductSearch_DeleteProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2622	in := new(DeleteProductSetRequest)
2623	if err := dec(in); err != nil {
2624		return nil, err
2625	}
2626	if interceptor == nil {
2627		return srv.(ProductSearchServer).DeleteProductSet(ctx, in)
2628	}
2629	info := &grpc.UnaryServerInfo{
2630		Server:     srv,
2631		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteProductSet",
2632	}
2633	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2634		return srv.(ProductSearchServer).DeleteProductSet(ctx, req.(*DeleteProductSetRequest))
2635	}
2636	return interceptor(ctx, in, info, handler)
2637}
2638
2639func _ProductSearch_CreateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2640	in := new(CreateProductRequest)
2641	if err := dec(in); err != nil {
2642		return nil, err
2643	}
2644	if interceptor == nil {
2645		return srv.(ProductSearchServer).CreateProduct(ctx, in)
2646	}
2647	info := &grpc.UnaryServerInfo{
2648		Server:     srv,
2649		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/CreateProduct",
2650	}
2651	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2652		return srv.(ProductSearchServer).CreateProduct(ctx, req.(*CreateProductRequest))
2653	}
2654	return interceptor(ctx, in, info, handler)
2655}
2656
2657func _ProductSearch_ListProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2658	in := new(ListProductsRequest)
2659	if err := dec(in); err != nil {
2660		return nil, err
2661	}
2662	if interceptor == nil {
2663		return srv.(ProductSearchServer).ListProducts(ctx, in)
2664	}
2665	info := &grpc.UnaryServerInfo{
2666		Server:     srv,
2667		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/ListProducts",
2668	}
2669	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2670		return srv.(ProductSearchServer).ListProducts(ctx, req.(*ListProductsRequest))
2671	}
2672	return interceptor(ctx, in, info, handler)
2673}
2674
2675func _ProductSearch_GetProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2676	in := new(GetProductRequest)
2677	if err := dec(in); err != nil {
2678		return nil, err
2679	}
2680	if interceptor == nil {
2681		return srv.(ProductSearchServer).GetProduct(ctx, in)
2682	}
2683	info := &grpc.UnaryServerInfo{
2684		Server:     srv,
2685		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/GetProduct",
2686	}
2687	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2688		return srv.(ProductSearchServer).GetProduct(ctx, req.(*GetProductRequest))
2689	}
2690	return interceptor(ctx, in, info, handler)
2691}
2692
2693func _ProductSearch_UpdateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2694	in := new(UpdateProductRequest)
2695	if err := dec(in); err != nil {
2696		return nil, err
2697	}
2698	if interceptor == nil {
2699		return srv.(ProductSearchServer).UpdateProduct(ctx, in)
2700	}
2701	info := &grpc.UnaryServerInfo{
2702		Server:     srv,
2703		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/UpdateProduct",
2704	}
2705	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2706		return srv.(ProductSearchServer).UpdateProduct(ctx, req.(*UpdateProductRequest))
2707	}
2708	return interceptor(ctx, in, info, handler)
2709}
2710
2711func _ProductSearch_DeleteProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2712	in := new(DeleteProductRequest)
2713	if err := dec(in); err != nil {
2714		return nil, err
2715	}
2716	if interceptor == nil {
2717		return srv.(ProductSearchServer).DeleteProduct(ctx, in)
2718	}
2719	info := &grpc.UnaryServerInfo{
2720		Server:     srv,
2721		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteProduct",
2722	}
2723	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2724		return srv.(ProductSearchServer).DeleteProduct(ctx, req.(*DeleteProductRequest))
2725	}
2726	return interceptor(ctx, in, info, handler)
2727}
2728
2729func _ProductSearch_CreateReferenceImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2730	in := new(CreateReferenceImageRequest)
2731	if err := dec(in); err != nil {
2732		return nil, err
2733	}
2734	if interceptor == nil {
2735		return srv.(ProductSearchServer).CreateReferenceImage(ctx, in)
2736	}
2737	info := &grpc.UnaryServerInfo{
2738		Server:     srv,
2739		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/CreateReferenceImage",
2740	}
2741	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2742		return srv.(ProductSearchServer).CreateReferenceImage(ctx, req.(*CreateReferenceImageRequest))
2743	}
2744	return interceptor(ctx, in, info, handler)
2745}
2746
2747func _ProductSearch_DeleteReferenceImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2748	in := new(DeleteReferenceImageRequest)
2749	if err := dec(in); err != nil {
2750		return nil, err
2751	}
2752	if interceptor == nil {
2753		return srv.(ProductSearchServer).DeleteReferenceImage(ctx, in)
2754	}
2755	info := &grpc.UnaryServerInfo{
2756		Server:     srv,
2757		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/DeleteReferenceImage",
2758	}
2759	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2760		return srv.(ProductSearchServer).DeleteReferenceImage(ctx, req.(*DeleteReferenceImageRequest))
2761	}
2762	return interceptor(ctx, in, info, handler)
2763}
2764
2765func _ProductSearch_ListReferenceImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2766	in := new(ListReferenceImagesRequest)
2767	if err := dec(in); err != nil {
2768		return nil, err
2769	}
2770	if interceptor == nil {
2771		return srv.(ProductSearchServer).ListReferenceImages(ctx, in)
2772	}
2773	info := &grpc.UnaryServerInfo{
2774		Server:     srv,
2775		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/ListReferenceImages",
2776	}
2777	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2778		return srv.(ProductSearchServer).ListReferenceImages(ctx, req.(*ListReferenceImagesRequest))
2779	}
2780	return interceptor(ctx, in, info, handler)
2781}
2782
2783func _ProductSearch_GetReferenceImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2784	in := new(GetReferenceImageRequest)
2785	if err := dec(in); err != nil {
2786		return nil, err
2787	}
2788	if interceptor == nil {
2789		return srv.(ProductSearchServer).GetReferenceImage(ctx, in)
2790	}
2791	info := &grpc.UnaryServerInfo{
2792		Server:     srv,
2793		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/GetReferenceImage",
2794	}
2795	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2796		return srv.(ProductSearchServer).GetReferenceImage(ctx, req.(*GetReferenceImageRequest))
2797	}
2798	return interceptor(ctx, in, info, handler)
2799}
2800
2801func _ProductSearch_AddProductToProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2802	in := new(AddProductToProductSetRequest)
2803	if err := dec(in); err != nil {
2804		return nil, err
2805	}
2806	if interceptor == nil {
2807		return srv.(ProductSearchServer).AddProductToProductSet(ctx, in)
2808	}
2809	info := &grpc.UnaryServerInfo{
2810		Server:     srv,
2811		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/AddProductToProductSet",
2812	}
2813	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2814		return srv.(ProductSearchServer).AddProductToProductSet(ctx, req.(*AddProductToProductSetRequest))
2815	}
2816	return interceptor(ctx, in, info, handler)
2817}
2818
2819func _ProductSearch_RemoveProductFromProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2820	in := new(RemoveProductFromProductSetRequest)
2821	if err := dec(in); err != nil {
2822		return nil, err
2823	}
2824	if interceptor == nil {
2825		return srv.(ProductSearchServer).RemoveProductFromProductSet(ctx, in)
2826	}
2827	info := &grpc.UnaryServerInfo{
2828		Server:     srv,
2829		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/RemoveProductFromProductSet",
2830	}
2831	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2832		return srv.(ProductSearchServer).RemoveProductFromProductSet(ctx, req.(*RemoveProductFromProductSetRequest))
2833	}
2834	return interceptor(ctx, in, info, handler)
2835}
2836
2837func _ProductSearch_ListProductsInProductSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2838	in := new(ListProductsInProductSetRequest)
2839	if err := dec(in); err != nil {
2840		return nil, err
2841	}
2842	if interceptor == nil {
2843		return srv.(ProductSearchServer).ListProductsInProductSet(ctx, in)
2844	}
2845	info := &grpc.UnaryServerInfo{
2846		Server:     srv,
2847		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/ListProductsInProductSet",
2848	}
2849	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2850		return srv.(ProductSearchServer).ListProductsInProductSet(ctx, req.(*ListProductsInProductSetRequest))
2851	}
2852	return interceptor(ctx, in, info, handler)
2853}
2854
2855func _ProductSearch_ImportProductSets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2856	in := new(ImportProductSetsRequest)
2857	if err := dec(in); err != nil {
2858		return nil, err
2859	}
2860	if interceptor == nil {
2861		return srv.(ProductSearchServer).ImportProductSets(ctx, in)
2862	}
2863	info := &grpc.UnaryServerInfo{
2864		Server:     srv,
2865		FullMethod: "/google.cloud.vision.v1p3beta1.ProductSearch/ImportProductSets",
2866	}
2867	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2868		return srv.(ProductSearchServer).ImportProductSets(ctx, req.(*ImportProductSetsRequest))
2869	}
2870	return interceptor(ctx, in, info, handler)
2871}
2872
2873var _ProductSearch_serviceDesc = grpc.ServiceDesc{
2874	ServiceName: "google.cloud.vision.v1p3beta1.ProductSearch",
2875	HandlerType: (*ProductSearchServer)(nil),
2876	Methods: []grpc.MethodDesc{
2877		{
2878			MethodName: "CreateProductSet",
2879			Handler:    _ProductSearch_CreateProductSet_Handler,
2880		},
2881		{
2882			MethodName: "ListProductSets",
2883			Handler:    _ProductSearch_ListProductSets_Handler,
2884		},
2885		{
2886			MethodName: "GetProductSet",
2887			Handler:    _ProductSearch_GetProductSet_Handler,
2888		},
2889		{
2890			MethodName: "UpdateProductSet",
2891			Handler:    _ProductSearch_UpdateProductSet_Handler,
2892		},
2893		{
2894			MethodName: "DeleteProductSet",
2895			Handler:    _ProductSearch_DeleteProductSet_Handler,
2896		},
2897		{
2898			MethodName: "CreateProduct",
2899			Handler:    _ProductSearch_CreateProduct_Handler,
2900		},
2901		{
2902			MethodName: "ListProducts",
2903			Handler:    _ProductSearch_ListProducts_Handler,
2904		},
2905		{
2906			MethodName: "GetProduct",
2907			Handler:    _ProductSearch_GetProduct_Handler,
2908		},
2909		{
2910			MethodName: "UpdateProduct",
2911			Handler:    _ProductSearch_UpdateProduct_Handler,
2912		},
2913		{
2914			MethodName: "DeleteProduct",
2915			Handler:    _ProductSearch_DeleteProduct_Handler,
2916		},
2917		{
2918			MethodName: "CreateReferenceImage",
2919			Handler:    _ProductSearch_CreateReferenceImage_Handler,
2920		},
2921		{
2922			MethodName: "DeleteReferenceImage",
2923			Handler:    _ProductSearch_DeleteReferenceImage_Handler,
2924		},
2925		{
2926			MethodName: "ListReferenceImages",
2927			Handler:    _ProductSearch_ListReferenceImages_Handler,
2928		},
2929		{
2930			MethodName: "GetReferenceImage",
2931			Handler:    _ProductSearch_GetReferenceImage_Handler,
2932		},
2933		{
2934			MethodName: "AddProductToProductSet",
2935			Handler:    _ProductSearch_AddProductToProductSet_Handler,
2936		},
2937		{
2938			MethodName: "RemoveProductFromProductSet",
2939			Handler:    _ProductSearch_RemoveProductFromProductSet_Handler,
2940		},
2941		{
2942			MethodName: "ListProductsInProductSet",
2943			Handler:    _ProductSearch_ListProductsInProductSet_Handler,
2944		},
2945		{
2946			MethodName: "ImportProductSets",
2947			Handler:    _ProductSearch_ImportProductSets_Handler,
2948		},
2949	},
2950	Streams:  []grpc.StreamDesc{},
2951	Metadata: "google/cloud/vision/v1p3beta1/product_search_service.proto",
2952}
2953