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-devel 18// protoc v3.13.0 19// source: google/cloud/retail/v2/import_config.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 status "google.golang.org/genproto/googleapis/rpc/status" 30 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 31 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 32 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 33 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 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// Google Cloud Storage location for input content. 48// format. 49type GcsSource struct { 50 state protoimpl.MessageState 51 sizeCache protoimpl.SizeCache 52 unknownFields protoimpl.UnknownFields 53 54 // Required. Google Cloud Storage URIs to input files. URI can be up to 55 // 2000 characters long. URIs can match the full object path (for example, 56 // `gs://bucket/directory/object.json`) or a pattern matching one or more 57 // files, such as `gs://bucket/directory/*.json`. A request can 58 // contain at most 100 files, and each file can be up to 2 GB. See 59 // [Importing product 60 // information](https://cloud.google.com/recommendations-ai/docs/upload-catalog) 61 // for the expected file format and setup instructions. 62 InputUris []string `protobuf:"bytes,1,rep,name=input_uris,json=inputUris,proto3" json:"input_uris,omitempty"` 63 // The schema to use when parsing the data from the source. 64 // 65 // Supported values for product imports: 66 // 67 // * `product` (default): One JSON [Product][google.cloud.retail.v2.Product] 68 // per line. Each product must 69 // have a valid [Product.id][google.cloud.retail.v2.Product.id]. 70 // * `product_merchant_center`: See [Importing catalog data from Merchant 71 // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). 72 // 73 // Supported values for user events imports: 74 // 75 // * `user_event` (default): One JSON 76 // [UserEvent][google.cloud.retail.v2.UserEvent] per line. 77 // * `user_event_ga360`: Using 78 // https://support.google.com/analytics/answer/3437719?hl=en. 79 DataSchema string `protobuf:"bytes,2,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"` 80} 81 82func (x *GcsSource) Reset() { 83 *x = GcsSource{} 84 if protoimpl.UnsafeEnabled { 85 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[0] 86 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 87 ms.StoreMessageInfo(mi) 88 } 89} 90 91func (x *GcsSource) String() string { 92 return protoimpl.X.MessageStringOf(x) 93} 94 95func (*GcsSource) ProtoMessage() {} 96 97func (x *GcsSource) ProtoReflect() protoreflect.Message { 98 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[0] 99 if protoimpl.UnsafeEnabled && x != nil { 100 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 101 if ms.LoadMessageInfo() == nil { 102 ms.StoreMessageInfo(mi) 103 } 104 return ms 105 } 106 return mi.MessageOf(x) 107} 108 109// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead. 110func (*GcsSource) Descriptor() ([]byte, []int) { 111 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{0} 112} 113 114func (x *GcsSource) GetInputUris() []string { 115 if x != nil { 116 return x.InputUris 117 } 118 return nil 119} 120 121func (x *GcsSource) GetDataSchema() string { 122 if x != nil { 123 return x.DataSchema 124 } 125 return "" 126} 127 128// BigQuery source import data from. 129type BigQuerySource struct { 130 state protoimpl.MessageState 131 sizeCache protoimpl.SizeCache 132 unknownFields protoimpl.UnknownFields 133 134 // The project id (can be project # or id) that the BigQuery source is in with 135 // a length limit of 128 characters. If not specified, inherits the project 136 // id from the parent request. 137 ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` 138 // Required. The BigQuery data set to copy the data from with a length limit 139 // of 1,024 characters. 140 DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` 141 // Required. The BigQuery table to copy the data from with a length limit of 142 // 1,024 characters. 143 TableId string `protobuf:"bytes,2,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` 144 // Intermediate Cloud Storage directory used for the import with a length 145 // limit of 2,000 characters. Can be specified if one wants to have the 146 // BigQuery export to a specific Cloud Storage directory. 147 GcsStagingDir string `protobuf:"bytes,3,opt,name=gcs_staging_dir,json=gcsStagingDir,proto3" json:"gcs_staging_dir,omitempty"` 148 // The schema to use when parsing the data from the source. 149 // 150 // Supported values for product imports: 151 // 152 // * `product` (default): One JSON [Product][google.cloud.retail.v2.Product] 153 // per line. Each product must 154 // have a valid [Product.id][google.cloud.retail.v2.Product.id]. 155 // * `product_merchant_center`: See [Importing catalog data from Merchant 156 // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). 157 // 158 // Supported values for user events imports: 159 // 160 // * `user_event` (default): One JSON 161 // [UserEvent][google.cloud.retail.v2.UserEvent] per line. 162 // * `user_event_ga360`: Using 163 // https://support.google.com/analytics/answer/3437719?hl=en. 164 DataSchema string `protobuf:"bytes,4,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"` 165} 166 167func (x *BigQuerySource) Reset() { 168 *x = BigQuerySource{} 169 if protoimpl.UnsafeEnabled { 170 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[1] 171 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 172 ms.StoreMessageInfo(mi) 173 } 174} 175 176func (x *BigQuerySource) String() string { 177 return protoimpl.X.MessageStringOf(x) 178} 179 180func (*BigQuerySource) ProtoMessage() {} 181 182func (x *BigQuerySource) ProtoReflect() protoreflect.Message { 183 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[1] 184 if protoimpl.UnsafeEnabled && x != nil { 185 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 186 if ms.LoadMessageInfo() == nil { 187 ms.StoreMessageInfo(mi) 188 } 189 return ms 190 } 191 return mi.MessageOf(x) 192} 193 194// Deprecated: Use BigQuerySource.ProtoReflect.Descriptor instead. 195func (*BigQuerySource) Descriptor() ([]byte, []int) { 196 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{1} 197} 198 199func (x *BigQuerySource) GetProjectId() string { 200 if x != nil { 201 return x.ProjectId 202 } 203 return "" 204} 205 206func (x *BigQuerySource) GetDatasetId() string { 207 if x != nil { 208 return x.DatasetId 209 } 210 return "" 211} 212 213func (x *BigQuerySource) GetTableId() string { 214 if x != nil { 215 return x.TableId 216 } 217 return "" 218} 219 220func (x *BigQuerySource) GetGcsStagingDir() string { 221 if x != nil { 222 return x.GcsStagingDir 223 } 224 return "" 225} 226 227func (x *BigQuerySource) GetDataSchema() string { 228 if x != nil { 229 return x.DataSchema 230 } 231 return "" 232} 233 234// The inline source for the input config for ImportProducts method. 235type ProductInlineSource struct { 236 state protoimpl.MessageState 237 sizeCache protoimpl.SizeCache 238 unknownFields protoimpl.UnknownFields 239 240 // Required. A list of products to update/create. Each product must have a 241 // valid [Product.id][google.cloud.retail.v2.Product.id]. Recommended max of 242 // 10k items. 243 Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"` 244} 245 246func (x *ProductInlineSource) Reset() { 247 *x = ProductInlineSource{} 248 if protoimpl.UnsafeEnabled { 249 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[2] 250 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 251 ms.StoreMessageInfo(mi) 252 } 253} 254 255func (x *ProductInlineSource) String() string { 256 return protoimpl.X.MessageStringOf(x) 257} 258 259func (*ProductInlineSource) ProtoMessage() {} 260 261func (x *ProductInlineSource) ProtoReflect() protoreflect.Message { 262 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[2] 263 if protoimpl.UnsafeEnabled && x != nil { 264 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 265 if ms.LoadMessageInfo() == nil { 266 ms.StoreMessageInfo(mi) 267 } 268 return ms 269 } 270 return mi.MessageOf(x) 271} 272 273// Deprecated: Use ProductInlineSource.ProtoReflect.Descriptor instead. 274func (*ProductInlineSource) Descriptor() ([]byte, []int) { 275 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{2} 276} 277 278func (x *ProductInlineSource) GetProducts() []*Product { 279 if x != nil { 280 return x.Products 281 } 282 return nil 283} 284 285// The inline source for the input config for ImportUserEvents method. 286type UserEventInlineSource struct { 287 state protoimpl.MessageState 288 sizeCache protoimpl.SizeCache 289 unknownFields protoimpl.UnknownFields 290 291 // Required. A list of user events to import. Recommended max of 10k items. 292 UserEvents []*UserEvent `protobuf:"bytes,1,rep,name=user_events,json=userEvents,proto3" json:"user_events,omitempty"` 293} 294 295func (x *UserEventInlineSource) Reset() { 296 *x = UserEventInlineSource{} 297 if protoimpl.UnsafeEnabled { 298 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[3] 299 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 300 ms.StoreMessageInfo(mi) 301 } 302} 303 304func (x *UserEventInlineSource) String() string { 305 return protoimpl.X.MessageStringOf(x) 306} 307 308func (*UserEventInlineSource) ProtoMessage() {} 309 310func (x *UserEventInlineSource) ProtoReflect() protoreflect.Message { 311 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[3] 312 if protoimpl.UnsafeEnabled && x != nil { 313 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 314 if ms.LoadMessageInfo() == nil { 315 ms.StoreMessageInfo(mi) 316 } 317 return ms 318 } 319 return mi.MessageOf(x) 320} 321 322// Deprecated: Use UserEventInlineSource.ProtoReflect.Descriptor instead. 323func (*UserEventInlineSource) Descriptor() ([]byte, []int) { 324 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{3} 325} 326 327func (x *UserEventInlineSource) GetUserEvents() []*UserEvent { 328 if x != nil { 329 return x.UserEvents 330 } 331 return nil 332} 333 334// Configuration of destination for Import related errors. 335type ImportErrorsConfig struct { 336 state protoimpl.MessageState 337 sizeCache protoimpl.SizeCache 338 unknownFields protoimpl.UnknownFields 339 340 // Required. Errors destination. 341 // 342 // Types that are assignable to Destination: 343 // *ImportErrorsConfig_GcsPrefix 344 Destination isImportErrorsConfig_Destination `protobuf_oneof:"destination"` 345} 346 347func (x *ImportErrorsConfig) Reset() { 348 *x = ImportErrorsConfig{} 349 if protoimpl.UnsafeEnabled { 350 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[4] 351 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 352 ms.StoreMessageInfo(mi) 353 } 354} 355 356func (x *ImportErrorsConfig) String() string { 357 return protoimpl.X.MessageStringOf(x) 358} 359 360func (*ImportErrorsConfig) ProtoMessage() {} 361 362func (x *ImportErrorsConfig) ProtoReflect() protoreflect.Message { 363 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[4] 364 if protoimpl.UnsafeEnabled && x != nil { 365 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 366 if ms.LoadMessageInfo() == nil { 367 ms.StoreMessageInfo(mi) 368 } 369 return ms 370 } 371 return mi.MessageOf(x) 372} 373 374// Deprecated: Use ImportErrorsConfig.ProtoReflect.Descriptor instead. 375func (*ImportErrorsConfig) Descriptor() ([]byte, []int) { 376 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{4} 377} 378 379func (m *ImportErrorsConfig) GetDestination() isImportErrorsConfig_Destination { 380 if m != nil { 381 return m.Destination 382 } 383 return nil 384} 385 386func (x *ImportErrorsConfig) GetGcsPrefix() string { 387 if x, ok := x.GetDestination().(*ImportErrorsConfig_GcsPrefix); ok { 388 return x.GcsPrefix 389 } 390 return "" 391} 392 393type isImportErrorsConfig_Destination interface { 394 isImportErrorsConfig_Destination() 395} 396 397type ImportErrorsConfig_GcsPrefix struct { 398 // Google Cloud Storage path for import errors. This must be an empty, 399 // existing Cloud Storage bucket. Import errors will be written to a file in 400 // this bucket, one per line, as a JSON-encoded 401 // `google.rpc.Status` message. 402 GcsPrefix string `protobuf:"bytes,1,opt,name=gcs_prefix,json=gcsPrefix,proto3,oneof"` 403} 404 405func (*ImportErrorsConfig_GcsPrefix) isImportErrorsConfig_Destination() {} 406 407// Request message for Import methods. 408type ImportProductsRequest struct { 409 state protoimpl.MessageState 410 sizeCache protoimpl.SizeCache 411 unknownFields protoimpl.UnknownFields 412 413 // Required. 414 // `projects/1234/locations/global/catalogs/default_catalog/branches/default_branch` 415 // 416 // If no updateMask is specified, requires products.create permission. 417 // If updateMask is specified, requires products.update permission. 418 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 419 // Required. The desired input location of the data. 420 InputConfig *ProductInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` 421 // The desired location of errors incurred during the Import. 422 ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,3,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` 423 // Indicates which fields in the provided imported 'products' to update. If 424 // not set, will by default update all fields. 425 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 426} 427 428func (x *ImportProductsRequest) Reset() { 429 *x = ImportProductsRequest{} 430 if protoimpl.UnsafeEnabled { 431 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[5] 432 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 433 ms.StoreMessageInfo(mi) 434 } 435} 436 437func (x *ImportProductsRequest) String() string { 438 return protoimpl.X.MessageStringOf(x) 439} 440 441func (*ImportProductsRequest) ProtoMessage() {} 442 443func (x *ImportProductsRequest) ProtoReflect() protoreflect.Message { 444 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[5] 445 if protoimpl.UnsafeEnabled && x != nil { 446 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 447 if ms.LoadMessageInfo() == nil { 448 ms.StoreMessageInfo(mi) 449 } 450 return ms 451 } 452 return mi.MessageOf(x) 453} 454 455// Deprecated: Use ImportProductsRequest.ProtoReflect.Descriptor instead. 456func (*ImportProductsRequest) Descriptor() ([]byte, []int) { 457 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{5} 458} 459 460func (x *ImportProductsRequest) GetParent() string { 461 if x != nil { 462 return x.Parent 463 } 464 return "" 465} 466 467func (x *ImportProductsRequest) GetInputConfig() *ProductInputConfig { 468 if x != nil { 469 return x.InputConfig 470 } 471 return nil 472} 473 474func (x *ImportProductsRequest) GetErrorsConfig() *ImportErrorsConfig { 475 if x != nil { 476 return x.ErrorsConfig 477 } 478 return nil 479} 480 481func (x *ImportProductsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 482 if x != nil { 483 return x.UpdateMask 484 } 485 return nil 486} 487 488// Request message for the ImportUserEvents request. 489type ImportUserEventsRequest struct { 490 state protoimpl.MessageState 491 sizeCache protoimpl.SizeCache 492 unknownFields protoimpl.UnknownFields 493 494 // Required. `projects/1234/locations/global/catalogs/default_catalog` 495 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 496 // Required. The desired input location of the data. 497 InputConfig *UserEventInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` 498 // The desired location of errors incurred during the Import. Cannot be set 499 // for inline user event imports. 500 ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,3,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` 501} 502 503func (x *ImportUserEventsRequest) Reset() { 504 *x = ImportUserEventsRequest{} 505 if protoimpl.UnsafeEnabled { 506 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[6] 507 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 508 ms.StoreMessageInfo(mi) 509 } 510} 511 512func (x *ImportUserEventsRequest) String() string { 513 return protoimpl.X.MessageStringOf(x) 514} 515 516func (*ImportUserEventsRequest) ProtoMessage() {} 517 518func (x *ImportUserEventsRequest) ProtoReflect() protoreflect.Message { 519 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[6] 520 if protoimpl.UnsafeEnabled && x != nil { 521 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 522 if ms.LoadMessageInfo() == nil { 523 ms.StoreMessageInfo(mi) 524 } 525 return ms 526 } 527 return mi.MessageOf(x) 528} 529 530// Deprecated: Use ImportUserEventsRequest.ProtoReflect.Descriptor instead. 531func (*ImportUserEventsRequest) Descriptor() ([]byte, []int) { 532 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{6} 533} 534 535func (x *ImportUserEventsRequest) GetParent() string { 536 if x != nil { 537 return x.Parent 538 } 539 return "" 540} 541 542func (x *ImportUserEventsRequest) GetInputConfig() *UserEventInputConfig { 543 if x != nil { 544 return x.InputConfig 545 } 546 return nil 547} 548 549func (x *ImportUserEventsRequest) GetErrorsConfig() *ImportErrorsConfig { 550 if x != nil { 551 return x.ErrorsConfig 552 } 553 return nil 554} 555 556// The input config source for products. 557type ProductInputConfig struct { 558 state protoimpl.MessageState 559 sizeCache protoimpl.SizeCache 560 unknownFields protoimpl.UnknownFields 561 562 // Required. The source of the input. 563 // 564 // Types that are assignable to Source: 565 // *ProductInputConfig_ProductInlineSource 566 // *ProductInputConfig_GcsSource 567 // *ProductInputConfig_BigQuerySource 568 Source isProductInputConfig_Source `protobuf_oneof:"source"` 569} 570 571func (x *ProductInputConfig) Reset() { 572 *x = ProductInputConfig{} 573 if protoimpl.UnsafeEnabled { 574 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[7] 575 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 576 ms.StoreMessageInfo(mi) 577 } 578} 579 580func (x *ProductInputConfig) String() string { 581 return protoimpl.X.MessageStringOf(x) 582} 583 584func (*ProductInputConfig) ProtoMessage() {} 585 586func (x *ProductInputConfig) ProtoReflect() protoreflect.Message { 587 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[7] 588 if protoimpl.UnsafeEnabled && x != nil { 589 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 590 if ms.LoadMessageInfo() == nil { 591 ms.StoreMessageInfo(mi) 592 } 593 return ms 594 } 595 return mi.MessageOf(x) 596} 597 598// Deprecated: Use ProductInputConfig.ProtoReflect.Descriptor instead. 599func (*ProductInputConfig) Descriptor() ([]byte, []int) { 600 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{7} 601} 602 603func (m *ProductInputConfig) GetSource() isProductInputConfig_Source { 604 if m != nil { 605 return m.Source 606 } 607 return nil 608} 609 610func (x *ProductInputConfig) GetProductInlineSource() *ProductInlineSource { 611 if x, ok := x.GetSource().(*ProductInputConfig_ProductInlineSource); ok { 612 return x.ProductInlineSource 613 } 614 return nil 615} 616 617func (x *ProductInputConfig) GetGcsSource() *GcsSource { 618 if x, ok := x.GetSource().(*ProductInputConfig_GcsSource); ok { 619 return x.GcsSource 620 } 621 return nil 622} 623 624func (x *ProductInputConfig) GetBigQuerySource() *BigQuerySource { 625 if x, ok := x.GetSource().(*ProductInputConfig_BigQuerySource); ok { 626 return x.BigQuerySource 627 } 628 return nil 629} 630 631type isProductInputConfig_Source interface { 632 isProductInputConfig_Source() 633} 634 635type ProductInputConfig_ProductInlineSource struct { 636 // The Inline source for the input content for products. 637 ProductInlineSource *ProductInlineSource `protobuf:"bytes,1,opt,name=product_inline_source,json=productInlineSource,proto3,oneof"` 638} 639 640type ProductInputConfig_GcsSource struct { 641 // Google Cloud Storage location for the input content. 642 GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` 643} 644 645type ProductInputConfig_BigQuerySource struct { 646 // BigQuery input source. 647 BigQuerySource *BigQuerySource `protobuf:"bytes,3,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"` 648} 649 650func (*ProductInputConfig_ProductInlineSource) isProductInputConfig_Source() {} 651 652func (*ProductInputConfig_GcsSource) isProductInputConfig_Source() {} 653 654func (*ProductInputConfig_BigQuerySource) isProductInputConfig_Source() {} 655 656// The input config source for user events. 657type UserEventInputConfig struct { 658 state protoimpl.MessageState 659 sizeCache protoimpl.SizeCache 660 unknownFields protoimpl.UnknownFields 661 662 // The source of the input. 663 // 664 // Types that are assignable to Source: 665 // *UserEventInputConfig_UserEventInlineSource 666 // *UserEventInputConfig_GcsSource 667 // *UserEventInputConfig_BigQuerySource 668 Source isUserEventInputConfig_Source `protobuf_oneof:"source"` 669} 670 671func (x *UserEventInputConfig) Reset() { 672 *x = UserEventInputConfig{} 673 if protoimpl.UnsafeEnabled { 674 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[8] 675 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 676 ms.StoreMessageInfo(mi) 677 } 678} 679 680func (x *UserEventInputConfig) String() string { 681 return protoimpl.X.MessageStringOf(x) 682} 683 684func (*UserEventInputConfig) ProtoMessage() {} 685 686func (x *UserEventInputConfig) ProtoReflect() protoreflect.Message { 687 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[8] 688 if protoimpl.UnsafeEnabled && x != nil { 689 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 690 if ms.LoadMessageInfo() == nil { 691 ms.StoreMessageInfo(mi) 692 } 693 return ms 694 } 695 return mi.MessageOf(x) 696} 697 698// Deprecated: Use UserEventInputConfig.ProtoReflect.Descriptor instead. 699func (*UserEventInputConfig) Descriptor() ([]byte, []int) { 700 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{8} 701} 702 703func (m *UserEventInputConfig) GetSource() isUserEventInputConfig_Source { 704 if m != nil { 705 return m.Source 706 } 707 return nil 708} 709 710func (x *UserEventInputConfig) GetUserEventInlineSource() *UserEventInlineSource { 711 if x, ok := x.GetSource().(*UserEventInputConfig_UserEventInlineSource); ok { 712 return x.UserEventInlineSource 713 } 714 return nil 715} 716 717func (x *UserEventInputConfig) GetGcsSource() *GcsSource { 718 if x, ok := x.GetSource().(*UserEventInputConfig_GcsSource); ok { 719 return x.GcsSource 720 } 721 return nil 722} 723 724func (x *UserEventInputConfig) GetBigQuerySource() *BigQuerySource { 725 if x, ok := x.GetSource().(*UserEventInputConfig_BigQuerySource); ok { 726 return x.BigQuerySource 727 } 728 return nil 729} 730 731type isUserEventInputConfig_Source interface { 732 isUserEventInputConfig_Source() 733} 734 735type UserEventInputConfig_UserEventInlineSource struct { 736 // Required. The Inline source for the input content for UserEvents. 737 UserEventInlineSource *UserEventInlineSource `protobuf:"bytes,1,opt,name=user_event_inline_source,json=userEventInlineSource,proto3,oneof"` 738} 739 740type UserEventInputConfig_GcsSource struct { 741 // Required. Google Cloud Storage location for the input content. 742 GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` 743} 744 745type UserEventInputConfig_BigQuerySource struct { 746 // Required. BigQuery input source. 747 BigQuerySource *BigQuerySource `protobuf:"bytes,3,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"` 748} 749 750func (*UserEventInputConfig_UserEventInlineSource) isUserEventInputConfig_Source() {} 751 752func (*UserEventInputConfig_GcsSource) isUserEventInputConfig_Source() {} 753 754func (*UserEventInputConfig_BigQuerySource) isUserEventInputConfig_Source() {} 755 756// Metadata related to the progress of the Import operation. This will be 757// returned by the google.longrunning.Operation.metadata field. 758type ImportMetadata struct { 759 state protoimpl.MessageState 760 sizeCache protoimpl.SizeCache 761 unknownFields protoimpl.UnknownFields 762 763 // Operation create time. 764 CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 765 // Operation last update time. If the operation is done, this is also the 766 // finish time. 767 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 768 // Count of entries that were processed successfully. 769 SuccessCount int64 `protobuf:"varint,3,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"` 770 // Count of entries that encountered errors while processing. 771 FailureCount int64 `protobuf:"varint,4,opt,name=failure_count,json=failureCount,proto3" json:"failure_count,omitempty"` 772} 773 774func (x *ImportMetadata) Reset() { 775 *x = ImportMetadata{} 776 if protoimpl.UnsafeEnabled { 777 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[9] 778 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 779 ms.StoreMessageInfo(mi) 780 } 781} 782 783func (x *ImportMetadata) String() string { 784 return protoimpl.X.MessageStringOf(x) 785} 786 787func (*ImportMetadata) ProtoMessage() {} 788 789func (x *ImportMetadata) ProtoReflect() protoreflect.Message { 790 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[9] 791 if protoimpl.UnsafeEnabled && x != nil { 792 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 793 if ms.LoadMessageInfo() == nil { 794 ms.StoreMessageInfo(mi) 795 } 796 return ms 797 } 798 return mi.MessageOf(x) 799} 800 801// Deprecated: Use ImportMetadata.ProtoReflect.Descriptor instead. 802func (*ImportMetadata) Descriptor() ([]byte, []int) { 803 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{9} 804} 805 806func (x *ImportMetadata) GetCreateTime() *timestamppb.Timestamp { 807 if x != nil { 808 return x.CreateTime 809 } 810 return nil 811} 812 813func (x *ImportMetadata) GetUpdateTime() *timestamppb.Timestamp { 814 if x != nil { 815 return x.UpdateTime 816 } 817 return nil 818} 819 820func (x *ImportMetadata) GetSuccessCount() int64 { 821 if x != nil { 822 return x.SuccessCount 823 } 824 return 0 825} 826 827func (x *ImportMetadata) GetFailureCount() int64 { 828 if x != nil { 829 return x.FailureCount 830 } 831 return 0 832} 833 834// Response of the 835// [ImportProductsRequest][google.cloud.retail.v2.ImportProductsRequest]. If the 836// long running operation is done, then this message is returned by the 837// google.longrunning.Operations.response field if the operation was successful. 838type ImportProductsResponse struct { 839 state protoimpl.MessageState 840 sizeCache protoimpl.SizeCache 841 unknownFields protoimpl.UnknownFields 842 843 // A sample of errors encountered while processing the request. 844 ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` 845 // Echoes the destination for the complete errors in the request if set. 846 ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` 847} 848 849func (x *ImportProductsResponse) Reset() { 850 *x = ImportProductsResponse{} 851 if protoimpl.UnsafeEnabled { 852 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[10] 853 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 854 ms.StoreMessageInfo(mi) 855 } 856} 857 858func (x *ImportProductsResponse) String() string { 859 return protoimpl.X.MessageStringOf(x) 860} 861 862func (*ImportProductsResponse) ProtoMessage() {} 863 864func (x *ImportProductsResponse) ProtoReflect() protoreflect.Message { 865 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[10] 866 if protoimpl.UnsafeEnabled && x != nil { 867 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 868 if ms.LoadMessageInfo() == nil { 869 ms.StoreMessageInfo(mi) 870 } 871 return ms 872 } 873 return mi.MessageOf(x) 874} 875 876// Deprecated: Use ImportProductsResponse.ProtoReflect.Descriptor instead. 877func (*ImportProductsResponse) Descriptor() ([]byte, []int) { 878 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{10} 879} 880 881func (x *ImportProductsResponse) GetErrorSamples() []*status.Status { 882 if x != nil { 883 return x.ErrorSamples 884 } 885 return nil 886} 887 888func (x *ImportProductsResponse) GetErrorsConfig() *ImportErrorsConfig { 889 if x != nil { 890 return x.ErrorsConfig 891 } 892 return nil 893} 894 895// Response of the ImportUserEventsRequest. If the long running 896// operation was successful, then this message is returned by the 897// google.longrunning.Operations.response field if the operation was successful. 898type ImportUserEventsResponse struct { 899 state protoimpl.MessageState 900 sizeCache protoimpl.SizeCache 901 unknownFields protoimpl.UnknownFields 902 903 // A sample of errors encountered while processing the request. 904 ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` 905 // Echoes the destination for the complete errors if this field was set in 906 // the request. 907 ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` 908 // Aggregated statistics of user event import status. 909 ImportSummary *UserEventImportSummary `protobuf:"bytes,3,opt,name=import_summary,json=importSummary,proto3" json:"import_summary,omitempty"` 910} 911 912func (x *ImportUserEventsResponse) Reset() { 913 *x = ImportUserEventsResponse{} 914 if protoimpl.UnsafeEnabled { 915 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[11] 916 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 917 ms.StoreMessageInfo(mi) 918 } 919} 920 921func (x *ImportUserEventsResponse) String() string { 922 return protoimpl.X.MessageStringOf(x) 923} 924 925func (*ImportUserEventsResponse) ProtoMessage() {} 926 927func (x *ImportUserEventsResponse) ProtoReflect() protoreflect.Message { 928 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[11] 929 if protoimpl.UnsafeEnabled && x != nil { 930 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 931 if ms.LoadMessageInfo() == nil { 932 ms.StoreMessageInfo(mi) 933 } 934 return ms 935 } 936 return mi.MessageOf(x) 937} 938 939// Deprecated: Use ImportUserEventsResponse.ProtoReflect.Descriptor instead. 940func (*ImportUserEventsResponse) Descriptor() ([]byte, []int) { 941 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{11} 942} 943 944func (x *ImportUserEventsResponse) GetErrorSamples() []*status.Status { 945 if x != nil { 946 return x.ErrorSamples 947 } 948 return nil 949} 950 951func (x *ImportUserEventsResponse) GetErrorsConfig() *ImportErrorsConfig { 952 if x != nil { 953 return x.ErrorsConfig 954 } 955 return nil 956} 957 958func (x *ImportUserEventsResponse) GetImportSummary() *UserEventImportSummary { 959 if x != nil { 960 return x.ImportSummary 961 } 962 return nil 963} 964 965// A summary of import result. The UserEventImportSummary summarizes 966// the import status for user events. 967type UserEventImportSummary struct { 968 state protoimpl.MessageState 969 sizeCache protoimpl.SizeCache 970 unknownFields protoimpl.UnknownFields 971 972 // Count of user events imported with complete existing catalog information. 973 JoinedEventsCount int64 `protobuf:"varint,1,opt,name=joined_events_count,json=joinedEventsCount,proto3" json:"joined_events_count,omitempty"` 974 // Count of user events imported, but with catalog information not found 975 // in the imported catalog. 976 UnjoinedEventsCount int64 `protobuf:"varint,2,opt,name=unjoined_events_count,json=unjoinedEventsCount,proto3" json:"unjoined_events_count,omitempty"` 977} 978 979func (x *UserEventImportSummary) Reset() { 980 *x = UserEventImportSummary{} 981 if protoimpl.UnsafeEnabled { 982 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[12] 983 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 984 ms.StoreMessageInfo(mi) 985 } 986} 987 988func (x *UserEventImportSummary) String() string { 989 return protoimpl.X.MessageStringOf(x) 990} 991 992func (*UserEventImportSummary) ProtoMessage() {} 993 994func (x *UserEventImportSummary) ProtoReflect() protoreflect.Message { 995 mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[12] 996 if protoimpl.UnsafeEnabled && x != nil { 997 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 998 if ms.LoadMessageInfo() == nil { 999 ms.StoreMessageInfo(mi) 1000 } 1001 return ms 1002 } 1003 return mi.MessageOf(x) 1004} 1005 1006// Deprecated: Use UserEventImportSummary.ProtoReflect.Descriptor instead. 1007func (*UserEventImportSummary) Descriptor() ([]byte, []int) { 1008 return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{12} 1009} 1010 1011func (x *UserEventImportSummary) GetJoinedEventsCount() int64 { 1012 if x != nil { 1013 return x.JoinedEventsCount 1014 } 1015 return 0 1016} 1017 1018func (x *UserEventImportSummary) GetUnjoinedEventsCount() int64 { 1019 if x != nil { 1020 return x.UnjoinedEventsCount 1021 } 1022 return 0 1023} 1024 1025var File_google_cloud_retail_v2_import_config_proto protoreflect.FileDescriptor 1026 1027var file_google_cloud_retail_v2_import_config_proto_rawDesc = []byte{ 1028 0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 1029 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 1030 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 1031 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 1032 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 1033 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 1034 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 1035 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 1036 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 1037 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x64, 1038 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1039 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 1040 0x32, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 1041 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1042 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 1043 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 1044 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 1045 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 1046 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 1047 0x0a, 0x09, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x69, 1048 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 1049 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 1050 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 1051 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 1052 0x22, 0xbc, 0x01, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 1053 0x72, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 1054 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 1055 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 1056 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x61, 0x74, 1057 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 1058 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x74, 1059 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x74, 1060 0x61, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 1061 0x0d, 0x67, 0x63, 0x73, 0x53, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x12, 0x1f, 1062 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 1063 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 1064 0x57, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 1065 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 1066 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1067 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 1068 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 1069 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x22, 0x60, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 1070 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 1071 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 1072 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1073 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 1074 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 1075 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x49, 0x6d, 1076 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1077 0x12, 0x1f, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 1078 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 1079 0x78, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1080 0x22, 0x96, 0x02, 0x0a, 0x15, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 1081 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 1082 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 1083 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 1084 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 1085 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 1086 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 1087 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 1088 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0d, 0x65, 1089 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 1090 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1091 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 1092 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 1093 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x0b, 1094 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 1095 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1096 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 1097 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xdd, 0x01, 0x0a, 0x17, 0x49, 0x6d, 1098 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 1099 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 1100 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 1101 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 1102 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1103 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 1104 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 1105 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6e, 0x70, 1106 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 1107 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 1108 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 1109 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 1110 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 1111 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x99, 0x02, 0x0a, 0x12, 0x50, 0x72, 1112 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1113 0x12, 0x61, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x6c, 0x69, 1114 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 1115 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 1116 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 1117 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x13, 1118 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 1119 0x72, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 1120 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1121 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 1122 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 1123 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x5f, 0x71, 1124 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 1125 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1126 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 1127 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x69, 0x67, 1128 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 1129 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 1130 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6d, 1131 0x0a, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x6c, 1132 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 1133 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1134 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 1135 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 1136 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 1137 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x47, 0x0a, 1138 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 1139 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1140 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 1141 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 1142 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x5f, 0x71, 0x75, 1143 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 1144 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1145 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 1146 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 1147 0x0e, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 1148 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x0e, 0x49, 0x6d, 1149 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x0b, 1150 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 1151 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1152 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 1153 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 1154 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 1155 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1156 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 1157 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 1158 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 1159 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, 1160 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 1161 0x28, 0x03, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 1162 0x22, 0xa2, 0x01, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 1163 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 1164 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 1165 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 1166 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 1167 0x70, 0x6c, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 1168 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 1169 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 1170 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 1171 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 1172 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xfb, 0x01, 0x0a, 0x18, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 1173 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 1174 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 1175 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1176 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 1177 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x65, 1178 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 1179 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1180 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 1181 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 1182 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x0e, 1183 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 1184 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1185 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 1186 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 1187 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x6d, 1188 0x61, 0x72, 0x79, 0x22, 0x7c, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 1189 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2e, 0x0a, 1190 0x13, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 1191 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6a, 0x6f, 0x69, 0x6e, 1192 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 1193 0x15, 0x75, 0x6e, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 1194 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x75, 0x6e, 1195 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 1196 0x74, 0x42, 0xc6, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1197 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 1198 0x42, 0x11, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 1199 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 1200 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 1201 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 1202 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x74, 1203 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x16, 0x47, 1204 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 1205 0x69, 0x6c, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 1206 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0xea, 0x02, 1207 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 1208 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 1209 0x6f, 0x33, 1210} 1211 1212var ( 1213 file_google_cloud_retail_v2_import_config_proto_rawDescOnce sync.Once 1214 file_google_cloud_retail_v2_import_config_proto_rawDescData = file_google_cloud_retail_v2_import_config_proto_rawDesc 1215) 1216 1217func file_google_cloud_retail_v2_import_config_proto_rawDescGZIP() []byte { 1218 file_google_cloud_retail_v2_import_config_proto_rawDescOnce.Do(func() { 1219 file_google_cloud_retail_v2_import_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_import_config_proto_rawDescData) 1220 }) 1221 return file_google_cloud_retail_v2_import_config_proto_rawDescData 1222} 1223 1224var file_google_cloud_retail_v2_import_config_proto_msgTypes = make([]protoimpl.MessageInfo, 13) 1225var file_google_cloud_retail_v2_import_config_proto_goTypes = []interface{}{ 1226 (*GcsSource)(nil), // 0: google.cloud.retail.v2.GcsSource 1227 (*BigQuerySource)(nil), // 1: google.cloud.retail.v2.BigQuerySource 1228 (*ProductInlineSource)(nil), // 2: google.cloud.retail.v2.ProductInlineSource 1229 (*UserEventInlineSource)(nil), // 3: google.cloud.retail.v2.UserEventInlineSource 1230 (*ImportErrorsConfig)(nil), // 4: google.cloud.retail.v2.ImportErrorsConfig 1231 (*ImportProductsRequest)(nil), // 5: google.cloud.retail.v2.ImportProductsRequest 1232 (*ImportUserEventsRequest)(nil), // 6: google.cloud.retail.v2.ImportUserEventsRequest 1233 (*ProductInputConfig)(nil), // 7: google.cloud.retail.v2.ProductInputConfig 1234 (*UserEventInputConfig)(nil), // 8: google.cloud.retail.v2.UserEventInputConfig 1235 (*ImportMetadata)(nil), // 9: google.cloud.retail.v2.ImportMetadata 1236 (*ImportProductsResponse)(nil), // 10: google.cloud.retail.v2.ImportProductsResponse 1237 (*ImportUserEventsResponse)(nil), // 11: google.cloud.retail.v2.ImportUserEventsResponse 1238 (*UserEventImportSummary)(nil), // 12: google.cloud.retail.v2.UserEventImportSummary 1239 (*Product)(nil), // 13: google.cloud.retail.v2.Product 1240 (*UserEvent)(nil), // 14: google.cloud.retail.v2.UserEvent 1241 (*fieldmaskpb.FieldMask)(nil), // 15: google.protobuf.FieldMask 1242 (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp 1243 (*status.Status)(nil), // 17: google.rpc.Status 1244} 1245var file_google_cloud_retail_v2_import_config_proto_depIdxs = []int32{ 1246 13, // 0: google.cloud.retail.v2.ProductInlineSource.products:type_name -> google.cloud.retail.v2.Product 1247 14, // 1: google.cloud.retail.v2.UserEventInlineSource.user_events:type_name -> google.cloud.retail.v2.UserEvent 1248 7, // 2: google.cloud.retail.v2.ImportProductsRequest.input_config:type_name -> google.cloud.retail.v2.ProductInputConfig 1249 4, // 3: google.cloud.retail.v2.ImportProductsRequest.errors_config:type_name -> google.cloud.retail.v2.ImportErrorsConfig 1250 15, // 4: google.cloud.retail.v2.ImportProductsRequest.update_mask:type_name -> google.protobuf.FieldMask 1251 8, // 5: google.cloud.retail.v2.ImportUserEventsRequest.input_config:type_name -> google.cloud.retail.v2.UserEventInputConfig 1252 4, // 6: google.cloud.retail.v2.ImportUserEventsRequest.errors_config:type_name -> google.cloud.retail.v2.ImportErrorsConfig 1253 2, // 7: google.cloud.retail.v2.ProductInputConfig.product_inline_source:type_name -> google.cloud.retail.v2.ProductInlineSource 1254 0, // 8: google.cloud.retail.v2.ProductInputConfig.gcs_source:type_name -> google.cloud.retail.v2.GcsSource 1255 1, // 9: google.cloud.retail.v2.ProductInputConfig.big_query_source:type_name -> google.cloud.retail.v2.BigQuerySource 1256 3, // 10: google.cloud.retail.v2.UserEventInputConfig.user_event_inline_source:type_name -> google.cloud.retail.v2.UserEventInlineSource 1257 0, // 11: google.cloud.retail.v2.UserEventInputConfig.gcs_source:type_name -> google.cloud.retail.v2.GcsSource 1258 1, // 12: google.cloud.retail.v2.UserEventInputConfig.big_query_source:type_name -> google.cloud.retail.v2.BigQuerySource 1259 16, // 13: google.cloud.retail.v2.ImportMetadata.create_time:type_name -> google.protobuf.Timestamp 1260 16, // 14: google.cloud.retail.v2.ImportMetadata.update_time:type_name -> google.protobuf.Timestamp 1261 17, // 15: google.cloud.retail.v2.ImportProductsResponse.error_samples:type_name -> google.rpc.Status 1262 4, // 16: google.cloud.retail.v2.ImportProductsResponse.errors_config:type_name -> google.cloud.retail.v2.ImportErrorsConfig 1263 17, // 17: google.cloud.retail.v2.ImportUserEventsResponse.error_samples:type_name -> google.rpc.Status 1264 4, // 18: google.cloud.retail.v2.ImportUserEventsResponse.errors_config:type_name -> google.cloud.retail.v2.ImportErrorsConfig 1265 12, // 19: google.cloud.retail.v2.ImportUserEventsResponse.import_summary:type_name -> google.cloud.retail.v2.UserEventImportSummary 1266 20, // [20:20] is the sub-list for method output_type 1267 20, // [20:20] is the sub-list for method input_type 1268 20, // [20:20] is the sub-list for extension type_name 1269 20, // [20:20] is the sub-list for extension extendee 1270 0, // [0:20] is the sub-list for field type_name 1271} 1272 1273func init() { file_google_cloud_retail_v2_import_config_proto_init() } 1274func file_google_cloud_retail_v2_import_config_proto_init() { 1275 if File_google_cloud_retail_v2_import_config_proto != nil { 1276 return 1277 } 1278 file_google_cloud_retail_v2_product_proto_init() 1279 file_google_cloud_retail_v2_user_event_proto_init() 1280 if !protoimpl.UnsafeEnabled { 1281 file_google_cloud_retail_v2_import_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1282 switch v := v.(*GcsSource); i { 1283 case 0: 1284 return &v.state 1285 case 1: 1286 return &v.sizeCache 1287 case 2: 1288 return &v.unknownFields 1289 default: 1290 return nil 1291 } 1292 } 1293 file_google_cloud_retail_v2_import_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1294 switch v := v.(*BigQuerySource); i { 1295 case 0: 1296 return &v.state 1297 case 1: 1298 return &v.sizeCache 1299 case 2: 1300 return &v.unknownFields 1301 default: 1302 return nil 1303 } 1304 } 1305 file_google_cloud_retail_v2_import_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1306 switch v := v.(*ProductInlineSource); i { 1307 case 0: 1308 return &v.state 1309 case 1: 1310 return &v.sizeCache 1311 case 2: 1312 return &v.unknownFields 1313 default: 1314 return nil 1315 } 1316 } 1317 file_google_cloud_retail_v2_import_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1318 switch v := v.(*UserEventInlineSource); i { 1319 case 0: 1320 return &v.state 1321 case 1: 1322 return &v.sizeCache 1323 case 2: 1324 return &v.unknownFields 1325 default: 1326 return nil 1327 } 1328 } 1329 file_google_cloud_retail_v2_import_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1330 switch v := v.(*ImportErrorsConfig); i { 1331 case 0: 1332 return &v.state 1333 case 1: 1334 return &v.sizeCache 1335 case 2: 1336 return &v.unknownFields 1337 default: 1338 return nil 1339 } 1340 } 1341 file_google_cloud_retail_v2_import_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1342 switch v := v.(*ImportProductsRequest); i { 1343 case 0: 1344 return &v.state 1345 case 1: 1346 return &v.sizeCache 1347 case 2: 1348 return &v.unknownFields 1349 default: 1350 return nil 1351 } 1352 } 1353 file_google_cloud_retail_v2_import_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1354 switch v := v.(*ImportUserEventsRequest); i { 1355 case 0: 1356 return &v.state 1357 case 1: 1358 return &v.sizeCache 1359 case 2: 1360 return &v.unknownFields 1361 default: 1362 return nil 1363 } 1364 } 1365 file_google_cloud_retail_v2_import_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1366 switch v := v.(*ProductInputConfig); i { 1367 case 0: 1368 return &v.state 1369 case 1: 1370 return &v.sizeCache 1371 case 2: 1372 return &v.unknownFields 1373 default: 1374 return nil 1375 } 1376 } 1377 file_google_cloud_retail_v2_import_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1378 switch v := v.(*UserEventInputConfig); i { 1379 case 0: 1380 return &v.state 1381 case 1: 1382 return &v.sizeCache 1383 case 2: 1384 return &v.unknownFields 1385 default: 1386 return nil 1387 } 1388 } 1389 file_google_cloud_retail_v2_import_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1390 switch v := v.(*ImportMetadata); i { 1391 case 0: 1392 return &v.state 1393 case 1: 1394 return &v.sizeCache 1395 case 2: 1396 return &v.unknownFields 1397 default: 1398 return nil 1399 } 1400 } 1401 file_google_cloud_retail_v2_import_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1402 switch v := v.(*ImportProductsResponse); i { 1403 case 0: 1404 return &v.state 1405 case 1: 1406 return &v.sizeCache 1407 case 2: 1408 return &v.unknownFields 1409 default: 1410 return nil 1411 } 1412 } 1413 file_google_cloud_retail_v2_import_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 1414 switch v := v.(*ImportUserEventsResponse); i { 1415 case 0: 1416 return &v.state 1417 case 1: 1418 return &v.sizeCache 1419 case 2: 1420 return &v.unknownFields 1421 default: 1422 return nil 1423 } 1424 } 1425 file_google_cloud_retail_v2_import_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 1426 switch v := v.(*UserEventImportSummary); i { 1427 case 0: 1428 return &v.state 1429 case 1: 1430 return &v.sizeCache 1431 case 2: 1432 return &v.unknownFields 1433 default: 1434 return nil 1435 } 1436 } 1437 } 1438 file_google_cloud_retail_v2_import_config_proto_msgTypes[4].OneofWrappers = []interface{}{ 1439 (*ImportErrorsConfig_GcsPrefix)(nil), 1440 } 1441 file_google_cloud_retail_v2_import_config_proto_msgTypes[7].OneofWrappers = []interface{}{ 1442 (*ProductInputConfig_ProductInlineSource)(nil), 1443 (*ProductInputConfig_GcsSource)(nil), 1444 (*ProductInputConfig_BigQuerySource)(nil), 1445 } 1446 file_google_cloud_retail_v2_import_config_proto_msgTypes[8].OneofWrappers = []interface{}{ 1447 (*UserEventInputConfig_UserEventInlineSource)(nil), 1448 (*UserEventInputConfig_GcsSource)(nil), 1449 (*UserEventInputConfig_BigQuerySource)(nil), 1450 } 1451 type x struct{} 1452 out := protoimpl.TypeBuilder{ 1453 File: protoimpl.DescBuilder{ 1454 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1455 RawDescriptor: file_google_cloud_retail_v2_import_config_proto_rawDesc, 1456 NumEnums: 0, 1457 NumMessages: 13, 1458 NumExtensions: 0, 1459 NumServices: 0, 1460 }, 1461 GoTypes: file_google_cloud_retail_v2_import_config_proto_goTypes, 1462 DependencyIndexes: file_google_cloud_retail_v2_import_config_proto_depIdxs, 1463 MessageInfos: file_google_cloud_retail_v2_import_config_proto_msgTypes, 1464 }.Build() 1465 File_google_cloud_retail_v2_import_config_proto = out.File 1466 file_google_cloud_retail_v2_import_config_proto_rawDesc = nil 1467 file_google_cloud_retail_v2_import_config_proto_goTypes = nil 1468 file_google_cloud_retail_v2_import_config_proto_depIdxs = nil 1469} 1470