1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0
18// 	protoc        v3.13.0
19// source: google/cloud/retail/v2/catalog.proto
20
21package retail
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	proto "github.com/golang/protobuf/proto"
28	_ "google.golang.org/genproto/googleapis/api/annotations"
29	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
30	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
31)
32
33const (
34	// Verify that this generated code is sufficiently up-to-date.
35	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
36	// Verify that runtime/protoimpl is sufficiently up-to-date.
37	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
38)
39
40// This is a compile-time assertion that a sufficiently up-to-date version
41// of the legacy proto package is being used.
42const _ = proto.ProtoPackageIsVersion4
43
44// Configures what level the product should be uploaded with regards to
45// how users will be send events and how predictions will be made.
46type ProductLevelConfig struct {
47	state         protoimpl.MessageState
48	sizeCache     protoimpl.SizeCache
49	unknownFields protoimpl.UnknownFields
50
51	// The type of [Product][google.cloud.retail.v2.Product]s allowed to be
52	// ingested into the catalog. Acceptable values are:
53	//
54	// * `primary` (default): You can only ingest
55	// [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
56	//   [Product][google.cloud.retail.v2.Product]s. This means
57	//   [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
58	//   can only be empty or set to the same value as
59	//   [Product.id][google.cloud.retail.v2.Product.id].
60	// * `variant`: You can only ingest
61	// [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
62	// [Product][google.cloud.retail.v2.Product]s.
63	//   This means
64	//   [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
65	//   cannot be empty.
66	//
67	// If this field is set to an invalid value other than these, an
68	// INVALID_ARGUMENT error is returned.
69	//
70	// If this field is `variant` and
71	// [merchant_center_product_id_field][google.cloud.retail.v2.ProductLevelConfig.merchant_center_product_id_field]
72	// is `itemGroupId`, an INVALID_ARGUMENT error is returned.
73	//
74	// See [Using catalog
75	// levels](/retail/recommendations-ai/docs/catalog#catalog-levels) for more
76	// details.
77	IngestionProductType string `protobuf:"bytes,1,opt,name=ingestion_product_type,json=ingestionProductType,proto3" json:"ingestion_product_type,omitempty"`
78	// Which field of [Merchant Center
79	// Product](/bigquery-transfer/docs/merchant-center-products-schema) should be
80	// imported as [Product.id][google.cloud.retail.v2.Product.id]. Acceptable
81	// values are:
82	//
83	// * `offerId` (default): Import `offerId` as the product ID.
84	// * `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail
85	//   API will choose one item from the ones with the same `itemGroupId`, and
86	//   use it to represent the item group.
87	//
88	// If this field is set to an invalid value other than these, an
89	// INVALID_ARGUMENT error is returned.
90	//
91	// If this field is `itemGroupId` and
92	// [ingestion_product_type][google.cloud.retail.v2.ProductLevelConfig.ingestion_product_type]
93	// is `variant`, an INVALID_ARGUMENT error is returned.
94	//
95	// See [Using catalog
96	// levels](/retail/recommendations-ai/docs/catalog#catalog-levels) for more
97	// details.
98	MerchantCenterProductIdField string `protobuf:"bytes,2,opt,name=merchant_center_product_id_field,json=merchantCenterProductIdField,proto3" json:"merchant_center_product_id_field,omitempty"`
99}
100
101func (x *ProductLevelConfig) Reset() {
102	*x = ProductLevelConfig{}
103	if protoimpl.UnsafeEnabled {
104		mi := &file_google_cloud_retail_v2_catalog_proto_msgTypes[0]
105		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
106		ms.StoreMessageInfo(mi)
107	}
108}
109
110func (x *ProductLevelConfig) String() string {
111	return protoimpl.X.MessageStringOf(x)
112}
113
114func (*ProductLevelConfig) ProtoMessage() {}
115
116func (x *ProductLevelConfig) ProtoReflect() protoreflect.Message {
117	mi := &file_google_cloud_retail_v2_catalog_proto_msgTypes[0]
118	if protoimpl.UnsafeEnabled && x != nil {
119		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
120		if ms.LoadMessageInfo() == nil {
121			ms.StoreMessageInfo(mi)
122		}
123		return ms
124	}
125	return mi.MessageOf(x)
126}
127
128// Deprecated: Use ProductLevelConfig.ProtoReflect.Descriptor instead.
129func (*ProductLevelConfig) Descriptor() ([]byte, []int) {
130	return file_google_cloud_retail_v2_catalog_proto_rawDescGZIP(), []int{0}
131}
132
133func (x *ProductLevelConfig) GetIngestionProductType() string {
134	if x != nil {
135		return x.IngestionProductType
136	}
137	return ""
138}
139
140func (x *ProductLevelConfig) GetMerchantCenterProductIdField() string {
141	if x != nil {
142		return x.MerchantCenterProductIdField
143	}
144	return ""
145}
146
147// The catalog configuration.
148type Catalog struct {
149	state         protoimpl.MessageState
150	sizeCache     protoimpl.SizeCache
151	unknownFields protoimpl.UnknownFields
152
153	// Required. Immutable. The fully qualified resource name of the catalog.
154	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
155	// Required. Immutable. The catalog display name.
156	//
157	// This field must be a UTF-8 encoded string with a length limit of 128
158	// characters. Otherwise, an INVALID_ARGUMENT error is returned.
159	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
160	// Required. The product level configuration.
161	ProductLevelConfig *ProductLevelConfig `protobuf:"bytes,4,opt,name=product_level_config,json=productLevelConfig,proto3" json:"product_level_config,omitempty"`
162}
163
164func (x *Catalog) Reset() {
165	*x = Catalog{}
166	if protoimpl.UnsafeEnabled {
167		mi := &file_google_cloud_retail_v2_catalog_proto_msgTypes[1]
168		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
169		ms.StoreMessageInfo(mi)
170	}
171}
172
173func (x *Catalog) String() string {
174	return protoimpl.X.MessageStringOf(x)
175}
176
177func (*Catalog) ProtoMessage() {}
178
179func (x *Catalog) ProtoReflect() protoreflect.Message {
180	mi := &file_google_cloud_retail_v2_catalog_proto_msgTypes[1]
181	if protoimpl.UnsafeEnabled && x != nil {
182		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
183		if ms.LoadMessageInfo() == nil {
184			ms.StoreMessageInfo(mi)
185		}
186		return ms
187	}
188	return mi.MessageOf(x)
189}
190
191// Deprecated: Use Catalog.ProtoReflect.Descriptor instead.
192func (*Catalog) Descriptor() ([]byte, []int) {
193	return file_google_cloud_retail_v2_catalog_proto_rawDescGZIP(), []int{1}
194}
195
196func (x *Catalog) GetName() string {
197	if x != nil {
198		return x.Name
199	}
200	return ""
201}
202
203func (x *Catalog) GetDisplayName() string {
204	if x != nil {
205		return x.DisplayName
206	}
207	return ""
208}
209
210func (x *Catalog) GetProductLevelConfig() *ProductLevelConfig {
211	if x != nil {
212		return x.ProductLevelConfig
213	}
214	return nil
215}
216
217var File_google_cloud_retail_v2_catalog_proto protoreflect.FileDescriptor
218
219var file_google_cloud_retail_v2_catalog_proto_rawDesc = []byte{
220	0x0a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72,
221	0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
222	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
223	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1c,
224	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
225	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
226	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62,
227	0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67,
228	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
229	0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f,
230	0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
231	0x34, 0x0a, 0x16, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f,
232	0x64, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
233	0x14, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
234	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x20, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e,
235	0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
236	0x5f, 0x69, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
237	0x1c, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50,
238	0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x93, 0x02,
239	0x0a, 0x07, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
240	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52,
241	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
242	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02,
243	0xe0, 0x41, 0x05, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65,
244	0x12, 0x61, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65,
245	0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
246	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65,
247	0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c,
248	0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
249	0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e,
250	0x66, 0x69, 0x67, 0x3a, 0x5e, 0xea, 0x41, 0x5b, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c,
251	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
252	0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
253	0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
254	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d,
255	0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c,
256	0x6f, 0x67, 0x7d, 0x42, 0xc1, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
257	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e,
258	0x76, 0x32, 0x42, 0x0c, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f,
259	0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e,
260	0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
261	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
262	0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c,
263	0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67,
264	0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e,
265	0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75,
266	0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f,
267	0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74,
268	0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
269}
270
271var (
272	file_google_cloud_retail_v2_catalog_proto_rawDescOnce sync.Once
273	file_google_cloud_retail_v2_catalog_proto_rawDescData = file_google_cloud_retail_v2_catalog_proto_rawDesc
274)
275
276func file_google_cloud_retail_v2_catalog_proto_rawDescGZIP() []byte {
277	file_google_cloud_retail_v2_catalog_proto_rawDescOnce.Do(func() {
278		file_google_cloud_retail_v2_catalog_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_catalog_proto_rawDescData)
279	})
280	return file_google_cloud_retail_v2_catalog_proto_rawDescData
281}
282
283var file_google_cloud_retail_v2_catalog_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
284var file_google_cloud_retail_v2_catalog_proto_goTypes = []interface{}{
285	(*ProductLevelConfig)(nil), // 0: google.cloud.retail.v2.ProductLevelConfig
286	(*Catalog)(nil),            // 1: google.cloud.retail.v2.Catalog
287}
288var file_google_cloud_retail_v2_catalog_proto_depIdxs = []int32{
289	0, // 0: google.cloud.retail.v2.Catalog.product_level_config:type_name -> google.cloud.retail.v2.ProductLevelConfig
290	1, // [1:1] is the sub-list for method output_type
291	1, // [1:1] is the sub-list for method input_type
292	1, // [1:1] is the sub-list for extension type_name
293	1, // [1:1] is the sub-list for extension extendee
294	0, // [0:1] is the sub-list for field type_name
295}
296
297func init() { file_google_cloud_retail_v2_catalog_proto_init() }
298func file_google_cloud_retail_v2_catalog_proto_init() {
299	if File_google_cloud_retail_v2_catalog_proto != nil {
300		return
301	}
302	if !protoimpl.UnsafeEnabled {
303		file_google_cloud_retail_v2_catalog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
304			switch v := v.(*ProductLevelConfig); i {
305			case 0:
306				return &v.state
307			case 1:
308				return &v.sizeCache
309			case 2:
310				return &v.unknownFields
311			default:
312				return nil
313			}
314		}
315		file_google_cloud_retail_v2_catalog_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
316			switch v := v.(*Catalog); i {
317			case 0:
318				return &v.state
319			case 1:
320				return &v.sizeCache
321			case 2:
322				return &v.unknownFields
323			default:
324				return nil
325			}
326		}
327	}
328	type x struct{}
329	out := protoimpl.TypeBuilder{
330		File: protoimpl.DescBuilder{
331			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
332			RawDescriptor: file_google_cloud_retail_v2_catalog_proto_rawDesc,
333			NumEnums:      0,
334			NumMessages:   2,
335			NumExtensions: 0,
336			NumServices:   0,
337		},
338		GoTypes:           file_google_cloud_retail_v2_catalog_proto_goTypes,
339		DependencyIndexes: file_google_cloud_retail_v2_catalog_proto_depIdxs,
340		MessageInfos:      file_google_cloud_retail_v2_catalog_proto_msgTypes,
341	}.Build()
342	File_google_cloud_retail_v2_catalog_proto = out.File
343	file_google_cloud_retail_v2_catalog_proto_rawDesc = nil
344	file_google_cloud_retail_v2_catalog_proto_goTypes = nil
345	file_google_cloud_retail_v2_catalog_proto_depIdxs = nil
346}
347