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/v2beta/product.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 _ "google.golang.org/protobuf/types/known/fieldmaskpb" 32 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 33 wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" 34) 35 36const ( 37 // Verify that this generated code is sufficiently up-to-date. 38 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 39 // Verify that runtime/protoimpl is sufficiently up-to-date. 40 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 41) 42 43// This is a compile-time assertion that a sufficiently up-to-date version 44// of the legacy proto package is being used. 45const _ = proto.ProtoPackageIsVersion4 46 47// Product availability. If this field is unspecified, the product is 48// assumed to be in stock. 49type Product_Availability int32 50 51const ( 52 // Default product availability. Default to 53 // [Availability.IN_STOCK][google.cloud.retail.v2beta.Product.Availability.IN_STOCK] 54 // if unset. 55 Product_AVAILABILITY_UNSPECIFIED Product_Availability = 0 56 // Product in stock. 57 Product_IN_STOCK Product_Availability = 1 58 // Product out of stock. 59 Product_OUT_OF_STOCK Product_Availability = 2 60 // Product that is in pre-order state. 61 Product_PREORDER Product_Availability = 3 62 // Product that is back-ordered (i.e. temporarily out of stock). 63 Product_BACKORDER Product_Availability = 4 64) 65 66// Enum value maps for Product_Availability. 67var ( 68 Product_Availability_name = map[int32]string{ 69 0: "AVAILABILITY_UNSPECIFIED", 70 1: "IN_STOCK", 71 2: "OUT_OF_STOCK", 72 3: "PREORDER", 73 4: "BACKORDER", 74 } 75 Product_Availability_value = map[string]int32{ 76 "AVAILABILITY_UNSPECIFIED": 0, 77 "IN_STOCK": 1, 78 "OUT_OF_STOCK": 2, 79 "PREORDER": 3, 80 "BACKORDER": 4, 81 } 82) 83 84func (x Product_Availability) Enum() *Product_Availability { 85 p := new(Product_Availability) 86 *p = x 87 return p 88} 89 90func (x Product_Availability) String() string { 91 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 92} 93 94func (Product_Availability) Descriptor() protoreflect.EnumDescriptor { 95 return file_google_cloud_retail_v2beta_product_proto_enumTypes[0].Descriptor() 96} 97 98func (Product_Availability) Type() protoreflect.EnumType { 99 return &file_google_cloud_retail_v2beta_product_proto_enumTypes[0] 100} 101 102func (x Product_Availability) Number() protoreflect.EnumNumber { 103 return protoreflect.EnumNumber(x) 104} 105 106// Deprecated: Use Product_Availability.Descriptor instead. 107func (Product_Availability) EnumDescriptor() ([]byte, []int) { 108 return file_google_cloud_retail_v2beta_product_proto_rawDescGZIP(), []int{0, 0} 109} 110 111// Product captures all metadata information of items to be recommended or 112// searched. 113type Product struct { 114 state protoimpl.MessageState 115 sizeCache protoimpl.SizeCache 116 unknownFields protoimpl.UnknownFields 117 118 // Immutable. Full resource name of the product, such as 119 // 120 // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id". 121 // 122 // The branch ID must be "default_branch". 123 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 124 // Immutable. [Product][google.cloud.retail.v2beta.Product] identifier, which 125 // is the final component of [name][google.cloud.retail.v2beta.Product.name]. 126 // For example, this field is "id_1", if 127 // [name][google.cloud.retail.v2beta.Product.name] is 128 // 129 // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1". 130 // 131 // This field must be a UTF-8 encoded string with a length limit of 128 132 // characters. Otherwise, an INVALID_ARGUMENT error is returned. 133 // 134 // Google Merchant Center property 135 // [id](https://support.google.com/merchants/answer/6324405). 136 // schema.org Property [Product.sku](https://schema.org/sku). 137 Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` 138 // Variant group identifier. Must be an 139 // [id][google.cloud.retail.v2beta.Product.id], with the same parent branch 140 // with this product. Otherwise, an error is thrown. 141 // 142 // For [Type.PRIMARY][] [Product][google.cloud.retail.v2beta.Product]s, this 143 // field can only be empty or set to the same value as 144 // [id][google.cloud.retail.v2beta.Product.id]. 145 // 146 // For [Type.VARIANT][] [Product][google.cloud.retail.v2beta.Product]s, this 147 // field cannot be empty. A maximum of 2000 products are allowed to share the 148 // same [Type.PRIMARY][] [Product][google.cloud.retail.v2beta.Product]. 149 // Otherwise, an INVALID_ARGUMENT error is returned. 150 // 151 // Google Merchant Center Property 152 // [item_group_id](https://support.google.com/merchants/answer/6324507). 153 // schema.org Property 154 // [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID). 155 // 156 // This field must be enabled before it can be used. [Learn 157 // more](/recommendations-ai/docs/catalog#item-group-id). 158 PrimaryProductId string `protobuf:"bytes,4,opt,name=primary_product_id,json=primaryProductId,proto3" json:"primary_product_id,omitempty"` 159 // Product categories. This field is repeated for supporting one product 160 // belonging to several parallel categories. Each value is either the full 161 // path of the category, or the [category 162 // 163 // ID](https: 164 // //www.google.com/basepages/producttype/taxonomy-with-ids.en-US.txt). 165 // Strongly recommended using the full path for better search / recommendation 166 // quality. 167 // 168 // To represent full path of category, use '>' sign to separate different 169 // hierarchies. If '>' is part of the category name, please replace it with 170 // other character(s). 171 // 172 // For example, if a shoes product belongs to both 173 // ["Shoes & Accessories" -> "Shoes"] and 174 // ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be 175 // represented as: 176 // 177 // "categories": [ 178 // "Shoes & Accessories > Shoes", 179 // "Sports & Fitness > Athletic Clothing > Shoes" 180 // ] 181 // 182 // Must be set for [Type.PRIMARY][] 183 // [Product][google.cloud.retail.v2beta.Product] otherwise an INVALID_ARGUMENT 184 // error is returned. 185 // 186 // At most 250 values are allowed per 187 // [Product][google.cloud.retail.v2beta.Product]. Empty values are not 188 // allowed. Each value must be a UTF-8 encoded string with a length limit of 189 // 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. 190 // 191 // Google Merchant Center property 192 // 193 // [google_product_category](https: 194 // //support.google.com/merchants/answer/6324436). 195 // Schema.org property [Product.category] (https://schema.org/category). 196 Categories []string `protobuf:"bytes,7,rep,name=categories,proto3" json:"categories,omitempty"` 197 // Required. Product title. 198 // 199 // This field must be a UTF-8 encoded string with a length limit of 128 200 // characters. Otherwise, an INVALID_ARGUMENT error is returned. 201 // 202 // Google Merchant Center property 203 // [title](https://support.google.com/merchants/answer/6324415). Schema.org 204 // property [Product.name](https://schema.org/name). 205 Title string `protobuf:"bytes,8,opt,name=title,proto3" json:"title,omitempty"` 206 // Product description. 207 // 208 // This field must be a UTF-8 encoded string with a length limit of 5,000 209 // characters. Otherwise, an INVALID_ARGUMENT error is returned. 210 // 211 // Google Merchant Center property 212 // [description](https://support.google.com/merchants/answer/6324468). 213 // schema.org property [Product.description](https://schema.org/description). 214 Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"` 215 // Highly encouraged. Extra product attributes to be included. For example, 216 // for products, this could include the store name, vendor, style, color, etc. 217 // These are very strong signals for recommendation model, thus we highly 218 // recommend providing the attributes here. 219 // 220 // Features that can take on one of a limited number of possible values. Two 221 // types of features can be set are: 222 // 223 // Textual features. some examples would be the brand/maker of a product, or 224 // country of a customer. Numerical features. Some examples would be the 225 // height/weight of a product, or age of a customer. 226 // 227 // For example: { "vendor": {"text": ["vendor123", "vendor456"]}, 228 // "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} 229 // }. 230 // 231 // A maximum of 150 attributes are allowed. Otherwise, an INVALID_ARGUMENT 232 // error is returned. 233 Attributes map[string]*CustomAttribute `protobuf:"bytes,12,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 234 // Custom tags associated with the product. 235 // 236 // At most 250 values are allowed per 237 // [Product][google.cloud.retail.v2beta.Product]. This value must be a UTF-8 238 // encoded string with a length limit of 1,000 characters. Otherwise, an 239 // INVALID_ARGUMENT error is returned. 240 // 241 // This tag can be used for filtering recommendation results by passing the 242 // tag as part of the 243 // [PredictRequest.filter][google.cloud.retail.v2beta.PredictRequest.filter]. 244 // 245 // Google Merchant Center property 246 // [custom_label_0–4](https://support.google.com/merchants/answer/6324473). 247 Tags []string `protobuf:"bytes,13,rep,name=tags,proto3" json:"tags,omitempty"` 248 // Product price and cost information. 249 // 250 // Google Merchant Center property 251 // [price](https://support.google.com/merchants/answer/6324371). 252 PriceInfo *PriceInfo `protobuf:"bytes,14,opt,name=price_info,json=priceInfo,proto3" json:"price_info,omitempty"` 253 // The timestamp when this [Product][google.cloud.retail.v2beta.Product] 254 // becomes available recommendation and search. 255 AvailableTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=available_time,json=availableTime,proto3" json:"available_time,omitempty"` 256 // The online availability of the 257 // [Product][google.cloud.retail.v2beta.Product], which is parallel to and 258 // independent of [fulfillment_info][]. Default is 259 // [Availability.IN_STOCK][google.cloud.retail.v2beta.Product.Availability.IN_STOCK]. 260 // 261 // Google Merchant Center Property 262 // [availability](https://support.google.com/merchants/answer/6324448). 263 // schema.org Property [Offer.availability](https://schema.org/availability). 264 Availability Product_Availability `protobuf:"varint,19,opt,name=availability,proto3,enum=google.cloud.retail.v2beta.Product_Availability" json:"availability,omitempty"` 265 // The available quantity of the item. 266 AvailableQuantity *wrapperspb.Int32Value `protobuf:"bytes,20,opt,name=available_quantity,json=availableQuantity,proto3" json:"available_quantity,omitempty"` 267 // Canonical URL directly linking to the product detail page. 268 // 269 // This field must be a UTF-8 encoded string with a length limit of 5,000 270 // characters. Otherwise, an INVALID_ARGUMENT error is returned. 271 // 272 // Google Merchant Center property 273 // [link](https://support.google.com/merchants/answer/6324416). 274 // Schema.org property [Offer.url](https://schema.org/url). 275 Uri string `protobuf:"bytes,22,opt,name=uri,proto3" json:"uri,omitempty"` 276 // Product images for the product. 277 // 278 // A maximum of 300 images are allowed. 279 // 280 // Google Merchant Center property 281 // [image_link](https://support.google.com/merchants/answer/6324350). 282 // Schema.org property [Product.image](https://schema.org/image). 283 Images []*Image `protobuf:"bytes,23,rep,name=images,proto3" json:"images,omitempty"` 284} 285 286func (x *Product) Reset() { 287 *x = Product{} 288 if protoimpl.UnsafeEnabled { 289 mi := &file_google_cloud_retail_v2beta_product_proto_msgTypes[0] 290 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 291 ms.StoreMessageInfo(mi) 292 } 293} 294 295func (x *Product) String() string { 296 return protoimpl.X.MessageStringOf(x) 297} 298 299func (*Product) ProtoMessage() {} 300 301func (x *Product) ProtoReflect() protoreflect.Message { 302 mi := &file_google_cloud_retail_v2beta_product_proto_msgTypes[0] 303 if protoimpl.UnsafeEnabled && x != nil { 304 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 305 if ms.LoadMessageInfo() == nil { 306 ms.StoreMessageInfo(mi) 307 } 308 return ms 309 } 310 return mi.MessageOf(x) 311} 312 313// Deprecated: Use Product.ProtoReflect.Descriptor instead. 314func (*Product) Descriptor() ([]byte, []int) { 315 return file_google_cloud_retail_v2beta_product_proto_rawDescGZIP(), []int{0} 316} 317 318func (x *Product) GetName() string { 319 if x != nil { 320 return x.Name 321 } 322 return "" 323} 324 325func (x *Product) GetId() string { 326 if x != nil { 327 return x.Id 328 } 329 return "" 330} 331 332func (x *Product) GetPrimaryProductId() string { 333 if x != nil { 334 return x.PrimaryProductId 335 } 336 return "" 337} 338 339func (x *Product) GetCategories() []string { 340 if x != nil { 341 return x.Categories 342 } 343 return nil 344} 345 346func (x *Product) GetTitle() string { 347 if x != nil { 348 return x.Title 349 } 350 return "" 351} 352 353func (x *Product) GetDescription() string { 354 if x != nil { 355 return x.Description 356 } 357 return "" 358} 359 360func (x *Product) GetAttributes() map[string]*CustomAttribute { 361 if x != nil { 362 return x.Attributes 363 } 364 return nil 365} 366 367func (x *Product) GetTags() []string { 368 if x != nil { 369 return x.Tags 370 } 371 return nil 372} 373 374func (x *Product) GetPriceInfo() *PriceInfo { 375 if x != nil { 376 return x.PriceInfo 377 } 378 return nil 379} 380 381func (x *Product) GetAvailableTime() *timestamppb.Timestamp { 382 if x != nil { 383 return x.AvailableTime 384 } 385 return nil 386} 387 388func (x *Product) GetAvailability() Product_Availability { 389 if x != nil { 390 return x.Availability 391 } 392 return Product_AVAILABILITY_UNSPECIFIED 393} 394 395func (x *Product) GetAvailableQuantity() *wrapperspb.Int32Value { 396 if x != nil { 397 return x.AvailableQuantity 398 } 399 return nil 400} 401 402func (x *Product) GetUri() string { 403 if x != nil { 404 return x.Uri 405 } 406 return "" 407} 408 409func (x *Product) GetImages() []*Image { 410 if x != nil { 411 return x.Images 412 } 413 return nil 414} 415 416var File_google_cloud_retail_v2beta_product_proto protoreflect.FileDescriptor 417 418var file_google_cloud_retail_v2beta_product_proto_rawDesc = []byte{ 419 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 420 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x72, 0x6f, 421 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 422 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 423 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 424 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 425 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 426 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 427 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 428 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 429 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 430 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 431 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 432 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 433 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 434 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 435 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 436 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 437 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x08, 0x0a, 438 0x07, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 439 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 440 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 441 0x41, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 442 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 443 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x64, 0x75, 444 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 445 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 446 0x72, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x08, 0x20, 447 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 448 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 449 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 450 0x6e, 0x12, 0x53, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 451 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 452 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 453 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 454 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 455 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0d, 456 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 457 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 458 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 459 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x63, 460 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 461 0x12, 0x41, 0x0a, 0x0e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x69, 462 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 463 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 464 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x54, 465 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 466 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 467 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 468 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x41, 469 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x61, 0x76, 0x61, 470 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x12, 0x61, 0x76, 0x61, 471 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 472 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 473 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 474 0x75, 0x65, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x51, 0x75, 0x61, 475 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x16, 0x20, 0x01, 476 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x39, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 477 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 478 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 479 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 480 0x65, 0x73, 0x1a, 0x6a, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 481 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 482 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 483 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 484 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 485 0x65, 0x74, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 486 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x69, 487 0x0a, 0x0c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1c, 488 0x0a, 0x18, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 489 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 490 0x49, 0x4e, 0x5f, 0x53, 0x54, 0x4f, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x55, 491 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x54, 0x4f, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 492 0x50, 0x52, 0x45, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x41, 493 0x43, 0x4b, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x04, 0x3a, 0x84, 0x01, 0xea, 0x41, 0x80, 0x01, 494 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 495 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 496 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 497 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 498 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 499 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x7d, 0x2f, 0x62, 0x72, 0x61, 0x6e, 500 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x7d, 0x2f, 0x70, 0x72, 501 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x7d, 502 0x42, 0xc4, 0x02, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 503 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 504 0x65, 0x74, 0x61, 0x42, 0x0c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 505 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 506 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 507 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 508 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x3b, 0x72, 509 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 510 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 511 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x42, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, 512 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 513 0x6c, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 514 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 515 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x41, 0x6c, 0x0a, 0x1c, 0x72, 0x65, 0x74, 516 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 517 0x6f, 0x6d, 0x2f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 518 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 519 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 520 0x6e, 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x74, 521 0x61, 0x6c, 0x6f, 0x67, 0x7d, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 522 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 523} 524 525var ( 526 file_google_cloud_retail_v2beta_product_proto_rawDescOnce sync.Once 527 file_google_cloud_retail_v2beta_product_proto_rawDescData = file_google_cloud_retail_v2beta_product_proto_rawDesc 528) 529 530func file_google_cloud_retail_v2beta_product_proto_rawDescGZIP() []byte { 531 file_google_cloud_retail_v2beta_product_proto_rawDescOnce.Do(func() { 532 file_google_cloud_retail_v2beta_product_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_product_proto_rawDescData) 533 }) 534 return file_google_cloud_retail_v2beta_product_proto_rawDescData 535} 536 537var file_google_cloud_retail_v2beta_product_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 538var file_google_cloud_retail_v2beta_product_proto_msgTypes = make([]protoimpl.MessageInfo, 2) 539var file_google_cloud_retail_v2beta_product_proto_goTypes = []interface{}{ 540 (Product_Availability)(0), // 0: google.cloud.retail.v2beta.Product.Availability 541 (*Product)(nil), // 1: google.cloud.retail.v2beta.Product 542 nil, // 2: google.cloud.retail.v2beta.Product.AttributesEntry 543 (*PriceInfo)(nil), // 3: google.cloud.retail.v2beta.PriceInfo 544 (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp 545 (*wrapperspb.Int32Value)(nil), // 5: google.protobuf.Int32Value 546 (*Image)(nil), // 6: google.cloud.retail.v2beta.Image 547 (*CustomAttribute)(nil), // 7: google.cloud.retail.v2beta.CustomAttribute 548} 549var file_google_cloud_retail_v2beta_product_proto_depIdxs = []int32{ 550 2, // 0: google.cloud.retail.v2beta.Product.attributes:type_name -> google.cloud.retail.v2beta.Product.AttributesEntry 551 3, // 1: google.cloud.retail.v2beta.Product.price_info:type_name -> google.cloud.retail.v2beta.PriceInfo 552 4, // 2: google.cloud.retail.v2beta.Product.available_time:type_name -> google.protobuf.Timestamp 553 0, // 3: google.cloud.retail.v2beta.Product.availability:type_name -> google.cloud.retail.v2beta.Product.Availability 554 5, // 4: google.cloud.retail.v2beta.Product.available_quantity:type_name -> google.protobuf.Int32Value 555 6, // 5: google.cloud.retail.v2beta.Product.images:type_name -> google.cloud.retail.v2beta.Image 556 7, // 6: google.cloud.retail.v2beta.Product.AttributesEntry.value:type_name -> google.cloud.retail.v2beta.CustomAttribute 557 7, // [7:7] is the sub-list for method output_type 558 7, // [7:7] is the sub-list for method input_type 559 7, // [7:7] is the sub-list for extension type_name 560 7, // [7:7] is the sub-list for extension extendee 561 0, // [0:7] is the sub-list for field type_name 562} 563 564func init() { file_google_cloud_retail_v2beta_product_proto_init() } 565func file_google_cloud_retail_v2beta_product_proto_init() { 566 if File_google_cloud_retail_v2beta_product_proto != nil { 567 return 568 } 569 file_google_cloud_retail_v2beta_common_proto_init() 570 if !protoimpl.UnsafeEnabled { 571 file_google_cloud_retail_v2beta_product_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 572 switch v := v.(*Product); i { 573 case 0: 574 return &v.state 575 case 1: 576 return &v.sizeCache 577 case 2: 578 return &v.unknownFields 579 default: 580 return nil 581 } 582 } 583 } 584 type x struct{} 585 out := protoimpl.TypeBuilder{ 586 File: protoimpl.DescBuilder{ 587 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 588 RawDescriptor: file_google_cloud_retail_v2beta_product_proto_rawDesc, 589 NumEnums: 1, 590 NumMessages: 2, 591 NumExtensions: 0, 592 NumServices: 0, 593 }, 594 GoTypes: file_google_cloud_retail_v2beta_product_proto_goTypes, 595 DependencyIndexes: file_google_cloud_retail_v2beta_product_proto_depIdxs, 596 EnumInfos: file_google_cloud_retail_v2beta_product_proto_enumTypes, 597 MessageInfos: file_google_cloud_retail_v2beta_product_proto_msgTypes, 598 }.Build() 599 File_google_cloud_retail_v2beta_product_proto = out.File 600 file_google_cloud_retail_v2beta_product_proto_rawDesc = nil 601 file_google_cloud_retail_v2beta_product_proto_goTypes = nil 602 file_google_cloud_retail_v2beta_product_proto_depIdxs = nil 603} 604