From d0d6055680374906d0b570114573e9c22a601ef4 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 18 Sep 2020 07:08:46 -0700 Subject: [PATCH] feat(all): auto-regenerate .pb.go files (#447) This is an auto-generated regeneration of the .pb.go files by cloud.google.com/go/internal/gapicgen. Once this PR is submitted, genbot will update the corresponding PR to depend on the newer version of go-genproto, and assign reviewers. Whilst this or any regen PR is open in go-genproto, genbot will not create any more regeneration PRs. If all regen PRs are closed, gapicgen will create a new set of regeneration PRs once per night. If you have been assigned to review this PR, please: - Ensure that CI is passing. If it's failing, it requires your manual attention. - Approve and submit this PR if you believe it's ready to ship. That will prompt genbot to assign reviewers to the google-cloud-go PR. Corresponding google-cloud-go PR: googleapis/google-cloud-go#2886 --- googleapis/cloud/retail/v2/catalog.pb.go | 336 +++ .../cloud/retail/v2/catalog_service.pb.go | 582 +++++ googleapis/cloud/retail/v2/common.pb.go | 558 ++++ .../cloud/retail/v2/import_config.pb.go | 1483 +++++++++++ .../cloud/retail/v2/prediction_service.pb.go | 687 +++++ googleapis/cloud/retail/v2/product.pb.go | 662 +++++ .../cloud/retail/v2/product_service.pb.go | 917 +++++++ googleapis/cloud/retail/v2/purge_config.pb.go | 585 +++++ googleapis/cloud/retail/v2/user_event.pb.go | 704 +++++ .../cloud/retail/v2/user_event_service.pb.go | 964 +++++++ googleapis/cloud/retail/v2alpha/catalog.pb.go | 339 +++ .../retail/v2alpha/catalog_service.pb.go | 587 +++++ googleapis/cloud/retail/v2alpha/common.pb.go | 1332 ++++++++++ .../cloud/retail/v2alpha/export_config.pb.go | 1049 ++++++++ .../cloud/retail/v2alpha/import_config.pb.go | 1490 +++++++++++ .../retail/v2alpha/prediction_service.pb.go | 692 +++++ googleapis/cloud/retail/v2alpha/product.pb.go | 1105 ++++++++ .../retail/v2alpha/product_service.pb.go | 1284 +++++++++ .../cloud/retail/v2alpha/purge_config.pb.go | 588 +++++ .../cloud/retail/v2alpha/search_service.pb.go | 1822 +++++++++++++ .../cloud/retail/v2alpha/user_event.pb.go | 709 +++++ .../retail/v2alpha/user_event_service.pb.go | 1042 ++++++++ googleapis/cloud/retail/v2beta/catalog.pb.go | 338 +++ .../cloud/retail/v2beta/catalog_service.pb.go | 586 +++++ googleapis/cloud/retail/v2beta/common.pb.go | 560 ++++ .../cloud/retail/v2beta/export_config.pb.go | 1048 ++++++++ .../cloud/retail/v2beta/import_config.pb.go | 1489 +++++++++++ .../retail/v2beta/prediction_service.pb.go | 691 +++++ googleapis/cloud/retail/v2beta/product.pb.go | 666 +++++ .../cloud/retail/v2beta/product_service.pb.go | 929 +++++++ .../cloud/retail/v2beta/purge_config.pb.go | 587 +++++ .../cloud/retail/v2beta/user_event.pb.go | 708 +++++ .../retail/v2beta/user_event_service.pb.go | 1040 ++++++++ .../aistreams/v1alpha1/aistreams.pb.go | 2309 +++++++++++++++++ 34 files changed, 30468 insertions(+) create mode 100644 googleapis/cloud/retail/v2/catalog.pb.go create mode 100644 googleapis/cloud/retail/v2/catalog_service.pb.go create mode 100644 googleapis/cloud/retail/v2/common.pb.go create mode 100644 googleapis/cloud/retail/v2/import_config.pb.go create mode 100644 googleapis/cloud/retail/v2/prediction_service.pb.go create mode 100644 googleapis/cloud/retail/v2/product.pb.go create mode 100644 googleapis/cloud/retail/v2/product_service.pb.go create mode 100644 googleapis/cloud/retail/v2/purge_config.pb.go create mode 100644 googleapis/cloud/retail/v2/user_event.pb.go create mode 100644 googleapis/cloud/retail/v2/user_event_service.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/catalog.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/catalog_service.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/common.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/export_config.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/import_config.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/prediction_service.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/product.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/product_service.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/purge_config.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/search_service.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/user_event.pb.go create mode 100644 googleapis/cloud/retail/v2alpha/user_event_service.pb.go create mode 100644 googleapis/cloud/retail/v2beta/catalog.pb.go create mode 100644 googleapis/cloud/retail/v2beta/catalog_service.pb.go create mode 100644 googleapis/cloud/retail/v2beta/common.pb.go create mode 100644 googleapis/cloud/retail/v2beta/export_config.pb.go create mode 100644 googleapis/cloud/retail/v2beta/import_config.pb.go create mode 100644 googleapis/cloud/retail/v2beta/prediction_service.pb.go create mode 100644 googleapis/cloud/retail/v2beta/product.pb.go create mode 100644 googleapis/cloud/retail/v2beta/product_service.pb.go create mode 100644 googleapis/cloud/retail/v2beta/purge_config.pb.go create mode 100644 googleapis/cloud/retail/v2beta/user_event.pb.go create mode 100644 googleapis/cloud/retail/v2beta/user_event_service.pb.go create mode 100644 googleapis/partner/aistreams/v1alpha1/aistreams.pb.go diff --git a/googleapis/cloud/retail/v2/catalog.pb.go b/googleapis/cloud/retail/v2/catalog.pb.go new file mode 100644 index 000000000..1392efd91 --- /dev/null +++ b/googleapis/cloud/retail/v2/catalog.pb.go @@ -0,0 +1,336 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2/catalog.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Configures what level the product should be uploaded with regards to +// how users will be send events and how predictions will be made. +type ProductLevelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The level of a [Catalog][google.cloud.retail.v2.Catalog] at which the + // [UserEvent][google.cloud.retail.v2.UserEvent]s are uploaded. Acceptable + // values are: + // * `primary` + // * `variant` + // + // If this field is set to an invalid value other than these, an + // INVALID_ARGUMENT error is returned. + // + // If this field is `primary` and + // [predict_product_level][google.cloud.retail.v2.ProductLevelConfig.predict_product_level] + // is `variant`, an INVALID_ARGUMENT error is returned. + // + // See + // https://cloud.google.com/recommendations-ai/docs/catalog#catalog-levels + // for more details. + EventProductLevel string `protobuf:"bytes,1,opt,name=event_product_level,json=eventProductLevel,proto3" json:"event_product_level,omitempty"` + // The level of a [Catalog][google.cloud.retail.v2.Catalog] at which the + // [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict] + // is called. Acceptable values are: + // * `primary` + // * `variant` + // + // If this field is set to an invalid value other than these, an + // INVALID_ARGUMENT error is returned. + // + // If this field is `variant` and + // [event_product_level][google.cloud.retail.v2.ProductLevelConfig.event_product_level] + // is `primary`, an INVALID_ARGUMENT error is returned. + // + // See + // https://cloud.google.com/recommendations-ai/docs/catalog#catalog-levels + // for more details. + PredictProductLevel string `protobuf:"bytes,2,opt,name=predict_product_level,json=predictProductLevel,proto3" json:"predict_product_level,omitempty"` +} + +func (x *ProductLevelConfig) Reset() { + *x = ProductLevelConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_catalog_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductLevelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductLevelConfig) ProtoMessage() {} + +func (x *ProductLevelConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_catalog_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductLevelConfig.ProtoReflect.Descriptor instead. +func (*ProductLevelConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_catalog_proto_rawDescGZIP(), []int{0} +} + +func (x *ProductLevelConfig) GetEventProductLevel() string { + if x != nil { + return x.EventProductLevel + } + return "" +} + +func (x *ProductLevelConfig) GetPredictProductLevel() string { + if x != nil { + return x.PredictProductLevel + } + return "" +} + +// The catalog configuration. +// Next ID: 5. +type Catalog struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Immutable. The fully qualified resource name of the catalog. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Immutable. The catalog display name. + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. The product level configuration. + ProductLevelConfig *ProductLevelConfig `protobuf:"bytes,4,opt,name=product_level_config,json=productLevelConfig,proto3" json:"product_level_config,omitempty"` +} + +func (x *Catalog) Reset() { + *x = Catalog{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_catalog_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Catalog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Catalog) ProtoMessage() {} + +func (x *Catalog) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_catalog_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Catalog.ProtoReflect.Descriptor instead. +func (*Catalog) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_catalog_proto_rawDescGZIP(), []int{1} +} + +func (x *Catalog) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Catalog) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Catalog) GetProductLevelConfig() *ProductLevelConfig { + if x != nil { + return x.ProductLevelConfig + } + return nil +} + +var File_google_cloud_retail_v2_catalog_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2_catalog_proto_rawDesc = []byte{ + 0x0a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, + 0x0a, 0x13, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x32, + 0x0a, 0x15, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x22, 0x93, 0x02, 0x0a, 0x07, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x1a, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, + 0x02, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x5e, 0xea, 0x41, 0x5b, 0x0a, 0x1d, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x3a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, + 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x7d, 0x42, 0x8d, 0x02, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, + 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, + 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0xea, 0x41, 0x49, 0x0a, + 0x1e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2_catalog_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2_catalog_proto_rawDescData = file_google_cloud_retail_v2_catalog_proto_rawDesc +) + +func file_google_cloud_retail_v2_catalog_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2_catalog_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2_catalog_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_catalog_proto_rawDescData) + }) + return file_google_cloud_retail_v2_catalog_proto_rawDescData +} + +var file_google_cloud_retail_v2_catalog_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_retail_v2_catalog_proto_goTypes = []interface{}{ + (*ProductLevelConfig)(nil), // 0: google.cloud.retail.v2.ProductLevelConfig + (*Catalog)(nil), // 1: google.cloud.retail.v2.Catalog +} +var file_google_cloud_retail_v2_catalog_proto_depIdxs = []int32{ + 0, // 0: google.cloud.retail.v2.Catalog.product_level_config:type_name -> google.cloud.retail.v2.ProductLevelConfig + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2_catalog_proto_init() } +func file_google_cloud_retail_v2_catalog_proto_init() { + if File_google_cloud_retail_v2_catalog_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2_catalog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductLevelConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_catalog_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Catalog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2_catalog_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2_catalog_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2_catalog_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2_catalog_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2_catalog_proto = out.File + file_google_cloud_retail_v2_catalog_proto_rawDesc = nil + file_google_cloud_retail_v2_catalog_proto_goTypes = nil + file_google_cloud_retail_v2_catalog_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2/catalog_service.pb.go b/googleapis/cloud/retail/v2/catalog_service.pb.go new file mode 100644 index 000000000..576b67c76 --- /dev/null +++ b/googleapis/cloud/retail/v2/catalog_service.pb.go @@ -0,0 +1,582 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2/catalog_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Request for +// [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs] +// method. +type ListCatalogsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The account resource name with an associated location. + // + // If the caller does not have permission to list + // [Catalog][google.cloud.retail.v2.Catalog]s under this location, regardless + // of whether or not this location exists, a PERMISSION_DENIED error is + // returned. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Maximum number of [Catalog][google.cloud.retail.v2.Catalog]s to return. If + // unspecified, defaults to 50. The maximum allowed value is 1000. Values + // above 1000 will be coerced to 1000. + // + // If this field is negative, an INVALID_ARGUMENT is returned. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token + // [ListCatalogsResponse.next_page_token][google.cloud.retail.v2.ListCatalogsResponse.next_page_token], + // received from a previous + // [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs] + // must match the call that provided the page token. Otherwise, an + // INVALID_ARGUMENT error is returned. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListCatalogsRequest) Reset() { + *x = ListCatalogsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_catalog_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListCatalogsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCatalogsRequest) ProtoMessage() {} + +func (x *ListCatalogsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_catalog_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCatalogsRequest.ProtoReflect.Descriptor instead. +func (*ListCatalogsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_catalog_service_proto_rawDescGZIP(), []int{0} +} + +func (x *ListCatalogsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListCatalogsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListCatalogsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response for +// [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs] +// method. +type ListCatalogsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // All the customer's [Catalog][google.cloud.retail.v2.Catalog]s. + Catalogs []*Catalog `protobuf:"bytes,1,rep,name=catalogs,proto3" json:"catalogs,omitempty"` + // A token that can be sent as + // [ListCatalogsRequest.page_token][google.cloud.retail.v2.ListCatalogsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListCatalogsResponse) Reset() { + *x = ListCatalogsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_catalog_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListCatalogsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCatalogsResponse) ProtoMessage() {} + +func (x *ListCatalogsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_catalog_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCatalogsResponse.ProtoReflect.Descriptor instead. +func (*ListCatalogsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_catalog_service_proto_rawDescGZIP(), []int{1} +} + +func (x *ListCatalogsResponse) GetCatalogs() []*Catalog { + if x != nil { + return x.Catalogs + } + return nil +} + +func (x *ListCatalogsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request for +// [CatalogService.UpdateCatalog][google.cloud.retail.v2.CatalogService.UpdateCatalog] +// method. +type UpdateCatalogRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The [Catalog][google.cloud.retail.v2.Catalog] to update. + // + // If the caller does not have permission to update the + // [Catalog][google.cloud.retail.v2.Catalog], regardless of whether or not it + // exists, a PERMISSION_DENIED error is returned. + // + // If the [Catalog][google.cloud.retail.v2.Catalog] to update does not exist, + // a NOT_FOUND error is returned. + Catalog *Catalog `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"` + // Indicates which fields in the provided + // [Catalog][google.cloud.retail.v2.Catalog] to update. If not set, will only + // update the + // [Catalog.product_level_config][google.cloud.retail.v2.Catalog.product_level_config] + // field, which is also the only currently supported field to update. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateCatalogRequest) Reset() { + *x = UpdateCatalogRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_catalog_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateCatalogRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateCatalogRequest) ProtoMessage() {} + +func (x *UpdateCatalogRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_catalog_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateCatalogRequest.ProtoReflect.Descriptor instead. +func (*UpdateCatalogRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_catalog_service_proto_rawDescGZIP(), []int{2} +} + +func (x *UpdateCatalogRequest) GetCatalog() *Catalog { + if x != nil { + return x.Catalog + } + return nil +} + +func (x *UpdateCatalogRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +var File_google_cloud_retail_v2_catalog_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2_catalog_service_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, + 0x32, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x20, 0x0a, 0x1e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7b, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, + 0x08, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x52, 0x08, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x63, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x3b, 0x0a, 0x0b, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x32, 0xc4, 0x03, 0x0a, 0x0e, 0x43, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x0c, + 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, + 0x2c, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xbb, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x32, + 0x34, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0xda, 0x41, + 0x13, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, + 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, + 0xc8, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x42, 0x13, + 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, + 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x16, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0xea, 0x02, + 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, + 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2_catalog_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2_catalog_service_proto_rawDescData = file_google_cloud_retail_v2_catalog_service_proto_rawDesc +) + +func file_google_cloud_retail_v2_catalog_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2_catalog_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2_catalog_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_catalog_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2_catalog_service_proto_rawDescData +} + +var file_google_cloud_retail_v2_catalog_service_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_google_cloud_retail_v2_catalog_service_proto_goTypes = []interface{}{ + (*ListCatalogsRequest)(nil), // 0: google.cloud.retail.v2.ListCatalogsRequest + (*ListCatalogsResponse)(nil), // 1: google.cloud.retail.v2.ListCatalogsResponse + (*UpdateCatalogRequest)(nil), // 2: google.cloud.retail.v2.UpdateCatalogRequest + (*Catalog)(nil), // 3: google.cloud.retail.v2.Catalog + (*fieldmaskpb.FieldMask)(nil), // 4: google.protobuf.FieldMask +} +var file_google_cloud_retail_v2_catalog_service_proto_depIdxs = []int32{ + 3, // 0: google.cloud.retail.v2.ListCatalogsResponse.catalogs:type_name -> google.cloud.retail.v2.Catalog + 3, // 1: google.cloud.retail.v2.UpdateCatalogRequest.catalog:type_name -> google.cloud.retail.v2.Catalog + 4, // 2: google.cloud.retail.v2.UpdateCatalogRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 3: google.cloud.retail.v2.CatalogService.ListCatalogs:input_type -> google.cloud.retail.v2.ListCatalogsRequest + 2, // 4: google.cloud.retail.v2.CatalogService.UpdateCatalog:input_type -> google.cloud.retail.v2.UpdateCatalogRequest + 1, // 5: google.cloud.retail.v2.CatalogService.ListCatalogs:output_type -> google.cloud.retail.v2.ListCatalogsResponse + 3, // 6: google.cloud.retail.v2.CatalogService.UpdateCatalog:output_type -> google.cloud.retail.v2.Catalog + 5, // [5:7] is the sub-list for method output_type + 3, // [3:5] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2_catalog_service_proto_init() } +func file_google_cloud_retail_v2_catalog_service_proto_init() { + if File_google_cloud_retail_v2_catalog_service_proto != nil { + return + } + file_google_cloud_retail_v2_catalog_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2_catalog_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListCatalogsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_catalog_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListCatalogsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_catalog_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateCatalogRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2_catalog_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2_catalog_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2_catalog_service_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2_catalog_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2_catalog_service_proto = out.File + file_google_cloud_retail_v2_catalog_service_proto_rawDesc = nil + file_google_cloud_retail_v2_catalog_service_proto_goTypes = nil + file_google_cloud_retail_v2_catalog_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// CatalogServiceClient is the client API for CatalogService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type CatalogServiceClient interface { + // Lists all the [Catalog][google.cloud.retail.v2.Catalog]s associated with + // the project. + ListCatalogs(ctx context.Context, in *ListCatalogsRequest, opts ...grpc.CallOption) (*ListCatalogsResponse, error) + // Updates the [Catalog][google.cloud.retail.v2.Catalog]s. + UpdateCatalog(ctx context.Context, in *UpdateCatalogRequest, opts ...grpc.CallOption) (*Catalog, error) +} + +type catalogServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewCatalogServiceClient(cc grpc.ClientConnInterface) CatalogServiceClient { + return &catalogServiceClient{cc} +} + +func (c *catalogServiceClient) ListCatalogs(ctx context.Context, in *ListCatalogsRequest, opts ...grpc.CallOption) (*ListCatalogsResponse, error) { + out := new(ListCatalogsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.CatalogService/ListCatalogs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *catalogServiceClient) UpdateCatalog(ctx context.Context, in *UpdateCatalogRequest, opts ...grpc.CallOption) (*Catalog, error) { + out := new(Catalog) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.CatalogService/UpdateCatalog", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// CatalogServiceServer is the server API for CatalogService service. +type CatalogServiceServer interface { + // Lists all the [Catalog][google.cloud.retail.v2.Catalog]s associated with + // the project. + ListCatalogs(context.Context, *ListCatalogsRequest) (*ListCatalogsResponse, error) + // Updates the [Catalog][google.cloud.retail.v2.Catalog]s. + UpdateCatalog(context.Context, *UpdateCatalogRequest) (*Catalog, error) +} + +// UnimplementedCatalogServiceServer can be embedded to have forward compatible implementations. +type UnimplementedCatalogServiceServer struct { +} + +func (*UnimplementedCatalogServiceServer) ListCatalogs(context.Context, *ListCatalogsRequest) (*ListCatalogsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListCatalogs not implemented") +} +func (*UnimplementedCatalogServiceServer) UpdateCatalog(context.Context, *UpdateCatalogRequest) (*Catalog, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateCatalog not implemented") +} + +func RegisterCatalogServiceServer(s *grpc.Server, srv CatalogServiceServer) { + s.RegisterService(&_CatalogService_serviceDesc, srv) +} + +func _CatalogService_ListCatalogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListCatalogsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CatalogServiceServer).ListCatalogs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.CatalogService/ListCatalogs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CatalogServiceServer).ListCatalogs(ctx, req.(*ListCatalogsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CatalogService_UpdateCatalog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateCatalogRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CatalogServiceServer).UpdateCatalog(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.CatalogService/UpdateCatalog", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CatalogServiceServer).UpdateCatalog(ctx, req.(*UpdateCatalogRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _CatalogService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2.CatalogService", + HandlerType: (*CatalogServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListCatalogs", + Handler: _CatalogService_ListCatalogs_Handler, + }, + { + MethodName: "UpdateCatalog", + Handler: _CatalogService_UpdateCatalog_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2/catalog_service.proto", +} diff --git a/googleapis/cloud/retail/v2/common.pb.go b/googleapis/cloud/retail/v2/common.pb.go new file mode 100644 index 000000000..c8190d12d --- /dev/null +++ b/googleapis/cloud/retail/v2/common.pb.go @@ -0,0 +1,558 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2/common.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// A custom attribute that is not explicitly modeled in +// [Product][google.cloud.retail.v2.Product]]. +type CustomAttribute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The textual values of this custom attribute. For example, `["yellow", + // "green"]` when the key is "color". + // + // At most 400 values are allowed. Empty values are not allowed. Each value + // must be a UTF-8 encoded string with a length limit of 256 bytes. Otherwise, + // an INVALID_ARGUMENT error is returned. + // + // Exactly one of [text][google.cloud.retail.v2.CustomAttribute.text] or + // [numbers][google.cloud.retail.v2.CustomAttribute.numbers] should be set. + // Otherwise, a FAILED_PRECONDITION error is returned. + Text []string `protobuf:"bytes,1,rep,name=text,proto3" json:"text,omitempty"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` + // when the key is "lengths_cm". + // + // At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is + // returned. + // + // Exactly one of [text][google.cloud.retail.v2.CustomAttribute.text] or + // [numbers][google.cloud.retail.v2.CustomAttribute.numbers] should be set. + // Otherwise, a FAILED_PRECONDITION error is returned. + Numbers []float64 `protobuf:"fixed64,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"` +} + +func (x *CustomAttribute) Reset() { + *x = CustomAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomAttribute) ProtoMessage() {} + +func (x *CustomAttribute) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_common_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CustomAttribute.ProtoReflect.Descriptor instead. +func (*CustomAttribute) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_common_proto_rawDescGZIP(), []int{0} +} + +func (x *CustomAttribute) GetText() []string { + if x != nil { + return x.Text + } + return nil +} + +func (x *CustomAttribute) GetNumbers() []float64 { + if x != nil { + return x.Numbers + } + return nil +} + +// [Product][google.cloud.retail.v2.Product] thumbnail/detail image. +type Image struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. URI of the image. + // + // This field must be a valid UTF-8 encoded URI with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [image_link](https://support.google.com/merchants/answer/6324350). + // Schema.org property [Product.image](http://schema.org/image). + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + // Height of the image in number of pixels. + // + // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is + // returned. + Height int32 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` + // Width of the image in number of pixels. + // + // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is + // returned. + Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"` +} + +func (x *Image) Reset() { + *x = Image{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_common_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Image) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Image) ProtoMessage() {} + +func (x *Image) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_common_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Image.ProtoReflect.Descriptor instead. +func (*Image) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_common_proto_rawDescGZIP(), []int{1} +} + +func (x *Image) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *Image) GetHeight() int32 { + if x != nil { + return x.Height + } + return 0 +} + +func (x *Image) GetWidth() int32 { + if x != nil { + return x.Width + } + return 0 +} + +// The price information of a [Product][google.cloud.retail.v2.Product]. +type PriceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The 3-letter currency code defined in [ISO + // 4217][https://www.iso.org/iso-4217-currency-codes.html]. + // + // If this field is an unrecognizable currency code, an INVALID_ARGUMENT + // error is returned. + CurrencyCode string `protobuf:"bytes,1,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"` + // Price of the product. + // + // Google Merchant Center property + // [price](https://support.google.com/merchants/answer/6324371). + // Schema.org property + // [Offer.priceSpecification](https://schema.org/priceSpecification). + Price float32 `protobuf:"fixed32,2,opt,name=price,proto3" json:"price,omitempty"` + // Price of the product without any discount. If zero, by default set to be + // the [price][google.cloud.retail.v2.PriceInfo.price]. + OriginalPrice float32 `protobuf:"fixed32,3,opt,name=original_price,json=originalPrice,proto3" json:"original_price,omitempty"` + // The costs associated with the sale of a particular product. Used for gross + // profit reporting. + // + // * Profit = [price][google.cloud.retail.v2.PriceInfo.price] - + // [cost][google.cloud.retail.v2.PriceInfo.cost] + // + // Google Merchant Center property + // [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895) + Cost float32 `protobuf:"fixed32,4,opt,name=cost,proto3" json:"cost,omitempty"` +} + +func (x *PriceInfo) Reset() { + *x = PriceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_common_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PriceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PriceInfo) ProtoMessage() {} + +func (x *PriceInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_common_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PriceInfo.ProtoReflect.Descriptor instead. +func (*PriceInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_common_proto_rawDescGZIP(), []int{2} +} + +func (x *PriceInfo) GetCurrencyCode() string { + if x != nil { + return x.CurrencyCode + } + return "" +} + +func (x *PriceInfo) GetPrice() float32 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *PriceInfo) GetOriginalPrice() float32 { + if x != nil { + return x.OriginalPrice + } + return 0 +} + +func (x *PriceInfo) GetCost() float32 { + if x != nil { + return x.Cost + } + return 0 +} + +// Information of an end user. +type UserInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Highly recommended for logged-in users. Unique identifier for logged-in + // user, such as a user name. + // + // The field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // The end user's IP address. This field is used to extract location + // information for personalization. + // + // This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6 + // address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an + // INVALID_ARGUMENT error is returned. + // + // This should not be set when using the JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent] + // or if + // [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request] + // is set. Otherwise, a FAILED_PRECONDITION error is returned. + IpAddress string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + // User agent as included in the HTTP header. + // + // The field must be a UTF-8 encoded string with a length limit of 1 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // This should not be set when using the client side event reporting with + // GTM or JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent] + // or if + // [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request] + // is set. Otherwise, a FAILED_PRECONDITION error is returned. + UserAgent string `protobuf:"bytes,3,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` + // True if the request is made directly from the end user, in which case the + // [ip_address][google.cloud.retail.v2.UserInfo.ip_address] and + // [user_agent][google.cloud.retail.v2.UserInfo.user_agent] can be populated + // from the HTTP request. This flag should be set only if the API request is + // made directly from the end user such as a mobile app (and not if a gateway + // or a server is processing and pushing the user events). + // + // This should not be set when using the JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]. + // Otherwise, a FAILED_PRECONDITION error is returned. + DirectUserRequest bool `protobuf:"varint,4,opt,name=direct_user_request,json=directUserRequest,proto3" json:"direct_user_request,omitempty"` +} + +func (x *UserInfo) Reset() { + *x = UserInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_common_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserInfo) ProtoMessage() {} + +func (x *UserInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_common_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. +func (*UserInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_common_proto_rawDescGZIP(), []int{3} +} + +func (x *UserInfo) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *UserInfo) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *UserInfo) GetUserAgent() string { + if x != nil { + return x.UserAgent + } + return "" +} + +func (x *UserInfo) GetDirectUserRequest() bool { + if x != nil { + return x.DirectUserRequest + } + return false +} + +var File_google_cloud_retail_v2_common_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2_common_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, + 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x01, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x4c, + 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x16, + 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0x81, 0x01, 0x0a, + 0x09, 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, + 0x6c, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, + 0x22, 0x91, 0x01, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, + 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x42, 0xc0, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2_common_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2_common_proto_rawDescData = file_google_cloud_retail_v2_common_proto_rawDesc +) + +func file_google_cloud_retail_v2_common_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2_common_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_common_proto_rawDescData) + }) + return file_google_cloud_retail_v2_common_proto_rawDescData +} + +var file_google_cloud_retail_v2_common_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_google_cloud_retail_v2_common_proto_goTypes = []interface{}{ + (*CustomAttribute)(nil), // 0: google.cloud.retail.v2.CustomAttribute + (*Image)(nil), // 1: google.cloud.retail.v2.Image + (*PriceInfo)(nil), // 2: google.cloud.retail.v2.PriceInfo + (*UserInfo)(nil), // 3: google.cloud.retail.v2.UserInfo +} +var file_google_cloud_retail_v2_common_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2_common_proto_init() } +func file_google_cloud_retail_v2_common_proto_init() { + if File_google_cloud_retail_v2_common_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Image); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PriceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2_common_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2_common_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2_common_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2_common_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2_common_proto = out.File + file_google_cloud_retail_v2_common_proto_rawDesc = nil + file_google_cloud_retail_v2_common_proto_goTypes = nil + file_google_cloud_retail_v2_common_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2/import_config.pb.go b/googleapis/cloud/retail/v2/import_config.pb.go new file mode 100644 index 000000000..3b414da87 --- /dev/null +++ b/googleapis/cloud/retail/v2/import_config.pb.go @@ -0,0 +1,1483 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2/import_config.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Google Cloud Storage location for input content. +// format. +type GcsSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Google Cloud Storage URIs to input files. URI can be up to + // 2000 characters long. URIs can match the full object path (for example, + // gs://bucket/directory/object.json) or a pattern matching one or more + // files, such as gs://bucket/directory/*.json. A request can + // contain at most 100 files, and each file can be up to 2 GB. See + // [Importing product information](/recommendations-ai/docs/upload-catalog) + // for the expected file format and setup instructions. + InputUris []string `protobuf:"bytes,1,rep,name=input_uris,json=inputUris,proto3" json:"input_uris,omitempty"` + // The schema to use when parsing the data from the source. + // + // Supported values for product imports: + // + // 1: "product" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#json + // (Default for products.import) + // + // 2: "product_merchant_center" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc + // + // Supported values for user events imports: + // + // 1: "user_event" using + // https://cloud.google.com/recommendations-ai/docs/manage-user-events#import + // (Default for userEvents.import) + // + // 2. "user_event_ga360" using + // https://support.google.com/analytics/answer/3437719?hl=en + DataSchema string `protobuf:"bytes,2,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"` +} + +func (x *GcsSource) Reset() { + *x = GcsSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GcsSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GcsSource) ProtoMessage() {} + +func (x *GcsSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead. +func (*GcsSource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{0} +} + +func (x *GcsSource) GetInputUris() []string { + if x != nil { + return x.InputUris + } + return nil +} + +func (x *GcsSource) GetDataSchema() string { + if x != nil { + return x.DataSchema + } + return "" +} + +// BigQuery source import data from. +type BigQuerySource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The project id (can be project # or id) that the BigQuery source is in. If + // not specified, inherits the project id from the parent request. + ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // Required. The BigQuery data set to copy the data from. + DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` + // Required. The BigQuery table to copy the data from. + TableId string `protobuf:"bytes,2,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` + // Intermediate Cloud Storage directory used for the import. Can be specified + // if one wants to have the BigQuery export to a specific Cloud Storage + // directory. + GcsStagingDir string `protobuf:"bytes,3,opt,name=gcs_staging_dir,json=gcsStagingDir,proto3" json:"gcs_staging_dir,omitempty"` + // The schema to use when parsing the data from the source. + // + // Supported values for catalog imports: + // + // 1: "product" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#json + // (Default for products.import) + // + // 2: "product_merchant_center" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc + // + // Supported values for user event imports: + // + // 1: "user_event" using + // https://cloud.google.com/recommendations-ai/docs/manage-user-events#import + // (Default for userEvents.import) + // + // 2. "user_event_ga360" using + // https://support.google.com/analytics/answer/3437719?hl=en + DataSchema string `protobuf:"bytes,4,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"` +} + +func (x *BigQuerySource) Reset() { + *x = BigQuerySource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BigQuerySource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BigQuerySource) ProtoMessage() {} + +func (x *BigQuerySource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BigQuerySource.ProtoReflect.Descriptor instead. +func (*BigQuerySource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{1} +} + +func (x *BigQuerySource) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *BigQuerySource) GetDatasetId() string { + if x != nil { + return x.DatasetId + } + return "" +} + +func (x *BigQuerySource) GetTableId() string { + if x != nil { + return x.TableId + } + return "" +} + +func (x *BigQuerySource) GetGcsStagingDir() string { + if x != nil { + return x.GcsStagingDir + } + return "" +} + +func (x *BigQuerySource) GetDataSchema() string { + if x != nil { + return x.DataSchema + } + return "" +} + +// The inline source for the input config for ImportProducts method. +type ProductInlineSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of products to update/create. Recommended max of 10k items. + Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"` +} + +func (x *ProductInlineSource) Reset() { + *x = ProductInlineSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductInlineSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductInlineSource) ProtoMessage() {} + +func (x *ProductInlineSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductInlineSource.ProtoReflect.Descriptor instead. +func (*ProductInlineSource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{2} +} + +func (x *ProductInlineSource) GetProducts() []*Product { + if x != nil { + return x.Products + } + return nil +} + +// The inline source for the input config for ImportUserEvents method. +type UserEventInlineSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of user events to import. Recommended max of 10k items. + UserEvents []*UserEvent `protobuf:"bytes,1,rep,name=user_events,json=userEvents,proto3" json:"user_events,omitempty"` +} + +func (x *UserEventInlineSource) Reset() { + *x = UserEventInlineSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEventInlineSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEventInlineSource) ProtoMessage() {} + +func (x *UserEventInlineSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEventInlineSource.ProtoReflect.Descriptor instead. +func (*UserEventInlineSource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{3} +} + +func (x *UserEventInlineSource) GetUserEvents() []*UserEvent { + if x != nil { + return x.UserEvents + } + return nil +} + +// Configuration of destination for Import related errors. +type ImportErrorsConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Errors destination. + // + // Types that are assignable to Destination: + // *ImportErrorsConfig_GcsPrefix + Destination isImportErrorsConfig_Destination `protobuf_oneof:"destination"` +} + +func (x *ImportErrorsConfig) Reset() { + *x = ImportErrorsConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportErrorsConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportErrorsConfig) ProtoMessage() {} + +func (x *ImportErrorsConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportErrorsConfig.ProtoReflect.Descriptor instead. +func (*ImportErrorsConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{4} +} + +func (m *ImportErrorsConfig) GetDestination() isImportErrorsConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *ImportErrorsConfig) GetGcsPrefix() string { + if x, ok := x.GetDestination().(*ImportErrorsConfig_GcsPrefix); ok { + return x.GcsPrefix + } + return "" +} + +type isImportErrorsConfig_Destination interface { + isImportErrorsConfig_Destination() +} + +type ImportErrorsConfig_GcsPrefix struct { + // Google Cloud Storage path for import errors. This must be an empty, + // existing Cloud Storage bucket. Import errors will be written to a file in + // this bucket, one per line, as a JSON-encoded + // `google.rpc.Status` message. + GcsPrefix string `protobuf:"bytes,1,opt,name=gcs_prefix,json=gcsPrefix,proto3,oneof"` +} + +func (*ImportErrorsConfig_GcsPrefix) isImportErrorsConfig_Destination() {} + +// Request message for Import methods. +type ImportProductsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. + // "projects/1234/locations/global/catalogs/default_catalog/branches/default_branch" + // + // If no updateMask is specified, requires products.create permission. + // If updateMask is specified, requires products.update permission. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The desired input location of the data. + InputConfig *ProductInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` + // The desired location of errors incurred during the Import. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,3,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` + // Indicates which fields in the provided imported 'products' to update. If + // not set, will by default update all fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *ImportProductsRequest) Reset() { + *x = ImportProductsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportProductsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportProductsRequest) ProtoMessage() {} + +func (x *ImportProductsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportProductsRequest.ProtoReflect.Descriptor instead. +func (*ImportProductsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{5} +} + +func (x *ImportProductsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ImportProductsRequest) GetInputConfig() *ProductInputConfig { + if x != nil { + return x.InputConfig + } + return nil +} + +func (x *ImportProductsRequest) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +func (x *ImportProductsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for the ImportUserEvents request. +type ImportUserEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. "projects/1234/locations/global/catalogs/default_catalog" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The desired input location of the data. + InputConfig *UserEventInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` + // The desired location of errors incurred during the Import. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,3,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` +} + +func (x *ImportUserEventsRequest) Reset() { + *x = ImportUserEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportUserEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportUserEventsRequest) ProtoMessage() {} + +func (x *ImportUserEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportUserEventsRequest.ProtoReflect.Descriptor instead. +func (*ImportUserEventsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{6} +} + +func (x *ImportUserEventsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ImportUserEventsRequest) GetInputConfig() *UserEventInputConfig { + if x != nil { + return x.InputConfig + } + return nil +} + +func (x *ImportUserEventsRequest) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +// The input config source for products. +type ProductInputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The source of the input. + // + // Types that are assignable to Source: + // *ProductInputConfig_ProductInlineSource + // *ProductInputConfig_GcsSource + // *ProductInputConfig_BigQuerySource + Source isProductInputConfig_Source `protobuf_oneof:"source"` +} + +func (x *ProductInputConfig) Reset() { + *x = ProductInputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductInputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductInputConfig) ProtoMessage() {} + +func (x *ProductInputConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductInputConfig.ProtoReflect.Descriptor instead. +func (*ProductInputConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{7} +} + +func (m *ProductInputConfig) GetSource() isProductInputConfig_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *ProductInputConfig) GetProductInlineSource() *ProductInlineSource { + if x, ok := x.GetSource().(*ProductInputConfig_ProductInlineSource); ok { + return x.ProductInlineSource + } + return nil +} + +func (x *ProductInputConfig) GetGcsSource() *GcsSource { + if x, ok := x.GetSource().(*ProductInputConfig_GcsSource); ok { + return x.GcsSource + } + return nil +} + +func (x *ProductInputConfig) GetBigQuerySource() *BigQuerySource { + if x, ok := x.GetSource().(*ProductInputConfig_BigQuerySource); ok { + return x.BigQuerySource + } + return nil +} + +type isProductInputConfig_Source interface { + isProductInputConfig_Source() +} + +type ProductInputConfig_ProductInlineSource struct { + // The Inline source for the input content for products. + ProductInlineSource *ProductInlineSource `protobuf:"bytes,1,opt,name=product_inline_source,json=productInlineSource,proto3,oneof"` +} + +type ProductInputConfig_GcsSource struct { + // Google Cloud Storage location for the input content. + GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` +} + +type ProductInputConfig_BigQuerySource struct { + // BigQuery input source. + BigQuerySource *BigQuerySource `protobuf:"bytes,3,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"` +} + +func (*ProductInputConfig_ProductInlineSource) isProductInputConfig_Source() {} + +func (*ProductInputConfig_GcsSource) isProductInputConfig_Source() {} + +func (*ProductInputConfig_BigQuerySource) isProductInputConfig_Source() {} + +// The input config source for user events. +type UserEventInputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The source of the input. + // + // Types that are assignable to Source: + // *UserEventInputConfig_UserEventInlineSource + // *UserEventInputConfig_GcsSource + // *UserEventInputConfig_BigQuerySource + Source isUserEventInputConfig_Source `protobuf_oneof:"source"` +} + +func (x *UserEventInputConfig) Reset() { + *x = UserEventInputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEventInputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEventInputConfig) ProtoMessage() {} + +func (x *UserEventInputConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEventInputConfig.ProtoReflect.Descriptor instead. +func (*UserEventInputConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{8} +} + +func (m *UserEventInputConfig) GetSource() isUserEventInputConfig_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *UserEventInputConfig) GetUserEventInlineSource() *UserEventInlineSource { + if x, ok := x.GetSource().(*UserEventInputConfig_UserEventInlineSource); ok { + return x.UserEventInlineSource + } + return nil +} + +func (x *UserEventInputConfig) GetGcsSource() *GcsSource { + if x, ok := x.GetSource().(*UserEventInputConfig_GcsSource); ok { + return x.GcsSource + } + return nil +} + +func (x *UserEventInputConfig) GetBigQuerySource() *BigQuerySource { + if x, ok := x.GetSource().(*UserEventInputConfig_BigQuerySource); ok { + return x.BigQuerySource + } + return nil +} + +type isUserEventInputConfig_Source interface { + isUserEventInputConfig_Source() +} + +type UserEventInputConfig_UserEventInlineSource struct { + // Required. The Inline source for the input content for UserEvents. + UserEventInlineSource *UserEventInlineSource `protobuf:"bytes,1,opt,name=user_event_inline_source,json=userEventInlineSource,proto3,oneof"` +} + +type UserEventInputConfig_GcsSource struct { + // Required. Google Cloud Storage location for the input content. + GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` +} + +type UserEventInputConfig_BigQuerySource struct { + // Required. BigQuery input source. + BigQuerySource *BigQuerySource `protobuf:"bytes,3,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"` +} + +func (*UserEventInputConfig_UserEventInlineSource) isUserEventInputConfig_Source() {} + +func (*UserEventInputConfig_GcsSource) isUserEventInputConfig_Source() {} + +func (*UserEventInputConfig_BigQuerySource) isUserEventInputConfig_Source() {} + +// Metadata related to the progress of the Import operation. This will be +// returned by the google.longrunning.Operation.metadata field. +type ImportMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the operation. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Operation create time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Operation last update time. If the operation is done, this is also the + // finish time. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Count of entries that were processed successfully. + SuccessCount int64 `protobuf:"varint,4,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"` + // Count of entries that encountered errors while processing. + FailureCount int64 `protobuf:"varint,5,opt,name=failure_count,json=failureCount,proto3" json:"failure_count,omitempty"` +} + +func (x *ImportMetadata) Reset() { + *x = ImportMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportMetadata) ProtoMessage() {} + +func (x *ImportMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportMetadata.ProtoReflect.Descriptor instead. +func (*ImportMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{9} +} + +func (x *ImportMetadata) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ImportMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ImportMetadata) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ImportMetadata) GetSuccessCount() int64 { + if x != nil { + return x.SuccessCount + } + return 0 +} + +func (x *ImportMetadata) GetFailureCount() int64 { + if x != nil { + return x.FailureCount + } + return 0 +} + +// Response of the +// [ImportProductsRequest][google.cloud.retail.v2.ImportProductsRequest]. If the +// long running operation is done, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ImportProductsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // Echoes the destination for the complete errors in the request if set. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` +} + +func (x *ImportProductsResponse) Reset() { + *x = ImportProductsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportProductsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportProductsResponse) ProtoMessage() {} + +func (x *ImportProductsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportProductsResponse.ProtoReflect.Descriptor instead. +func (*ImportProductsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{10} +} + +func (x *ImportProductsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ImportProductsResponse) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +// Response of the ImportUserEventsRequest. If the long running +// operation was successful, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ImportUserEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // Echoes the destination for the complete errors if this field was set in + // the request. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` + // Aggregated statistics of user event import status. + ImportSummary *UserEventImportSummary `protobuf:"bytes,3,opt,name=import_summary,json=importSummary,proto3" json:"import_summary,omitempty"` +} + +func (x *ImportUserEventsResponse) Reset() { + *x = ImportUserEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportUserEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportUserEventsResponse) ProtoMessage() {} + +func (x *ImportUserEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportUserEventsResponse.ProtoReflect.Descriptor instead. +func (*ImportUserEventsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{11} +} + +func (x *ImportUserEventsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ImportUserEventsResponse) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +func (x *ImportUserEventsResponse) GetImportSummary() *UserEventImportSummary { + if x != nil { + return x.ImportSummary + } + return nil +} + +// A summary of import result. The UserEventImportSummary summarizes +// the import status for user events. +type UserEventImportSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Count of user events imported with complete existing catalog information. + JoinedEventsCount int64 `protobuf:"varint,1,opt,name=joined_events_count,json=joinedEventsCount,proto3" json:"joined_events_count,omitempty"` + // Count of user events imported, but with catalog information not found + // in the imported catalog. + UnjoinedEventsCount int64 `protobuf:"varint,2,opt,name=unjoined_events_count,json=unjoinedEventsCount,proto3" json:"unjoined_events_count,omitempty"` +} + +func (x *UserEventImportSummary) Reset() { + *x = UserEventImportSummary{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEventImportSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEventImportSummary) ProtoMessage() {} + +func (x *UserEventImportSummary) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_import_config_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEventImportSummary.ProtoReflect.Descriptor instead. +func (*UserEventImportSummary) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_import_config_proto_rawDescGZIP(), []int{12} +} + +func (x *UserEventImportSummary) GetJoinedEventsCount() int64 { + if x != nil { + return x.JoinedEventsCount + } + return 0 +} + +func (x *UserEventImportSummary) GetUnjoinedEventsCount() int64 { + if x != nil { + return x.UnjoinedEventsCount + } + return 0 +} + +var File_google_cloud_retail_v2_import_config_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2_import_config_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x09, 0x47, 0x63, 0x73, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, + 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xbc, 0x01, 0x0a, 0x0e, + 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, + 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x67, 0x63, 0x73, 0x53, + 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x52, 0x0a, 0x13, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x22, 0x5b, + 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x0a, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x1f, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x96, 0x02, 0x0a, 0x15, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0d, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xdd, 0x01, 0x0a, 0x17, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0d, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x99, 0x02, 0x0a, 0x12, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x61, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, + 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, + 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x69, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x6d, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x47, + 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x63, 0x73, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, + 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, + 0x52, 0x0e, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa6, 0x02, 0x0a, 0x0e, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x3c, 0xea, 0x41, 0x39, 0x0a, 0x1f, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x22, 0xa2, 0x01, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, + 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xfb, 0x01, 0x0a, 0x18, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x4f, + 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x55, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x7c, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, + 0x12, 0x2e, 0x0a, 0x13, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6a, + 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x32, 0x0a, 0x15, 0x75, 0x6e, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x13, 0x75, 0x6e, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0xc6, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x42, 0x11, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, + 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, + 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2_import_config_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2_import_config_proto_rawDescData = file_google_cloud_retail_v2_import_config_proto_rawDesc +) + +func file_google_cloud_retail_v2_import_config_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2_import_config_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2_import_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_import_config_proto_rawDescData) + }) + return file_google_cloud_retail_v2_import_config_proto_rawDescData +} + +var file_google_cloud_retail_v2_import_config_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_google_cloud_retail_v2_import_config_proto_goTypes = []interface{}{ + (*GcsSource)(nil), // 0: google.cloud.retail.v2.GcsSource + (*BigQuerySource)(nil), // 1: google.cloud.retail.v2.BigQuerySource + (*ProductInlineSource)(nil), // 2: google.cloud.retail.v2.ProductInlineSource + (*UserEventInlineSource)(nil), // 3: google.cloud.retail.v2.UserEventInlineSource + (*ImportErrorsConfig)(nil), // 4: google.cloud.retail.v2.ImportErrorsConfig + (*ImportProductsRequest)(nil), // 5: google.cloud.retail.v2.ImportProductsRequest + (*ImportUserEventsRequest)(nil), // 6: google.cloud.retail.v2.ImportUserEventsRequest + (*ProductInputConfig)(nil), // 7: google.cloud.retail.v2.ProductInputConfig + (*UserEventInputConfig)(nil), // 8: google.cloud.retail.v2.UserEventInputConfig + (*ImportMetadata)(nil), // 9: google.cloud.retail.v2.ImportMetadata + (*ImportProductsResponse)(nil), // 10: google.cloud.retail.v2.ImportProductsResponse + (*ImportUserEventsResponse)(nil), // 11: google.cloud.retail.v2.ImportUserEventsResponse + (*UserEventImportSummary)(nil), // 12: google.cloud.retail.v2.UserEventImportSummary + (*Product)(nil), // 13: google.cloud.retail.v2.Product + (*UserEvent)(nil), // 14: google.cloud.retail.v2.UserEvent + (*fieldmaskpb.FieldMask)(nil), // 15: google.protobuf.FieldMask + (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp + (*status.Status)(nil), // 17: google.rpc.Status +} +var file_google_cloud_retail_v2_import_config_proto_depIdxs = []int32{ + 13, // 0: google.cloud.retail.v2.ProductInlineSource.products:type_name -> google.cloud.retail.v2.Product + 14, // 1: google.cloud.retail.v2.UserEventInlineSource.user_events:type_name -> google.cloud.retail.v2.UserEvent + 7, // 2: google.cloud.retail.v2.ImportProductsRequest.input_config:type_name -> google.cloud.retail.v2.ProductInputConfig + 4, // 3: google.cloud.retail.v2.ImportProductsRequest.errors_config:type_name -> google.cloud.retail.v2.ImportErrorsConfig + 15, // 4: google.cloud.retail.v2.ImportProductsRequest.update_mask:type_name -> google.protobuf.FieldMask + 8, // 5: google.cloud.retail.v2.ImportUserEventsRequest.input_config:type_name -> google.cloud.retail.v2.UserEventInputConfig + 4, // 6: google.cloud.retail.v2.ImportUserEventsRequest.errors_config:type_name -> google.cloud.retail.v2.ImportErrorsConfig + 2, // 7: google.cloud.retail.v2.ProductInputConfig.product_inline_source:type_name -> google.cloud.retail.v2.ProductInlineSource + 0, // 8: google.cloud.retail.v2.ProductInputConfig.gcs_source:type_name -> google.cloud.retail.v2.GcsSource + 1, // 9: google.cloud.retail.v2.ProductInputConfig.big_query_source:type_name -> google.cloud.retail.v2.BigQuerySource + 3, // 10: google.cloud.retail.v2.UserEventInputConfig.user_event_inline_source:type_name -> google.cloud.retail.v2.UserEventInlineSource + 0, // 11: google.cloud.retail.v2.UserEventInputConfig.gcs_source:type_name -> google.cloud.retail.v2.GcsSource + 1, // 12: google.cloud.retail.v2.UserEventInputConfig.big_query_source:type_name -> google.cloud.retail.v2.BigQuerySource + 16, // 13: google.cloud.retail.v2.ImportMetadata.create_time:type_name -> google.protobuf.Timestamp + 16, // 14: google.cloud.retail.v2.ImportMetadata.update_time:type_name -> google.protobuf.Timestamp + 17, // 15: google.cloud.retail.v2.ImportProductsResponse.error_samples:type_name -> google.rpc.Status + 4, // 16: google.cloud.retail.v2.ImportProductsResponse.errors_config:type_name -> google.cloud.retail.v2.ImportErrorsConfig + 17, // 17: google.cloud.retail.v2.ImportUserEventsResponse.error_samples:type_name -> google.rpc.Status + 4, // 18: google.cloud.retail.v2.ImportUserEventsResponse.errors_config:type_name -> google.cloud.retail.v2.ImportErrorsConfig + 12, // 19: google.cloud.retail.v2.ImportUserEventsResponse.import_summary:type_name -> google.cloud.retail.v2.UserEventImportSummary + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2_import_config_proto_init() } +func file_google_cloud_retail_v2_import_config_proto_init() { + if File_google_cloud_retail_v2_import_config_proto != nil { + return + } + file_google_cloud_retail_v2_product_proto_init() + file_google_cloud_retail_v2_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2_import_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GcsSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BigQuerySource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductInlineSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEventInlineSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportErrorsConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportProductsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportUserEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductInputConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEventInputConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportProductsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportUserEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEventImportSummary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*ImportErrorsConfig_GcsPrefix)(nil), + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*ProductInputConfig_ProductInlineSource)(nil), + (*ProductInputConfig_GcsSource)(nil), + (*ProductInputConfig_BigQuerySource)(nil), + } + file_google_cloud_retail_v2_import_config_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*UserEventInputConfig_UserEventInlineSource)(nil), + (*UserEventInputConfig_GcsSource)(nil), + (*UserEventInputConfig_BigQuerySource)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2_import_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 13, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2_import_config_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2_import_config_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2_import_config_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2_import_config_proto = out.File + file_google_cloud_retail_v2_import_config_proto_rawDesc = nil + file_google_cloud_retail_v2_import_config_proto_goTypes = nil + file_google_cloud_retail_v2_import_config_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2/prediction_service.pb.go b/googleapis/cloud/retail/v2/prediction_service.pb.go new file mode 100644 index 000000000..8f50cca52 --- /dev/null +++ b/googleapis/cloud/retail/v2/prediction_service.pb.go @@ -0,0 +1,687 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2/prediction_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Request message for Predict method. +type PredictRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of the format: + // {name=projects/*/locations/global/catalogs/default_catalog/placements/*} + // The id of the recommendation engine placement. This id is used to identify + // the set of models that will be used to make the prediction. + // + // We currently support three placements with the following IDs by default: + // + // * `shopping_cart`: Predicts products frequently bought together with one or + // more products in the same shopping session. Commonly displayed after + // `add-to-cart` events, on product detail pages, or on the shopping cart + // page. + // + // * `home_page`: Predicts the next product that a user will most likely + // engage with or purchase based on the shopping or viewing history of the + // specified `userId` or `visitorId`. For example - Recommendations for you. + // + // * `product_detail`: Predicts the next product that a user will most likely + // engage with or purchase. The prediction is based on the shopping or + // viewing history of the specified `userId` or `visitorId` and its + // relevance to a specified `CatalogItem`. Typically used on product detail + // pages. For example - More products like this. + // + // * `recently_viewed_default`: Returns up to 75 products recently viewed by + // the + // specified `userId` or `visitorId`, most recent ones first. Returns + // nothing if neither of them has viewed any products yet. For example - + // Recently viewed. + // + // The full list of available placements can be seen at + // + // https: + // //console.cloud.google.com/recommendatio + // // n/datafeeds/default_catalog/dashboard + Placement string `protobuf:"bytes,1,opt,name=placement,proto3" json:"placement,omitempty"` + // Required. Context about the user, what they are looking at and what action + // they took to trigger the predict request. Note that this user event detail + // won't be ingested to userEvent logs. Thus, a separate userEvent write + // request is required for event logging. + UserEvent *UserEvent `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"` + // Maximum number of results to return per page. Set this property + // to the number of prediction results needed. If zero, the service will + // choose a reasonable default. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The previous PredictResponse.next_page_token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filter for restricting prediction results. Accepts values for + // tags and the `filterOutOfStockItems` flag. + // + // * Tag expressions. Restricts predictions to products that match all of the + // specified tags. Boolean operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // tag values by a space. `-"tagA"` is also supported and is equivalent to + // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings + // with a size limit of 1 KiB. + // + // * filterOutOfStockItems. Restricts predictions to products that do not + // have a + // stockState value of OUT_OF_STOCK. + // + // Examples: + // + // * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") + // * filterOutOfStockItems tag=(-"promotional") + // * filterOutOfStockItems + // + // If your filter blocks all prediction results, nothing will be returned. If + // you want generic (unfiltered) popular products to be returned instead, set + // `strictFiltering` to false in `PredictRequest.params`. + Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"` + // Use validate only mode for this prediction query. If set to true, a + // dummy model will be used that returns arbitrary products. + // Note that the validate only mode should only be used for testing the API, + // or if the model is not ready. + ValidateOnly bool `protobuf:"varint,6,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // Additional domain specific parameters for the predictions. + // + // Allowed values: + // + // * `returnProduct`: Boolean. If set to true, the associated product + // object will be returned in the + // `PredictResponse.PredictionResult.productMetadata` object in the method + // response. + // * `returnScore`: Boolean. If set to true, the prediction 'score' + // corresponding to each returned product will be set in the `metadata` + // field in the prediction response. The given 'score' indicates the + // probability of an product being clicked/purchased given the user's + // context and history. + // * `strictFiltering`: Boolean. True by default. If set to false, the service + // will return generic (unfiltered) popular products instead of empty if + // your filter blocks all prediction results. + Params map[string]*structpb.Value `protobuf:"bytes,7,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The labels for the predict request. + // + // * Label keys can contain lowercase letters, digits and hyphens, must start + // with a letter, and must end with a letter or digit. + // * Non-zero label values can contain lowercase letters, digits and hyphens, + // must start with a letter, and must end with a letter or digit. + // * No more than 64 labels can be associated with a given request. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PredictRequest) Reset() { + *x = PredictRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_prediction_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictRequest) ProtoMessage() {} + +func (x *PredictRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_prediction_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredictRequest.ProtoReflect.Descriptor instead. +func (*PredictRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_prediction_service_proto_rawDescGZIP(), []int{0} +} + +func (x *PredictRequest) GetPlacement() string { + if x != nil { + return x.Placement + } + return "" +} + +func (x *PredictRequest) GetUserEvent() *UserEvent { + if x != nil { + return x.UserEvent + } + return nil +} + +func (x *PredictRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *PredictRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *PredictRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PredictRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *PredictRequest) GetParams() map[string]*structpb.Value { + if x != nil { + return x.Params + } + return nil +} + +func (x *PredictRequest) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +// Response message for predict method. +type PredictResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of recommended products. The order represents the ranking (from the + // most relevant product to the least). + Results []*PredictResponse_PredictionResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + // A unique attribution token. This should be included in the + // [UserEvent][google.cloud.retail.v2.UserEvent] logs resulting from this + // recommendation, which enables accurate attribution of recommendation model + // performance. + AttributionToken string `protobuf:"bytes,2,opt,name=attribution_token,json=attributionToken,proto3" json:"attribution_token,omitempty"` + // IDs of products in the request that were missing from the inventory. + MissingIds []string `protobuf:"bytes,3,rep,name=missing_ids,json=missingIds,proto3" json:"missing_ids,omitempty"` + // True if the validateOnly property was set in the request. + ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` +} + +func (x *PredictResponse) Reset() { + *x = PredictResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_prediction_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictResponse) ProtoMessage() {} + +func (x *PredictResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_prediction_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredictResponse.ProtoReflect.Descriptor instead. +func (*PredictResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_prediction_service_proto_rawDescGZIP(), []int{1} +} + +func (x *PredictResponse) GetResults() []*PredictResponse_PredictionResult { + if x != nil { + return x.Results + } + return nil +} + +func (x *PredictResponse) GetAttributionToken() string { + if x != nil { + return x.AttributionToken + } + return "" +} + +func (x *PredictResponse) GetMissingIds() []string { + if x != nil { + return x.MissingIds + } + return nil +} + +func (x *PredictResponse) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +// PredictionResult represents the recommendation prediction results. +type PredictResponse_PredictionResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID of the recommended product + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Additional product metadata / annotations. + // + // Possible values: + // + // * `product`: JSON representation of the product. Will be set if + // `returnProduct` is set to true in `PredictRequest.params`. + // * `score`: Prediction score in double value. Will be set if + // `returnScore` is set to true in `PredictRequest.params`. + Metadata map[string]*structpb.Value `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PredictResponse_PredictionResult) Reset() { + *x = PredictResponse_PredictionResult{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_prediction_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictResponse_PredictionResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictResponse_PredictionResult) ProtoMessage() {} + +func (x *PredictResponse_PredictionResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_prediction_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredictResponse_PredictionResult.ProtoReflect.Descriptor instead. +func (*PredictResponse_PredictionResult) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_prediction_service_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *PredictResponse_PredictionResult) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PredictResponse_PredictionResult) GetMetadata() map[string]*structpb.Value { + if x != nil { + return x.Metadata + } + return nil +} + +var File_google_cloud_retail_v2_prediction_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2_prediction_service_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x99, 0x04, 0x0a, 0x0e, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, + 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x4a, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x51, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb6, 0x03, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, + 0xdb, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x62, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x53, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0x8e, 0x02, + 0x0a, 0x11, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0xad, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, + 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x22, 0x46, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x3a, 0x01, 0x2a, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xcb, + 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x42, 0x16, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, + 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, + 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2_prediction_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2_prediction_service_proto_rawDescData = file_google_cloud_retail_v2_prediction_service_proto_rawDesc +) + +func file_google_cloud_retail_v2_prediction_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2_prediction_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2_prediction_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_prediction_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2_prediction_service_proto_rawDescData +} + +var file_google_cloud_retail_v2_prediction_service_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_cloud_retail_v2_prediction_service_proto_goTypes = []interface{}{ + (*PredictRequest)(nil), // 0: google.cloud.retail.v2.PredictRequest + (*PredictResponse)(nil), // 1: google.cloud.retail.v2.PredictResponse + nil, // 2: google.cloud.retail.v2.PredictRequest.ParamsEntry + nil, // 3: google.cloud.retail.v2.PredictRequest.LabelsEntry + (*PredictResponse_PredictionResult)(nil), // 4: google.cloud.retail.v2.PredictResponse.PredictionResult + nil, // 5: google.cloud.retail.v2.PredictResponse.PredictionResult.MetadataEntry + (*UserEvent)(nil), // 6: google.cloud.retail.v2.UserEvent + (*structpb.Value)(nil), // 7: google.protobuf.Value +} +var file_google_cloud_retail_v2_prediction_service_proto_depIdxs = []int32{ + 6, // 0: google.cloud.retail.v2.PredictRequest.user_event:type_name -> google.cloud.retail.v2.UserEvent + 2, // 1: google.cloud.retail.v2.PredictRequest.params:type_name -> google.cloud.retail.v2.PredictRequest.ParamsEntry + 3, // 2: google.cloud.retail.v2.PredictRequest.labels:type_name -> google.cloud.retail.v2.PredictRequest.LabelsEntry + 4, // 3: google.cloud.retail.v2.PredictResponse.results:type_name -> google.cloud.retail.v2.PredictResponse.PredictionResult + 7, // 4: google.cloud.retail.v2.PredictRequest.ParamsEntry.value:type_name -> google.protobuf.Value + 5, // 5: google.cloud.retail.v2.PredictResponse.PredictionResult.metadata:type_name -> google.cloud.retail.v2.PredictResponse.PredictionResult.MetadataEntry + 7, // 6: google.cloud.retail.v2.PredictResponse.PredictionResult.MetadataEntry.value:type_name -> google.protobuf.Value + 0, // 7: google.cloud.retail.v2.PredictionService.Predict:input_type -> google.cloud.retail.v2.PredictRequest + 1, // 8: google.cloud.retail.v2.PredictionService.Predict:output_type -> google.cloud.retail.v2.PredictResponse + 8, // [8:9] is the sub-list for method output_type + 7, // [7:8] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2_prediction_service_proto_init() } +func file_google_cloud_retail_v2_prediction_service_proto_init() { + if File_google_cloud_retail_v2_prediction_service_proto != nil { + return + } + file_google_cloud_retail_v2_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2_prediction_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_prediction_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_prediction_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictResponse_PredictionResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2_prediction_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2_prediction_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2_prediction_service_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2_prediction_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2_prediction_service_proto = out.File + file_google_cloud_retail_v2_prediction_service_proto_rawDesc = nil + file_google_cloud_retail_v2_prediction_service_proto_goTypes = nil + file_google_cloud_retail_v2_prediction_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// PredictionServiceClient is the client API for PredictionService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type PredictionServiceClient interface { + // Makes a recommendation prediction. + Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error) +} + +type predictionServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewPredictionServiceClient(cc grpc.ClientConnInterface) PredictionServiceClient { + return &predictionServiceClient{cc} +} + +func (c *predictionServiceClient) Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error) { + out := new(PredictResponse) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.PredictionService/Predict", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// PredictionServiceServer is the server API for PredictionService service. +type PredictionServiceServer interface { + // Makes a recommendation prediction. + Predict(context.Context, *PredictRequest) (*PredictResponse, error) +} + +// UnimplementedPredictionServiceServer can be embedded to have forward compatible implementations. +type UnimplementedPredictionServiceServer struct { +} + +func (*UnimplementedPredictionServiceServer) Predict(context.Context, *PredictRequest) (*PredictResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Predict not implemented") +} + +func RegisterPredictionServiceServer(s *grpc.Server, srv PredictionServiceServer) { + s.RegisterService(&_PredictionService_serviceDesc, srv) +} + +func _PredictionService_Predict_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PredictRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PredictionServiceServer).Predict(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.PredictionService/Predict", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PredictionServiceServer).Predict(ctx, req.(*PredictRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _PredictionService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2.PredictionService", + HandlerType: (*PredictionServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Predict", + Handler: _PredictionService_Predict_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2/prediction_service.proto", +} diff --git a/googleapis/cloud/retail/v2/product.pb.go b/googleapis/cloud/retail/v2/product.pb.go new file mode 100644 index 000000000..c4ca23319 --- /dev/null +++ b/googleapis/cloud/retail/v2/product.pb.go @@ -0,0 +1,662 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2/product.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/known/durationpb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Product availability. If this field is unspecified, the product is +// assumed to be in stock. +type Product_Availability int32 + +const ( + // Default product availability. Default to + // [Availability.IN_STOCK][google.cloud.retail.v2.Product.Availability.IN_STOCK] + // if unset. + Product_AVAILABILITY_UNSPECIFIED Product_Availability = 0 + // Product in stock. + Product_IN_STOCK Product_Availability = 1 + // Product out of stock. + Product_OUT_OF_STOCK Product_Availability = 2 + // Product that is in pre-order state. + Product_PREORDER Product_Availability = 3 + // Product that is back-ordered (i.e. temporarily out of stock). + Product_BACKORDER Product_Availability = 4 +) + +// Enum value maps for Product_Availability. +var ( + Product_Availability_name = map[int32]string{ + 0: "AVAILABILITY_UNSPECIFIED", + 1: "IN_STOCK", + 2: "OUT_OF_STOCK", + 3: "PREORDER", + 4: "BACKORDER", + } + Product_Availability_value = map[string]int32{ + "AVAILABILITY_UNSPECIFIED": 0, + "IN_STOCK": 1, + "OUT_OF_STOCK": 2, + "PREORDER": 3, + "BACKORDER": 4, + } +) + +func (x Product_Availability) Enum() *Product_Availability { + p := new(Product_Availability) + *p = x + return p +} + +func (x Product_Availability) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Product_Availability) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_retail_v2_product_proto_enumTypes[0].Descriptor() +} + +func (Product_Availability) Type() protoreflect.EnumType { + return &file_google_cloud_retail_v2_product_proto_enumTypes[0] +} + +func (x Product_Availability) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Product_Availability.Descriptor instead. +func (Product_Availability) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_product_proto_rawDescGZIP(), []int{0, 0} +} + +// Product captures all metadata information of items to be recommended or +// searched. +type Product struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. Full resource name of the product, such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id". + // + // The branch ID must be "default_branch". + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Immutable. [Product][google.cloud.retail.v2.Product] identifier, which is + // the final component of [name][google.cloud.retail.v2.Product.name]. For + // example, this field is "id_1", if + // [name][google.cloud.retail.v2.Product.name] is + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1". + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [id](https://support.google.com/merchants/answer/6324405). + // schema.org Property [Product.sku](https://schema.org/sku). + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + // Variant group identifier. Must be an + // [id][google.cloud.retail.v2.Product.id], with the same parent branch with + // this product. Otherwise, an error is thrown. + // + // The primary product may be empty during the creation, but cannot be updated + // from a non-empty string to an empty one. Otherwise an INVALID_ARGUMENT + // error is returned. + // + // Should only be set for [Type.VARIANT][] + // [Product][google.cloud.retail.v2.Product]s. A maximum of 1000 products are + // allowed to share the same [Type.PRIMARY][] + // [Product][google.cloud.retail.v2.Product]. Otherwise, an INVALID_ARGUMENT + // error is returned. + // + // Google Merchant Center Property + // [item_group_id](https://support.google.com/merchants/answer/6324507). + // schema.org Property + // [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID). + // + // This field must be enabled before it can be used. [Learn + // more](/recommendations-ai/docs/catalog#item-group-id). + PrimaryProductId string `protobuf:"bytes,4,opt,name=primary_product_id,json=primaryProductId,proto3" json:"primary_product_id,omitempty"` + // Required. Product categories. This field is repeated for supporting one + // product belonging to several parallel categories. Each value is either the + // full path of the category, or the [category + // + // ID](https: + // //www.google.com/basepages/producttype/taxonomy-with-ids.en-US.txt). + // Strongly recommended using the full path for better search / recommendation + // quality. + // + // To represent full path of category, use '>' sign to separate different + // hierarchies. If '>' is part of the category name, you should escape it with + // '\x3E'. + // + // For example, if a shoes product belongs to both + // ["Shoes & Accessories" -> "Shoes"] and + // ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be + // represented as: + // + // "categories": [ + // "Shoes & Accessories > Shoes", + // "Sports & Fitness > Athletic Clothing > Shoes" + // ] + // + // At most 250 values are allowed per + // [Product][google.cloud.retail.v2.Product]. Empty values are not allowed. + // Each value must be a UTF-8 encoded string with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // + // [google_product_category](https: + // //support.google.com/merchants/answer/6324436). + // Schema.org property [Product.category] (https://schema.org/category). + Categories []string `protobuf:"bytes,7,rep,name=categories,proto3" json:"categories,omitempty"` + // Required. Product title. + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [title](https://support.google.com/merchants/answer/6324415). Schema.org + // property [Product.name](https://schema.org/name). + Title string `protobuf:"bytes,8,opt,name=title,proto3" json:"title,omitempty"` + // Product description. + // + // This field must be a UTF-8 encoded string with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [description](https://support.google.com/merchants/answer/6324468). + // schema.org property [Product.description](https://schema.org/description). + Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"` + // Language of the title/description and other string attributes. Use language + // tags defined by [BCP 47][https://www.rfc-editor.org/rfc/bcp/bcp47.txt]. + // + // The model automatically detects the text language. The + // [Product][google.cloud.retail.v2.Product] can include text in different + // languages, but duplicating [Product][google.cloud.retail.v2.Product]s to + // provide text in multiple languages can result in degraded model + // performance. + // + // Currently, recommendation supports all language codes, while the only + // supported language code for search is "en-US". + LanguageCode string `protobuf:"bytes,11,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` + // Highly encouraged. Extra product attributes to be included. For example, + // for products, this could include the store name, vendor, style, color, etc. + // These are very strong signals for recommendation model, thus we highly + // recommend providing the attributes here. + // + // Features that can take on one of a limited number of possible values. Two + // types of features can be set are: + // + // Textual features. some examples would be the brand/maker of a product, or + // country of a customer. Numerical features. Some examples would be the + // height/weight of a product, or age of a customer. + // + // For example: { "vendor": {"text": ["vendor123", "vendor456"]}, + // "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} + // }. + // + // A maximum of 150 attributes are allowed. Otherwise, an INVALID_ARGUMENT + // error is returned. + 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"` + // Custom tags associated with the product. + // + // At most 250 values are allowed per + // [Product][google.cloud.retail.v2.Product]. This value must be a UTF-8 + // encoded string with a length limit of 1 KiB. Otherwise, an INVALID_ARGUMENT + // error is returned. + // + // This tag can be used for filtering recommendation results by passing the + // tag as part of the + // [PredictRequest.filter][google.cloud.retail.v2.PredictRequest.filter]. + // + // Google Merchant Center property + // [custom_label_0–4](https://support.google.com/merchants/answer/6324473). + Tags []string `protobuf:"bytes,13,rep,name=tags,proto3" json:"tags,omitempty"` + // Product price and cost information. + // + // Google Merchant Center property + // [price](https://support.google.com/merchants/answer/6324371). + PriceInfo *PriceInfo `protobuf:"bytes,14,opt,name=price_info,json=priceInfo,proto3" json:"price_info,omitempty"` + // The timestamp when this [Product][google.cloud.retail.v2.Product] becomes + // available recommendation and search. + AvailableTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=available_time,json=availableTime,proto3" json:"available_time,omitempty"` + // The online availability of the [Product][google.cloud.retail.v2.Product], + // which is parallel to and independent of [fulfillment_info][]. Default is + // [Availability.IN_STOCK][google.cloud.retail.v2.Product.Availability.IN_STOCK]. + // + // Google Merchant Center Property + // [availability](https://support.google.com/merchants/answer/6324448). + // schema.org Property [Offer.availability](https://schema.org/availability). + Availability Product_Availability `protobuf:"varint,19,opt,name=availability,proto3,enum=google.cloud.retail.v2.Product_Availability" json:"availability,omitempty"` + // The available quantity of the item. + AvailableQuantity *wrapperspb.Int32Value `protobuf:"bytes,20,opt,name=available_quantity,json=availableQuantity,proto3" json:"available_quantity,omitempty"` + // Canonical URL directly linking to the product detail page. + // + // This field must be a UTF-8 encoded string with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [link](https://support.google.com/merchants/answer/6324416). + // Schema.org property [Offer.url](https://schema.org/url). + Uri string `protobuf:"bytes,22,opt,name=uri,proto3" json:"uri,omitempty"` + // Product images for the product. + // + // Google Merchant Center property + // [image_link](https://support.google.com/merchants/answer/6324350). + // Schema.org property [Product.image](https://schema.org/image). + Images []*Image `protobuf:"bytes,23,rep,name=images,proto3" json:"images,omitempty"` + // Indicates which fields in the [variants][] are retrievable in [Search][]. + // If not set or empty, the following fields are returned: + // + // * [name][google.cloud.retail.v2.Product.name] + // * [availability][google.cloud.retail.v2.Product.availability] + // * [color_info][] + // + // Supported fields: + // + // * [name][google.cloud.retail.v2.Product.name] + // * [availability][google.cloud.retail.v2.Product.availability] + // * [color_info][] + // * [gtin][] + // * [price_info][google.cloud.retail.v2.Product.price_info] + // * [sizes][] + // * [materials][] + // * [patterns][] + // * [conditions][] + // * [images][google.cloud.retail.v2.Product.images] + // * [attributes][google.cloud.retail.v2.Product.attributes] + // + // To mark custom attributes as retrievable, include paths of the form + // "attributes.key" where "key" is the key of a custom attribute, as + // specified in [attributes][google.cloud.retail.v2.Product.attributes]. + // + // Maximum number of paths is 10. Otherwise, an INVALID_ARGUMENT error is + // returned. + StockingUnitRetrievableFields *fieldmaskpb.FieldMask `protobuf:"bytes,30,opt,name=stocking_unit_retrievable_fields,json=stockingUnitRetrievableFields,proto3" json:"stocking_unit_retrievable_fields,omitempty"` +} + +func (x *Product) Reset() { + *x = Product{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_product_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Product) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Product) ProtoMessage() {} + +func (x *Product) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_product_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Product.ProtoReflect.Descriptor instead. +func (*Product) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_product_proto_rawDescGZIP(), []int{0} +} + +func (x *Product) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Product) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Product) GetPrimaryProductId() string { + if x != nil { + return x.PrimaryProductId + } + return "" +} + +func (x *Product) GetCategories() []string { + if x != nil { + return x.Categories + } + return nil +} + +func (x *Product) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *Product) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Product) GetLanguageCode() string { + if x != nil { + return x.LanguageCode + } + return "" +} + +func (x *Product) GetAttributes() map[string]*CustomAttribute { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *Product) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *Product) GetPriceInfo() *PriceInfo { + if x != nil { + return x.PriceInfo + } + return nil +} + +func (x *Product) GetAvailableTime() *timestamppb.Timestamp { + if x != nil { + return x.AvailableTime + } + return nil +} + +func (x *Product) GetAvailability() Product_Availability { + if x != nil { + return x.Availability + } + return Product_AVAILABILITY_UNSPECIFIED +} + +func (x *Product) GetAvailableQuantity() *wrapperspb.Int32Value { + if x != nil { + return x.AvailableQuantity + } + return nil +} + +func (x *Product) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *Product) GetImages() []*Image { + if x != nil { + return x.Images + } + return nil +} + +func (x *Product) GetStockingUnitRetrievableFields() *fieldmaskpb.FieldMask { + if x != nil { + return x.StockingUnitRetrievableFields + } + return nil +} + +var File_google_cloud_retail_v2_product_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2_product_proto_rawDesc = []byte{ + 0x0a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xfc, 0x08, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x4f, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0c, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x61, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x0c, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x12, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x35, 0x0a, 0x06, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, + 0x12, 0x63, 0x0a, 0x20, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x6e, 0x69, + 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x1d, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, + 0x55, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x66, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x69, 0x0a, + 0x0c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, + 0x18, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, + 0x4e, 0x5f, 0x53, 0x54, 0x4f, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x55, 0x54, + 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x54, 0x4f, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, + 0x52, 0x45, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x41, 0x43, + 0x4b, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x04, 0x3a, 0x84, 0x01, 0xea, 0x41, 0x80, 0x01, 0x0a, + 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x5f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, + 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x7d, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, + 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x7d, 0x2f, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x7d, 0x42, + 0xb0, 0x02, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x42, 0x0c, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, + 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, + 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0xca, 0x02, + 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, + 0x3a, 0x56, 0x32, 0xea, 0x41, 0x6c, 0x0a, 0x1c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x72, + 0x61, 0x6e, 0x63, 0x68, 0x12, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x7d, + 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x72, 0x61, 0x6e, 0x63, + 0x68, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2_product_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2_product_proto_rawDescData = file_google_cloud_retail_v2_product_proto_rawDesc +) + +func file_google_cloud_retail_v2_product_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2_product_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2_product_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_product_proto_rawDescData) + }) + return file_google_cloud_retail_v2_product_proto_rawDescData +} + +var file_google_cloud_retail_v2_product_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_retail_v2_product_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_retail_v2_product_proto_goTypes = []interface{}{ + (Product_Availability)(0), // 0: google.cloud.retail.v2.Product.Availability + (*Product)(nil), // 1: google.cloud.retail.v2.Product + nil, // 2: google.cloud.retail.v2.Product.AttributesEntry + (*PriceInfo)(nil), // 3: google.cloud.retail.v2.PriceInfo + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp + (*wrapperspb.Int32Value)(nil), // 5: google.protobuf.Int32Value + (*Image)(nil), // 6: google.cloud.retail.v2.Image + (*fieldmaskpb.FieldMask)(nil), // 7: google.protobuf.FieldMask + (*CustomAttribute)(nil), // 8: google.cloud.retail.v2.CustomAttribute +} +var file_google_cloud_retail_v2_product_proto_depIdxs = []int32{ + 2, // 0: google.cloud.retail.v2.Product.attributes:type_name -> google.cloud.retail.v2.Product.AttributesEntry + 3, // 1: google.cloud.retail.v2.Product.price_info:type_name -> google.cloud.retail.v2.PriceInfo + 4, // 2: google.cloud.retail.v2.Product.available_time:type_name -> google.protobuf.Timestamp + 0, // 3: google.cloud.retail.v2.Product.availability:type_name -> google.cloud.retail.v2.Product.Availability + 5, // 4: google.cloud.retail.v2.Product.available_quantity:type_name -> google.protobuf.Int32Value + 6, // 5: google.cloud.retail.v2.Product.images:type_name -> google.cloud.retail.v2.Image + 7, // 6: google.cloud.retail.v2.Product.stocking_unit_retrievable_fields:type_name -> google.protobuf.FieldMask + 8, // 7: google.cloud.retail.v2.Product.AttributesEntry.value:type_name -> google.cloud.retail.v2.CustomAttribute + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2_product_proto_init() } +func file_google_cloud_retail_v2_product_proto_init() { + if File_google_cloud_retail_v2_product_proto != nil { + return + } + file_google_cloud_retail_v2_common_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2_product_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Product); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2_product_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2_product_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2_product_proto_depIdxs, + EnumInfos: file_google_cloud_retail_v2_product_proto_enumTypes, + MessageInfos: file_google_cloud_retail_v2_product_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2_product_proto = out.File + file_google_cloud_retail_v2_product_proto_rawDesc = nil + file_google_cloud_retail_v2_product_proto_goTypes = nil + file_google_cloud_retail_v2_product_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2/product_service.pb.go b/googleapis/cloud/retail/v2/product_service.pb.go new file mode 100644 index 000000000..2c979786b --- /dev/null +++ b/googleapis/cloud/retail/v2/product_service.pb.go @@ -0,0 +1,917 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2/product_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + longrunning "google.golang.org/genproto/googleapis/longrunning" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Request message for [CreateProduct][] method. +type CreateProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent catalog resource name, such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The [Product][google.cloud.retail.v2.Product] to create. + Product *Product `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"` + // Required. The ID to use for the [Product][google.cloud.retail.v2.Product], + // which will become the final component of the + // [Product.name][google.cloud.retail.v2.Product.name]. + // + // If the caller does not have permission to create the + // [Product][google.cloud.retail.v2.Product], regardless of whether or not it + // exists, a PERMISSION_DENIED error is returned. + // + // This field must be unique among all + // [Product][google.cloud.retail.v2.Product]s with the same + // [parent][google.cloud.retail.v2.CreateProductRequest.parent]. Otherwise, an + // ALREADY_EXISTS error is returned. + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + ProductId string `protobuf:"bytes,3,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"` +} + +func (x *CreateProductRequest) Reset() { + *x = CreateProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_product_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProductRequest) ProtoMessage() {} + +func (x *CreateProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_product_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateProductRequest.ProtoReflect.Descriptor instead. +func (*CreateProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_product_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateProductRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateProductRequest) GetProduct() *Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *CreateProductRequest) GetProductId() string { + if x != nil { + return x.ProductId + } + return "" +} + +// Request message for [GetProduct][] method. +type GetProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of [Product][google.cloud.retail.v2.Product], + // such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id". + // + // If the caller does not have permission to access the + // [Product][google.cloud.retail.v2.Product], regardless of whether or not it + // exists, a PERMISSION_DENIED error is returned. + // + // If the requested [Product][google.cloud.retail.v2.Product] does not exist, + // a NOT_FOUND error is returned. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetProductRequest) Reset() { + *x = GetProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_product_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProductRequest) ProtoMessage() {} + +func (x *GetProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_product_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProductRequest.ProtoReflect.Descriptor instead. +func (*GetProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_product_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetProductRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for [UpdateProduct][] method. +type UpdateProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The product to update/create. + // + // If the caller does not have permission to update the + // [Product][google.cloud.retail.v2.Product], regardless of whether or not it + // exists, a PERMISSION_DENIED error is returned. + // + // If the [Product][google.cloud.retail.v2.Product] to update does not exist, + // a NOT_FOUND error is returned. + Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"` + // Indicates which fields in the provided + // [Product][google.cloud.retail.v2.Product] to update. The immutable and + // output only fields are NOT supported. If not set, all supported fields (the + // fields that are neither immutable nor output only) are updated. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateProductRequest) Reset() { + *x = UpdateProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_product_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateProductRequest) ProtoMessage() {} + +func (x *UpdateProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_product_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateProductRequest.ProtoReflect.Descriptor instead. +func (*UpdateProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_product_service_proto_rawDescGZIP(), []int{2} +} + +func (x *UpdateProductRequest) GetProduct() *Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *UpdateProductRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for [DeleteProduct][] method. +type DeleteProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of [Product][google.cloud.retail.v2.Product], + // such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id". + // + // If the caller does not have permission to delete the + // [Product][google.cloud.retail.v2.Product], regardless of whether or not it + // exists, a PERMISSION_DENIED error is returned. + // + // If the [Product][google.cloud.retail.v2.Product] to delete does not exist, + // a NOT_FOUND error is returned. + // + // The [Product][google.cloud.retail.v2.Product] to delete can neither be a + // non-empty [Product.Type.COLLECTION][] + // [Product][google.cloud.retail.v2.Product] nor a [Product.Type.PRIMARY][] + // [Product][google.cloud.retail.v2.Product] with more than one + // [variants][Product.Type.VARIANT]. Otherwise, a FAILED_PRECONDITION error is + // returned. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteProductRequest) Reset() { + *x = DeleteProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_product_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteProductRequest) ProtoMessage() {} + +func (x *DeleteProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_product_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteProductRequest.ProtoReflect.Descriptor instead. +func (*DeleteProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_product_service_proto_rawDescGZIP(), []int{3} +} + +func (x *DeleteProductRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +var File_google_cloud_retail_v2_product_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2_product_service_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, + 0x32, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, + 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x14, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, + 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x3b, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x51, 0x0a, 0x14, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xfa, + 0x0a, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0xcf, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x22, 0x6f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x22, 0x42, 0x2f, 0x76, 0x32, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x07, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0xda, 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x12, 0xac, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x52, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0xd2, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x22, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x32, 0x4b, 0x2f, 0x76, 0x32, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, + 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xa9, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x2a, 0x43, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x89, 0x02, 0x0a, 0x0d, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, + 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, + 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x22, 0x48, 0x2f, 0x76, 0x32, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, + 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, + 0x70, 0x75, 0x72, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x54, 0x0a, 0x2c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x8e, 0x02, 0x0a, 0x0e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xad, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x22, 0x49, 0x2f, 0x76, 0x32, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x56, 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xc8, 0x01, 0x0a, 0x1a, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x42, 0x13, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, + 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, + 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, + 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2_product_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2_product_service_proto_rawDescData = file_google_cloud_retail_v2_product_service_proto_rawDesc +) + +func file_google_cloud_retail_v2_product_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2_product_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2_product_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_product_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2_product_service_proto_rawDescData +} + +var file_google_cloud_retail_v2_product_service_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_google_cloud_retail_v2_product_service_proto_goTypes = []interface{}{ + (*CreateProductRequest)(nil), // 0: google.cloud.retail.v2.CreateProductRequest + (*GetProductRequest)(nil), // 1: google.cloud.retail.v2.GetProductRequest + (*UpdateProductRequest)(nil), // 2: google.cloud.retail.v2.UpdateProductRequest + (*DeleteProductRequest)(nil), // 3: google.cloud.retail.v2.DeleteProductRequest + (*Product)(nil), // 4: google.cloud.retail.v2.Product + (*fieldmaskpb.FieldMask)(nil), // 5: google.protobuf.FieldMask + (*PurgeProductsRequest)(nil), // 6: google.cloud.retail.v2.PurgeProductsRequest + (*ImportProductsRequest)(nil), // 7: google.cloud.retail.v2.ImportProductsRequest + (*emptypb.Empty)(nil), // 8: google.protobuf.Empty + (*longrunning.Operation)(nil), // 9: google.longrunning.Operation +} +var file_google_cloud_retail_v2_product_service_proto_depIdxs = []int32{ + 4, // 0: google.cloud.retail.v2.CreateProductRequest.product:type_name -> google.cloud.retail.v2.Product + 4, // 1: google.cloud.retail.v2.UpdateProductRequest.product:type_name -> google.cloud.retail.v2.Product + 5, // 2: google.cloud.retail.v2.UpdateProductRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 3: google.cloud.retail.v2.ProductService.CreateProduct:input_type -> google.cloud.retail.v2.CreateProductRequest + 1, // 4: google.cloud.retail.v2.ProductService.GetProduct:input_type -> google.cloud.retail.v2.GetProductRequest + 2, // 5: google.cloud.retail.v2.ProductService.UpdateProduct:input_type -> google.cloud.retail.v2.UpdateProductRequest + 3, // 6: google.cloud.retail.v2.ProductService.DeleteProduct:input_type -> google.cloud.retail.v2.DeleteProductRequest + 6, // 7: google.cloud.retail.v2.ProductService.PurgeProducts:input_type -> google.cloud.retail.v2.PurgeProductsRequest + 7, // 8: google.cloud.retail.v2.ProductService.ImportProducts:input_type -> google.cloud.retail.v2.ImportProductsRequest + 4, // 9: google.cloud.retail.v2.ProductService.CreateProduct:output_type -> google.cloud.retail.v2.Product + 4, // 10: google.cloud.retail.v2.ProductService.GetProduct:output_type -> google.cloud.retail.v2.Product + 4, // 11: google.cloud.retail.v2.ProductService.UpdateProduct:output_type -> google.cloud.retail.v2.Product + 8, // 12: google.cloud.retail.v2.ProductService.DeleteProduct:output_type -> google.protobuf.Empty + 9, // 13: google.cloud.retail.v2.ProductService.PurgeProducts:output_type -> google.longrunning.Operation + 9, // 14: google.cloud.retail.v2.ProductService.ImportProducts:output_type -> google.longrunning.Operation + 9, // [9:15] is the sub-list for method output_type + 3, // [3:9] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2_product_service_proto_init() } +func file_google_cloud_retail_v2_product_service_proto_init() { + if File_google_cloud_retail_v2_product_service_proto != nil { + return + } + file_google_cloud_retail_v2_import_config_proto_init() + file_google_cloud_retail_v2_product_proto_init() + file_google_cloud_retail_v2_purge_config_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2_product_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_product_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_product_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_product_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2_product_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2_product_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2_product_service_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2_product_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2_product_service_proto = out.File + file_google_cloud_retail_v2_product_service_proto_rawDesc = nil + file_google_cloud_retail_v2_product_service_proto_goTypes = nil + file_google_cloud_retail_v2_product_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// ProductServiceClient is the client API for ProductService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ProductServiceClient interface { + // Creates a [Product][google.cloud.retail.v2.Product]. + CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) + // Gets a [Product][google.cloud.retail.v2.Product]. + GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error) + // Updates a [Product][google.cloud.retail.v2.Product]. Non-existing items + // will be created. + UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) + // Deletes a [Product][google.cloud.retail.v2.Product]. + DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Permanently deletes all [Product][google.cloud.retail.v2.Product]s under a + // branch. + // + // Depending on the number of [Product][google.cloud.retail.v2.Product]s, this + // operation could take hours to complete. To get a sample of + // [Product][google.cloud.retail.v2.Product]s that would be deleted, set + // [PurgeProductsRequest.force][google.cloud.retail.v2.PurgeProductsRequest.force] + // to false. + PurgeProducts(ctx context.Context, in *PurgeProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Bulk import of multiple [Product][google.cloud.retail.v2.Product]s. + // + // Request processing may be synchronous. No partial updating is supported. + // Non-existing items are created. + // + // Note that it is possible for a subset of the + // [Product][google.cloud.retail.v2.Product]s to be successfully updated. + ImportProducts(ctx context.Context, in *ImportProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) +} + +type productServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewProductServiceClient(cc grpc.ClientConnInterface) ProductServiceClient { + return &productServiceClient{cc} +} + +func (c *productServiceClient) CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) { + out := new(Product) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.ProductService/CreateProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error) { + out := new(Product) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.ProductService/GetProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) { + out := new(Product) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.ProductService/UpdateProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.ProductService/DeleteProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) PurgeProducts(ctx context.Context, in *PurgeProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.ProductService/PurgeProducts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) ImportProducts(ctx context.Context, in *ImportProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.ProductService/ImportProducts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProductServiceServer is the server API for ProductService service. +type ProductServiceServer interface { + // Creates a [Product][google.cloud.retail.v2.Product]. + CreateProduct(context.Context, *CreateProductRequest) (*Product, error) + // Gets a [Product][google.cloud.retail.v2.Product]. + GetProduct(context.Context, *GetProductRequest) (*Product, error) + // Updates a [Product][google.cloud.retail.v2.Product]. Non-existing items + // will be created. + UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error) + // Deletes a [Product][google.cloud.retail.v2.Product]. + DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error) + // Permanently deletes all [Product][google.cloud.retail.v2.Product]s under a + // branch. + // + // Depending on the number of [Product][google.cloud.retail.v2.Product]s, this + // operation could take hours to complete. To get a sample of + // [Product][google.cloud.retail.v2.Product]s that would be deleted, set + // [PurgeProductsRequest.force][google.cloud.retail.v2.PurgeProductsRequest.force] + // to false. + PurgeProducts(context.Context, *PurgeProductsRequest) (*longrunning.Operation, error) + // Bulk import of multiple [Product][google.cloud.retail.v2.Product]s. + // + // Request processing may be synchronous. No partial updating is supported. + // Non-existing items are created. + // + // Note that it is possible for a subset of the + // [Product][google.cloud.retail.v2.Product]s to be successfully updated. + ImportProducts(context.Context, *ImportProductsRequest) (*longrunning.Operation, error) +} + +// UnimplementedProductServiceServer can be embedded to have forward compatible implementations. +type UnimplementedProductServiceServer struct { +} + +func (*UnimplementedProductServiceServer) CreateProduct(context.Context, *CreateProductRequest) (*Product, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProduct not implemented") +} +func (*UnimplementedProductServiceServer) GetProduct(context.Context, *GetProductRequest) (*Product, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProduct not implemented") +} +func (*UnimplementedProductServiceServer) UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProduct not implemented") +} +func (*UnimplementedProductServiceServer) DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteProduct not implemented") +} +func (*UnimplementedProductServiceServer) PurgeProducts(context.Context, *PurgeProductsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method PurgeProducts not implemented") +} +func (*UnimplementedProductServiceServer) ImportProducts(context.Context, *ImportProductsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportProducts not implemented") +} + +func RegisterProductServiceServer(s *grpc.Server, srv ProductServiceServer) { + s.RegisterService(&_ProductService_serviceDesc, srv) +} + +func _ProductService_CreateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).CreateProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.ProductService/CreateProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).CreateProduct(ctx, req.(*CreateProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_GetProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).GetProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.ProductService/GetProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).GetProduct(ctx, req.(*GetProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_UpdateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).UpdateProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.ProductService/UpdateProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).UpdateProduct(ctx, req.(*UpdateProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_DeleteProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).DeleteProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.ProductService/DeleteProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).DeleteProduct(ctx, req.(*DeleteProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_PurgeProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PurgeProductsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).PurgeProducts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.ProductService/PurgeProducts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).PurgeProducts(ctx, req.(*PurgeProductsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_ImportProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportProductsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).ImportProducts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.ProductService/ImportProducts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).ImportProducts(ctx, req.(*ImportProductsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _ProductService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2.ProductService", + HandlerType: (*ProductServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateProduct", + Handler: _ProductService_CreateProduct_Handler, + }, + { + MethodName: "GetProduct", + Handler: _ProductService_GetProduct_Handler, + }, + { + MethodName: "UpdateProduct", + Handler: _ProductService_UpdateProduct_Handler, + }, + { + MethodName: "DeleteProduct", + Handler: _ProductService_DeleteProduct_Handler, + }, + { + MethodName: "PurgeProducts", + Handler: _ProductService_PurgeProducts_Handler, + }, + { + MethodName: "ImportProducts", + Handler: _ProductService_ImportProducts_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2/product_service.proto", +} diff --git a/googleapis/cloud/retail/v2/purge_config.pb.go b/googleapis/cloud/retail/v2/purge_config.pb.go new file mode 100644 index 000000000..d4081a560 --- /dev/null +++ b/googleapis/cloud/retail/v2/purge_config.pb.go @@ -0,0 +1,585 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2/purge_config.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Metadata related to the progress of the Purge operation. +// This will be returned by the google.longrunning.Operation.metadata field. +type PurgeMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the request / operation. + Operation string `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` + // Operation create time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` +} + +func (x *PurgeMetadata) Reset() { + *x = PurgeMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_purge_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeMetadata) ProtoMessage() {} + +func (x *PurgeMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_purge_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeMetadata.ProtoReflect.Descriptor instead. +func (*PurgeMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_purge_config_proto_rawDescGZIP(), []int{0} +} + +func (x *PurgeMetadata) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +func (x *PurgeMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +// Request message for PurgeProducts method. +type PurgeProductsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the catalog under which the products are + // created. The format is + // "projects/${projectId}/locations/global/catalogs/${catalogId}" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Filter matching the products to be purged. Only supported value + // at the moment is "*" (all items). + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The default value is false. Override this flag to true to + // actually perform the purge. If the field is not set to true, a sampling of + // products to be deleted will be returned. + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *PurgeProductsRequest) Reset() { + *x = PurgeProductsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_purge_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeProductsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeProductsRequest) ProtoMessage() {} + +func (x *PurgeProductsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_purge_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeProductsRequest.ProtoReflect.Descriptor instead. +func (*PurgeProductsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_purge_config_proto_rawDescGZIP(), []int{1} +} + +func (x *PurgeProductsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *PurgeProductsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PurgeProductsRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Response of the PurgeProductsRequest. If the long running operation is +// successfully done, then this message is returned by the +// google.longrunning.Operations.response field. +type PurgeProductsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The total count of products purged as a result of the operation. + PurgedCount int64 `protobuf:"varint,1,opt,name=purged_count,json=purgedCount,proto3" json:"purged_count,omitempty"` + // A random sampling of products deleted (or will be deleted) depending + // on the `force` property in the request. Max of 500 items will be returned. + // Currently, this is only populated if force=false. + ProductsSample []*Product `protobuf:"bytes,2,rep,name=products_sample,json=productsSample,proto3" json:"products_sample,omitempty"` +} + +func (x *PurgeProductsResponse) Reset() { + *x = PurgeProductsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_purge_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeProductsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeProductsResponse) ProtoMessage() {} + +func (x *PurgeProductsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_purge_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeProductsResponse.ProtoReflect.Descriptor instead. +func (*PurgeProductsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_purge_config_proto_rawDescGZIP(), []int{2} +} + +func (x *PurgeProductsResponse) GetPurgedCount() int64 { + if x != nil { + return x.PurgedCount + } + return 0 +} + +func (x *PurgeProductsResponse) GetProductsSample() []*Product { + if x != nil { + return x.ProductsSample + } + return nil +} + +// Request message for PurgeUserEvents method. +type PurgeUserEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the event_store under which the events are + // created. The format is + // + // "projects/${projectId}/locations/global/catalogs/${catalogId}/eventStores/${eventStoreId}" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The filter string to specify the events to be deleted. Empty + // string filter is not allowed. The eligible fields + // for filtering are: + // + // * `eventType`: UserEvent.eventType field of type string. + // * `eventTime`: in ISO 8601 "zulu" format. + // * `visitorId`: field of type string. Specifying this will delete all + // events associated with a visitor. + // * `userId`: field of type string. Specifying this will delete all events + // associated with a user. + // + // Examples: + // + // * Deleting all events in a time range: + // `eventTime > "2012-04-23T18:25:43.511Z" + // eventTime < "2012-04-23T18:30:43.511Z"` + // * Deleting specific eventType in time range: + // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` + // * Deleting all events for a specific visitor: + // `visitorId = "visitor1024"` + // + // The filtering fields are assumed to have an implicit AND. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The default value is false. Override this flag to true to + // actually perform the purge. If the field is not set to true, a sampling of + // events to be deleted will be returned. + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *PurgeUserEventsRequest) Reset() { + *x = PurgeUserEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_purge_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeUserEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeUserEventsRequest) ProtoMessage() {} + +func (x *PurgeUserEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_purge_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeUserEventsRequest.ProtoReflect.Descriptor instead. +func (*PurgeUserEventsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_purge_config_proto_rawDescGZIP(), []int{3} +} + +func (x *PurgeUserEventsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *PurgeUserEventsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PurgeUserEventsRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Response of the PurgeUserEventsRequest. If the long running operation is +// successfully done, then this message is returned by the +// google.longrunning.Operations.response field. +type PurgeUserEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The total count of events purged as a result of the operation. + PurgedEventsCount int64 `protobuf:"varint,1,opt,name=purged_events_count,json=purgedEventsCount,proto3" json:"purged_events_count,omitempty"` + // A sampling of events deleted (or will be deleted) depending on the `force` + // property in the request. Max of 500 items will be returned. + UserEventsSample []*UserEvent `protobuf:"bytes,2,rep,name=user_events_sample,json=userEventsSample,proto3" json:"user_events_sample,omitempty"` +} + +func (x *PurgeUserEventsResponse) Reset() { + *x = PurgeUserEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_purge_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeUserEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeUserEventsResponse) ProtoMessage() {} + +func (x *PurgeUserEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_purge_config_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeUserEventsResponse.ProtoReflect.Descriptor instead. +func (*PurgeUserEventsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_purge_config_proto_rawDescGZIP(), []int{4} +} + +func (x *PurgeUserEventsResponse) GetPurgedEventsCount() int64 { + if x != nil { + return x.PurgedEventsCount + } + return 0 +} + +func (x *PurgeUserEventsResponse) GetUserEventsSample() []*UserEvent { + if x != nil { + return x.UserEventsSample + } + return nil +} + +var File_google_cloud_retail_v2_purge_config_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2_purge_config_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, + 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x0d, 0x50, 0x75, 0x72, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x66, + 0x0a, 0x14, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x15, 0x50, 0x75, 0x72, 0x67, 0x65, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x75, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x75, 0x72, 0x67, 0x65, 0x64, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x5f, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x22, 0x68, 0x0a, + 0x16, 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x17, 0x50, 0x75, 0x72, 0x67, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x75, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x11, 0x70, 0x75, 0x72, 0x67, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x42, 0xc5, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x42, 0x10, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, + 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, + 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2_purge_config_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2_purge_config_proto_rawDescData = file_google_cloud_retail_v2_purge_config_proto_rawDesc +) + +func file_google_cloud_retail_v2_purge_config_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2_purge_config_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2_purge_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_purge_config_proto_rawDescData) + }) + return file_google_cloud_retail_v2_purge_config_proto_rawDescData +} + +var file_google_cloud_retail_v2_purge_config_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_cloud_retail_v2_purge_config_proto_goTypes = []interface{}{ + (*PurgeMetadata)(nil), // 0: google.cloud.retail.v2.PurgeMetadata + (*PurgeProductsRequest)(nil), // 1: google.cloud.retail.v2.PurgeProductsRequest + (*PurgeProductsResponse)(nil), // 2: google.cloud.retail.v2.PurgeProductsResponse + (*PurgeUserEventsRequest)(nil), // 3: google.cloud.retail.v2.PurgeUserEventsRequest + (*PurgeUserEventsResponse)(nil), // 4: google.cloud.retail.v2.PurgeUserEventsResponse + (*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp + (*Product)(nil), // 6: google.cloud.retail.v2.Product + (*UserEvent)(nil), // 7: google.cloud.retail.v2.UserEvent +} +var file_google_cloud_retail_v2_purge_config_proto_depIdxs = []int32{ + 5, // 0: google.cloud.retail.v2.PurgeMetadata.create_time:type_name -> google.protobuf.Timestamp + 6, // 1: google.cloud.retail.v2.PurgeProductsResponse.products_sample:type_name -> google.cloud.retail.v2.Product + 7, // 2: google.cloud.retail.v2.PurgeUserEventsResponse.user_events_sample:type_name -> google.cloud.retail.v2.UserEvent + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2_purge_config_proto_init() } +func file_google_cloud_retail_v2_purge_config_proto_init() { + if File_google_cloud_retail_v2_purge_config_proto != nil { + return + } + file_google_cloud_retail_v2_product_proto_init() + file_google_cloud_retail_v2_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2_purge_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_purge_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeProductsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_purge_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeProductsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_purge_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeUserEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_purge_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeUserEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2_purge_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2_purge_config_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2_purge_config_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2_purge_config_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2_purge_config_proto = out.File + file_google_cloud_retail_v2_purge_config_proto_rawDesc = nil + file_google_cloud_retail_v2_purge_config_proto_goTypes = nil + file_google_cloud_retail_v2_purge_config_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2/user_event.pb.go b/googleapis/cloud/retail/v2/user_event.pb.go new file mode 100644 index 000000000..a7a32f82a --- /dev/null +++ b/googleapis/cloud/retail/v2/user_event.pb.go @@ -0,0 +1,704 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2/user_event.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// UserEvent captures all metadata information recommendation engine needs to +// know about how end users interact with customers' website. +type UserEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. User event type. Allowed values are: + // + // * `add-to-cart` Products being added to cart. + // * `category-page-view` Special pages such as sale or promotion pages + // viewed. + // * `detail-page-view` Products detail page viewed. + // * `home-page-view` Homepage viewed. + // * `purchase-complete` User finishing a purchase. + // * `search` + // * `shopping-cart-page-view` User viewing a shopping cart. + EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + // Required. A unique identifier for tracking visitors. For example, this + // could be implemented with a http cookie, which should be able to uniquely + // identify a visitor on a single device. This unique identifier should not + // change if the visitor log in/out of the website. + // + // The field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + VisitorId string `protobuf:"bytes,2,opt,name=visitor_id,json=visitorId,proto3" json:"visitor_id,omitempty"` + // Only required for + // [UserEventService.ImportUserEvents][google.cloud.retail.v2.UserEventService.ImportUserEvents] + // method. Timestamp of when the user event happened. + EventTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"` + // A list of identifiers for the independent experiment groups + // this user event belongs to. This is used to distinguish between user events + // associated with different experiment setups (e.g. using Recommendations AI, + // using different recommendation models). + ExperimentIds []string `protobuf:"bytes,4,rep,name=experiment_ids,json=experimentIds,proto3" json:"experiment_ids,omitempty"` + // Highly recommended for user events that are the result of + // [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict]. + // This field enables accurate attribution of recommendation model + // performance. + // + // The value must be a valid + // [PredictResponse.attribute_token][] for user events that are the result of + // [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict]. + // + // This token enables us to accurately attribute page view or purchase back to + // the event and the particular predict response containing this + // clicked/purchased product. If user clicks on product K in the + // recommendation results, pass [PredictResponse.attribute_token][] as a url + // parameter to product K's page. When recording events on product K's page, + // log the [PredictResponse.attribute_token][] to this field. + AttributionToken string `protobuf:"bytes,5,opt,name=attribution_token,json=attributionToken,proto3" json:"attribution_token,omitempty"` + // The main product details related to the event. + // + // This field is required for the following event types: + // + // * `add-to-cart` + // * `detail-page-view` + // * `purchase-complete` + // + // In a `search` event, this field represents the products returned to the end + // user on the current page (the end user may have not finished broswing the + // whole page yet). When a new page is returned to the end user, after + // pagination/filtering/ordering even for the same query, a new SEARCH event + // with different + // [product_details][google.cloud.retail.v2.UserEvent.product_details] is + // desired. The end user may have not finished broswing the whole page yet. + ProductDetails []*ProductDetail `protobuf:"bytes,6,rep,name=product_details,json=productDetails,proto3" json:"product_details,omitempty"` + // Extra user event features to include in the recommendation model. + // + // For product recommendation, an example of extra user information is + // traffic_channel, i.e. how user arrives at the site. Users can arrive + // at the site by coming to the site directly, or coming through Google + // search, and etc. + Attributes map[string]*CustomAttribute `protobuf:"bytes,7,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The id or name of the associated shopping cart. This id is used + // to associate multiple items added or present in the cart before purchase. + // + // This can only be set for `add-to-cart`, `remove-from-cart`, + // `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events. + CartId string `protobuf:"bytes,8,opt,name=cart_id,json=cartId,proto3" json:"cart_id,omitempty"` + // A transaction represents the entire purchase transaction. + // + // Required for `purchase-complete` events. Optional for `checkout-start` + // events. Other event types should not set this field. Otherwise, an + // INVALID_ARGUMENT error is returned. + PurchaseTransaction *PurchaseTransaction `protobuf:"bytes,9,opt,name=purchase_transaction,json=purchaseTransaction,proto3" json:"purchase_transaction,omitempty"` + // The user's search query. + // + // The value must be a UTF-8 encoded string with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Required for `search` events. Other event types should not set this field. + // Otherwise, an INVALID_ARGUMENT error is returned. + SearchQuery string `protobuf:"bytes,10,opt,name=search_query,json=searchQuery,proto3" json:"search_query,omitempty"` + // The categories associated with a category page. + // + // To represent full path of category, use '>' sign to separate different + // hierarchies. If '>' is part of the category name, you should escape it with + // '\x3E'. + // + // Category pages include special pages such as sales or promotions. For + // instance, a special sale page may have the category hierarchy: + // "pageCategories" : ["Sales > 2017 Black Friday Deals"]. + // + // Required for `category-page-view` events. Other event types should not set + // this field. Otherwise, an INVALID_ARGUMENT error is returned. + PageCategories []string `protobuf:"bytes,11,rep,name=page_categories,json=pageCategories,proto3" json:"page_categories,omitempty"` + // User information. + UserInfo *UserInfo `protobuf:"bytes,12,opt,name=user_info,json=userInfo,proto3" json:"user_info,omitempty"` + // Complete url (window.location.href) of the user's current page. + // When using the client side event reporting with JavaScript pixel and Google + // Tag Manager, this value is filled in automatically. Maximum length 5KB. + Uri string `protobuf:"bytes,13,opt,name=uri,proto3" json:"uri,omitempty"` + // The referrer url of the current page. When using + // the client side event reporting with JavaScript pixel and Google Tag + // Manager, this value is filled in automatically. + ReferrerUri string `protobuf:"bytes,14,opt,name=referrer_uri,json=referrerUri,proto3" json:"referrer_uri,omitempty"` + // A unique id of a web page view. + // This should be kept the same for all user events triggered from the same + // pageview. For example, an item detail page view could trigger multiple + // events as the user is browsing the page. + // The `pageViewId` property should be kept the same for all these events so + // that they can be grouped together properly. This `pageViewId` will be + // automatically generated if using the client side event reporting with + // JavaScript pixel and Google Tag Manager. + PageViewId string `protobuf:"bytes,15,opt,name=page_view_id,json=pageViewId,proto3" json:"page_view_id,omitempty"` + // User event source. + // Acceptable values are: + // + // * `client_tag` if the event is ingested via a JavaScript tag or + // Recommendations AI Tag through automl datalayer or JS Macros. + // * `client_tag_ecommerce` if the event is ingested via Recommendations AI + // Tag through + // Enhanced Ecommerce datalayer. + // * 'batch_upload' if the event is ingested via ImportUserEvents API. + // + // This field should *not* be set when using client side event reporting with + // JavaScript pixel and Google Tag Manager or the Recommendations AI Tag. + EventSource string `protobuf:"bytes,16,opt,name=event_source,json=eventSource,proto3" json:"event_source,omitempty"` +} + +func (x *UserEvent) Reset() { + *x = UserEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_user_event_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEvent) ProtoMessage() {} + +func (x *UserEvent) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_user_event_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEvent.ProtoReflect.Descriptor instead. +func (*UserEvent) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_user_event_proto_rawDescGZIP(), []int{0} +} + +func (x *UserEvent) GetEventType() string { + if x != nil { + return x.EventType + } + return "" +} + +func (x *UserEvent) GetVisitorId() string { + if x != nil { + return x.VisitorId + } + return "" +} + +func (x *UserEvent) GetEventTime() *timestamppb.Timestamp { + if x != nil { + return x.EventTime + } + return nil +} + +func (x *UserEvent) GetExperimentIds() []string { + if x != nil { + return x.ExperimentIds + } + return nil +} + +func (x *UserEvent) GetAttributionToken() string { + if x != nil { + return x.AttributionToken + } + return "" +} + +func (x *UserEvent) GetProductDetails() []*ProductDetail { + if x != nil { + return x.ProductDetails + } + return nil +} + +func (x *UserEvent) GetAttributes() map[string]*CustomAttribute { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *UserEvent) GetCartId() string { + if x != nil { + return x.CartId + } + return "" +} + +func (x *UserEvent) GetPurchaseTransaction() *PurchaseTransaction { + if x != nil { + return x.PurchaseTransaction + } + return nil +} + +func (x *UserEvent) GetSearchQuery() string { + if x != nil { + return x.SearchQuery + } + return "" +} + +func (x *UserEvent) GetPageCategories() []string { + if x != nil { + return x.PageCategories + } + return nil +} + +func (x *UserEvent) GetUserInfo() *UserInfo { + if x != nil { + return x.UserInfo + } + return nil +} + +func (x *UserEvent) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *UserEvent) GetReferrerUri() string { + if x != nil { + return x.ReferrerUri + } + return "" +} + +func (x *UserEvent) GetPageViewId() string { + if x != nil { + return x.PageViewId + } + return "" +} + +func (x *UserEvent) GetEventSource() string { + if x != nil { + return x.EventSource + } + return "" +} + +// Detailed product information associated with a user event. +type ProductDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. [Product][google.cloud.retail.v2.Product] information. + // Only [Product][id] field must to be set. + Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"` + // Quantity of the product associated with the user event. For + // example, this field will be 2 if two products are added to the shopping + // cart for `purchase-complete` event. Required for `add-to-cart` and + // `purchase-complete` event types. + Quantity *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=quantity,proto3" json:"quantity,omitempty"` +} + +func (x *ProductDetail) Reset() { + *x = ProductDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_user_event_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductDetail) ProtoMessage() {} + +func (x *ProductDetail) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_user_event_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductDetail.ProtoReflect.Descriptor instead. +func (*ProductDetail) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_user_event_proto_rawDescGZIP(), []int{1} +} + +func (x *ProductDetail) GetProduct() *Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *ProductDetail) GetQuantity() *wrapperspb.Int32Value { + if x != nil { + return x.Quantity + } + return nil +} + +// A transaction represents the entire purchase transaction. +type PurchaseTransaction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The transaction ID with a length limit of 128 bytes. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Required. Total revenue or grand total associated with the transaction. + // This value include shipping, tax, or other adjustments to total revenue + // that you want to include as part of your revenue calculations. This field + // is not required if the event type is `refund`. + Revenue float32 `protobuf:"fixed32,2,opt,name=revenue,proto3" json:"revenue,omitempty"` + // All the taxes associated with the transaction. + Tax float32 `protobuf:"fixed32,3,opt,name=tax,proto3" json:"tax,omitempty"` + // All the costs associated with the product. These can be + // manufacturing costs, shipping expenses not borne by the end user, or any + // other costs. + // + // Total product cost such that + // profit = revenue - tax + [Product][pricing][cost] + // If product_cost is not set, then + // profit = revenue - tax - [Product][pricing][cost]. + // + // If [Product][pricing][cost] is not specified for one of the products, + // [Product][pricing][cost] based profit *cannot* be calculated for this + // Transaction. + Cost float32 `protobuf:"fixed32,4,opt,name=cost,proto3" json:"cost,omitempty"` + // Required. Currency code. Use three-character ISO-4217 code. This field + // is not required if the event type is `refund`. + CurrencyCode string `protobuf:"bytes,5,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"` +} + +func (x *PurchaseTransaction) Reset() { + *x = PurchaseTransaction{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_user_event_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurchaseTransaction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurchaseTransaction) ProtoMessage() {} + +func (x *PurchaseTransaction) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_user_event_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurchaseTransaction.ProtoReflect.Descriptor instead. +func (*PurchaseTransaction) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_user_event_proto_rawDescGZIP(), []int{2} +} + +func (x *PurchaseTransaction) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PurchaseTransaction) GetRevenue() float32 { + if x != nil { + return x.Revenue + } + return 0 +} + +func (x *PurchaseTransaction) GetTax() float32 { + if x != nil { + return x.Tax + } + return 0 +} + +func (x *PurchaseTransaction) GetCost() float32 { + if x != nil { + return x.Cost + } + return 0 +} + +func (x *PurchaseTransaction) GetCurrencyCode() string { + if x != nil { + return x.CurrencyCode + } + return "" +} + +var File_google_cloud_retail_v2_user_event_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2_user_event_proto_rawDesc = []byte{ + 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0x06, 0x0a, + 0x09, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, + 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x4e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x51, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x74, 0x49, 0x64, 0x12, 0x5e, 0x0a, + 0x14, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, + 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, + 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x67, 0x65, 0x43, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x55, 0x72, 0x69, 0x12, 0x20, 0x0a, + 0x0c, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x56, 0x69, 0x65, 0x77, 0x49, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x1a, 0x66, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88, 0x01, 0x0a, 0x0d, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x3e, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x08, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x94, 0x01, 0x0a, 0x13, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, + 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, + 0x07, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x74, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x74, 0x61, 0x78, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x63, 0x6f, + 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x42, 0xc3, 0x01, 0x0a, + 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x42, 0x0e, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, + 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, + 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x16, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, + 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, + 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2_user_event_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2_user_event_proto_rawDescData = file_google_cloud_retail_v2_user_event_proto_rawDesc +) + +func file_google_cloud_retail_v2_user_event_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2_user_event_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2_user_event_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_user_event_proto_rawDescData) + }) + return file_google_cloud_retail_v2_user_event_proto_rawDescData +} + +var file_google_cloud_retail_v2_user_event_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_google_cloud_retail_v2_user_event_proto_goTypes = []interface{}{ + (*UserEvent)(nil), // 0: google.cloud.retail.v2.UserEvent + (*ProductDetail)(nil), // 1: google.cloud.retail.v2.ProductDetail + (*PurchaseTransaction)(nil), // 2: google.cloud.retail.v2.PurchaseTransaction + nil, // 3: google.cloud.retail.v2.UserEvent.AttributesEntry + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp + (*UserInfo)(nil), // 5: google.cloud.retail.v2.UserInfo + (*Product)(nil), // 6: google.cloud.retail.v2.Product + (*wrapperspb.Int32Value)(nil), // 7: google.protobuf.Int32Value + (*CustomAttribute)(nil), // 8: google.cloud.retail.v2.CustomAttribute +} +var file_google_cloud_retail_v2_user_event_proto_depIdxs = []int32{ + 4, // 0: google.cloud.retail.v2.UserEvent.event_time:type_name -> google.protobuf.Timestamp + 1, // 1: google.cloud.retail.v2.UserEvent.product_details:type_name -> google.cloud.retail.v2.ProductDetail + 3, // 2: google.cloud.retail.v2.UserEvent.attributes:type_name -> google.cloud.retail.v2.UserEvent.AttributesEntry + 2, // 3: google.cloud.retail.v2.UserEvent.purchase_transaction:type_name -> google.cloud.retail.v2.PurchaseTransaction + 5, // 4: google.cloud.retail.v2.UserEvent.user_info:type_name -> google.cloud.retail.v2.UserInfo + 6, // 5: google.cloud.retail.v2.ProductDetail.product:type_name -> google.cloud.retail.v2.Product + 7, // 6: google.cloud.retail.v2.ProductDetail.quantity:type_name -> google.protobuf.Int32Value + 8, // 7: google.cloud.retail.v2.UserEvent.AttributesEntry.value:type_name -> google.cloud.retail.v2.CustomAttribute + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2_user_event_proto_init() } +func file_google_cloud_retail_v2_user_event_proto_init() { + if File_google_cloud_retail_v2_user_event_proto != nil { + return + } + file_google_cloud_retail_v2_common_proto_init() + file_google_cloud_retail_v2_product_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2_user_event_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_user_event_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_user_event_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurchaseTransaction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2_user_event_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2_user_event_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2_user_event_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2_user_event_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2_user_event_proto = out.File + file_google_cloud_retail_v2_user_event_proto_rawDesc = nil + file_google_cloud_retail_v2_user_event_proto_goTypes = nil + file_google_cloud_retail_v2_user_event_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2/user_event_service.pb.go b/googleapis/cloud/retail/v2/user_event_service.pb.go new file mode 100644 index 000000000..0bf4f0799 --- /dev/null +++ b/googleapis/cloud/retail/v2/user_event_service.pb.go @@ -0,0 +1,964 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2/user_event_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + httpbody "google.golang.org/genproto/googleapis/api/httpbody" + longrunning "google.golang.org/genproto/googleapis/longrunning" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// The scope of events to be rejoined with latest catalog. If the rejoining +// aims at reducing number of unjoined events, set UserEventRejoinScope to +// UNJOINED_EVENTS. If the rejoining aims at correcting catalog information +// in joined_events, set UserEventRejoinScope to JOINED_EVENTS. If all events +// needs to be rejoined, set UserEventRejoinScope to +// USER_EVENT_REJOIN_SCOPE_UNSPECIFIED. +type RejoinUserEventsRequest_UserEventRejoinScope int32 + +const ( + // Rejoin catalogs with all events including both joined events and + // unjoined events. + RejoinUserEventsRequest_USER_EVENT_REJOIN_SCOPE_UNSPECIFIED RejoinUserEventsRequest_UserEventRejoinScope = 0 + // Only rejoin catalogs with joined events. + RejoinUserEventsRequest_JOINED_EVENTS RejoinUserEventsRequest_UserEventRejoinScope = 1 + // Only rejoin catalogs with unjoined events. + RejoinUserEventsRequest_UNJOINED_EVENTS RejoinUserEventsRequest_UserEventRejoinScope = 2 +) + +// Enum value maps for RejoinUserEventsRequest_UserEventRejoinScope. +var ( + RejoinUserEventsRequest_UserEventRejoinScope_name = map[int32]string{ + 0: "USER_EVENT_REJOIN_SCOPE_UNSPECIFIED", + 1: "JOINED_EVENTS", + 2: "UNJOINED_EVENTS", + } + RejoinUserEventsRequest_UserEventRejoinScope_value = map[string]int32{ + "USER_EVENT_REJOIN_SCOPE_UNSPECIFIED": 0, + "JOINED_EVENTS": 1, + "UNJOINED_EVENTS": 2, + } +) + +func (x RejoinUserEventsRequest_UserEventRejoinScope) Enum() *RejoinUserEventsRequest_UserEventRejoinScope { + p := new(RejoinUserEventsRequest_UserEventRejoinScope) + *p = x + return p +} + +func (x RejoinUserEventsRequest_UserEventRejoinScope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RejoinUserEventsRequest_UserEventRejoinScope) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_retail_v2_user_event_service_proto_enumTypes[0].Descriptor() +} + +func (RejoinUserEventsRequest_UserEventRejoinScope) Type() protoreflect.EnumType { + return &file_google_cloud_retail_v2_user_event_service_proto_enumTypes[0] +} + +func (x RejoinUserEventsRequest_UserEventRejoinScope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RejoinUserEventsRequest_UserEventRejoinScope.Descriptor instead. +func (RejoinUserEventsRequest_UserEventRejoinScope) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_user_event_service_proto_rawDescGZIP(), []int{2, 0} +} + +// Request message for WriteUserEvent method. +type WriteUserEventRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent eventStore resource name, such as + // "projects/1234/locations/global/catalogs/default_catalog". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. User event to write. + UserEvent *UserEvent `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"` +} + +func (x *WriteUserEventRequest) Reset() { + *x = WriteUserEventRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_user_event_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteUserEventRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteUserEventRequest) ProtoMessage() {} + +func (x *WriteUserEventRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_user_event_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteUserEventRequest.ProtoReflect.Descriptor instead. +func (*WriteUserEventRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_user_event_service_proto_rawDescGZIP(), []int{0} +} + +func (x *WriteUserEventRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *WriteUserEventRequest) GetUserEvent() *UserEvent { + if x != nil { + return x.UserEvent + } + return nil +} + +// Request message for CollectUserEvent method. +type CollectUserEventRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent eventStore name, such as + // "projects/1234/locations/global/catalogs/default_catalog". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. URL encoded UserEvent proto. + UserEvent string `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"` + // The url including cgi-parameters but excluding the hash fragment. The URL + // must be truncated to 1.5K bytes to conservatively be under the 2K bytes. + // This is often more useful than the referer url, because many browsers only + // send the domain for 3rd party requests. + Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"` + // The event timestamp in milliseconds. This prevents browser caching of + // otherwise identical get requests. The name is abbreviated to reduce the + // payload bytes. + Ets int64 `protobuf:"varint,4,opt,name=ets,proto3" json:"ets,omitempty"` +} + +func (x *CollectUserEventRequest) Reset() { + *x = CollectUserEventRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_user_event_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CollectUserEventRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CollectUserEventRequest) ProtoMessage() {} + +func (x *CollectUserEventRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_user_event_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CollectUserEventRequest.ProtoReflect.Descriptor instead. +func (*CollectUserEventRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_user_event_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CollectUserEventRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CollectUserEventRequest) GetUserEvent() string { + if x != nil { + return x.UserEvent + } + return "" +} + +func (x *CollectUserEventRequest) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *CollectUserEventRequest) GetEts() int64 { + if x != nil { + return x.Ets + } + return 0 +} + +// Request message for CatalogRejoin method. +type RejoinUserEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of user event, such as + // "projects/*/locations/*/catalogs/default_catalog". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The type of the catalog rejoin to define the scope and range of + // the user events to be rejoined with catalog items. + UserEventRejoinScope RejoinUserEventsRequest_UserEventRejoinScope `protobuf:"varint,2,opt,name=user_event_rejoin_scope,json=userEventRejoinScope,proto3,enum=google.cloud.retail.v2.RejoinUserEventsRequest_UserEventRejoinScope" json:"user_event_rejoin_scope,omitempty"` +} + +func (x *RejoinUserEventsRequest) Reset() { + *x = RejoinUserEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_user_event_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RejoinUserEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejoinUserEventsRequest) ProtoMessage() {} + +func (x *RejoinUserEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_user_event_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejoinUserEventsRequest.ProtoReflect.Descriptor instead. +func (*RejoinUserEventsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_user_event_service_proto_rawDescGZIP(), []int{2} +} + +func (x *RejoinUserEventsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *RejoinUserEventsRequest) GetUserEventRejoinScope() RejoinUserEventsRequest_UserEventRejoinScope { + if x != nil { + return x.UserEventRejoinScope + } + return RejoinUserEventsRequest_USER_EVENT_REJOIN_SCOPE_UNSPECIFIED +} + +// Response message for RejoinUserEvents method. +type RejoinUserEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Number of user events that were joined with latest catalog items. + RejoinedUserEventsCount int64 `protobuf:"varint,1,opt,name=rejoined_user_events_count,json=rejoinedUserEventsCount,proto3" json:"rejoined_user_events_count,omitempty"` +} + +func (x *RejoinUserEventsResponse) Reset() { + *x = RejoinUserEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_user_event_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RejoinUserEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejoinUserEventsResponse) ProtoMessage() {} + +func (x *RejoinUserEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_user_event_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejoinUserEventsResponse.ProtoReflect.Descriptor instead. +func (*RejoinUserEventsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_user_event_service_proto_rawDescGZIP(), []int{3} +} + +func (x *RejoinUserEventsResponse) GetRejoinedUserEventsCount() int64 { + if x != nil { + return x.RejoinedUserEventsCount + } + return 0 +} + +// Metadata for RejoinUserEvents method. +type RejoinUserEventsMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RejoinUserEventsMetadata) Reset() { + *x = RejoinUserEventsMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2_user_event_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RejoinUserEventsMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejoinUserEventsMetadata) ProtoMessage() {} + +func (x *RejoinUserEventsMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2_user_event_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejoinUserEventsMetadata.ProtoReflect.Descriptor instead. +func (*RejoinUserEventsMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2_user_event_service_proto_rawDescGZIP(), []int{4} +} + +var File_google_cloud_retail_v2_user_event_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2_user_event_service_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, + 0x74, 0x70, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, + 0x2f, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, + 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x7b, 0x0a, 0x15, 0x57, 0x72, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x7e, + 0x0a, 0x17, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x10, 0x0a, 0x03, + 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x74, 0x73, 0x22, 0xa2, + 0x02, 0x0a, 0x17, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x80, 0x01, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x67, 0x0a, 0x14, 0x55, 0x73, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4a, + 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x01, 0x12, 0x13, + 0x0a, 0x0f, 0x55, 0x4e, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x53, 0x10, 0x02, 0x22, 0x57, 0x0a, 0x18, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x17, 0x72, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x1a, 0x0a, 0x18, + 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xbf, 0x09, 0x0a, 0x10, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb7, 0x01, + 0x0a, 0x0e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x22, 0x3f, 0x2f, 0x76, 0x32, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, 0x0a, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0xa4, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, + 0x6f, 0x64, 0x79, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x76, 0x32, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x86, + 0x02, 0x0a, 0x0f, 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x75, 0x72, 0x67, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, + 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xa3, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x22, 0x3f, 0x2f, 0x76, 0x32, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xca, 0x41, + 0x56, 0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x8b, 0x02, 0x0a, 0x10, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x22, 0x40, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x58, 0x0a, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe7, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, + 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x45, 0x22, 0x40, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x72, + 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x34, 0x0a, 0x18, 0x52, 0x65, 0x6a, + 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, + 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xca, 0x01, 0x0a, 0x1a, 0x63, + 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x42, 0x15, 0x55, 0x73, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x56, 0x32, 0xca, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0xea, 0x02, 0x19, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2_user_event_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2_user_event_service_proto_rawDescData = file_google_cloud_retail_v2_user_event_service_proto_rawDesc +) + +func file_google_cloud_retail_v2_user_event_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2_user_event_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2_user_event_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2_user_event_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2_user_event_service_proto_rawDescData +} + +var file_google_cloud_retail_v2_user_event_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_retail_v2_user_event_service_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_cloud_retail_v2_user_event_service_proto_goTypes = []interface{}{ + (RejoinUserEventsRequest_UserEventRejoinScope)(0), // 0: google.cloud.retail.v2.RejoinUserEventsRequest.UserEventRejoinScope + (*WriteUserEventRequest)(nil), // 1: google.cloud.retail.v2.WriteUserEventRequest + (*CollectUserEventRequest)(nil), // 2: google.cloud.retail.v2.CollectUserEventRequest + (*RejoinUserEventsRequest)(nil), // 3: google.cloud.retail.v2.RejoinUserEventsRequest + (*RejoinUserEventsResponse)(nil), // 4: google.cloud.retail.v2.RejoinUserEventsResponse + (*RejoinUserEventsMetadata)(nil), // 5: google.cloud.retail.v2.RejoinUserEventsMetadata + (*UserEvent)(nil), // 6: google.cloud.retail.v2.UserEvent + (*PurgeUserEventsRequest)(nil), // 7: google.cloud.retail.v2.PurgeUserEventsRequest + (*ImportUserEventsRequest)(nil), // 8: google.cloud.retail.v2.ImportUserEventsRequest + (*httpbody.HttpBody)(nil), // 9: google.api.HttpBody + (*longrunning.Operation)(nil), // 10: google.longrunning.Operation +} +var file_google_cloud_retail_v2_user_event_service_proto_depIdxs = []int32{ + 6, // 0: google.cloud.retail.v2.WriteUserEventRequest.user_event:type_name -> google.cloud.retail.v2.UserEvent + 0, // 1: google.cloud.retail.v2.RejoinUserEventsRequest.user_event_rejoin_scope:type_name -> google.cloud.retail.v2.RejoinUserEventsRequest.UserEventRejoinScope + 1, // 2: google.cloud.retail.v2.UserEventService.WriteUserEvent:input_type -> google.cloud.retail.v2.WriteUserEventRequest + 2, // 3: google.cloud.retail.v2.UserEventService.CollectUserEvent:input_type -> google.cloud.retail.v2.CollectUserEventRequest + 7, // 4: google.cloud.retail.v2.UserEventService.PurgeUserEvents:input_type -> google.cloud.retail.v2.PurgeUserEventsRequest + 8, // 5: google.cloud.retail.v2.UserEventService.ImportUserEvents:input_type -> google.cloud.retail.v2.ImportUserEventsRequest + 3, // 6: google.cloud.retail.v2.UserEventService.RejoinUserEvents:input_type -> google.cloud.retail.v2.RejoinUserEventsRequest + 6, // 7: google.cloud.retail.v2.UserEventService.WriteUserEvent:output_type -> google.cloud.retail.v2.UserEvent + 9, // 8: google.cloud.retail.v2.UserEventService.CollectUserEvent:output_type -> google.api.HttpBody + 10, // 9: google.cloud.retail.v2.UserEventService.PurgeUserEvents:output_type -> google.longrunning.Operation + 10, // 10: google.cloud.retail.v2.UserEventService.ImportUserEvents:output_type -> google.longrunning.Operation + 10, // 11: google.cloud.retail.v2.UserEventService.RejoinUserEvents:output_type -> google.longrunning.Operation + 7, // [7:12] is the sub-list for method output_type + 2, // [2:7] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2_user_event_service_proto_init() } +func file_google_cloud_retail_v2_user_event_service_proto_init() { + if File_google_cloud_retail_v2_user_event_service_proto != nil { + return + } + file_google_cloud_retail_v2_import_config_proto_init() + file_google_cloud_retail_v2_purge_config_proto_init() + file_google_cloud_retail_v2_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2_user_event_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteUserEventRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_user_event_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CollectUserEventRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_user_event_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RejoinUserEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_user_event_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RejoinUserEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2_user_event_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RejoinUserEventsMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2_user_event_service_proto_rawDesc, + NumEnums: 1, + NumMessages: 5, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2_user_event_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2_user_event_service_proto_depIdxs, + EnumInfos: file_google_cloud_retail_v2_user_event_service_proto_enumTypes, + MessageInfos: file_google_cloud_retail_v2_user_event_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2_user_event_service_proto = out.File + file_google_cloud_retail_v2_user_event_service_proto_rawDesc = nil + file_google_cloud_retail_v2_user_event_service_proto_goTypes = nil + file_google_cloud_retail_v2_user_event_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// UserEventServiceClient is the client API for UserEventService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type UserEventServiceClient interface { + // Writes a single user event. + WriteUserEvent(ctx context.Context, in *WriteUserEventRequest, opts ...grpc.CallOption) (*UserEvent, error) + // Writes a single user event from the browser. This uses a GET request to + // due to browser restriction of POST-ing to a 3rd party domain. + // + // This method is used only by the Recommendations AI JavaScript pixel and + // Google Tag Manager. Users should not call this method directly. + CollectUserEvent(ctx context.Context, in *CollectUserEventRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) + // Deletes permanently all user events specified by the filter provided. + // Depending on the number of events specified by the filter, this operation + // could take hours or days to complete. To test a filter, use the list + // command first. + PurgeUserEvents(ctx context.Context, in *PurgeUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Bulk import of User events. Request processing might be + // synchronous. Events that already exist are skipped. + // Use this method for backfilling historical user events. + // + // Operation.response is of type ImportResponse. Note that it is + // possible for a subset of the items to be successfully inserted. + // Operation.metadata is of type ImportMetadata. + ImportUserEvents(ctx context.Context, in *ImportUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Triggers a user event rejoin operation with latest catalog data. Events + // will not be annotated with detailed catalog information if catalog item is + // missing at the time the user event is ingested, and these events are stored + // as unjoined events with a limited usage on training and serving. This API + // can be used to trigger a 'join' operation on specified events with latest + // version of catalog items. It can also be used to correct events joined with + // wrong catalog items. + RejoinUserEvents(ctx context.Context, in *RejoinUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) +} + +type userEventServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewUserEventServiceClient(cc grpc.ClientConnInterface) UserEventServiceClient { + return &userEventServiceClient{cc} +} + +func (c *userEventServiceClient) WriteUserEvent(ctx context.Context, in *WriteUserEventRequest, opts ...grpc.CallOption) (*UserEvent, error) { + out := new(UserEvent) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.UserEventService/WriteUserEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) CollectUserEvent(ctx context.Context, in *CollectUserEventRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) { + out := new(httpbody.HttpBody) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.UserEventService/CollectUserEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) PurgeUserEvents(ctx context.Context, in *PurgeUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.UserEventService/PurgeUserEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) ImportUserEvents(ctx context.Context, in *ImportUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.UserEventService/ImportUserEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) RejoinUserEvents(ctx context.Context, in *RejoinUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2.UserEventService/RejoinUserEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// UserEventServiceServer is the server API for UserEventService service. +type UserEventServiceServer interface { + // Writes a single user event. + WriteUserEvent(context.Context, *WriteUserEventRequest) (*UserEvent, error) + // Writes a single user event from the browser. This uses a GET request to + // due to browser restriction of POST-ing to a 3rd party domain. + // + // This method is used only by the Recommendations AI JavaScript pixel and + // Google Tag Manager. Users should not call this method directly. + CollectUserEvent(context.Context, *CollectUserEventRequest) (*httpbody.HttpBody, error) + // Deletes permanently all user events specified by the filter provided. + // Depending on the number of events specified by the filter, this operation + // could take hours or days to complete. To test a filter, use the list + // command first. + PurgeUserEvents(context.Context, *PurgeUserEventsRequest) (*longrunning.Operation, error) + // Bulk import of User events. Request processing might be + // synchronous. Events that already exist are skipped. + // Use this method for backfilling historical user events. + // + // Operation.response is of type ImportResponse. Note that it is + // possible for a subset of the items to be successfully inserted. + // Operation.metadata is of type ImportMetadata. + ImportUserEvents(context.Context, *ImportUserEventsRequest) (*longrunning.Operation, error) + // Triggers a user event rejoin operation with latest catalog data. Events + // will not be annotated with detailed catalog information if catalog item is + // missing at the time the user event is ingested, and these events are stored + // as unjoined events with a limited usage on training and serving. This API + // can be used to trigger a 'join' operation on specified events with latest + // version of catalog items. It can also be used to correct events joined with + // wrong catalog items. + RejoinUserEvents(context.Context, *RejoinUserEventsRequest) (*longrunning.Operation, error) +} + +// UnimplementedUserEventServiceServer can be embedded to have forward compatible implementations. +type UnimplementedUserEventServiceServer struct { +} + +func (*UnimplementedUserEventServiceServer) WriteUserEvent(context.Context, *WriteUserEventRequest) (*UserEvent, error) { + return nil, status.Errorf(codes.Unimplemented, "method WriteUserEvent not implemented") +} +func (*UnimplementedUserEventServiceServer) CollectUserEvent(context.Context, *CollectUserEventRequest) (*httpbody.HttpBody, error) { + return nil, status.Errorf(codes.Unimplemented, "method CollectUserEvent not implemented") +} +func (*UnimplementedUserEventServiceServer) PurgeUserEvents(context.Context, *PurgeUserEventsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method PurgeUserEvents not implemented") +} +func (*UnimplementedUserEventServiceServer) ImportUserEvents(context.Context, *ImportUserEventsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportUserEvents not implemented") +} +func (*UnimplementedUserEventServiceServer) RejoinUserEvents(context.Context, *RejoinUserEventsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method RejoinUserEvents not implemented") +} + +func RegisterUserEventServiceServer(s *grpc.Server, srv UserEventServiceServer) { + s.RegisterService(&_UserEventService_serviceDesc, srv) +} + +func _UserEventService_WriteUserEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WriteUserEventRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).WriteUserEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.UserEventService/WriteUserEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).WriteUserEvent(ctx, req.(*WriteUserEventRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_CollectUserEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CollectUserEventRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).CollectUserEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.UserEventService/CollectUserEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).CollectUserEvent(ctx, req.(*CollectUserEventRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_PurgeUserEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PurgeUserEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).PurgeUserEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.UserEventService/PurgeUserEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).PurgeUserEvents(ctx, req.(*PurgeUserEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_ImportUserEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportUserEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).ImportUserEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.UserEventService/ImportUserEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).ImportUserEvents(ctx, req.(*ImportUserEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_RejoinUserEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RejoinUserEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).RejoinUserEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2.UserEventService/RejoinUserEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).RejoinUserEvents(ctx, req.(*RejoinUserEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _UserEventService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2.UserEventService", + HandlerType: (*UserEventServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "WriteUserEvent", + Handler: _UserEventService_WriteUserEvent_Handler, + }, + { + MethodName: "CollectUserEvent", + Handler: _UserEventService_CollectUserEvent_Handler, + }, + { + MethodName: "PurgeUserEvents", + Handler: _UserEventService_PurgeUserEvents_Handler, + }, + { + MethodName: "ImportUserEvents", + Handler: _UserEventService_ImportUserEvents_Handler, + }, + { + MethodName: "RejoinUserEvents", + Handler: _UserEventService_RejoinUserEvents_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2/user_event_service.proto", +} diff --git a/googleapis/cloud/retail/v2alpha/catalog.pb.go b/googleapis/cloud/retail/v2alpha/catalog.pb.go new file mode 100644 index 000000000..077f8eb0b --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/catalog.pb.go @@ -0,0 +1,339 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/catalog.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Configures what level the product should be uploaded with regards to +// how users will be send events and how predictions will be made. +type ProductLevelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The level of a [Catalog][google.cloud.retail.v2alpha.Catalog] at which the + // [UserEvent][google.cloud.retail.v2alpha.UserEvent]s are uploaded. + // Acceptable values are: + // * `primary` + // * `variant` + // + // If this field is set to an invalid value other than these, an + // INVALID_ARGUMENT error is returned. + // + // If this field is `primary` and + // [predict_product_level][google.cloud.retail.v2alpha.ProductLevelConfig.predict_product_level] + // is `variant`, an INVALID_ARGUMENT error is returned. + // + // See + // https://cloud.google.com/recommendations-ai/docs/catalog#catalog-levels + // for more details. + EventProductLevel string `protobuf:"bytes,1,opt,name=event_product_level,json=eventProductLevel,proto3" json:"event_product_level,omitempty"` + // The level of a [Catalog][google.cloud.retail.v2alpha.Catalog] at which the + // [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict] + // is called. Acceptable values are: + // * `primary` + // * `variant` + // + // If this field is set to an invalid value other than these, an + // INVALID_ARGUMENT error is returned. + // + // If this field is `variant` and + // [event_product_level][google.cloud.retail.v2alpha.ProductLevelConfig.event_product_level] + // is `primary`, an INVALID_ARGUMENT error is returned. + // + // See + // https://cloud.google.com/recommendations-ai/docs/catalog#catalog-levels + // for more details. + PredictProductLevel string `protobuf:"bytes,2,opt,name=predict_product_level,json=predictProductLevel,proto3" json:"predict_product_level,omitempty"` +} + +func (x *ProductLevelConfig) Reset() { + *x = ProductLevelConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_catalog_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductLevelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductLevelConfig) ProtoMessage() {} + +func (x *ProductLevelConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_catalog_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductLevelConfig.ProtoReflect.Descriptor instead. +func (*ProductLevelConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_catalog_proto_rawDescGZIP(), []int{0} +} + +func (x *ProductLevelConfig) GetEventProductLevel() string { + if x != nil { + return x.EventProductLevel + } + return "" +} + +func (x *ProductLevelConfig) GetPredictProductLevel() string { + if x != nil { + return x.PredictProductLevel + } + return "" +} + +// The catalog configuration. +// Next ID: 5. +type Catalog struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Immutable. The fully qualified resource name of the catalog. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Immutable. The catalog display name. + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. The product level configuration. + ProductLevelConfig *ProductLevelConfig `protobuf:"bytes,4,opt,name=product_level_config,json=productLevelConfig,proto3" json:"product_level_config,omitempty"` +} + +func (x *Catalog) Reset() { + *x = Catalog{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_catalog_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Catalog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Catalog) ProtoMessage() {} + +func (x *Catalog) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_catalog_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Catalog.ProtoReflect.Descriptor instead. +func (*Catalog) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_catalog_proto_rawDescGZIP(), []int{1} +} + +func (x *Catalog) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Catalog) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Catalog) GetProductLevelConfig() *ProductLevelConfig { + if x != nil { + return x.ProductLevelConfig + } + return nil +} + +var File_google_cloud_retail_v2alpha_catalog_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_catalog_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x98, 0x02, 0x0a, + 0x07, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, + 0x41, 0x05, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x66, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x5e, 0xea, 0x41, 0x5b, 0x0a, 0x1d, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x3a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, 0x63, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x7d, 0x42, 0xa6, 0x02, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0c, 0x43, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, + 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, + 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0xea, 0x41, 0x49, 0x0a, 0x1e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_catalog_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_catalog_proto_rawDescData = file_google_cloud_retail_v2alpha_catalog_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_catalog_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_catalog_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_catalog_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_catalog_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_catalog_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_catalog_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_retail_v2alpha_catalog_proto_goTypes = []interface{}{ + (*ProductLevelConfig)(nil), // 0: google.cloud.retail.v2alpha.ProductLevelConfig + (*Catalog)(nil), // 1: google.cloud.retail.v2alpha.Catalog +} +var file_google_cloud_retail_v2alpha_catalog_proto_depIdxs = []int32{ + 0, // 0: google.cloud.retail.v2alpha.Catalog.product_level_config:type_name -> google.cloud.retail.v2alpha.ProductLevelConfig + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_catalog_proto_init() } +func file_google_cloud_retail_v2alpha_catalog_proto_init() { + if File_google_cloud_retail_v2alpha_catalog_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_catalog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductLevelConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_catalog_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Catalog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_catalog_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2alpha_catalog_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_catalog_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2alpha_catalog_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_catalog_proto = out.File + file_google_cloud_retail_v2alpha_catalog_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_catalog_proto_goTypes = nil + file_google_cloud_retail_v2alpha_catalog_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2alpha/catalog_service.pb.go b/googleapis/cloud/retail/v2alpha/catalog_service.pb.go new file mode 100644 index 000000000..b6cdbe68b --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/catalog_service.pb.go @@ -0,0 +1,587 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/catalog_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Request for +// [CatalogService.ListCatalogs][google.cloud.retail.v2alpha.CatalogService.ListCatalogs] +// method. +type ListCatalogsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The account resource name with an associated location. + // + // If the caller does not have permission to list + // [Catalog][google.cloud.retail.v2alpha.Catalog]s under this location, + // regardless of whether or not this location exists, a PERMISSION_DENIED + // error is returned. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Maximum number of [Catalog][google.cloud.retail.v2alpha.Catalog]s to + // return. If unspecified, defaults to 50. The maximum allowed value is 1000. + // Values above 1000 will be coerced to 1000. + // + // If this field is negative, an INVALID_ARGUMENT is returned. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token + // [ListCatalogsResponse.next_page_token][google.cloud.retail.v2alpha.ListCatalogsResponse.next_page_token], + // received from a previous + // [CatalogService.ListCatalogs][google.cloud.retail.v2alpha.CatalogService.ListCatalogs] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [CatalogService.ListCatalogs][google.cloud.retail.v2alpha.CatalogService.ListCatalogs] + // must match the call that provided the page token. Otherwise, an + // INVALID_ARGUMENT error is returned. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListCatalogsRequest) Reset() { + *x = ListCatalogsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_catalog_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListCatalogsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCatalogsRequest) ProtoMessage() {} + +func (x *ListCatalogsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_catalog_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCatalogsRequest.ProtoReflect.Descriptor instead. +func (*ListCatalogsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_catalog_service_proto_rawDescGZIP(), []int{0} +} + +func (x *ListCatalogsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListCatalogsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListCatalogsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response for +// [CatalogService.ListCatalogs][google.cloud.retail.v2alpha.CatalogService.ListCatalogs] +// method. +type ListCatalogsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // All the customer's [Catalog][google.cloud.retail.v2alpha.Catalog]s. + Catalogs []*Catalog `protobuf:"bytes,1,rep,name=catalogs,proto3" json:"catalogs,omitempty"` + // A token that can be sent as + // [ListCatalogsRequest.page_token][google.cloud.retail.v2alpha.ListCatalogsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListCatalogsResponse) Reset() { + *x = ListCatalogsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_catalog_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListCatalogsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCatalogsResponse) ProtoMessage() {} + +func (x *ListCatalogsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_catalog_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCatalogsResponse.ProtoReflect.Descriptor instead. +func (*ListCatalogsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_catalog_service_proto_rawDescGZIP(), []int{1} +} + +func (x *ListCatalogsResponse) GetCatalogs() []*Catalog { + if x != nil { + return x.Catalogs + } + return nil +} + +func (x *ListCatalogsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request for +// [CatalogService.UpdateCatalog][google.cloud.retail.v2alpha.CatalogService.UpdateCatalog] +// method. +type UpdateCatalogRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The [Catalog][google.cloud.retail.v2alpha.Catalog] to update. + // + // If the caller does not have permission to update the + // [Catalog][google.cloud.retail.v2alpha.Catalog], regardless of whether or + // not it exists, a PERMISSION_DENIED error is returned. + // + // If the [Catalog][google.cloud.retail.v2alpha.Catalog] to update does not + // exist, a NOT_FOUND error is returned. + Catalog *Catalog `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"` + // Indicates which fields in the provided + // [Catalog][google.cloud.retail.v2alpha.Catalog] to update. If not set, will + // only update the + // [Catalog.product_level_config][google.cloud.retail.v2alpha.Catalog.product_level_config] + // field, which is also the only currently supported field to update. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateCatalogRequest) Reset() { + *x = UpdateCatalogRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_catalog_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateCatalogRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateCatalogRequest) ProtoMessage() {} + +func (x *UpdateCatalogRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_catalog_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateCatalogRequest.ProtoReflect.Descriptor instead. +func (*UpdateCatalogRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_catalog_service_proto_rawDescGZIP(), []int{2} +} + +func (x *UpdateCatalogRequest) GetCatalog() *Catalog { + if x != nil { + return x.Catalog + } + return nil +} + +func (x *UpdateCatalogRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +var File_google_cloud_retail_v2alpha_catalog_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_catalog_service_proto_rawDesc = []byte{ + 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x91, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, + 0x0a, 0x1e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x80, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, + 0x08, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x08, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x12, + 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x43, 0x0a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x73, 0x6b, 0x32, 0xe2, 0x03, 0x0a, 0x0e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb7, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, + 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0xca, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0x60, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x44, 0x32, 0x39, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x07, 0x63, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0xda, 0x41, 0x13, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x1a, 0x49, 0xca, 0x41, + 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xe1, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x13, 0x43, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, + 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_catalog_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_catalog_service_proto_rawDescData = file_google_cloud_retail_v2alpha_catalog_service_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_catalog_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_catalog_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_catalog_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_catalog_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_catalog_service_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_catalog_service_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_google_cloud_retail_v2alpha_catalog_service_proto_goTypes = []interface{}{ + (*ListCatalogsRequest)(nil), // 0: google.cloud.retail.v2alpha.ListCatalogsRequest + (*ListCatalogsResponse)(nil), // 1: google.cloud.retail.v2alpha.ListCatalogsResponse + (*UpdateCatalogRequest)(nil), // 2: google.cloud.retail.v2alpha.UpdateCatalogRequest + (*Catalog)(nil), // 3: google.cloud.retail.v2alpha.Catalog + (*fieldmaskpb.FieldMask)(nil), // 4: google.protobuf.FieldMask +} +var file_google_cloud_retail_v2alpha_catalog_service_proto_depIdxs = []int32{ + 3, // 0: google.cloud.retail.v2alpha.ListCatalogsResponse.catalogs:type_name -> google.cloud.retail.v2alpha.Catalog + 3, // 1: google.cloud.retail.v2alpha.UpdateCatalogRequest.catalog:type_name -> google.cloud.retail.v2alpha.Catalog + 4, // 2: google.cloud.retail.v2alpha.UpdateCatalogRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 3: google.cloud.retail.v2alpha.CatalogService.ListCatalogs:input_type -> google.cloud.retail.v2alpha.ListCatalogsRequest + 2, // 4: google.cloud.retail.v2alpha.CatalogService.UpdateCatalog:input_type -> google.cloud.retail.v2alpha.UpdateCatalogRequest + 1, // 5: google.cloud.retail.v2alpha.CatalogService.ListCatalogs:output_type -> google.cloud.retail.v2alpha.ListCatalogsResponse + 3, // 6: google.cloud.retail.v2alpha.CatalogService.UpdateCatalog:output_type -> google.cloud.retail.v2alpha.Catalog + 5, // [5:7] is the sub-list for method output_type + 3, // [3:5] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_catalog_service_proto_init() } +func file_google_cloud_retail_v2alpha_catalog_service_proto_init() { + if File_google_cloud_retail_v2alpha_catalog_service_proto != nil { + return + } + file_google_cloud_retail_v2alpha_catalog_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_catalog_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListCatalogsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_catalog_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListCatalogsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_catalog_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateCatalogRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_catalog_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2alpha_catalog_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_catalog_service_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2alpha_catalog_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_catalog_service_proto = out.File + file_google_cloud_retail_v2alpha_catalog_service_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_catalog_service_proto_goTypes = nil + file_google_cloud_retail_v2alpha_catalog_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// CatalogServiceClient is the client API for CatalogService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type CatalogServiceClient interface { + // Lists all the [Catalog][google.cloud.retail.v2alpha.Catalog]s associated + // with the project. + ListCatalogs(ctx context.Context, in *ListCatalogsRequest, opts ...grpc.CallOption) (*ListCatalogsResponse, error) + // Updates the [Catalog][google.cloud.retail.v2alpha.Catalog]s. + UpdateCatalog(ctx context.Context, in *UpdateCatalogRequest, opts ...grpc.CallOption) (*Catalog, error) +} + +type catalogServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewCatalogServiceClient(cc grpc.ClientConnInterface) CatalogServiceClient { + return &catalogServiceClient{cc} +} + +func (c *catalogServiceClient) ListCatalogs(ctx context.Context, in *ListCatalogsRequest, opts ...grpc.CallOption) (*ListCatalogsResponse, error) { + out := new(ListCatalogsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.CatalogService/ListCatalogs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *catalogServiceClient) UpdateCatalog(ctx context.Context, in *UpdateCatalogRequest, opts ...grpc.CallOption) (*Catalog, error) { + out := new(Catalog) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.CatalogService/UpdateCatalog", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// CatalogServiceServer is the server API for CatalogService service. +type CatalogServiceServer interface { + // Lists all the [Catalog][google.cloud.retail.v2alpha.Catalog]s associated + // with the project. + ListCatalogs(context.Context, *ListCatalogsRequest) (*ListCatalogsResponse, error) + // Updates the [Catalog][google.cloud.retail.v2alpha.Catalog]s. + UpdateCatalog(context.Context, *UpdateCatalogRequest) (*Catalog, error) +} + +// UnimplementedCatalogServiceServer can be embedded to have forward compatible implementations. +type UnimplementedCatalogServiceServer struct { +} + +func (*UnimplementedCatalogServiceServer) ListCatalogs(context.Context, *ListCatalogsRequest) (*ListCatalogsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListCatalogs not implemented") +} +func (*UnimplementedCatalogServiceServer) UpdateCatalog(context.Context, *UpdateCatalogRequest) (*Catalog, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateCatalog not implemented") +} + +func RegisterCatalogServiceServer(s *grpc.Server, srv CatalogServiceServer) { + s.RegisterService(&_CatalogService_serviceDesc, srv) +} + +func _CatalogService_ListCatalogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListCatalogsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CatalogServiceServer).ListCatalogs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.CatalogService/ListCatalogs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CatalogServiceServer).ListCatalogs(ctx, req.(*ListCatalogsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CatalogService_UpdateCatalog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateCatalogRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CatalogServiceServer).UpdateCatalog(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.CatalogService/UpdateCatalog", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CatalogServiceServer).UpdateCatalog(ctx, req.(*UpdateCatalogRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _CatalogService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2alpha.CatalogService", + HandlerType: (*CatalogServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListCatalogs", + Handler: _CatalogService_ListCatalogs_Handler, + }, + { + MethodName: "UpdateCatalog", + Handler: _CatalogService_UpdateCatalog_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2alpha/catalog_service.proto", +} diff --git a/googleapis/cloud/retail/v2alpha/common.pb.go b/googleapis/cloud/retail/v2alpha/common.pb.go new file mode 100644 index 000000000..7c43a6301 --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/common.pb.go @@ -0,0 +1,1332 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/common.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// An intended audience of the [Product][google.cloud.retail.v2alpha.Product] +// for whom it's sold. +type Audience struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The genders of the audience. Strongly encouraged to use the standard + // values: "male", "female", "unisex". + // + // At most 5 values are allowed. Each value must be a UTF-8 encoded string + // with a length limit of 128 bytes. Otherwise, an INVALID_ARGUMENT error is + // returned. + // + // Google Merchant Center property + // [gender](https://support.google.com/merchants/answer/6324479). Schema.org + // property + // [Product.audience.suggestedGender](https://schema.org/suggestedGender). + Genders []string `protobuf:"bytes,1,rep,name=genders,proto3" json:"genders,omitempty"` + // The age groups of the audience. Strongly encouraged to use the standard + // values: "newborn" (up to 3 months old), "infant" (3–12 months old), + // "toddler" (1–5 years old), "kids" (5–13 years old), "adult" (typically + // teens or older). + // + // At most 5 values are allowed. Each value must be a UTF-8 encoded string + // with a length limit of 128 bytes. Otherwise, an INVALID_ARGUMENT error is + // returned. + // + // Google Merchant Center property + // [age_group](https://support.google.com/merchants/answer/6324463). + // Schema.org property + // [Product.audience.suggestedMinAge](https://schema.org/suggestedMinAge) and + // [Product.audience.suggestedMaxAge](https://schema.org/suggestedMaxAge). + AgeGroups []string `protobuf:"bytes,2,rep,name=age_groups,json=ageGroups,proto3" json:"age_groups,omitempty"` +} + +func (x *Audience) Reset() { + *x = Audience{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Audience) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Audience) ProtoMessage() {} + +func (x *Audience) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Audience.ProtoReflect.Descriptor instead. +func (*Audience) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_common_proto_rawDescGZIP(), []int{0} +} + +func (x *Audience) GetGenders() []string { + if x != nil { + return x.Genders + } + return nil +} + +func (x *Audience) GetAgeGroups() []string { + if x != nil { + return x.AgeGroups + } + return nil +} + +// The color information of a [Product][google.cloud.retail.v2alpha.Product]. +type ColorInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The standard color families. Strongly recommended to use the following + // standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple", + // "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and + // "Mixed". Normally it is expected to have only 1 color family. May consider + // using single "Mixed" instead of multiple values. + // + // A maximum of 5 values are allowed. Each value must be a UTF-8 encoded + // string with a length limit of 128 bytes. Otherwise, an INVALID_ARGUMENT + // error is returned. + // + // Google Merchant Center property + // [color](https://support.google.com/merchants/answer/6324487). Schema.org + // property [Product.color](https://schema.org/color). + ColorFamilies []string `protobuf:"bytes,1,rep,name=color_families,json=colorFamilies,proto3" json:"color_families,omitempty"` + // The color display names, which may be different from standard color family + // names, such as the color aliases used in the website frontend. Normally + // it is expected to have only 1 color. May consider using single "Mixed" + // instead of multiple values. + // + // A maximum of 5 colors are allowed. Each value must be a UTF-8 encoded + // string with a length limit of 128 bytes. Otherwise, an INVALID_ARGUMENT + // error is returned. + // + // Google Merchant Center property + // [color](https://support.google.com/merchants/answer/6324487). Schema.org + // property [Product.color](https://schema.org/color). + Colors []string `protobuf:"bytes,2,rep,name=colors,proto3" json:"colors,omitempty"` +} + +func (x *ColorInfo) Reset() { + *x = ColorInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ColorInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ColorInfo) ProtoMessage() {} + +func (x *ColorInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ColorInfo.ProtoReflect.Descriptor instead. +func (*ColorInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_common_proto_rawDescGZIP(), []int{1} +} + +func (x *ColorInfo) GetColorFamilies() []string { + if x != nil { + return x.ColorFamilies + } + return nil +} + +func (x *ColorInfo) GetColors() []string { + if x != nil { + return x.Colors + } + return nil +} + +// A custom attribute that is not explicitly modeled in +// [Product][google.cloud.retail.v2alpha.Product]]. +type CustomAttribute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The textual values of this custom attribute. For example, `["yellow", + // "green"]` when the key is "color". + // + // At most 400 values are allowed. Empty values are not allowed. Each value + // must be a UTF-8 encoded string with a length limit of 256 bytes. Otherwise, + // an INVALID_ARGUMENT error is returned. + // + // Exactly one of [text][google.cloud.retail.v2alpha.CustomAttribute.text] or + // [numbers][google.cloud.retail.v2alpha.CustomAttribute.numbers] should be + // set. Otherwise, a FAILED_PRECONDITION error is returned. + Text []string `protobuf:"bytes,1,rep,name=text,proto3" json:"text,omitempty"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` + // when the key is "lengths_cm". + // + // At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is + // returned. + // + // Exactly one of [text][google.cloud.retail.v2alpha.CustomAttribute.text] or + // [numbers][google.cloud.retail.v2alpha.CustomAttribute.numbers] should be + // set. Otherwise, a FAILED_PRECONDITION error is returned. + Numbers []float64 `protobuf:"fixed64,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"` + // If true, custom attribute values are searchable by text queries in + // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]. + // + // Only set if type [text][google.cloud.retail.v2alpha.CustomAttribute.text] + // is set. Otherwise, a FAILED_PRECONDITION error is returned. + Searchable bool `protobuf:"varint,3,opt,name=searchable,proto3" json:"searchable,omitempty"` + // If true, custom attribute values are indexed, so that it can be filtered, + // facted or boosted in + // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]. + // + // See + // [SearchRequest.filter][google.cloud.retail.v2alpha.SearchRequest.filter], + // [SearchRequest.facet_specs][google.cloud.retail.v2alpha.SearchRequest.facet_specs] + // and + // [SearchRequest.boost_spec][google.cloud.retail.v2alpha.SearchRequest.boost_spec] + // for more details. + Indexable bool `protobuf:"varint,4,opt,name=indexable,proto3" json:"indexable,omitempty"` +} + +func (x *CustomAttribute) Reset() { + *x = CustomAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomAttribute) ProtoMessage() {} + +func (x *CustomAttribute) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CustomAttribute.ProtoReflect.Descriptor instead. +func (*CustomAttribute) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_common_proto_rawDescGZIP(), []int{2} +} + +func (x *CustomAttribute) GetText() []string { + if x != nil { + return x.Text + } + return nil +} + +func (x *CustomAttribute) GetNumbers() []float64 { + if x != nil { + return x.Numbers + } + return nil +} + +func (x *CustomAttribute) GetSearchable() bool { + if x != nil { + return x.Searchable + } + return false +} + +func (x *CustomAttribute) GetIndexable() bool { + if x != nil { + return x.Indexable + } + return false +} + +// Fulfillment information, such as the store IDs for in-store pickup or region +// IDs for different shipping methods. +type FulfillmentInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The fulfillment type, including commonly used types (such as pickup in + // store and same day delivery), and custom types. Customers have to map + // custom types to their display names before rendering UI. + // + // Suppored values: + // + // * "pickup-in-store" + // * "ship-to-store" + // * "same-day-delivery" + // * "next-day-delivery" + // * "custom-type-1" + // * "custom-type-2" + // * "custom-type-3" + // * "custom-type-4" + // * "custom-type-5" + // + // If this field is set to an invalid value other than these, an + // INVALID_ARGUMENT error is returned. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // The IDs for this [type][google.cloud.retail.v2alpha.FulfillmentInfo.type], + // such as the store IDs for [FulfillmentInfo.Type.PICKUP_IN_STORE][] or the + // region IDs for [FulfillmentInfo.Type.SAME_DAY_DELIVERY][]. + // + // A maximum of 2000 values are allowed. Each value must be a string with a + // length limit of 10 bytes, matching the pattern [a-zA-Z0-9_-]+, such as + // "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is returned. + PlaceIds []string `protobuf:"bytes,2,rep,name=place_ids,json=placeIds,proto3" json:"place_ids,omitempty"` +} + +func (x *FulfillmentInfo) Reset() { + *x = FulfillmentInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FulfillmentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FulfillmentInfo) ProtoMessage() {} + +func (x *FulfillmentInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FulfillmentInfo.ProtoReflect.Descriptor instead. +func (*FulfillmentInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_common_proto_rawDescGZIP(), []int{3} +} + +func (x *FulfillmentInfo) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *FulfillmentInfo) GetPlaceIds() []string { + if x != nil { + return x.PlaceIds + } + return nil +} + +// [Product][google.cloud.retail.v2alpha.Product] thumbnail/detail image. +type Image struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. URI of the image. + // + // This field must be a valid UTF-8 encoded URI with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [image_link](https://support.google.com/merchants/answer/6324350). + // Schema.org property [Product.image](http://schema.org/image). + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + // Height of the image in number of pixels. + // + // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is + // returned. + Height int32 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` + // Width of the image in number of pixels. + // + // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is + // returned. + Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"` +} + +func (x *Image) Reset() { + *x = Image{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Image) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Image) ProtoMessage() {} + +func (x *Image) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Image.ProtoReflect.Descriptor instead. +func (*Image) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_common_proto_rawDescGZIP(), []int{4} +} + +func (x *Image) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *Image) GetHeight() int32 { + if x != nil { + return x.Height + } + return 0 +} + +func (x *Image) GetWidth() int32 { + if x != nil { + return x.Width + } + return 0 +} + +// A floating point interval. +type Interval struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The lower bound of the interval. If neither of the min fields are set, then + // the lower bound is negative infinity. + // + // This field must be not larger than + // [max][google.cloud.retail.v2alpha.Interval.max]. Otherwise, an + // INVALID_ARGUMENT error is returned. + // + // Types that are assignable to Min: + // *Interval_Minimum + // *Interval_ExclusiveMinimum + Min isInterval_Min `protobuf_oneof:"min"` + // The upper bound of the interval. If neither of the max fields are set, then + // the upper bound is positive infinity. + // + // This field must be not smaller than + // [min][google.cloud.retail.v2alpha.Interval.min]. Otherwise, an + // INVALID_ARGUMENT error is returned. + // + // Types that are assignable to Max: + // *Interval_Maximum + // *Interval_ExclusiveMaximum + Max isInterval_Max `protobuf_oneof:"max"` +} + +func (x *Interval) Reset() { + *x = Interval{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Interval) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Interval) ProtoMessage() {} + +func (x *Interval) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Interval.ProtoReflect.Descriptor instead. +func (*Interval) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_common_proto_rawDescGZIP(), []int{5} +} + +func (m *Interval) GetMin() isInterval_Min { + if m != nil { + return m.Min + } + return nil +} + +func (x *Interval) GetMinimum() float64 { + if x, ok := x.GetMin().(*Interval_Minimum); ok { + return x.Minimum + } + return 0 +} + +func (x *Interval) GetExclusiveMinimum() float64 { + if x, ok := x.GetMin().(*Interval_ExclusiveMinimum); ok { + return x.ExclusiveMinimum + } + return 0 +} + +func (m *Interval) GetMax() isInterval_Max { + if m != nil { + return m.Max + } + return nil +} + +func (x *Interval) GetMaximum() float64 { + if x, ok := x.GetMax().(*Interval_Maximum); ok { + return x.Maximum + } + return 0 +} + +func (x *Interval) GetExclusiveMaximum() float64 { + if x, ok := x.GetMax().(*Interval_ExclusiveMaximum); ok { + return x.ExclusiveMaximum + } + return 0 +} + +type isInterval_Min interface { + isInterval_Min() +} + +type Interval_Minimum struct { + // Inclusive lower bound. + Minimum float64 `protobuf:"fixed64,1,opt,name=minimum,proto3,oneof"` +} + +type Interval_ExclusiveMinimum struct { + // Exclusive lower bound. + ExclusiveMinimum float64 `protobuf:"fixed64,2,opt,name=exclusive_minimum,json=exclusiveMinimum,proto3,oneof"` +} + +func (*Interval_Minimum) isInterval_Min() {} + +func (*Interval_ExclusiveMinimum) isInterval_Min() {} + +type isInterval_Max interface { + isInterval_Max() +} + +type Interval_Maximum struct { + // Inclusive upper bound. + Maximum float64 `protobuf:"fixed64,3,opt,name=maximum,proto3,oneof"` +} + +type Interval_ExclusiveMaximum struct { + // Exclusive upper bound. + ExclusiveMaximum float64 `protobuf:"fixed64,4,opt,name=exclusive_maximum,json=exclusiveMaximum,proto3,oneof"` +} + +func (*Interval_Maximum) isInterval_Max() {} + +func (*Interval_ExclusiveMaximum) isInterval_Max() {} + +// The price information of a [Product][google.cloud.retail.v2alpha.Product]. +type PriceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The 3-letter currency code defined in [ISO + // 4217][https://www.iso.org/iso-4217-currency-codes.html]. + // + // If this field is an unrecognizable currency code, an INVALID_ARGUMENT + // error is returned. + CurrencyCode string `protobuf:"bytes,1,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"` + // Price of the product. + // + // Google Merchant Center property + // [price](https://support.google.com/merchants/answer/6324371). + // Schema.org property + // [Offer.priceSpecification](https://schema.org/priceSpecification). + Price float32 `protobuf:"fixed32,2,opt,name=price,proto3" json:"price,omitempty"` + // Price of the product without any discount. If zero, by default set to be + // the [price][google.cloud.retail.v2alpha.PriceInfo.price]. + OriginalPrice float32 `protobuf:"fixed32,3,opt,name=original_price,json=originalPrice,proto3" json:"original_price,omitempty"` + // The costs associated with the sale of a particular product. Used for gross + // profit reporting. + // + // * Profit = [price][google.cloud.retail.v2alpha.PriceInfo.price] - + // [cost][google.cloud.retail.v2alpha.PriceInfo.cost] + // + // Google Merchant Center property + // [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895) + Cost float32 `protobuf:"fixed32,4,opt,name=cost,proto3" json:"cost,omitempty"` + // The timestamp when the [price][google.cloud.retail.v2alpha.PriceInfo.price] + // starts to be effective. This can be set as a future timestamp, and the + // [price][google.cloud.retail.v2alpha.PriceInfo.price] is only used for + // search after + // [price_effective_time][google.cloud.retail.v2alpha.PriceInfo.price_effective_time]. + // If so, the + // [original_price][google.cloud.retail.v2alpha.PriceInfo.original_price] must + // be set and + // [original_price][google.cloud.retail.v2alpha.PriceInfo.original_price] is + // used before + // [price_effective_time][google.cloud.retail.v2alpha.PriceInfo.price_effective_time]. + // + // Do not set if [price][google.cloud.retail.v2alpha.PriceInfo.price] is + // always effective because it will cause additional latency during search. + PriceEffectiveTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=price_effective_time,json=priceEffectiveTime,proto3" json:"price_effective_time,omitempty"` + // The timestamp when the [price][google.cloud.retail.v2alpha.PriceInfo.price] + // stops to be effective. The + // [price][google.cloud.retail.v2alpha.PriceInfo.price] is used for search + // before + // [price_expire_time][google.cloud.retail.v2alpha.PriceInfo.price_expire_time]. + // If this field is set, the + // [original_price][google.cloud.retail.v2alpha.PriceInfo.original_price] must + // be set and + // [original_price][google.cloud.retail.v2alpha.PriceInfo.original_price] is + // used after + // [price_expire_time][google.cloud.retail.v2alpha.PriceInfo.price_expire_time]. + // + // Do not set if [price][google.cloud.retail.v2alpha.PriceInfo.price] is + // always effective because it will cause additional latency during search. + PriceExpireTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=price_expire_time,json=priceExpireTime,proto3" json:"price_expire_time,omitempty"` + // Output only. The price range of all the child + // [Product.Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product]s grouped together on the + // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] + // [Product][google.cloud.retail.v2alpha.Product] or + // [Product.Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION] + // [Product][google.cloud.retail.v2alpha.Product]. + PriceRange *PriceInfo_PriceRange `protobuf:"bytes,7,opt,name=price_range,json=priceRange,proto3" json:"price_range,omitempty"` +} + +func (x *PriceInfo) Reset() { + *x = PriceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PriceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PriceInfo) ProtoMessage() {} + +func (x *PriceInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PriceInfo.ProtoReflect.Descriptor instead. +func (*PriceInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_common_proto_rawDescGZIP(), []int{6} +} + +func (x *PriceInfo) GetCurrencyCode() string { + if x != nil { + return x.CurrencyCode + } + return "" +} + +func (x *PriceInfo) GetPrice() float32 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *PriceInfo) GetOriginalPrice() float32 { + if x != nil { + return x.OriginalPrice + } + return 0 +} + +func (x *PriceInfo) GetCost() float32 { + if x != nil { + return x.Cost + } + return 0 +} + +func (x *PriceInfo) GetPriceEffectiveTime() *timestamppb.Timestamp { + if x != nil { + return x.PriceEffectiveTime + } + return nil +} + +func (x *PriceInfo) GetPriceExpireTime() *timestamppb.Timestamp { + if x != nil { + return x.PriceExpireTime + } + return nil +} + +func (x *PriceInfo) GetPriceRange() *PriceInfo_PriceRange { + if x != nil { + return x.PriceRange + } + return nil +} + +// The rating of a [Product][google.cloud.retail.v2alpha.Product]. +type Rating struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The total number of ratings. This value is independent of the value of + // [rating_histogram][google.cloud.retail.v2alpha.Rating.rating_histogram]. + // + // This value must be nonnegative. Otherwise, an INVALID_ARGUMENT error is + // returned. + RatingCount int32 `protobuf:"varint,1,opt,name=rating_count,json=ratingCount,proto3" json:"rating_count,omitempty"` + // The average rating of the [Product][google.cloud.retail.v2alpha.Product]. + // + // The rating is scaled at 1-5. Otherwise, an INVALID_ARGUMENT error is + // returned. + AverageRating float32 `protobuf:"fixed32,2,opt,name=average_rating,json=averageRating,proto3" json:"average_rating,omitempty"` + // List of rating counts per rating value (index = rating - 1). The list is + // empty if there is no rating. If the list is non-empty, its size is + // always 5. Otherwise, an INVALID_ARGUMENT error is returned. + // + // For example, [41, 14, 13, 47, 303]. It means that the [Product][] got 41 + // ratings with 1 star, 14 ratings with 2 star, and so on. + RatingHistogram []int32 `protobuf:"varint,3,rep,packed,name=rating_histogram,json=ratingHistogram,proto3" json:"rating_histogram,omitempty"` +} + +func (x *Rating) Reset() { + *x = Rating{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Rating) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Rating) ProtoMessage() {} + +func (x *Rating) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Rating.ProtoReflect.Descriptor instead. +func (*Rating) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_common_proto_rawDescGZIP(), []int{7} +} + +func (x *Rating) GetRatingCount() int32 { + if x != nil { + return x.RatingCount + } + return 0 +} + +func (x *Rating) GetAverageRating() float32 { + if x != nil { + return x.AverageRating + } + return 0 +} + +func (x *Rating) GetRatingHistogram() []int32 { + if x != nil { + return x.RatingHistogram + } + return nil +} + +// Information of an end user. +type UserInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Highly recommended for logged-in users. Unique identifier for logged-in + // user, such as a user name. + // + // The field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // The end user's IP address. This field is used to extract location + // information for personalization. + // + // This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6 + // address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an + // INVALID_ARGUMENT error is returned. + // + // This should not be set when using the JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.retail.v2alpha.UserEventService.CollectUserEvent] + // or if + // [direct_user_request][google.cloud.retail.v2alpha.UserInfo.direct_user_request] + // is set. Otherwise, a FAILED_PRECONDITION error is returned. + IpAddress string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + // User agent as included in the HTTP header. + // + // The field must be a UTF-8 encoded string with a length limit of 1 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // This should not be set when using the client side event reporting with + // GTM or JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.retail.v2alpha.UserEventService.CollectUserEvent] + // or if + // [direct_user_request][google.cloud.retail.v2alpha.UserInfo.direct_user_request] + // is set. Otherwise, a FAILED_PRECONDITION error is returned. + UserAgent string `protobuf:"bytes,3,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` + // True if the request is made directly from the end user, in which case the + // [ip_address][google.cloud.retail.v2alpha.UserInfo.ip_address] and + // [user_agent][google.cloud.retail.v2alpha.UserInfo.user_agent] can be + // populated from the HTTP request. This flag should be set only if the API + // request is made directly from the end user such as a mobile app (and not if + // a gateway or a server is processing and pushing the user events). + // + // This should not be set when using the JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.retail.v2alpha.UserEventService.CollectUserEvent]. + // Otherwise, a FAILED_PRECONDITION error is returned. + DirectUserRequest bool `protobuf:"varint,4,opt,name=direct_user_request,json=directUserRequest,proto3" json:"direct_user_request,omitempty"` +} + +func (x *UserInfo) Reset() { + *x = UserInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserInfo) ProtoMessage() {} + +func (x *UserInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. +func (*UserInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_common_proto_rawDescGZIP(), []int{8} +} + +func (x *UserInfo) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *UserInfo) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *UserInfo) GetUserAgent() string { + if x != nil { + return x.UserAgent + } + return "" +} + +func (x *UserInfo) GetDirectUserRequest() bool { + if x != nil { + return x.DirectUserRequest + } + return false +} + +// The price range of all +// [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT] +// [Product][google.cloud.retail.v2alpha.Product] having the same +// [Product.primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]. +type PriceInfo_PriceRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The inclusive [Product.pricing_info.price][] interval of all + // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product] having the same + // [Product.primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]. + Price *Interval `protobuf:"bytes,1,opt,name=price,proto3" json:"price,omitempty"` + // The inclusive [Product.pricing_info.original_price][] internal of all + // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product] having the same + // [Product.primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]. + OriginalPrice *Interval `protobuf:"bytes,2,opt,name=original_price,json=originalPrice,proto3" json:"original_price,omitempty"` +} + +func (x *PriceInfo_PriceRange) Reset() { + *x = PriceInfo_PriceRange{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PriceInfo_PriceRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PriceInfo_PriceRange) ProtoMessage() {} + +func (x *PriceInfo_PriceRange) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_common_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PriceInfo_PriceRange.ProtoReflect.Descriptor instead. +func (*PriceInfo_PriceRange) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_common_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *PriceInfo_PriceRange) GetPrice() *Interval { + if x != nil { + return x.Price + } + return nil +} + +func (x *PriceInfo_PriceRange) GetOriginalPrice() *Interval { + if x != nil { + return x.OriginalPrice + } + return nil +} + +var File_google_cloud_retail_v2alpha_common_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_common_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x08, 0x41, 0x75, 0x64, 0x69, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x61, 0x67, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x4a, 0x0a, 0x09, + 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x22, 0x7d, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x01, + 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x42, 0x0a, 0x0f, 0x46, 0x75, 0x6c, 0x66, 0x69, + 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x64, 0x73, 0x22, 0x4c, 0x0a, 0x05, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0xae, 0x01, 0x0a, 0x08, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, + 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, + 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, + 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, + 0x6d, 0x12, 0x1a, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x01, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x2d, 0x0a, + 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x05, 0x0a, 0x03, + 0x6d, 0x69, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x22, 0x8a, 0x04, 0x0a, 0x09, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, + 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, 0x4c, + 0x0a, 0x14, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x70, 0x72, 0x69, 0x63, 0x65, 0x45, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x11, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0x97, 0x01, + 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x05, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x7d, 0x0a, 0x06, 0x52, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, + 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x61, 0x76, + 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x22, 0x91, 0x01, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, + 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0xd9, 0x01, 0x0a, 0x1f, 0x63, + 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0b, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, + 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_common_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_common_proto_rawDescData = file_google_cloud_retail_v2alpha_common_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_common_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_common_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_common_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_common_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_common_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_google_cloud_retail_v2alpha_common_proto_goTypes = []interface{}{ + (*Audience)(nil), // 0: google.cloud.retail.v2alpha.Audience + (*ColorInfo)(nil), // 1: google.cloud.retail.v2alpha.ColorInfo + (*CustomAttribute)(nil), // 2: google.cloud.retail.v2alpha.CustomAttribute + (*FulfillmentInfo)(nil), // 3: google.cloud.retail.v2alpha.FulfillmentInfo + (*Image)(nil), // 4: google.cloud.retail.v2alpha.Image + (*Interval)(nil), // 5: google.cloud.retail.v2alpha.Interval + (*PriceInfo)(nil), // 6: google.cloud.retail.v2alpha.PriceInfo + (*Rating)(nil), // 7: google.cloud.retail.v2alpha.Rating + (*UserInfo)(nil), // 8: google.cloud.retail.v2alpha.UserInfo + (*PriceInfo_PriceRange)(nil), // 9: google.cloud.retail.v2alpha.PriceInfo.PriceRange + (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp +} +var file_google_cloud_retail_v2alpha_common_proto_depIdxs = []int32{ + 10, // 0: google.cloud.retail.v2alpha.PriceInfo.price_effective_time:type_name -> google.protobuf.Timestamp + 10, // 1: google.cloud.retail.v2alpha.PriceInfo.price_expire_time:type_name -> google.protobuf.Timestamp + 9, // 2: google.cloud.retail.v2alpha.PriceInfo.price_range:type_name -> google.cloud.retail.v2alpha.PriceInfo.PriceRange + 5, // 3: google.cloud.retail.v2alpha.PriceInfo.PriceRange.price:type_name -> google.cloud.retail.v2alpha.Interval + 5, // 4: google.cloud.retail.v2alpha.PriceInfo.PriceRange.original_price:type_name -> google.cloud.retail.v2alpha.Interval + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_common_proto_init() } +func file_google_cloud_retail_v2alpha_common_proto_init() { + if File_google_cloud_retail_v2alpha_common_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Audience); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ColorInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FulfillmentInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Image); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Interval); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PriceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Rating); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PriceInfo_PriceRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_retail_v2alpha_common_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*Interval_Minimum)(nil), + (*Interval_ExclusiveMinimum)(nil), + (*Interval_Maximum)(nil), + (*Interval_ExclusiveMaximum)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_common_proto_rawDesc, + NumEnums: 0, + NumMessages: 10, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2alpha_common_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_common_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2alpha_common_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_common_proto = out.File + file_google_cloud_retail_v2alpha_common_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_common_proto_goTypes = nil + file_google_cloud_retail_v2alpha_common_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2alpha/export_config.pb.go b/googleapis/cloud/retail/v2alpha/export_config.pb.go new file mode 100644 index 000000000..61e9f9415 --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/export_config.pb.go @@ -0,0 +1,1049 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/export_config.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// The output configuration setting. +type OutputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The configuration of destination for holding output data. + // + // Types that are assignable to Destination: + // *OutputConfig_GcsDestination_ + // *OutputConfig_BigqueryDestination + Destination isOutputConfig_Destination `protobuf_oneof:"destination"` +} + +func (x *OutputConfig) Reset() { + *x = OutputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig) ProtoMessage() {} + +func (x *OutputConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead. +func (*OutputConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{0} +} + +func (m *OutputConfig) GetDestination() isOutputConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *OutputConfig) GetGcsDestination() *OutputConfig_GcsDestination { + if x, ok := x.GetDestination().(*OutputConfig_GcsDestination_); ok { + return x.GcsDestination + } + return nil +} + +func (x *OutputConfig) GetBigqueryDestination() *OutputConfig_BigQueryDestination { + if x, ok := x.GetDestination().(*OutputConfig_BigqueryDestination); ok { + return x.BigqueryDestination + } + return nil +} + +type isOutputConfig_Destination interface { + isOutputConfig_Destination() +} + +type OutputConfig_GcsDestination_ struct { + // The Google Cloud Storage location where the output is to be written to. + GcsDestination *OutputConfig_GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` +} + +type OutputConfig_BigqueryDestination struct { + // The BigQuery location where the output is to be written to. + BigqueryDestination *OutputConfig_BigQueryDestination `protobuf:"bytes,2,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"` +} + +func (*OutputConfig_GcsDestination_) isOutputConfig_Destination() {} + +func (*OutputConfig_BigqueryDestination) isOutputConfig_Destination() {} + +// Configuration of destination for Export related errors. +type ExportErrorsConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Errors destination. + // + // Types that are assignable to Destination: + // *ExportErrorsConfig_GcsPrefix + Destination isExportErrorsConfig_Destination `protobuf_oneof:"destination"` +} + +func (x *ExportErrorsConfig) Reset() { + *x = ExportErrorsConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportErrorsConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportErrorsConfig) ProtoMessage() {} + +func (x *ExportErrorsConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportErrorsConfig.ProtoReflect.Descriptor instead. +func (*ExportErrorsConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{1} +} + +func (m *ExportErrorsConfig) GetDestination() isExportErrorsConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *ExportErrorsConfig) GetGcsPrefix() string { + if x, ok := x.GetDestination().(*ExportErrorsConfig_GcsPrefix); ok { + return x.GcsPrefix + } + return "" +} + +type isExportErrorsConfig_Destination interface { + isExportErrorsConfig_Destination() +} + +type ExportErrorsConfig_GcsPrefix struct { + // Google Cloud Storage path for import errors. This must be an empty, + // existing Cloud Storage bucket. Export errors will be written to a file in + // this bucket, one per line, as a JSON-encoded + // `google.rpc.Status` message. + GcsPrefix string `protobuf:"bytes,1,opt,name=gcs_prefix,json=gcsPrefix,proto3,oneof"` +} + +func (*ExportErrorsConfig_GcsPrefix) isExportErrorsConfig_Destination() {} + +// Request message for ExportProducts method. +type ExportProductsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. + // "projects/1234/locations/global/catalogs/default_catalog/branches/default_branch" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Unique identifier provided by client, within the ancestor + // dataset scope. Ensures idempotency for expensive long running operations. + // Server-generated if unspecified. Up to 128 characters long. This is + // returned as google.longrunning.Operation.name in the response. + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Required. The desired output location of the data. + OutputConfig *OutputConfig `protobuf:"bytes,3,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` + // Filtering expression to specify restrictions over + // returned products. This is a sequence of terms, where each term applies + // some kind of a restriction to the returned products. Use this expression to + // restrict results to a specific time range, tag, stock state or filter + // products by product type. + // eg: lastModifiedTime > "2012-04-23T18:25:43.511Z" + // lastModifiedTime<"2012-04-23T18:25:43.511Z" productType=primary + // + // We expect only 4 types of fields: + // + // * lastModifiedTime: this can be specified a maximum of 2 times, once + // with a + // less than operator and once with a greater than operator. The + // lastModifiedTime restrict should result in one contiguous valid last + // modified time range. + // + // * productType: supported values are 'primary' and 'variant'. Boolean + // operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // productType values by a space. + // + // * availability: supported values are IN_STOCK, OUT_OF_STOCK, + // PREORDER and BACKORDER. Boolean operators `OR` and `NOT` are + // supported if the + // expression is enclosed in parentheses, and must be separated from the + // availability values by a space. + // + // * Tag expressions. Restricts output to products that match all of the + // specified tags. Boolean operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // tag values by a space. `-"tagA"` is also supported and is equivalent + // to `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded + // strings with a size limit of 1 KiB. + // + // Some examples of valid filters expressions: + // + // * Example 1: lastModifiedTime > "2012-04-23T18:25:43.511Z" + // lastModifiedTime < "2012-04-23T18:30:43.511Z" + // * Example 2: lastModifiedTime > "2012-04-23T18:25:43.511Z" + // productType = "variant" + // * Example 3: tag=("Red" OR "Blue") tag="New-Arrival" + // tag=(NOT "promotional") + // productType = "primary" lastModifiedTime < + // "2018-04-23T18:30:43.511Z" + // * Example 4: lastModifiedTime > "2012-04-23T18:25:43.511Z" + // * Example 5: availability = (IN_STOCK OR BACKORDER) + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *ExportProductsRequest) Reset() { + *x = ExportProductsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportProductsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportProductsRequest) ProtoMessage() {} + +func (x *ExportProductsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportProductsRequest.ProtoReflect.Descriptor instead. +func (*ExportProductsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{2} +} + +func (x *ExportProductsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ExportProductsRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *ExportProductsRequest) GetOutputConfig() *OutputConfig { + if x != nil { + return x.OutputConfig + } + return nil +} + +func (x *ExportProductsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +// Request message for ExportUserEvents method. +type ExportUserEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. "projects/1234/locations/global/catalogs/default_catalog" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Unique identifier provided by client, within the ancestor + // dataset scope. Ensures idempotency for expensive long running operations. + // Server-generated if unspecified. Up to 128 characters long. This is + // returned as google.longrunning.Operation.name in the response. + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Required. The desired output location of the data. + OutputConfig *OutputConfig `protobuf:"bytes,3,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` + // Filtering expression to specify restrictions over + // returned events. This is a sequence of terms, where each term applies some + // kind of a restriction to the returned user events. Use this expression to + // restrict results to a specific time range, or filter events by eventType. + // eg: eventTime > "2012-04-23T18:25:43.511Z" eventsMissingCatalogItems + // eventTime<"2012-04-23T18:25:43.511Z" eventType=search + // + // We expect only 3 types of fields: + // + // * eventTime: this can be specified a maximum of 2 times, once with a + // less than operator and once with a greater than operator. The + // eventTime restrict should result in one contiguous valid eventTime + // range. + // + // * eventType: Boolean operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // tag values by a space. + // + // * eventsMissingCatalogItems: specifying this will restrict results + // to events for which catalog items were not found in the catalog. The + // default behavior is to return only those events for which catalog + // items were found. + // + // Some examples of valid filters expressions: + // + // * Example 1: eventTime > "2012-04-23T18:25:43.511Z" + // eventTime < "2012-04-23T18:30:43.511Z" + // * Example 2: eventTime > "2012-04-23T18:25:43.511Z" + // eventType = detail-page-view + // * Example 3: eventsMissingCatalogItems + // eventType = (NOT search) eventTime < "2018-04-23T18:30:43.511Z" + // * Example 4: eventTime > "2012-04-23T18:25:43.511Z" + // * Example 5: eventType = (search OR impression) + // * Example 6: eventsMissingCatalogItems + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *ExportUserEventsRequest) Reset() { + *x = ExportUserEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportUserEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportUserEventsRequest) ProtoMessage() {} + +func (x *ExportUserEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportUserEventsRequest.ProtoReflect.Descriptor instead. +func (*ExportUserEventsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{3} +} + +func (x *ExportUserEventsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ExportUserEventsRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *ExportUserEventsRequest) GetOutputConfig() *OutputConfig { + if x != nil { + return x.OutputConfig + } + return nil +} + +func (x *ExportUserEventsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +// Metadata related to the progress of the Export operation. This will be +// returned by the google.longrunning.Operation.metadata field. +type ExportMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the operation. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Id of the request / operation. This is parroting back the requestId that + // was passed in the request. + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Operation create time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Operation last update time. If the operation is done, this is also the + // finish time. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` +} + +func (x *ExportMetadata) Reset() { + *x = ExportMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportMetadata) ProtoMessage() {} + +func (x *ExportMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportMetadata.ProtoReflect.Descriptor instead. +func (*ExportMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{4} +} + +func (x *ExportMetadata) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExportMetadata) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *ExportMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ExportMetadata) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +// Response of the ExportProductsRequest. If the long running +// operation is done, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ExportProductsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // Echoes the destination for the complete errors in the request if set. + ErrorsConfig *ExportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` +} + +func (x *ExportProductsResponse) Reset() { + *x = ExportProductsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportProductsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportProductsResponse) ProtoMessage() {} + +func (x *ExportProductsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportProductsResponse.ProtoReflect.Descriptor instead. +func (*ExportProductsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{5} +} + +func (x *ExportProductsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ExportProductsResponse) GetErrorsConfig() *ExportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +// Response of the ExportUserEventsRequest. If the long running +// operation was successful, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ExportUserEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // Echoes the destination for the complete errors if this field was set in + // the request. + ErrorsConfig *ExportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` +} + +func (x *ExportUserEventsResponse) Reset() { + *x = ExportUserEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportUserEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportUserEventsResponse) ProtoMessage() {} + +func (x *ExportUserEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportUserEventsResponse.ProtoReflect.Descriptor instead. +func (*ExportUserEventsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{6} +} + +func (x *ExportUserEventsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ExportUserEventsResponse) GetErrorsConfig() *ExportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +// The Google Cloud Storage output destination configuration. +type OutputConfig_GcsDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The output uri prefix for saving output data to json files. + // Some mapping examples are as follows: + // output_uri_prefix sample output(assuming the object is foo.json) + // ======================== ============================================= + // gs://bucket/ gs://bucket/foo.json + // gs://bucket/folder/ gs://bucket/folder/foo.json + // gs://bucket/folder/item_ gs://bucket/folder/item_foo.json + OutputUriPrefix string `protobuf:"bytes,1,opt,name=output_uri_prefix,json=outputUriPrefix,proto3" json:"output_uri_prefix,omitempty"` +} + +func (x *OutputConfig_GcsDestination) Reset() { + *x = OutputConfig_GcsDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig_GcsDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig_GcsDestination) ProtoMessage() {} + +func (x *OutputConfig_GcsDestination) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutputConfig_GcsDestination.ProtoReflect.Descriptor instead. +func (*OutputConfig_GcsDestination) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *OutputConfig_GcsDestination) GetOutputUriPrefix() string { + if x != nil { + return x.OutputUriPrefix + } + return "" +} + +// The BigQuery output destination configuration. +type OutputConfig_BigQueryDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of a BigQuery Dataset. + DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` +} + +func (x *OutputConfig_BigQueryDestination) Reset() { + *x = OutputConfig_BigQueryDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig_BigQueryDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig_BigQueryDestination) ProtoMessage() {} + +func (x *OutputConfig_BigQueryDestination) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutputConfig_BigQueryDestination.ProtoReflect.Descriptor instead. +func (*OutputConfig_BigQueryDestination) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *OutputConfig_BigQueryDestination) GetDatasetId() string { + if x != nil { + return x.DatasetId + } + return "" +} + +var File_google_cloud_retail_v2alpha_export_config_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_export_config_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x65, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xef, 0x02, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x63, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x72, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x0e, + 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, + 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, + 0x34, 0x0a, 0x13, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0a, 0x67, 0x63, + 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x67, 0x63, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x0d, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x01, 0x0a, 0x15, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x12, 0x53, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xc2, 0x01, + 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x53, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x22, 0xbd, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, + 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa9, 0x01, 0x0a, + 0x18, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0xdf, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x11, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, + 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_export_config_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_export_config_proto_rawDescData = file_google_cloud_retail_v2alpha_export_config_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_export_config_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_export_config_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_export_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_export_config_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_export_config_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_export_config_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_google_cloud_retail_v2alpha_export_config_proto_goTypes = []interface{}{ + (*OutputConfig)(nil), // 0: google.cloud.retail.v2alpha.OutputConfig + (*ExportErrorsConfig)(nil), // 1: google.cloud.retail.v2alpha.ExportErrorsConfig + (*ExportProductsRequest)(nil), // 2: google.cloud.retail.v2alpha.ExportProductsRequest + (*ExportUserEventsRequest)(nil), // 3: google.cloud.retail.v2alpha.ExportUserEventsRequest + (*ExportMetadata)(nil), // 4: google.cloud.retail.v2alpha.ExportMetadata + (*ExportProductsResponse)(nil), // 5: google.cloud.retail.v2alpha.ExportProductsResponse + (*ExportUserEventsResponse)(nil), // 6: google.cloud.retail.v2alpha.ExportUserEventsResponse + (*OutputConfig_GcsDestination)(nil), // 7: google.cloud.retail.v2alpha.OutputConfig.GcsDestination + (*OutputConfig_BigQueryDestination)(nil), // 8: google.cloud.retail.v2alpha.OutputConfig.BigQueryDestination + (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp + (*status.Status)(nil), // 10: google.rpc.Status +} +var file_google_cloud_retail_v2alpha_export_config_proto_depIdxs = []int32{ + 7, // 0: google.cloud.retail.v2alpha.OutputConfig.gcs_destination:type_name -> google.cloud.retail.v2alpha.OutputConfig.GcsDestination + 8, // 1: google.cloud.retail.v2alpha.OutputConfig.bigquery_destination:type_name -> google.cloud.retail.v2alpha.OutputConfig.BigQueryDestination + 0, // 2: google.cloud.retail.v2alpha.ExportProductsRequest.output_config:type_name -> google.cloud.retail.v2alpha.OutputConfig + 0, // 3: google.cloud.retail.v2alpha.ExportUserEventsRequest.output_config:type_name -> google.cloud.retail.v2alpha.OutputConfig + 9, // 4: google.cloud.retail.v2alpha.ExportMetadata.create_time:type_name -> google.protobuf.Timestamp + 9, // 5: google.cloud.retail.v2alpha.ExportMetadata.update_time:type_name -> google.protobuf.Timestamp + 10, // 6: google.cloud.retail.v2alpha.ExportProductsResponse.error_samples:type_name -> google.rpc.Status + 1, // 7: google.cloud.retail.v2alpha.ExportProductsResponse.errors_config:type_name -> google.cloud.retail.v2alpha.ExportErrorsConfig + 10, // 8: google.cloud.retail.v2alpha.ExportUserEventsResponse.error_samples:type_name -> google.rpc.Status + 1, // 9: google.cloud.retail.v2alpha.ExportUserEventsResponse.errors_config:type_name -> google.cloud.retail.v2alpha.ExportErrorsConfig + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_export_config_proto_init() } +func file_google_cloud_retail_v2alpha_export_config_proto_init() { + if File_google_cloud_retail_v2alpha_export_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportErrorsConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportProductsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportUserEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportProductsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportUserEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputConfig_GcsDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputConfig_BigQueryDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*OutputConfig_GcsDestination_)(nil), + (*OutputConfig_BigqueryDestination)(nil), + } + file_google_cloud_retail_v2alpha_export_config_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*ExportErrorsConfig_GcsPrefix)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_export_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2alpha_export_config_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_export_config_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2alpha_export_config_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_export_config_proto = out.File + file_google_cloud_retail_v2alpha_export_config_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_export_config_proto_goTypes = nil + file_google_cloud_retail_v2alpha_export_config_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2alpha/import_config.pb.go b/googleapis/cloud/retail/v2alpha/import_config.pb.go new file mode 100644 index 000000000..99ab8a93b --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/import_config.pb.go @@ -0,0 +1,1490 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/import_config.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Google Cloud Storage location for input content. +// format. +type GcsSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Google Cloud Storage URIs to input files. URI can be up to + // 2000 characters long. URIs can match the full object path (for example, + // gs://bucket/directory/object.json) or a pattern matching one or more + // files, such as gs://bucket/directory/*.json. A request can + // contain at most 100 files, and each file can be up to 2 GB. See + // [Importing product information](/recommendations-ai/docs/upload-catalog) + // for the expected file format and setup instructions. + InputUris []string `protobuf:"bytes,1,rep,name=input_uris,json=inputUris,proto3" json:"input_uris,omitempty"` + // The schema to use when parsing the data from the source. + // + // Supported values for product imports: + // + // 1: "product" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#json + // (Default for products.import) + // + // 2: "product_merchant_center" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc + // + // Supported values for user events imports: + // + // 1: "user_event" using + // https://cloud.google.com/recommendations-ai/docs/manage-user-events#import + // (Default for userEvents.import) + // + // 2. "user_event_ga360" using + // https://support.google.com/analytics/answer/3437719?hl=en + DataSchema string `protobuf:"bytes,2,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"` +} + +func (x *GcsSource) Reset() { + *x = GcsSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GcsSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GcsSource) ProtoMessage() {} + +func (x *GcsSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead. +func (*GcsSource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{0} +} + +func (x *GcsSource) GetInputUris() []string { + if x != nil { + return x.InputUris + } + return nil +} + +func (x *GcsSource) GetDataSchema() string { + if x != nil { + return x.DataSchema + } + return "" +} + +// BigQuery source import data from. +type BigQuerySource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The project id (can be project # or id) that the BigQuery source is in. If + // not specified, inherits the project id from the parent request. + ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // Required. The BigQuery data set to copy the data from. + DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` + // Required. The BigQuery table to copy the data from. + TableId string `protobuf:"bytes,2,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` + // Intermediate Cloud Storage directory used for the import. Can be specified + // if one wants to have the BigQuery export to a specific Cloud Storage + // directory. + GcsStagingDir string `protobuf:"bytes,3,opt,name=gcs_staging_dir,json=gcsStagingDir,proto3" json:"gcs_staging_dir,omitempty"` + // The schema to use when parsing the data from the source. + // + // Supported values for catalog imports: + // + // 1: "product" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#json + // (Default for products.import) + // + // 2: "product_merchant_center" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc + // + // Supported values for user event imports: + // + // 1: "user_event" using + // https://cloud.google.com/recommendations-ai/docs/manage-user-events#import + // (Default for userEvents.import) + // + // 2. "user_event_ga360" using + // https://support.google.com/analytics/answer/3437719?hl=en + DataSchema string `protobuf:"bytes,4,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"` +} + +func (x *BigQuerySource) Reset() { + *x = BigQuerySource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BigQuerySource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BigQuerySource) ProtoMessage() {} + +func (x *BigQuerySource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BigQuerySource.ProtoReflect.Descriptor instead. +func (*BigQuerySource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{1} +} + +func (x *BigQuerySource) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *BigQuerySource) GetDatasetId() string { + if x != nil { + return x.DatasetId + } + return "" +} + +func (x *BigQuerySource) GetTableId() string { + if x != nil { + return x.TableId + } + return "" +} + +func (x *BigQuerySource) GetGcsStagingDir() string { + if x != nil { + return x.GcsStagingDir + } + return "" +} + +func (x *BigQuerySource) GetDataSchema() string { + if x != nil { + return x.DataSchema + } + return "" +} + +// The inline source for the input config for ImportProducts method. +type ProductInlineSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of products to update/create. Recommended max of 10k items. + Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"` +} + +func (x *ProductInlineSource) Reset() { + *x = ProductInlineSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductInlineSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductInlineSource) ProtoMessage() {} + +func (x *ProductInlineSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductInlineSource.ProtoReflect.Descriptor instead. +func (*ProductInlineSource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{2} +} + +func (x *ProductInlineSource) GetProducts() []*Product { + if x != nil { + return x.Products + } + return nil +} + +// The inline source for the input config for ImportUserEvents method. +type UserEventInlineSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of user events to import. Recommended max of 10k items. + UserEvents []*UserEvent `protobuf:"bytes,1,rep,name=user_events,json=userEvents,proto3" json:"user_events,omitempty"` +} + +func (x *UserEventInlineSource) Reset() { + *x = UserEventInlineSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEventInlineSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEventInlineSource) ProtoMessage() {} + +func (x *UserEventInlineSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEventInlineSource.ProtoReflect.Descriptor instead. +func (*UserEventInlineSource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{3} +} + +func (x *UserEventInlineSource) GetUserEvents() []*UserEvent { + if x != nil { + return x.UserEvents + } + return nil +} + +// Configuration of destination for Import related errors. +type ImportErrorsConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Errors destination. + // + // Types that are assignable to Destination: + // *ImportErrorsConfig_GcsPrefix + Destination isImportErrorsConfig_Destination `protobuf_oneof:"destination"` +} + +func (x *ImportErrorsConfig) Reset() { + *x = ImportErrorsConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportErrorsConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportErrorsConfig) ProtoMessage() {} + +func (x *ImportErrorsConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportErrorsConfig.ProtoReflect.Descriptor instead. +func (*ImportErrorsConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{4} +} + +func (m *ImportErrorsConfig) GetDestination() isImportErrorsConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *ImportErrorsConfig) GetGcsPrefix() string { + if x, ok := x.GetDestination().(*ImportErrorsConfig_GcsPrefix); ok { + return x.GcsPrefix + } + return "" +} + +type isImportErrorsConfig_Destination interface { + isImportErrorsConfig_Destination() +} + +type ImportErrorsConfig_GcsPrefix struct { + // Google Cloud Storage path for import errors. This must be an empty, + // existing Cloud Storage bucket. Import errors will be written to a file in + // this bucket, one per line, as a JSON-encoded + // `google.rpc.Status` message. + GcsPrefix string `protobuf:"bytes,1,opt,name=gcs_prefix,json=gcsPrefix,proto3,oneof"` +} + +func (*ImportErrorsConfig_GcsPrefix) isImportErrorsConfig_Destination() {} + +// Request message for Import methods. +type ImportProductsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. + // "projects/1234/locations/global/catalogs/default_catalog/branches/default_branch" + // + // If no updateMask is specified, requires products.create permission. + // If updateMask is specified, requires products.update permission. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The desired input location of the data. + InputConfig *ProductInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` + // The desired location of errors incurred during the Import. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,3,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` + // Indicates which fields in the provided imported 'products' to update. If + // not set, will by default update all fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *ImportProductsRequest) Reset() { + *x = ImportProductsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportProductsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportProductsRequest) ProtoMessage() {} + +func (x *ImportProductsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportProductsRequest.ProtoReflect.Descriptor instead. +func (*ImportProductsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{5} +} + +func (x *ImportProductsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ImportProductsRequest) GetInputConfig() *ProductInputConfig { + if x != nil { + return x.InputConfig + } + return nil +} + +func (x *ImportProductsRequest) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +func (x *ImportProductsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for the ImportUserEvents request. +type ImportUserEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. "projects/1234/locations/global/catalogs/default_catalog" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The desired input location of the data. + InputConfig *UserEventInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` + // The desired location of errors incurred during the Import. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,3,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` +} + +func (x *ImportUserEventsRequest) Reset() { + *x = ImportUserEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportUserEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportUserEventsRequest) ProtoMessage() {} + +func (x *ImportUserEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportUserEventsRequest.ProtoReflect.Descriptor instead. +func (*ImportUserEventsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{6} +} + +func (x *ImportUserEventsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ImportUserEventsRequest) GetInputConfig() *UserEventInputConfig { + if x != nil { + return x.InputConfig + } + return nil +} + +func (x *ImportUserEventsRequest) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +// The input config source for products. +type ProductInputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The source of the input. + // + // Types that are assignable to Source: + // *ProductInputConfig_ProductInlineSource + // *ProductInputConfig_GcsSource + // *ProductInputConfig_BigQuerySource + Source isProductInputConfig_Source `protobuf_oneof:"source"` +} + +func (x *ProductInputConfig) Reset() { + *x = ProductInputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductInputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductInputConfig) ProtoMessage() {} + +func (x *ProductInputConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductInputConfig.ProtoReflect.Descriptor instead. +func (*ProductInputConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{7} +} + +func (m *ProductInputConfig) GetSource() isProductInputConfig_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *ProductInputConfig) GetProductInlineSource() *ProductInlineSource { + if x, ok := x.GetSource().(*ProductInputConfig_ProductInlineSource); ok { + return x.ProductInlineSource + } + return nil +} + +func (x *ProductInputConfig) GetGcsSource() *GcsSource { + if x, ok := x.GetSource().(*ProductInputConfig_GcsSource); ok { + return x.GcsSource + } + return nil +} + +func (x *ProductInputConfig) GetBigQuerySource() *BigQuerySource { + if x, ok := x.GetSource().(*ProductInputConfig_BigQuerySource); ok { + return x.BigQuerySource + } + return nil +} + +type isProductInputConfig_Source interface { + isProductInputConfig_Source() +} + +type ProductInputConfig_ProductInlineSource struct { + // The Inline source for the input content for products. + ProductInlineSource *ProductInlineSource `protobuf:"bytes,1,opt,name=product_inline_source,json=productInlineSource,proto3,oneof"` +} + +type ProductInputConfig_GcsSource struct { + // Google Cloud Storage location for the input content. + GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` +} + +type ProductInputConfig_BigQuerySource struct { + // BigQuery input source. + BigQuerySource *BigQuerySource `protobuf:"bytes,3,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"` +} + +func (*ProductInputConfig_ProductInlineSource) isProductInputConfig_Source() {} + +func (*ProductInputConfig_GcsSource) isProductInputConfig_Source() {} + +func (*ProductInputConfig_BigQuerySource) isProductInputConfig_Source() {} + +// The input config source for user events. +type UserEventInputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The source of the input. + // + // Types that are assignable to Source: + // *UserEventInputConfig_UserEventInlineSource + // *UserEventInputConfig_GcsSource + // *UserEventInputConfig_BigQuerySource + Source isUserEventInputConfig_Source `protobuf_oneof:"source"` +} + +func (x *UserEventInputConfig) Reset() { + *x = UserEventInputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEventInputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEventInputConfig) ProtoMessage() {} + +func (x *UserEventInputConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEventInputConfig.ProtoReflect.Descriptor instead. +func (*UserEventInputConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{8} +} + +func (m *UserEventInputConfig) GetSource() isUserEventInputConfig_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *UserEventInputConfig) GetUserEventInlineSource() *UserEventInlineSource { + if x, ok := x.GetSource().(*UserEventInputConfig_UserEventInlineSource); ok { + return x.UserEventInlineSource + } + return nil +} + +func (x *UserEventInputConfig) GetGcsSource() *GcsSource { + if x, ok := x.GetSource().(*UserEventInputConfig_GcsSource); ok { + return x.GcsSource + } + return nil +} + +func (x *UserEventInputConfig) GetBigQuerySource() *BigQuerySource { + if x, ok := x.GetSource().(*UserEventInputConfig_BigQuerySource); ok { + return x.BigQuerySource + } + return nil +} + +type isUserEventInputConfig_Source interface { + isUserEventInputConfig_Source() +} + +type UserEventInputConfig_UserEventInlineSource struct { + // Required. The Inline source for the input content for UserEvents. + UserEventInlineSource *UserEventInlineSource `protobuf:"bytes,1,opt,name=user_event_inline_source,json=userEventInlineSource,proto3,oneof"` +} + +type UserEventInputConfig_GcsSource struct { + // Required. Google Cloud Storage location for the input content. + GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` +} + +type UserEventInputConfig_BigQuerySource struct { + // Required. BigQuery input source. + BigQuerySource *BigQuerySource `protobuf:"bytes,3,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"` +} + +func (*UserEventInputConfig_UserEventInlineSource) isUserEventInputConfig_Source() {} + +func (*UserEventInputConfig_GcsSource) isUserEventInputConfig_Source() {} + +func (*UserEventInputConfig_BigQuerySource) isUserEventInputConfig_Source() {} + +// Metadata related to the progress of the Import operation. This will be +// returned by the google.longrunning.Operation.metadata field. +type ImportMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the operation. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Operation create time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Operation last update time. If the operation is done, this is also the + // finish time. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Count of entries that were processed successfully. + SuccessCount int64 `protobuf:"varint,4,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"` + // Count of entries that encountered errors while processing. + FailureCount int64 `protobuf:"varint,5,opt,name=failure_count,json=failureCount,proto3" json:"failure_count,omitempty"` +} + +func (x *ImportMetadata) Reset() { + *x = ImportMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportMetadata) ProtoMessage() {} + +func (x *ImportMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportMetadata.ProtoReflect.Descriptor instead. +func (*ImportMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{9} +} + +func (x *ImportMetadata) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ImportMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ImportMetadata) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ImportMetadata) GetSuccessCount() int64 { + if x != nil { + return x.SuccessCount + } + return 0 +} + +func (x *ImportMetadata) GetFailureCount() int64 { + if x != nil { + return x.FailureCount + } + return 0 +} + +// Response of the +// [ImportProductsRequest][google.cloud.retail.v2alpha.ImportProductsRequest]. +// If the long running operation is done, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ImportProductsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // Echoes the destination for the complete errors in the request if set. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` +} + +func (x *ImportProductsResponse) Reset() { + *x = ImportProductsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportProductsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportProductsResponse) ProtoMessage() {} + +func (x *ImportProductsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportProductsResponse.ProtoReflect.Descriptor instead. +func (*ImportProductsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{10} +} + +func (x *ImportProductsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ImportProductsResponse) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +// Response of the ImportUserEventsRequest. If the long running +// operation was successful, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ImportUserEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // Echoes the destination for the complete errors if this field was set in + // the request. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` + // Aggregated statistics of user event import status. + ImportSummary *UserEventImportSummary `protobuf:"bytes,3,opt,name=import_summary,json=importSummary,proto3" json:"import_summary,omitempty"` +} + +func (x *ImportUserEventsResponse) Reset() { + *x = ImportUserEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportUserEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportUserEventsResponse) ProtoMessage() {} + +func (x *ImportUserEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportUserEventsResponse.ProtoReflect.Descriptor instead. +func (*ImportUserEventsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{11} +} + +func (x *ImportUserEventsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ImportUserEventsResponse) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +func (x *ImportUserEventsResponse) GetImportSummary() *UserEventImportSummary { + if x != nil { + return x.ImportSummary + } + return nil +} + +// A summary of import result. The UserEventImportSummary summarizes +// the import status for user events. +type UserEventImportSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Count of user events imported with complete existing catalog information. + JoinedEventsCount int64 `protobuf:"varint,1,opt,name=joined_events_count,json=joinedEventsCount,proto3" json:"joined_events_count,omitempty"` + // Count of user events imported, but with catalog information not found + // in the imported catalog. + UnjoinedEventsCount int64 `protobuf:"varint,2,opt,name=unjoined_events_count,json=unjoinedEventsCount,proto3" json:"unjoined_events_count,omitempty"` +} + +func (x *UserEventImportSummary) Reset() { + *x = UserEventImportSummary{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEventImportSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEventImportSummary) ProtoMessage() {} + +func (x *UserEventImportSummary) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEventImportSummary.ProtoReflect.Descriptor instead. +func (*UserEventImportSummary) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP(), []int{12} +} + +func (x *UserEventImportSummary) GetJoinedEventsCount() int64 { + if x != nil { + return x.JoinedEventsCount + } + return 0 +} + +func (x *UserEventImportSummary) GetUnjoinedEventsCount() int64 { + if x != nil { + return x.UnjoinedEventsCount + } + return 0 +} + +var File_google_cloud_retail_v2alpha_import_config_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_import_config_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, + 0x09, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, + 0xbc, 0x01, 0x0a, 0x0e, 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x74, 0x61, + 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x67, 0x63, 0x73, 0x53, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, + 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x57, + 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x22, 0x60, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x47, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x75, + 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x1f, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xa0, 0x02, 0x0a, 0x15, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x57, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x54, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x73, 0x6b, 0x22, 0xe7, 0x01, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x0c, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa8, 0x02, 0x0a, + 0x12, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x66, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0a, 0x67, + 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x63, + 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x69, 0x67, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x62, + 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc0, 0x02, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x72, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x15, 0x75, + 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, + 0x52, 0x0e, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa6, 0x02, 0x0a, 0x0e, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x3c, 0xea, 0x41, 0x39, 0x0a, 0x1f, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x22, 0xa7, 0x01, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, + 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x85, 0x02, + 0x0a, 0x18, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5a, 0x0a, 0x0e, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x7c, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, + 0x2e, 0x0a, 0x13, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6a, 0x6f, + 0x69, 0x6e, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x32, 0x0a, 0x15, 0x75, 0x6e, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, + 0x75, 0x6e, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0xdf, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x11, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, + 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, + 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_import_config_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_import_config_proto_rawDescData = file_google_cloud_retail_v2alpha_import_config_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_import_config_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_import_config_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_import_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_import_config_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_import_config_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_import_config_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_google_cloud_retail_v2alpha_import_config_proto_goTypes = []interface{}{ + (*GcsSource)(nil), // 0: google.cloud.retail.v2alpha.GcsSource + (*BigQuerySource)(nil), // 1: google.cloud.retail.v2alpha.BigQuerySource + (*ProductInlineSource)(nil), // 2: google.cloud.retail.v2alpha.ProductInlineSource + (*UserEventInlineSource)(nil), // 3: google.cloud.retail.v2alpha.UserEventInlineSource + (*ImportErrorsConfig)(nil), // 4: google.cloud.retail.v2alpha.ImportErrorsConfig + (*ImportProductsRequest)(nil), // 5: google.cloud.retail.v2alpha.ImportProductsRequest + (*ImportUserEventsRequest)(nil), // 6: google.cloud.retail.v2alpha.ImportUserEventsRequest + (*ProductInputConfig)(nil), // 7: google.cloud.retail.v2alpha.ProductInputConfig + (*UserEventInputConfig)(nil), // 8: google.cloud.retail.v2alpha.UserEventInputConfig + (*ImportMetadata)(nil), // 9: google.cloud.retail.v2alpha.ImportMetadata + (*ImportProductsResponse)(nil), // 10: google.cloud.retail.v2alpha.ImportProductsResponse + (*ImportUserEventsResponse)(nil), // 11: google.cloud.retail.v2alpha.ImportUserEventsResponse + (*UserEventImportSummary)(nil), // 12: google.cloud.retail.v2alpha.UserEventImportSummary + (*Product)(nil), // 13: google.cloud.retail.v2alpha.Product + (*UserEvent)(nil), // 14: google.cloud.retail.v2alpha.UserEvent + (*fieldmaskpb.FieldMask)(nil), // 15: google.protobuf.FieldMask + (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp + (*status.Status)(nil), // 17: google.rpc.Status +} +var file_google_cloud_retail_v2alpha_import_config_proto_depIdxs = []int32{ + 13, // 0: google.cloud.retail.v2alpha.ProductInlineSource.products:type_name -> google.cloud.retail.v2alpha.Product + 14, // 1: google.cloud.retail.v2alpha.UserEventInlineSource.user_events:type_name -> google.cloud.retail.v2alpha.UserEvent + 7, // 2: google.cloud.retail.v2alpha.ImportProductsRequest.input_config:type_name -> google.cloud.retail.v2alpha.ProductInputConfig + 4, // 3: google.cloud.retail.v2alpha.ImportProductsRequest.errors_config:type_name -> google.cloud.retail.v2alpha.ImportErrorsConfig + 15, // 4: google.cloud.retail.v2alpha.ImportProductsRequest.update_mask:type_name -> google.protobuf.FieldMask + 8, // 5: google.cloud.retail.v2alpha.ImportUserEventsRequest.input_config:type_name -> google.cloud.retail.v2alpha.UserEventInputConfig + 4, // 6: google.cloud.retail.v2alpha.ImportUserEventsRequest.errors_config:type_name -> google.cloud.retail.v2alpha.ImportErrorsConfig + 2, // 7: google.cloud.retail.v2alpha.ProductInputConfig.product_inline_source:type_name -> google.cloud.retail.v2alpha.ProductInlineSource + 0, // 8: google.cloud.retail.v2alpha.ProductInputConfig.gcs_source:type_name -> google.cloud.retail.v2alpha.GcsSource + 1, // 9: google.cloud.retail.v2alpha.ProductInputConfig.big_query_source:type_name -> google.cloud.retail.v2alpha.BigQuerySource + 3, // 10: google.cloud.retail.v2alpha.UserEventInputConfig.user_event_inline_source:type_name -> google.cloud.retail.v2alpha.UserEventInlineSource + 0, // 11: google.cloud.retail.v2alpha.UserEventInputConfig.gcs_source:type_name -> google.cloud.retail.v2alpha.GcsSource + 1, // 12: google.cloud.retail.v2alpha.UserEventInputConfig.big_query_source:type_name -> google.cloud.retail.v2alpha.BigQuerySource + 16, // 13: google.cloud.retail.v2alpha.ImportMetadata.create_time:type_name -> google.protobuf.Timestamp + 16, // 14: google.cloud.retail.v2alpha.ImportMetadata.update_time:type_name -> google.protobuf.Timestamp + 17, // 15: google.cloud.retail.v2alpha.ImportProductsResponse.error_samples:type_name -> google.rpc.Status + 4, // 16: google.cloud.retail.v2alpha.ImportProductsResponse.errors_config:type_name -> google.cloud.retail.v2alpha.ImportErrorsConfig + 17, // 17: google.cloud.retail.v2alpha.ImportUserEventsResponse.error_samples:type_name -> google.rpc.Status + 4, // 18: google.cloud.retail.v2alpha.ImportUserEventsResponse.errors_config:type_name -> google.cloud.retail.v2alpha.ImportErrorsConfig + 12, // 19: google.cloud.retail.v2alpha.ImportUserEventsResponse.import_summary:type_name -> google.cloud.retail.v2alpha.UserEventImportSummary + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_import_config_proto_init() } +func file_google_cloud_retail_v2alpha_import_config_proto_init() { + if File_google_cloud_retail_v2alpha_import_config_proto != nil { + return + } + file_google_cloud_retail_v2alpha_product_proto_init() + file_google_cloud_retail_v2alpha_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GcsSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BigQuerySource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductInlineSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEventInlineSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportErrorsConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportProductsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportUserEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductInputConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEventInputConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportProductsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportUserEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEventImportSummary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*ImportErrorsConfig_GcsPrefix)(nil), + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*ProductInputConfig_ProductInlineSource)(nil), + (*ProductInputConfig_GcsSource)(nil), + (*ProductInputConfig_BigQuerySource)(nil), + } + file_google_cloud_retail_v2alpha_import_config_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*UserEventInputConfig_UserEventInlineSource)(nil), + (*UserEventInputConfig_GcsSource)(nil), + (*UserEventInputConfig_BigQuerySource)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_import_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 13, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2alpha_import_config_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_import_config_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2alpha_import_config_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_import_config_proto = out.File + file_google_cloud_retail_v2alpha_import_config_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_import_config_proto_goTypes = nil + file_google_cloud_retail_v2alpha_import_config_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2alpha/prediction_service.pb.go b/googleapis/cloud/retail/v2alpha/prediction_service.pb.go new file mode 100644 index 000000000..9f86f9596 --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/prediction_service.pb.go @@ -0,0 +1,692 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/prediction_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Request message for Predict method. +type PredictRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of the format: + // {name=projects/*/locations/global/catalogs/default_catalog/placements/*} + // The id of the recommendation engine placement. This id is used to identify + // the set of models that will be used to make the prediction. + // + // We currently support three placements with the following IDs by default: + // + // * `shopping_cart`: Predicts products frequently bought together with one or + // more products in the same shopping session. Commonly displayed after + // `add-to-cart` events, on product detail pages, or on the shopping cart + // page. + // + // * `home_page`: Predicts the next product that a user will most likely + // engage with or purchase based on the shopping or viewing history of the + // specified `userId` or `visitorId`. For example - Recommendations for you. + // + // * `product_detail`: Predicts the next product that a user will most likely + // engage with or purchase. The prediction is based on the shopping or + // viewing history of the specified `userId` or `visitorId` and its + // relevance to a specified `CatalogItem`. Typically used on product detail + // pages. For example - More products like this. + // + // * `recently_viewed_default`: Returns up to 75 products recently viewed by + // the + // specified `userId` or `visitorId`, most recent ones first. Returns + // nothing if neither of them has viewed any products yet. For example - + // Recently viewed. + // + // The full list of available placements can be seen at + // + // https: + // //console.cloud.google.com/recommendatio + // // n/datafeeds/default_catalog/dashboard + Placement string `protobuf:"bytes,1,opt,name=placement,proto3" json:"placement,omitempty"` + // Required. Context about the user, what they are looking at and what action + // they took to trigger the predict request. Note that this user event detail + // won't be ingested to userEvent logs. Thus, a separate userEvent write + // request is required for event logging. + UserEvent *UserEvent `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"` + // Maximum number of results to return per page. Set this property + // to the number of prediction results needed. If zero, the service will + // choose a reasonable default. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The previous PredictResponse.next_page_token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filter for restricting prediction results. Accepts values for + // tags and the `filterOutOfStockItems` flag. + // + // * Tag expressions. Restricts predictions to products that match all of the + // specified tags. Boolean operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // tag values by a space. `-"tagA"` is also supported and is equivalent to + // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings + // with a size limit of 1 KiB. + // + // * filterOutOfStockItems. Restricts predictions to products that do not + // have a + // stockState value of OUT_OF_STOCK. + // + // Examples: + // + // * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") + // * filterOutOfStockItems tag=(-"promotional") + // * filterOutOfStockItems + // + // If your filter blocks all prediction results, nothing will be returned. If + // you want generic (unfiltered) popular products to be returned instead, set + // `strictFiltering` to false in `PredictRequest.params`. + Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"` + // Use validate only mode for this prediction query. If set to true, a + // dummy model will be used that returns arbitrary products. + // Note that the validate only mode should only be used for testing the API, + // or if the model is not ready. + ValidateOnly bool `protobuf:"varint,6,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // Additional domain specific parameters for the predictions. + // + // Allowed values: + // + // * `returnProduct`: Boolean. If set to true, the associated product + // object will be returned in the + // `PredictResponse.PredictionResult.productMetadata` object in the method + // response. + // * `returnScore`: Boolean. If set to true, the prediction 'score' + // corresponding to each returned product will be set in the `metadata` + // field in the prediction response. The given 'score' indicates the + // probability of an product being clicked/purchased given the user's + // context and history. + // * `strictFiltering`: Boolean. True by default. If set to false, the service + // will return generic (unfiltered) popular products instead of empty if + // your filter blocks all prediction results. + Params map[string]*structpb.Value `protobuf:"bytes,7,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The labels for the predict request. + // + // * Label keys can contain lowercase letters, digits and hyphens, must start + // with a letter, and must end with a letter or digit. + // * Non-zero label values can contain lowercase letters, digits and hyphens, + // must start with a letter, and must end with a letter or digit. + // * No more than 64 labels can be associated with a given request. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PredictRequest) Reset() { + *x = PredictRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_prediction_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictRequest) ProtoMessage() {} + +func (x *PredictRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_prediction_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredictRequest.ProtoReflect.Descriptor instead. +func (*PredictRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_prediction_service_proto_rawDescGZIP(), []int{0} +} + +func (x *PredictRequest) GetPlacement() string { + if x != nil { + return x.Placement + } + return "" +} + +func (x *PredictRequest) GetUserEvent() *UserEvent { + if x != nil { + return x.UserEvent + } + return nil +} + +func (x *PredictRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *PredictRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *PredictRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PredictRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *PredictRequest) GetParams() map[string]*structpb.Value { + if x != nil { + return x.Params + } + return nil +} + +func (x *PredictRequest) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +// Response message for predict method. +type PredictResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of recommended products. The order represents the ranking (from the + // most relevant product to the least). + Results []*PredictResponse_PredictionResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + // A unique attribution token. This should be included in the + // [UserEvent][google.cloud.retail.v2alpha.UserEvent] logs resulting from this + // recommendation, which enables accurate attribution of recommendation model + // performance. + AttributionToken string `protobuf:"bytes,2,opt,name=attribution_token,json=attributionToken,proto3" json:"attribution_token,omitempty"` + // IDs of products in the request that were missing from the inventory. + MissingIds []string `protobuf:"bytes,3,rep,name=missing_ids,json=missingIds,proto3" json:"missing_ids,omitempty"` + // True if the validateOnly property was set in the request. + ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` +} + +func (x *PredictResponse) Reset() { + *x = PredictResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_prediction_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictResponse) ProtoMessage() {} + +func (x *PredictResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_prediction_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredictResponse.ProtoReflect.Descriptor instead. +func (*PredictResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_prediction_service_proto_rawDescGZIP(), []int{1} +} + +func (x *PredictResponse) GetResults() []*PredictResponse_PredictionResult { + if x != nil { + return x.Results + } + return nil +} + +func (x *PredictResponse) GetAttributionToken() string { + if x != nil { + return x.AttributionToken + } + return "" +} + +func (x *PredictResponse) GetMissingIds() []string { + if x != nil { + return x.MissingIds + } + return nil +} + +func (x *PredictResponse) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +// PredictionResult represents the recommendation prediction results. +type PredictResponse_PredictionResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID of the recommended product + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Additional product metadata / annotations. + // + // Possible values: + // + // * `product`: JSON representation of the product. Will be set if + // `returnProduct` is set to true in `PredictRequest.params`. + // * `score`: Prediction score in double value. Will be set if + // `returnScore` is set to true in `PredictRequest.params`. + Metadata map[string]*structpb.Value `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PredictResponse_PredictionResult) Reset() { + *x = PredictResponse_PredictionResult{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_prediction_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictResponse_PredictionResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictResponse_PredictionResult) ProtoMessage() {} + +func (x *PredictResponse_PredictionResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_prediction_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredictResponse_PredictionResult.ProtoReflect.Descriptor instead. +func (*PredictResponse_PredictionResult) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_prediction_service_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *PredictResponse_PredictionResult) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PredictResponse_PredictionResult) GetMetadata() map[string]*structpb.Value { + if x != nil { + return x.Metadata + } + return nil +} + +var File_google_cloud_retail_v2alpha_prediction_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_prediction_service_proto_rawDesc = []byte{ + 0x0a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, + 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x04, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, + 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, + 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, + 0x6c, 0x79, 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x51, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0xc0, 0x03, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, + 0x2b, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, + 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, + 0x6c, 0x79, 0x1a, 0xe0, 0x01, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x67, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x1a, 0x53, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0x9d, 0x02, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xbc, 0x01, 0x0a, 0x07, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x22, 0x4b, 0x2f, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, + 0x2a, 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xe4, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x16, 0x50, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, + 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, + 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_prediction_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_prediction_service_proto_rawDescData = file_google_cloud_retail_v2alpha_prediction_service_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_prediction_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_prediction_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_prediction_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_prediction_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_prediction_service_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_prediction_service_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_cloud_retail_v2alpha_prediction_service_proto_goTypes = []interface{}{ + (*PredictRequest)(nil), // 0: google.cloud.retail.v2alpha.PredictRequest + (*PredictResponse)(nil), // 1: google.cloud.retail.v2alpha.PredictResponse + nil, // 2: google.cloud.retail.v2alpha.PredictRequest.ParamsEntry + nil, // 3: google.cloud.retail.v2alpha.PredictRequest.LabelsEntry + (*PredictResponse_PredictionResult)(nil), // 4: google.cloud.retail.v2alpha.PredictResponse.PredictionResult + nil, // 5: google.cloud.retail.v2alpha.PredictResponse.PredictionResult.MetadataEntry + (*UserEvent)(nil), // 6: google.cloud.retail.v2alpha.UserEvent + (*structpb.Value)(nil), // 7: google.protobuf.Value +} +var file_google_cloud_retail_v2alpha_prediction_service_proto_depIdxs = []int32{ + 6, // 0: google.cloud.retail.v2alpha.PredictRequest.user_event:type_name -> google.cloud.retail.v2alpha.UserEvent + 2, // 1: google.cloud.retail.v2alpha.PredictRequest.params:type_name -> google.cloud.retail.v2alpha.PredictRequest.ParamsEntry + 3, // 2: google.cloud.retail.v2alpha.PredictRequest.labels:type_name -> google.cloud.retail.v2alpha.PredictRequest.LabelsEntry + 4, // 3: google.cloud.retail.v2alpha.PredictResponse.results:type_name -> google.cloud.retail.v2alpha.PredictResponse.PredictionResult + 7, // 4: google.cloud.retail.v2alpha.PredictRequest.ParamsEntry.value:type_name -> google.protobuf.Value + 5, // 5: google.cloud.retail.v2alpha.PredictResponse.PredictionResult.metadata:type_name -> google.cloud.retail.v2alpha.PredictResponse.PredictionResult.MetadataEntry + 7, // 6: google.cloud.retail.v2alpha.PredictResponse.PredictionResult.MetadataEntry.value:type_name -> google.protobuf.Value + 0, // 7: google.cloud.retail.v2alpha.PredictionService.Predict:input_type -> google.cloud.retail.v2alpha.PredictRequest + 1, // 8: google.cloud.retail.v2alpha.PredictionService.Predict:output_type -> google.cloud.retail.v2alpha.PredictResponse + 8, // [8:9] is the sub-list for method output_type + 7, // [7:8] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_prediction_service_proto_init() } +func file_google_cloud_retail_v2alpha_prediction_service_proto_init() { + if File_google_cloud_retail_v2alpha_prediction_service_proto != nil { + return + } + file_google_cloud_retail_v2alpha_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_prediction_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_prediction_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_prediction_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictResponse_PredictionResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_prediction_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2alpha_prediction_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_prediction_service_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2alpha_prediction_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_prediction_service_proto = out.File + file_google_cloud_retail_v2alpha_prediction_service_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_prediction_service_proto_goTypes = nil + file_google_cloud_retail_v2alpha_prediction_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// PredictionServiceClient is the client API for PredictionService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type PredictionServiceClient interface { + // Makes a recommendation prediction. + Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error) +} + +type predictionServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewPredictionServiceClient(cc grpc.ClientConnInterface) PredictionServiceClient { + return &predictionServiceClient{cc} +} + +func (c *predictionServiceClient) Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error) { + out := new(PredictResponse) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.PredictionService/Predict", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// PredictionServiceServer is the server API for PredictionService service. +type PredictionServiceServer interface { + // Makes a recommendation prediction. + Predict(context.Context, *PredictRequest) (*PredictResponse, error) +} + +// UnimplementedPredictionServiceServer can be embedded to have forward compatible implementations. +type UnimplementedPredictionServiceServer struct { +} + +func (*UnimplementedPredictionServiceServer) Predict(context.Context, *PredictRequest) (*PredictResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Predict not implemented") +} + +func RegisterPredictionServiceServer(s *grpc.Server, srv PredictionServiceServer) { + s.RegisterService(&_PredictionService_serviceDesc, srv) +} + +func _PredictionService_Predict_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PredictRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PredictionServiceServer).Predict(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.PredictionService/Predict", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PredictionServiceServer).Predict(ctx, req.(*PredictRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _PredictionService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2alpha.PredictionService", + HandlerType: (*PredictionServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Predict", + Handler: _PredictionService_Predict_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2alpha/prediction_service.proto", +} diff --git a/googleapis/cloud/retail/v2alpha/product.pb.go b/googleapis/cloud/retail/v2alpha/product.pb.go new file mode 100644 index 000000000..25772dbb4 --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/product.pb.go @@ -0,0 +1,1105 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/product.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// The type of this product. +type Product_Type int32 + +const ( + // Default value. Default to + // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] if + // unset. + Product_TYPE_UNSPECIFIED Product_Type = 0 + // The primary type. + // + // As the primary unit for indexing and search serving, a + // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] + // [Product][google.cloud.retail.v2alpha.Product] is grouped with multiple + // [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product]s. + Product_PRIMARY Product_Type = 1 + // The variant type. + // + // [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product]s usually share some common + // attributes on the same + // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] + // [Product][google.cloud.retail.v2alpha.Product]s, but they have variant + // attributes like different colors, sizes and prices, etc. + Product_VARIANT Product_Type = 2 + // The collection type. Collection products are bundled + // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] + // [Product][google.cloud.retail.v2alpha.Product]s or + // [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product]s that are sold together, + // such as a jewelry set with necklaces, earrings and rings, etc. + Product_COLLECTION Product_Type = 3 +) + +// Enum value maps for Product_Type. +var ( + Product_Type_name = map[int32]string{ + 0: "TYPE_UNSPECIFIED", + 1: "PRIMARY", + 2: "VARIANT", + 3: "COLLECTION", + } + Product_Type_value = map[string]int32{ + "TYPE_UNSPECIFIED": 0, + "PRIMARY": 1, + "VARIANT": 2, + "COLLECTION": 3, + } +) + +func (x Product_Type) Enum() *Product_Type { + p := new(Product_Type) + *p = x + return p +} + +func (x Product_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Product_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_retail_v2alpha_product_proto_enumTypes[0].Descriptor() +} + +func (Product_Type) Type() protoreflect.EnumType { + return &file_google_cloud_retail_v2alpha_product_proto_enumTypes[0] +} + +func (x Product_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Product_Type.Descriptor instead. +func (Product_Type) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_product_proto_rawDescGZIP(), []int{0, 0} +} + +// Product availability. If this field is unspecified, the product is +// assumed to be in stock. +type Product_Availability int32 + +const ( + // Default product availability. Default to + // [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK] + // if unset. + Product_AVAILABILITY_UNSPECIFIED Product_Availability = 0 + // Product in stock. + Product_IN_STOCK Product_Availability = 1 + // Product out of stock. + Product_OUT_OF_STOCK Product_Availability = 2 + // Product that is in pre-order state. + Product_PREORDER Product_Availability = 3 + // Product that is back-ordered (i.e. temporarily out of stock). + Product_BACKORDER Product_Availability = 4 +) + +// Enum value maps for Product_Availability. +var ( + Product_Availability_name = map[int32]string{ + 0: "AVAILABILITY_UNSPECIFIED", + 1: "IN_STOCK", + 2: "OUT_OF_STOCK", + 3: "PREORDER", + 4: "BACKORDER", + } + Product_Availability_value = map[string]int32{ + "AVAILABILITY_UNSPECIFIED": 0, + "IN_STOCK": 1, + "OUT_OF_STOCK": 2, + "PREORDER": 3, + "BACKORDER": 4, + } +) + +func (x Product_Availability) Enum() *Product_Availability { + p := new(Product_Availability) + *p = x + return p +} + +func (x Product_Availability) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Product_Availability) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_retail_v2alpha_product_proto_enumTypes[1].Descriptor() +} + +func (Product_Availability) Type() protoreflect.EnumType { + return &file_google_cloud_retail_v2alpha_product_proto_enumTypes[1] +} + +func (x Product_Availability) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Product_Availability.Descriptor instead. +func (Product_Availability) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_product_proto_rawDescGZIP(), []int{0, 1} +} + +// Product captures all metadata information of items to be recommended or +// searched. +type Product struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Expiration: + // *Product_ExpireTime + // *Product_Ttl + Expiration isProduct_Expiration `protobuf_oneof:"expiration"` + // Immutable. Full resource name of the product, such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id". + // + // The branch ID must be "default_branch". + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Immutable. [Product][google.cloud.retail.v2alpha.Product] identifier, which + // is the final component of [name][google.cloud.retail.v2alpha.Product.name]. + // For example, this field is "id_1", if + // [name][google.cloud.retail.v2alpha.Product.name] is + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1". + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [id](https://support.google.com/merchants/answer/6324405). + // schema.org Property [Product.sku](https://schema.org/sku). + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + // Immutable. The type of the product. + // + // Default to [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] + // if unset. + Type Product_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.retail.v2alpha.Product_Type" json:"type,omitempty"` + // Variant group identifier. Must be an + // [id][google.cloud.retail.v2alpha.Product.id], with the same parent branch + // with this product. Otherwise, an error is thrown. + // + // The primary product may be empty during the creation, but cannot be updated + // from a non-empty string to an empty one. Otherwise an INVALID_ARGUMENT + // error is returned. + // + // Should only be set for + // [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product]s. A maximum of 1000 products + // are allowed to share the same + // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] + // [Product][google.cloud.retail.v2alpha.Product]. Otherwise, an + // INVALID_ARGUMENT error is returned. + // + // Google Merchant Center Property + // [item_group_id](https://support.google.com/merchants/answer/6324507). + // schema.org Property + // [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID). + // + // This field must be enabled before it can be used. [Learn + // more](/recommendations-ai/docs/catalog#item-group-id). + PrimaryProductId string `protobuf:"bytes,4,opt,name=primary_product_id,json=primaryProductId,proto3" json:"primary_product_id,omitempty"` + // The [id][google.cloud.retail.v2alpha.Product.id] of the collection members + // when [type][google.cloud.retail.v2alpha.Product.type] is + // [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]. + // + // Should not set it for other types. A maximum of 1000 values are allowed. + // Otherwise, an INVALID_ARGUMENT error is return. + CollectionMemberIds []string `protobuf:"bytes,5,rep,name=collection_member_ids,json=collectionMemberIds,proto3" json:"collection_member_ids,omitempty"` + // The Global Trade Item Number (GTIN) of the product. + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [gtin](https://support.google.com/merchants/answer/6324461). + // Schema.org property + // [Product.isbn](http://schema.org/isbn) or + // [Product.gtin8](http://schema.org/gtin8) or + // [Product.gtin12](http://schema.org/gtin12) or + // [Product.gtin13](http://schema.org/gtin13) or + // [Product.gtin14](http://schema.org/gtin14). + // + // If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned. + Gtin string `protobuf:"bytes,6,opt,name=gtin,proto3" json:"gtin,omitempty"` + // Required. Product categories. This field is repeated for supporting one + // product belonging to several parallel categories. Each value is either the + // full path of the category, or the [category + // + // ID](https: + // //www.google.com/basepages/producttype/taxonomy-with-ids.en-US.txt). + // Strongly recommended using the full path for better search / recommendation + // quality. + // + // To represent full path of category, use '>' sign to separate different + // hierarchies. If '>' is part of the category name, you should escape it with + // '\x3E'. + // + // For example, if a shoes product belongs to both + // ["Shoes & Accessories" -> "Shoes"] and + // ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be + // represented as: + // + // "categories": [ + // "Shoes & Accessories > Shoes", + // "Sports & Fitness > Athletic Clothing > Shoes" + // ] + // + // At most 250 values are allowed per + // [Product][google.cloud.retail.v2alpha.Product]. Empty values are not + // allowed. Each value must be a UTF-8 encoded string with a length limit of 5 + // KiB. Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // + // [google_product_category](https: + // //support.google.com/merchants/answer/6324436). + // Schema.org property [Product.category] (https://schema.org/category). + Categories []string `protobuf:"bytes,7,rep,name=categories,proto3" json:"categories,omitempty"` + // Required. Product title. + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [title](https://support.google.com/merchants/answer/6324415). Schema.org + // property [Product.name](https://schema.org/name). + Title string `protobuf:"bytes,8,opt,name=title,proto3" json:"title,omitempty"` + // The brand of the product. + // + // This field must be a UTF-8 encoded string with a length limit of 1 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // This field can only be set in a + // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] + // [Product][google.cloud.retail.v2alpha.Product]. Otherwise, a + // FAILED_PRECONDITION error is returned. + // + // Google Merchant Center property + // [brand](https://support.google.com/merchants/answer/6324351). Schema.org + // property [Product.brand](https://schema.org/brand). + Brand string `protobuf:"bytes,9,opt,name=brand,proto3" json:"brand,omitempty"` + // Product description. + // + // This field must be a UTF-8 encoded string with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [description](https://support.google.com/merchants/answer/6324468). + // schema.org property [Product.description](https://schema.org/description). + Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"` + // Language of the title/description and other string attributes. Use language + // tags defined by [BCP 47][https://www.rfc-editor.org/rfc/bcp/bcp47.txt]. + // + // The model automatically detects the text language. The + // [Product][google.cloud.retail.v2alpha.Product] can include text in + // different languages, but duplicating + // [Product][google.cloud.retail.v2alpha.Product]s to provide text in multiple + // languages can result in degraded model performance. + // + // Currently, recommendation supports all language codes, while the only + // supported language code for search is "en-US". + LanguageCode string `protobuf:"bytes,11,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` + // Highly encouraged. Extra product attributes to be included. For example, + // for products, this could include the store name, vendor, style, color, etc. + // These are very strong signals for recommendation model, thus we highly + // recommend providing the attributes here. + // + // Features that can take on one of a limited number of possible values. Two + // types of features can be set are: + // + // Textual features. some examples would be the brand/maker of a product, or + // country of a customer. Numerical features. Some examples would be the + // height/weight of a product, or age of a customer. + // + // For example: { "vendor": {"text": ["vendor123", "vendor456"]}, + // "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} + // }. + // + // A maximum of 150 attributes are allowed. Otherwise, an INVALID_ARGUMENT + // error is returned. + 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"` + // Custom tags associated with the product. + // + // At most 250 values are allowed per + // [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8 + // encoded string with a length limit of 1 KiB. Otherwise, an INVALID_ARGUMENT + // error is returned. + // + // This tag can be used for filtering recommendation results by passing the + // tag as part of the + // [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter]. + // + // Google Merchant Center property + // [custom_label_0–4](https://support.google.com/merchants/answer/6324473). + Tags []string `protobuf:"bytes,13,rep,name=tags,proto3" json:"tags,omitempty"` + // Product price and cost information. + // + // Google Merchant Center property + // [price](https://support.google.com/merchants/answer/6324371). + PriceInfo *PriceInfo `protobuf:"bytes,14,opt,name=price_info,json=priceInfo,proto3" json:"price_info,omitempty"` + // The rating of this product. + Rating *Rating `protobuf:"bytes,15,opt,name=rating,proto3" json:"rating,omitempty"` + // The timestamp when this [Product][google.cloud.retail.v2alpha.Product] + // becomes available recommendation and search. + AvailableTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=available_time,json=availableTime,proto3" json:"available_time,omitempty"` + // The online availability of the + // [Product][google.cloud.retail.v2alpha.Product], which is parallel to and + // independent of + // [fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]. + // Default is + // [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK]. + // + // Google Merchant Center Property + // [availability](https://support.google.com/merchants/answer/6324448). + // schema.org Property [Offer.availability](https://schema.org/availability). + Availability Product_Availability `protobuf:"varint,19,opt,name=availability,proto3,enum=google.cloud.retail.v2alpha.Product_Availability" json:"availability,omitempty"` + // The available quantity of the item. + AvailableQuantity *wrapperspb.Int32Value `protobuf:"bytes,20,opt,name=available_quantity,json=availableQuantity,proto3" json:"available_quantity,omitempty"` + // Fulfillment information, such as the store IDs for in-store pickup or + // region IDs for different shipping methods. + // + // All the elements must have distinct + // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type]. + // Otherwise, an INVALID_ARGUMENT error is returned. + FulfillmentInfo []*FulfillmentInfo `protobuf:"bytes,21,rep,name=fulfillment_info,json=fulfillmentInfo,proto3" json:"fulfillment_info,omitempty"` + // Canonical URL directly linking to the product detail page. + // + // This field must be a UTF-8 encoded string with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [link](https://support.google.com/merchants/answer/6324416). + // Schema.org property [Offer.url](https://schema.org/url). + Uri string `protobuf:"bytes,22,opt,name=uri,proto3" json:"uri,omitempty"` + // Product images for the product. + // + // Google Merchant Center property + // [image_link](https://support.google.com/merchants/answer/6324350). + // Schema.org property [Product.image](https://schema.org/image). + Images []*Image `protobuf:"bytes,23,rep,name=images,proto3" json:"images,omitempty"` + // The target group associated with a given audience (e.g. male, veterans, + // car owners, musicians, etc.) of the product. + Audience *Audience `protobuf:"bytes,24,opt,name=audience,proto3" json:"audience,omitempty"` + // The color of the product. + // + // Google Merchant Center property + // [color](https://support.google.com/merchants/answer/6324487). Schema.org + // property [Product.color](https://schema.org/color). + ColorInfo *ColorInfo `protobuf:"bytes,25,opt,name=color_info,json=colorInfo,proto3" json:"color_info,omitempty"` + // The size of the product. To represent different size systems or size types, + // consider using this format: [[[size_system:]size_type:]size_value]. + // + // For example, in "US:MENS:M", "US" represents size system; "MENS" represents + // size type; "M" represents size value. In "GIRLS:27", size system is empty; + // "GIRLS" represents size type; "27" represents size value. In "32 inches", + // both size system and size type are empty, while size value is "32 inches". + // + // A maximum of 20 values are allowed per + // [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8 + // encoded string with a length limit of 128 bytes. Otherwise, an + // INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [size](https://support.google.com/merchants/answer/6324492), + // [size_type](https://support.google.com/merchants/answer/6324497) and + // [size_system](https://support.google.com/merchants/answer/6324502). + // Schema.org property [Product.size](https://schema.org/size). + Sizes []string `protobuf:"bytes,26,rep,name=sizes,proto3" json:"sizes,omitempty"` + // The material of the product. For example, "leather", "wooden". + // + // A maximum of 5 values are allowed. Each value must be a UTF-8 encoded + // string with a length limit of 128 bytes. Otherwise, an INVALID_ARGUMENT + // error is returned. + // + // Google Merchant Center property + // [material](https://support.google.com/merchants/answer/6324410). Schema.org + // property [Product.material](https://schema.org/material). + Materials []string `protobuf:"bytes,27,rep,name=materials,proto3" json:"materials,omitempty"` + // The pattern or graphic print of the product. For example, "striped", "polka + // dot", "paisley". + // + // A maximum of 5 values are allowed per + // [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8 + // encoded string with a length limit of 128 bytes. Otherwise, an + // INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [pattern](https://support.google.com/merchants/answer/6324483). Schema.org + // property [Product.pattern](https://schema.org/pattern). + Patterns []string `protobuf:"bytes,28,rep,name=patterns,proto3" json:"patterns,omitempty"` + // The condition of the product. Strongly encouraged to use the standard + // values: "new", "refurbished", "used". + // + // A maximum of 5 values are allowed per + // [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8 + // encoded string with a length limit of 128 bytes. Otherwise, an + // INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [condition](https://support.google.com/merchants/answer/6324469). + // Schema.org property [Offer.itemCondition](http://schema.org/itemCondition). + Conditions []string `protobuf:"bytes,29,rep,name=conditions,proto3" json:"conditions,omitempty"` + // Indicates which fields in the + // [variants][google.cloud.retail.v2alpha.Product.variants] are retrievable in + // [Search][]. If not set or empty, the following fields are returned: + // + // * [name][google.cloud.retail.v2alpha.Product.name] + // * [availability][google.cloud.retail.v2alpha.Product.availability] + // * [color_info][google.cloud.retail.v2alpha.Product.color_info] + // + // Supported fields: + // + // * [name][google.cloud.retail.v2alpha.Product.name] + // * [availability][google.cloud.retail.v2alpha.Product.availability] + // * [color_info][google.cloud.retail.v2alpha.Product.color_info] + // * [gtin][google.cloud.retail.v2alpha.Product.gtin] + // * [price_info][google.cloud.retail.v2alpha.Product.price_info] + // * [sizes][google.cloud.retail.v2alpha.Product.sizes] + // * [materials][google.cloud.retail.v2alpha.Product.materials] + // * [patterns][google.cloud.retail.v2alpha.Product.patterns] + // * [conditions][google.cloud.retail.v2alpha.Product.conditions] + // * [images][google.cloud.retail.v2alpha.Product.images] + // * [attributes][google.cloud.retail.v2alpha.Product.attributes] + // + // To mark custom attributes as retrievable, include paths of the form + // "attributes.key" where "key" is the key of a custom attribute, as + // specified in [attributes][google.cloud.retail.v2alpha.Product.attributes]. + // + // Maximum number of paths is 10. Otherwise, an INVALID_ARGUMENT error is + // returned. + StockingUnitRetrievableFields *fieldmaskpb.FieldMask `protobuf:"bytes,30,opt,name=stocking_unit_retrievable_fields,json=stockingUnitRetrievableFields,proto3" json:"stocking_unit_retrievable_fields,omitempty"` + // Output only. Product variants grouped together on primary product which + // share similar product attributes. It's automatically grouped by + // [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id] + // for all the product variants. Only populated for [Type.PARIMARY][] + // [Product][google.cloud.retail.v2alpha.Product]s. + // + // Note: This field is OUTPUT_ONLY for API calls. In BigQuery inventory batch + // import, it can be used as the input to import both product and product + // variants together at once. For API requests, do not set this field. + Variants []*Product `protobuf:"bytes,31,rep,name=variants,proto3" json:"variants,omitempty"` +} + +func (x *Product) Reset() { + *x = Product{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_product_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Product) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Product) ProtoMessage() {} + +func (x *Product) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_product_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Product.ProtoReflect.Descriptor instead. +func (*Product) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_product_proto_rawDescGZIP(), []int{0} +} + +func (m *Product) GetExpiration() isProduct_Expiration { + if m != nil { + return m.Expiration + } + return nil +} + +func (x *Product) GetExpireTime() *timestamppb.Timestamp { + if x, ok := x.GetExpiration().(*Product_ExpireTime); ok { + return x.ExpireTime + } + return nil +} + +func (x *Product) GetTtl() *durationpb.Duration { + if x, ok := x.GetExpiration().(*Product_Ttl); ok { + return x.Ttl + } + return nil +} + +func (x *Product) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Product) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Product) GetType() Product_Type { + if x != nil { + return x.Type + } + return Product_TYPE_UNSPECIFIED +} + +func (x *Product) GetPrimaryProductId() string { + if x != nil { + return x.PrimaryProductId + } + return "" +} + +func (x *Product) GetCollectionMemberIds() []string { + if x != nil { + return x.CollectionMemberIds + } + return nil +} + +func (x *Product) GetGtin() string { + if x != nil { + return x.Gtin + } + return "" +} + +func (x *Product) GetCategories() []string { + if x != nil { + return x.Categories + } + return nil +} + +func (x *Product) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *Product) GetBrand() string { + if x != nil { + return x.Brand + } + return "" +} + +func (x *Product) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Product) GetLanguageCode() string { + if x != nil { + return x.LanguageCode + } + return "" +} + +func (x *Product) GetAttributes() map[string]*CustomAttribute { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *Product) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *Product) GetPriceInfo() *PriceInfo { + if x != nil { + return x.PriceInfo + } + return nil +} + +func (x *Product) GetRating() *Rating { + if x != nil { + return x.Rating + } + return nil +} + +func (x *Product) GetAvailableTime() *timestamppb.Timestamp { + if x != nil { + return x.AvailableTime + } + return nil +} + +func (x *Product) GetAvailability() Product_Availability { + if x != nil { + return x.Availability + } + return Product_AVAILABILITY_UNSPECIFIED +} + +func (x *Product) GetAvailableQuantity() *wrapperspb.Int32Value { + if x != nil { + return x.AvailableQuantity + } + return nil +} + +func (x *Product) GetFulfillmentInfo() []*FulfillmentInfo { + if x != nil { + return x.FulfillmentInfo + } + return nil +} + +func (x *Product) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *Product) GetImages() []*Image { + if x != nil { + return x.Images + } + return nil +} + +func (x *Product) GetAudience() *Audience { + if x != nil { + return x.Audience + } + return nil +} + +func (x *Product) GetColorInfo() *ColorInfo { + if x != nil { + return x.ColorInfo + } + return nil +} + +func (x *Product) GetSizes() []string { + if x != nil { + return x.Sizes + } + return nil +} + +func (x *Product) GetMaterials() []string { + if x != nil { + return x.Materials + } + return nil +} + +func (x *Product) GetPatterns() []string { + if x != nil { + return x.Patterns + } + return nil +} + +func (x *Product) GetConditions() []string { + if x != nil { + return x.Conditions + } + return nil +} + +func (x *Product) GetStockingUnitRetrievableFields() *fieldmaskpb.FieldMask { + if x != nil { + return x.StockingUnitRetrievableFields + } + return nil +} + +func (x *Product) GetVariants() []*Product { + if x != nil { + return x.Variants + } + return nil +} + +type isProduct_Expiration interface { + isProduct_Expiration() +} + +type Product_ExpireTime struct { + // The timestamp when this product becomes unavailable for recommendation + // and search. + // + // If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not + // available for recommendation and search after + // [expire_time][google.cloud.retail.v2alpha.Product.expire_time]. However, + // the product can still be retrieved by + // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct] + // and + // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts]. + // + // Google Merchant Center property + // [expiration_date](https://support.google.com/merchants/answer/6324499). + ExpireTime *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=expire_time,json=expireTime,proto3,oneof"` +} + +type Product_Ttl struct { + // Input only. The TTL (time to live) of the product. + // + // If it is set, + // [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as + // current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl]. + // The derived + // [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is + // returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl] + // is left blank when retrieving the + // [Product][google.cloud.retail.v2alpha.Product]. + // + // If it is set, the product is not available for recommendation and search + // after current timestamp plus + // [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can + // still be retrieved by + // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct] + // and + // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts]. + Ttl *durationpb.Duration `protobuf:"bytes,17,opt,name=ttl,proto3,oneof"` +} + +func (*Product_ExpireTime) isProduct_Expiration() {} + +func (*Product_Ttl) isProduct_Expiration() {} + +var File_google_cloud_retail_v2alpha_product_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_product_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0xd7, 0x0f, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x48, 0x00, 0x52, 0x0a, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x03, 0x74, 0x74, + 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x48, 0x00, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x32, + 0x0a, 0x15, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, + 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x74, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x67, 0x74, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, + 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x45, 0x0a, + 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x12, 0x41, 0x0a, 0x0e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x12, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x57, 0x0a, 0x10, 0x66, 0x75, 0x6c, 0x66, 0x69, + 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x0f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x69, 0x12, 0x3a, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x41, + 0x0a, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, + 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x69, 0x7a, 0x65, + 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x73, 0x69, 0x7a, 0x65, 0x73, 0x12, 0x1c, + 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x63, 0x0a, 0x20, 0x73, 0x74, 0x6f, 0x63, + 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x1e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x1d, + 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x45, 0x0a, + 0x08, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x76, 0x61, 0x72, 0x69, + 0x61, 0x6e, 0x74, 0x73, 0x1a, 0x6b, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x46, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, + 0x56, 0x41, 0x52, 0x49, 0x41, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4c, + 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0x69, 0x0a, 0x0c, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x56, 0x41, + 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x5f, 0x53, 0x54, + 0x4f, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, + 0x53, 0x54, 0x4f, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x45, 0x4f, 0x52, + 0x44, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x41, 0x43, 0x4b, 0x4f, 0x52, 0x44, + 0x45, 0x52, 0x10, 0x04, 0x3a, 0x84, 0x01, 0xea, 0x41, 0x80, 0x01, 0x0a, 0x1d, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x5f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x7d, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, + 0x7b, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x7d, 0x42, 0x0c, 0x0a, 0x0a, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xc9, 0x02, 0x0a, 0x1f, 0x63, 0x6f, + 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x0c, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, + 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x41, 0x6c, 0x0a, 0x1c, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c, + 0x6f, 0x67, 0x7d, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x72, + 0x61, 0x6e, 0x63, 0x68, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_product_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_product_proto_rawDescData = file_google_cloud_retail_v2alpha_product_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_product_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_product_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_product_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_product_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_product_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_product_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_cloud_retail_v2alpha_product_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_retail_v2alpha_product_proto_goTypes = []interface{}{ + (Product_Type)(0), // 0: google.cloud.retail.v2alpha.Product.Type + (Product_Availability)(0), // 1: google.cloud.retail.v2alpha.Product.Availability + (*Product)(nil), // 2: google.cloud.retail.v2alpha.Product + nil, // 3: google.cloud.retail.v2alpha.Product.AttributesEntry + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 5: google.protobuf.Duration + (*PriceInfo)(nil), // 6: google.cloud.retail.v2alpha.PriceInfo + (*Rating)(nil), // 7: google.cloud.retail.v2alpha.Rating + (*wrapperspb.Int32Value)(nil), // 8: google.protobuf.Int32Value + (*FulfillmentInfo)(nil), // 9: google.cloud.retail.v2alpha.FulfillmentInfo + (*Image)(nil), // 10: google.cloud.retail.v2alpha.Image + (*Audience)(nil), // 11: google.cloud.retail.v2alpha.Audience + (*ColorInfo)(nil), // 12: google.cloud.retail.v2alpha.ColorInfo + (*fieldmaskpb.FieldMask)(nil), // 13: google.protobuf.FieldMask + (*CustomAttribute)(nil), // 14: google.cloud.retail.v2alpha.CustomAttribute +} +var file_google_cloud_retail_v2alpha_product_proto_depIdxs = []int32{ + 4, // 0: google.cloud.retail.v2alpha.Product.expire_time:type_name -> google.protobuf.Timestamp + 5, // 1: google.cloud.retail.v2alpha.Product.ttl:type_name -> google.protobuf.Duration + 0, // 2: google.cloud.retail.v2alpha.Product.type:type_name -> google.cloud.retail.v2alpha.Product.Type + 3, // 3: google.cloud.retail.v2alpha.Product.attributes:type_name -> google.cloud.retail.v2alpha.Product.AttributesEntry + 6, // 4: google.cloud.retail.v2alpha.Product.price_info:type_name -> google.cloud.retail.v2alpha.PriceInfo + 7, // 5: google.cloud.retail.v2alpha.Product.rating:type_name -> google.cloud.retail.v2alpha.Rating + 4, // 6: google.cloud.retail.v2alpha.Product.available_time:type_name -> google.protobuf.Timestamp + 1, // 7: google.cloud.retail.v2alpha.Product.availability:type_name -> google.cloud.retail.v2alpha.Product.Availability + 8, // 8: google.cloud.retail.v2alpha.Product.available_quantity:type_name -> google.protobuf.Int32Value + 9, // 9: google.cloud.retail.v2alpha.Product.fulfillment_info:type_name -> google.cloud.retail.v2alpha.FulfillmentInfo + 10, // 10: google.cloud.retail.v2alpha.Product.images:type_name -> google.cloud.retail.v2alpha.Image + 11, // 11: google.cloud.retail.v2alpha.Product.audience:type_name -> google.cloud.retail.v2alpha.Audience + 12, // 12: google.cloud.retail.v2alpha.Product.color_info:type_name -> google.cloud.retail.v2alpha.ColorInfo + 13, // 13: google.cloud.retail.v2alpha.Product.stocking_unit_retrievable_fields:type_name -> google.protobuf.FieldMask + 2, // 14: google.cloud.retail.v2alpha.Product.variants:type_name -> google.cloud.retail.v2alpha.Product + 14, // 15: google.cloud.retail.v2alpha.Product.AttributesEntry.value:type_name -> google.cloud.retail.v2alpha.CustomAttribute + 16, // [16:16] is the sub-list for method output_type + 16, // [16:16] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_product_proto_init() } +func file_google_cloud_retail_v2alpha_product_proto_init() { + if File_google_cloud_retail_v2alpha_product_proto != nil { + return + } + file_google_cloud_retail_v2alpha_common_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_product_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Product); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_retail_v2alpha_product_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Product_ExpireTime)(nil), + (*Product_Ttl)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_product_proto_rawDesc, + NumEnums: 2, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2alpha_product_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_product_proto_depIdxs, + EnumInfos: file_google_cloud_retail_v2alpha_product_proto_enumTypes, + MessageInfos: file_google_cloud_retail_v2alpha_product_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_product_proto = out.File + file_google_cloud_retail_v2alpha_product_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_product_proto_goTypes = nil + file_google_cloud_retail_v2alpha_product_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2alpha/product_service.pb.go b/googleapis/cloud/retail/v2alpha/product_service.pb.go new file mode 100644 index 000000000..ad36a9dbe --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/product_service.pb.go @@ -0,0 +1,1284 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/product_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + longrunning "google.golang.org/genproto/googleapis/longrunning" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Request message for [CreateProduct][] method. +type CreateProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent catalog resource name, such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The [Product][google.cloud.retail.v2alpha.Product] to create. + Product *Product `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"` + // Required. The ID to use for the + // [Product][google.cloud.retail.v2alpha.Product], which will become the final + // component of the [Product.name][google.cloud.retail.v2alpha.Product.name]. + // + // If the caller does not have permission to create the + // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or + // not it exists, a PERMISSION_DENIED error is returned. + // + // This field must be unique among all + // [Product][google.cloud.retail.v2alpha.Product]s with the same + // [parent][google.cloud.retail.v2alpha.CreateProductRequest.parent]. + // Otherwise, an ALREADY_EXISTS error is returned. + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + ProductId string `protobuf:"bytes,3,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"` +} + +func (x *CreateProductRequest) Reset() { + *x = CreateProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProductRequest) ProtoMessage() {} + +func (x *CreateProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateProductRequest.ProtoReflect.Descriptor instead. +func (*CreateProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_product_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateProductRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateProductRequest) GetProduct() *Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *CreateProductRequest) GetProductId() string { + if x != nil { + return x.ProductId + } + return "" +} + +// Request message for [GetProduct][] method. +type GetProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of + // [Product][google.cloud.retail.v2alpha.Product], such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id". + // + // If the caller does not have permission to access the + // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or + // not it exists, a PERMISSION_DENIED error is returned. + // + // If the requested [Product][google.cloud.retail.v2alpha.Product] does not + // exist, a NOT_FOUND error is returned. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetProductRequest) Reset() { + *x = GetProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProductRequest) ProtoMessage() {} + +func (x *GetProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProductRequest.ProtoReflect.Descriptor instead. +func (*GetProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_product_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetProductRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for [UpdateProduct][] method. +type UpdateProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The product to update/create. + // + // If the caller does not have permission to update the + // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or + // not it exists, a PERMISSION_DENIED error is returned. + // + // If the [Product][google.cloud.retail.v2alpha.Product] to update does not + // exist, a NOT_FOUND error is returned. + Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"` + // Indicates which fields in the provided + // [Product][google.cloud.retail.v2alpha.Product] to update. The immutable and + // output only fields are NOT supported. If not set, all supported fields (the + // fields that are neither immutable nor output only) are updated. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateProductRequest) Reset() { + *x = UpdateProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateProductRequest) ProtoMessage() {} + +func (x *UpdateProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateProductRequest.ProtoReflect.Descriptor instead. +func (*UpdateProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_product_service_proto_rawDescGZIP(), []int{2} +} + +func (x *UpdateProductRequest) GetProduct() *Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *UpdateProductRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for [DeleteProduct][] method. +type DeleteProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of + // [Product][google.cloud.retail.v2alpha.Product], such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id". + // + // If the caller does not have permission to delete the + // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or + // not it exists, a PERMISSION_DENIED error is returned. + // + // If the [Product][google.cloud.retail.v2alpha.Product] to delete does not + // exist, a NOT_FOUND error is returned. + // + // The [Product][google.cloud.retail.v2alpha.Product] to delete can neither be + // a non-empty + // [Product.Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION] + // [Product][google.cloud.retail.v2alpha.Product] nor a + // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] + // [Product][google.cloud.retail.v2alpha.Product] with more than one + // [variants][google.cloud.retail.v2alpha.Product.Type.VARIANT]. Otherwise, a + // FAILED_PRECONDITION error is returned. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteProductRequest) Reset() { + *x = DeleteProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteProductRequest) ProtoMessage() {} + +func (x *DeleteProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteProductRequest.ProtoReflect.Descriptor instead. +func (*DeleteProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_product_service_proto_rawDescGZIP(), []int{3} +} + +func (x *DeleteProductRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for +// [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts] +// method. +type ListProductsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent branch resource name, such as + // "projects/*/locations/global/catalogs/default_catalog/branches/0". Use + // "default_branch" as the branch ID, to list products under the default + // branch. + // + // If the caller does not have permission to list + // [Product][google.cloud.retail.v2alpha.Product]s under this branch, + // regardless of whether or not this branch exists, a PERMISSION_DENIED error + // is returned. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Maximum number of [Product][google.cloud.retail.v2alpha.Product]s to + // return. If unspecified, defaults to 100. The maximum allowed value is 1000. + // Values above 1000 will be coerced to 1000. + // + // If this field is negative, an INVALID_ARGUMENT is returned. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token + // [ListProductsResponse.next_page_token][google.cloud.retail.v2alpha.ListProductsResponse.next_page_token], + // received from a previous [ProductService.ListCatalogs][] call. Provide this + // to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts] + // must match the call that provided the page token. Otherwise, an + // INVALID_ARGUMENT error is returned. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A filter to apply on the list results. Supported features: + // + // * List all the products under the parent branch if + // [filter][google.cloud.retail.v2alpha.ListProductsRequest.filter] is unset. + // * List products bundled in a collection. For example: + // `collection_product_name = + // + // "projects/*/locations/global/catalogs/default_catalog/branches/0/products/some_product_id"` + // * List products with a partibular type. For example: + // `type = "PRIMARY"` + // `type = "VARIANT"` + // `type = "COLLECTION"` + // + // If the field is unrecognizable, an INVALID_ARGUMENT error is returned. + // + // If the caller does not have permission to list + // [Product][google.cloud.retail.v2alpha.Product]s under this the specified + // [Product.Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION] + // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or + // not it exists, a PERMISSION_DENIED error is returned. + // + // If the specified + // [Product.Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION] + // [Product][google.cloud.retail.v2alpha.Product] does not exist, a NOT_FOUND + // error is returned. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // The fields of [Product][google.cloud.retail.v2alpha.Product] to return in + // the responses. If not set or empty, the following fields are returned: + // + // * [Product.name][google.cloud.retail.v2alpha.Product.name] + // * [Product.id][google.cloud.retail.v2alpha.Product.id] + // * [Product.title][google.cloud.retail.v2alpha.Product.title] + // * [Product.uri][google.cloud.retail.v2alpha.Product.uri] + // * [Product.images][google.cloud.retail.v2alpha.Product.images] + // + // If "*" is provided, all fields are returned. + // [Product.name][google.cloud.retail.v2alpha.Product.name] is always returned + // no matter what mask is set. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // If true and + // [page_token][google.cloud.retail.v2alpha.ListProductsRequest.page_token] is + // empty, + // [ListProductsResponse.total_size][google.cloud.retail.v2alpha.ListProductsResponse.total_size] + // is set to the total count of matched items irrespective of pagination. + // + // Notice that setting this field to true affects the performance. + RequireTotalSize bool `protobuf:"varint,6,opt,name=require_total_size,json=requireTotalSize,proto3" json:"require_total_size,omitempty"` +} + +func (x *ListProductsRequest) Reset() { + *x = ListProductsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListProductsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListProductsRequest) ProtoMessage() {} + +func (x *ListProductsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListProductsRequest.ProtoReflect.Descriptor instead. +func (*ListProductsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_product_service_proto_rawDescGZIP(), []int{4} +} + +func (x *ListProductsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListProductsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListProductsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListProductsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListProductsRequest) GetReadMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *ListProductsRequest) GetRequireTotalSize() bool { + if x != nil { + return x.RequireTotalSize + } + return false +} + +// Response message for +// [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts] +// method. +type ListProductsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The [Product][google.cloud.retail.v2alpha.Product]s. + Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"` + // A token that can be sent as + // [ListProductsRequest.page_token][google.cloud.retail.v2alpha.ListProductsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // The total count of matched [Product][google.cloud.retail.v2alpha.Product]s + // irrespective of pagination. The total number of + // [Product][google.cloud.retail.v2alpha.Product]s returned by pagination may + // be less than the + // [total_size][google.cloud.retail.v2alpha.ListProductsResponse.total_size] + // that matches. + // + // This field is ignored if + // [ListProductsRequest.require_total_size][google.cloud.retail.v2alpha.ListProductsRequest.require_total_size] + // is not set or + // [ListProductsRequest.page_token][google.cloud.retail.v2alpha.ListProductsRequest.page_token] + // is not empty. + TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"` +} + +func (x *ListProductsResponse) Reset() { + *x = ListProductsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListProductsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListProductsResponse) ProtoMessage() {} + +func (x *ListProductsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListProductsResponse.ProtoReflect.Descriptor instead. +func (*ListProductsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_product_service_proto_rawDescGZIP(), []int{5} +} + +func (x *ListProductsResponse) GetProducts() []*Product { + if x != nil { + return x.Products + } + return nil +} + +func (x *ListProductsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListProductsResponse) GetTotalSize() int32 { + if x != nil { + return x.TotalSize + } + return 0 +} + +var File_google_cloud_retail_v2alpha_product_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_product_service_proto_rawDesc = []byte{ + 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x75, + 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, 0x1c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x72, 0x61, + 0x6e, 0x63, 0x68, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, + 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, + 0x51, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x1e, 0x0a, 0x1c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x09, + 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, + 0x69, 0x7a, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x32, 0xa9, 0x0d, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x22, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x22, 0x47, 0x2f, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, + 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x73, 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0xda, 0x41, 0x19, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0xbb, 0x01, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x57, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, + 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xcd, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, + 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0xda, 0x41, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xe1, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x22, 0x77, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x32, 0x50, 0x2f, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x07, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xb3, 0x01, 0x0a, 0x0d, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x31, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, + 0x2a, 0x48, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, + 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x9d, 0x02, 0x0a, 0x0d, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x22, 0x4d, + 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, + 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x70, 0x75, 0x72, 0x67, 0x65, 0x3a, 0x01, 0x2a, + 0xca, 0x41, 0x5e, 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0xa2, 0x02, 0x0a, 0x0e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, + 0x22, 0x4e, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x60, 0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x42, 0xe1, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x13, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, + 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, + 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_product_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_product_service_proto_rawDescData = file_google_cloud_retail_v2alpha_product_service_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_product_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_product_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_product_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_product_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_product_service_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_product_service_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_cloud_retail_v2alpha_product_service_proto_goTypes = []interface{}{ + (*CreateProductRequest)(nil), // 0: google.cloud.retail.v2alpha.CreateProductRequest + (*GetProductRequest)(nil), // 1: google.cloud.retail.v2alpha.GetProductRequest + (*UpdateProductRequest)(nil), // 2: google.cloud.retail.v2alpha.UpdateProductRequest + (*DeleteProductRequest)(nil), // 3: google.cloud.retail.v2alpha.DeleteProductRequest + (*ListProductsRequest)(nil), // 4: google.cloud.retail.v2alpha.ListProductsRequest + (*ListProductsResponse)(nil), // 5: google.cloud.retail.v2alpha.ListProductsResponse + (*Product)(nil), // 6: google.cloud.retail.v2alpha.Product + (*fieldmaskpb.FieldMask)(nil), // 7: google.protobuf.FieldMask + (*PurgeProductsRequest)(nil), // 8: google.cloud.retail.v2alpha.PurgeProductsRequest + (*ImportProductsRequest)(nil), // 9: google.cloud.retail.v2alpha.ImportProductsRequest + (*emptypb.Empty)(nil), // 10: google.protobuf.Empty + (*longrunning.Operation)(nil), // 11: google.longrunning.Operation +} +var file_google_cloud_retail_v2alpha_product_service_proto_depIdxs = []int32{ + 6, // 0: google.cloud.retail.v2alpha.CreateProductRequest.product:type_name -> google.cloud.retail.v2alpha.Product + 6, // 1: google.cloud.retail.v2alpha.UpdateProductRequest.product:type_name -> google.cloud.retail.v2alpha.Product + 7, // 2: google.cloud.retail.v2alpha.UpdateProductRequest.update_mask:type_name -> google.protobuf.FieldMask + 7, // 3: google.cloud.retail.v2alpha.ListProductsRequest.read_mask:type_name -> google.protobuf.FieldMask + 6, // 4: google.cloud.retail.v2alpha.ListProductsResponse.products:type_name -> google.cloud.retail.v2alpha.Product + 0, // 5: google.cloud.retail.v2alpha.ProductService.CreateProduct:input_type -> google.cloud.retail.v2alpha.CreateProductRequest + 1, // 6: google.cloud.retail.v2alpha.ProductService.GetProduct:input_type -> google.cloud.retail.v2alpha.GetProductRequest + 4, // 7: google.cloud.retail.v2alpha.ProductService.ListProducts:input_type -> google.cloud.retail.v2alpha.ListProductsRequest + 2, // 8: google.cloud.retail.v2alpha.ProductService.UpdateProduct:input_type -> google.cloud.retail.v2alpha.UpdateProductRequest + 3, // 9: google.cloud.retail.v2alpha.ProductService.DeleteProduct:input_type -> google.cloud.retail.v2alpha.DeleteProductRequest + 8, // 10: google.cloud.retail.v2alpha.ProductService.PurgeProducts:input_type -> google.cloud.retail.v2alpha.PurgeProductsRequest + 9, // 11: google.cloud.retail.v2alpha.ProductService.ImportProducts:input_type -> google.cloud.retail.v2alpha.ImportProductsRequest + 6, // 12: google.cloud.retail.v2alpha.ProductService.CreateProduct:output_type -> google.cloud.retail.v2alpha.Product + 6, // 13: google.cloud.retail.v2alpha.ProductService.GetProduct:output_type -> google.cloud.retail.v2alpha.Product + 5, // 14: google.cloud.retail.v2alpha.ProductService.ListProducts:output_type -> google.cloud.retail.v2alpha.ListProductsResponse + 6, // 15: google.cloud.retail.v2alpha.ProductService.UpdateProduct:output_type -> google.cloud.retail.v2alpha.Product + 10, // 16: google.cloud.retail.v2alpha.ProductService.DeleteProduct:output_type -> google.protobuf.Empty + 11, // 17: google.cloud.retail.v2alpha.ProductService.PurgeProducts:output_type -> google.longrunning.Operation + 11, // 18: google.cloud.retail.v2alpha.ProductService.ImportProducts:output_type -> google.longrunning.Operation + 12, // [12:19] is the sub-list for method output_type + 5, // [5:12] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_product_service_proto_init() } +func file_google_cloud_retail_v2alpha_product_service_proto_init() { + if File_google_cloud_retail_v2alpha_product_service_proto != nil { + return + } + file_google_cloud_retail_v2alpha_export_config_proto_init() + file_google_cloud_retail_v2alpha_import_config_proto_init() + file_google_cloud_retail_v2alpha_product_proto_init() + file_google_cloud_retail_v2alpha_purge_config_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProductsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_product_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProductsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_product_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2alpha_product_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_product_service_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2alpha_product_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_product_service_proto = out.File + file_google_cloud_retail_v2alpha_product_service_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_product_service_proto_goTypes = nil + file_google_cloud_retail_v2alpha_product_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// ProductServiceClient is the client API for ProductService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ProductServiceClient interface { + // Creates a [Product][google.cloud.retail.v2alpha.Product]. + CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) + // Gets a [Product][google.cloud.retail.v2alpha.Product]. + GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error) + // Gets a list of [Product][]s. + ListProducts(ctx context.Context, in *ListProductsRequest, opts ...grpc.CallOption) (*ListProductsResponse, error) + // Updates a [Product][google.cloud.retail.v2alpha.Product]. Non-existing + // items will be created. + UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) + // Deletes a [Product][google.cloud.retail.v2alpha.Product]. + DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Permanently deletes all [Product][google.cloud.retail.v2alpha.Product]s + // under a branch. + // + // Depending on the number of [Product][google.cloud.retail.v2alpha.Product]s, + // this operation could take hours to complete. To get a sample of + // [Product][google.cloud.retail.v2alpha.Product]s that would be deleted, set + // [PurgeProductsRequest.force][google.cloud.retail.v2alpha.PurgeProductsRequest.force] + // to false. + PurgeProducts(ctx context.Context, in *PurgeProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Bulk import of multiple [Product][google.cloud.retail.v2alpha.Product]s. + // + // Request processing may be synchronous. No partial updating is supported. + // Non-existing items are created. + // + // Note that it is possible for a subset of the + // [Product][google.cloud.retail.v2alpha.Product]s to be successfully updated. + ImportProducts(ctx context.Context, in *ImportProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) +} + +type productServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewProductServiceClient(cc grpc.ClientConnInterface) ProductServiceClient { + return &productServiceClient{cc} +} + +func (c *productServiceClient) CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) { + out := new(Product) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.ProductService/CreateProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error) { + out := new(Product) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.ProductService/GetProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) ListProducts(ctx context.Context, in *ListProductsRequest, opts ...grpc.CallOption) (*ListProductsResponse, error) { + out := new(ListProductsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.ProductService/ListProducts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) { + out := new(Product) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.ProductService/UpdateProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.ProductService/DeleteProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) PurgeProducts(ctx context.Context, in *PurgeProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.ProductService/PurgeProducts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) ImportProducts(ctx context.Context, in *ImportProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.ProductService/ImportProducts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProductServiceServer is the server API for ProductService service. +type ProductServiceServer interface { + // Creates a [Product][google.cloud.retail.v2alpha.Product]. + CreateProduct(context.Context, *CreateProductRequest) (*Product, error) + // Gets a [Product][google.cloud.retail.v2alpha.Product]. + GetProduct(context.Context, *GetProductRequest) (*Product, error) + // Gets a list of [Product][]s. + ListProducts(context.Context, *ListProductsRequest) (*ListProductsResponse, error) + // Updates a [Product][google.cloud.retail.v2alpha.Product]. Non-existing + // items will be created. + UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error) + // Deletes a [Product][google.cloud.retail.v2alpha.Product]. + DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error) + // Permanently deletes all [Product][google.cloud.retail.v2alpha.Product]s + // under a branch. + // + // Depending on the number of [Product][google.cloud.retail.v2alpha.Product]s, + // this operation could take hours to complete. To get a sample of + // [Product][google.cloud.retail.v2alpha.Product]s that would be deleted, set + // [PurgeProductsRequest.force][google.cloud.retail.v2alpha.PurgeProductsRequest.force] + // to false. + PurgeProducts(context.Context, *PurgeProductsRequest) (*longrunning.Operation, error) + // Bulk import of multiple [Product][google.cloud.retail.v2alpha.Product]s. + // + // Request processing may be synchronous. No partial updating is supported. + // Non-existing items are created. + // + // Note that it is possible for a subset of the + // [Product][google.cloud.retail.v2alpha.Product]s to be successfully updated. + ImportProducts(context.Context, *ImportProductsRequest) (*longrunning.Operation, error) +} + +// UnimplementedProductServiceServer can be embedded to have forward compatible implementations. +type UnimplementedProductServiceServer struct { +} + +func (*UnimplementedProductServiceServer) CreateProduct(context.Context, *CreateProductRequest) (*Product, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProduct not implemented") +} +func (*UnimplementedProductServiceServer) GetProduct(context.Context, *GetProductRequest) (*Product, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProduct not implemented") +} +func (*UnimplementedProductServiceServer) ListProducts(context.Context, *ListProductsRequest) (*ListProductsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListProducts not implemented") +} +func (*UnimplementedProductServiceServer) UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProduct not implemented") +} +func (*UnimplementedProductServiceServer) DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteProduct not implemented") +} +func (*UnimplementedProductServiceServer) PurgeProducts(context.Context, *PurgeProductsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method PurgeProducts not implemented") +} +func (*UnimplementedProductServiceServer) ImportProducts(context.Context, *ImportProductsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportProducts not implemented") +} + +func RegisterProductServiceServer(s *grpc.Server, srv ProductServiceServer) { + s.RegisterService(&_ProductService_serviceDesc, srv) +} + +func _ProductService_CreateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).CreateProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.ProductService/CreateProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).CreateProduct(ctx, req.(*CreateProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_GetProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).GetProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.ProductService/GetProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).GetProduct(ctx, req.(*GetProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_ListProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListProductsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).ListProducts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.ProductService/ListProducts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).ListProducts(ctx, req.(*ListProductsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_UpdateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).UpdateProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.ProductService/UpdateProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).UpdateProduct(ctx, req.(*UpdateProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_DeleteProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).DeleteProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.ProductService/DeleteProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).DeleteProduct(ctx, req.(*DeleteProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_PurgeProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PurgeProductsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).PurgeProducts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.ProductService/PurgeProducts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).PurgeProducts(ctx, req.(*PurgeProductsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_ImportProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportProductsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).ImportProducts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.ProductService/ImportProducts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).ImportProducts(ctx, req.(*ImportProductsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _ProductService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2alpha.ProductService", + HandlerType: (*ProductServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateProduct", + Handler: _ProductService_CreateProduct_Handler, + }, + { + MethodName: "GetProduct", + Handler: _ProductService_GetProduct_Handler, + }, + { + MethodName: "ListProducts", + Handler: _ProductService_ListProducts_Handler, + }, + { + MethodName: "UpdateProduct", + Handler: _ProductService_UpdateProduct_Handler, + }, + { + MethodName: "DeleteProduct", + Handler: _ProductService_DeleteProduct_Handler, + }, + { + MethodName: "PurgeProducts", + Handler: _ProductService_PurgeProducts_Handler, + }, + { + MethodName: "ImportProducts", + Handler: _ProductService_ImportProducts_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2alpha/product_service.proto", +} diff --git a/googleapis/cloud/retail/v2alpha/purge_config.pb.go b/googleapis/cloud/retail/v2alpha/purge_config.pb.go new file mode 100644 index 000000000..bbbaaf807 --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/purge_config.pb.go @@ -0,0 +1,588 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/purge_config.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Metadata related to the progress of the Purge operation. +// This will be returned by the google.longrunning.Operation.metadata field. +type PurgeMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the request / operation. + Operation string `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` + // Operation create time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` +} + +func (x *PurgeMetadata) Reset() { + *x = PurgeMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeMetadata) ProtoMessage() {} + +func (x *PurgeMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeMetadata.ProtoReflect.Descriptor instead. +func (*PurgeMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_purge_config_proto_rawDescGZIP(), []int{0} +} + +func (x *PurgeMetadata) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +func (x *PurgeMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +// Request message for PurgeProducts method. +type PurgeProductsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the catalog under which the products are + // created. The format is + // "projects/${projectId}/locations/global/catalogs/${catalogId}" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Filter matching the products to be purged. Only supported value + // at the moment is "*" (all items). + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The default value is false. Override this flag to true to + // actually perform the purge. If the field is not set to true, a sampling of + // products to be deleted will be returned. + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *PurgeProductsRequest) Reset() { + *x = PurgeProductsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeProductsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeProductsRequest) ProtoMessage() {} + +func (x *PurgeProductsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeProductsRequest.ProtoReflect.Descriptor instead. +func (*PurgeProductsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_purge_config_proto_rawDescGZIP(), []int{1} +} + +func (x *PurgeProductsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *PurgeProductsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PurgeProductsRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Response of the PurgeProductsRequest. If the long running operation is +// successfully done, then this message is returned by the +// google.longrunning.Operations.response field. +type PurgeProductsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The total count of products purged as a result of the operation. + PurgedCount int64 `protobuf:"varint,1,opt,name=purged_count,json=purgedCount,proto3" json:"purged_count,omitempty"` + // A random sampling of products deleted (or will be deleted) depending + // on the `force` property in the request. Max of 500 items will be returned. + // Currently, this is only populated if force=false. + ProductsSample []*Product `protobuf:"bytes,2,rep,name=products_sample,json=productsSample,proto3" json:"products_sample,omitempty"` +} + +func (x *PurgeProductsResponse) Reset() { + *x = PurgeProductsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeProductsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeProductsResponse) ProtoMessage() {} + +func (x *PurgeProductsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeProductsResponse.ProtoReflect.Descriptor instead. +func (*PurgeProductsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_purge_config_proto_rawDescGZIP(), []int{2} +} + +func (x *PurgeProductsResponse) GetPurgedCount() int64 { + if x != nil { + return x.PurgedCount + } + return 0 +} + +func (x *PurgeProductsResponse) GetProductsSample() []*Product { + if x != nil { + return x.ProductsSample + } + return nil +} + +// Request message for PurgeUserEvents method. +type PurgeUserEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the event_store under which the events are + // created. The format is + // + // "projects/${projectId}/locations/global/catalogs/${catalogId}/eventStores/${eventStoreId}" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The filter string to specify the events to be deleted. Empty + // string filter is not allowed. The eligible fields + // for filtering are: + // + // * `eventType`: UserEvent.eventType field of type string. + // * `eventTime`: in ISO 8601 "zulu" format. + // * `visitorId`: field of type string. Specifying this will delete all + // events associated with a visitor. + // * `userId`: field of type string. Specifying this will delete all events + // associated with a user. + // + // Examples: + // + // * Deleting all events in a time range: + // `eventTime > "2012-04-23T18:25:43.511Z" + // eventTime < "2012-04-23T18:30:43.511Z"` + // * Deleting specific eventType in time range: + // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` + // * Deleting all events for a specific visitor: + // `visitorId = "visitor1024"` + // + // The filtering fields are assumed to have an implicit AND. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The default value is false. Override this flag to true to + // actually perform the purge. If the field is not set to true, a sampling of + // events to be deleted will be returned. + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *PurgeUserEventsRequest) Reset() { + *x = PurgeUserEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeUserEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeUserEventsRequest) ProtoMessage() {} + +func (x *PurgeUserEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeUserEventsRequest.ProtoReflect.Descriptor instead. +func (*PurgeUserEventsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_purge_config_proto_rawDescGZIP(), []int{3} +} + +func (x *PurgeUserEventsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *PurgeUserEventsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PurgeUserEventsRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Response of the PurgeUserEventsRequest. If the long running operation is +// successfully done, then this message is returned by the +// google.longrunning.Operations.response field. +type PurgeUserEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The total count of events purged as a result of the operation. + PurgedEventsCount int64 `protobuf:"varint,1,opt,name=purged_events_count,json=purgedEventsCount,proto3" json:"purged_events_count,omitempty"` + // A sampling of events deleted (or will be deleted) depending on the `force` + // property in the request. Max of 500 items will be returned. + UserEventsSample []*UserEvent `protobuf:"bytes,2,rep,name=user_events_sample,json=userEventsSample,proto3" json:"user_events_sample,omitempty"` +} + +func (x *PurgeUserEventsResponse) Reset() { + *x = PurgeUserEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeUserEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeUserEventsResponse) ProtoMessage() {} + +func (x *PurgeUserEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeUserEventsResponse.ProtoReflect.Descriptor instead. +func (*PurgeUserEventsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_purge_config_proto_rawDescGZIP(), []int{4} +} + +func (x *PurgeUserEventsResponse) GetPurgedEventsCount() int64 { + if x != nil { + return x.PurgedEventsCount + } + return 0 +} + +func (x *PurgeUserEventsResponse) GetUserEventsSample() []*UserEvent { + if x != nil { + return x.UserEventsSample + } + return nil +} + +var File_google_cloud_retail_v2alpha_purge_config_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_purge_config_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x75, + 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x0d, 0x50, 0x75, 0x72, 0x67, 0x65, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x14, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x15, 0x50, + 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x75, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x75, 0x72, 0x67, + 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4d, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x22, 0x68, 0x0a, 0x16, 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x22, 0x9f, 0x01, 0x0a, 0x17, 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x13, + 0x70, 0x75, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x70, 0x75, 0x72, 0x67, 0x65, + 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x12, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x42, 0xde, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x10, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, + 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, + 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_purge_config_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_purge_config_proto_rawDescData = file_google_cloud_retail_v2alpha_purge_config_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_purge_config_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_purge_config_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_purge_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_purge_config_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_purge_config_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_cloud_retail_v2alpha_purge_config_proto_goTypes = []interface{}{ + (*PurgeMetadata)(nil), // 0: google.cloud.retail.v2alpha.PurgeMetadata + (*PurgeProductsRequest)(nil), // 1: google.cloud.retail.v2alpha.PurgeProductsRequest + (*PurgeProductsResponse)(nil), // 2: google.cloud.retail.v2alpha.PurgeProductsResponse + (*PurgeUserEventsRequest)(nil), // 3: google.cloud.retail.v2alpha.PurgeUserEventsRequest + (*PurgeUserEventsResponse)(nil), // 4: google.cloud.retail.v2alpha.PurgeUserEventsResponse + (*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp + (*Product)(nil), // 6: google.cloud.retail.v2alpha.Product + (*UserEvent)(nil), // 7: google.cloud.retail.v2alpha.UserEvent +} +var file_google_cloud_retail_v2alpha_purge_config_proto_depIdxs = []int32{ + 5, // 0: google.cloud.retail.v2alpha.PurgeMetadata.create_time:type_name -> google.protobuf.Timestamp + 6, // 1: google.cloud.retail.v2alpha.PurgeProductsResponse.products_sample:type_name -> google.cloud.retail.v2alpha.Product + 7, // 2: google.cloud.retail.v2alpha.PurgeUserEventsResponse.user_events_sample:type_name -> google.cloud.retail.v2alpha.UserEvent + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_purge_config_proto_init() } +func file_google_cloud_retail_v2alpha_purge_config_proto_init() { + if File_google_cloud_retail_v2alpha_purge_config_proto != nil { + return + } + file_google_cloud_retail_v2alpha_product_proto_init() + file_google_cloud_retail_v2alpha_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeProductsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeProductsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeUserEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeUserEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_purge_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2alpha_purge_config_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_purge_config_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2alpha_purge_config_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_purge_config_proto = out.File + file_google_cloud_retail_v2alpha_purge_config_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_purge_config_proto_goTypes = nil + file_google_cloud_retail_v2alpha_purge_config_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2alpha/search_service.pb.go b/googleapis/cloud/retail/v2alpha/search_service.pb.go new file mode 100644 index 000000000..08d96f746 --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/search_service.pb.go @@ -0,0 +1,1822 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/search_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// The relevance threshold of the search results. The higher relevance +// threshold is, the higher relevant results are shown and the less number of +// results are returned. +type SearchRequest_RelevanceThreshold int32 + +const ( + // Default value. Defaults to + // [RelevanceThreshold.HIGH][google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold.HIGH]. + SearchRequest_RELEVANCE_THRESHOLD_UNSPECIFIED SearchRequest_RelevanceThreshold = 0 + // High relevance threshold. + SearchRequest_HIGH SearchRequest_RelevanceThreshold = 1 + // Medium relevance threshold. + SearchRequest_MEDIUM SearchRequest_RelevanceThreshold = 2 + // Low relevance threshold. + SearchRequest_LOW SearchRequest_RelevanceThreshold = 3 + // Lowest relevance threshold. + SearchRequest_LOWEST SearchRequest_RelevanceThreshold = 4 +) + +// Enum value maps for SearchRequest_RelevanceThreshold. +var ( + SearchRequest_RelevanceThreshold_name = map[int32]string{ + 0: "RELEVANCE_THRESHOLD_UNSPECIFIED", + 1: "HIGH", + 2: "MEDIUM", + 3: "LOW", + 4: "LOWEST", + } + SearchRequest_RelevanceThreshold_value = map[string]int32{ + "RELEVANCE_THRESHOLD_UNSPECIFIED": 0, + "HIGH": 1, + "MEDIUM": 2, + "LOW": 3, + "LOWEST": 4, + } +) + +func (x SearchRequest_RelevanceThreshold) Enum() *SearchRequest_RelevanceThreshold { + p := new(SearchRequest_RelevanceThreshold) + *p = x + return p +} + +func (x SearchRequest_RelevanceThreshold) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SearchRequest_RelevanceThreshold) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_retail_v2alpha_search_service_proto_enumTypes[0].Descriptor() +} + +func (SearchRequest_RelevanceThreshold) Type() protoreflect.EnumType { + return &file_google_cloud_retail_v2alpha_search_service_proto_enumTypes[0] +} + +func (x SearchRequest_RelevanceThreshold) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SearchRequest_RelevanceThreshold.Descriptor instead. +func (SearchRequest_RelevanceThreshold) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{0, 0} +} + +// Enum describing under which condition query expansion should occur. +type SearchRequest_QueryExpansionSpec_Condition int32 + +const ( + // Unspecified query expansion condition. This defaults to + // [Condition.DISABLED][google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition.DISABLED]. + SearchRequest_QueryExpansionSpec_CONDITION_UNSPECIFIED SearchRequest_QueryExpansionSpec_Condition = 0 + // Disabled query expansion. Only the exact search query is used, even if + // [SearchProductsResponse.total_size][] is zero. + SearchRequest_QueryExpansionSpec_DISABLED SearchRequest_QueryExpansionSpec_Condition = 1 + // Enable query expansion when [SearchProductsResponse.total_size][] is + // zero. + SearchRequest_QueryExpansionSpec_ZERO_RESULT SearchRequest_QueryExpansionSpec_Condition = 2 +) + +// Enum value maps for SearchRequest_QueryExpansionSpec_Condition. +var ( + SearchRequest_QueryExpansionSpec_Condition_name = map[int32]string{ + 0: "CONDITION_UNSPECIFIED", + 1: "DISABLED", + 2: "ZERO_RESULT", + } + SearchRequest_QueryExpansionSpec_Condition_value = map[string]int32{ + "CONDITION_UNSPECIFIED": 0, + "DISABLED": 1, + "ZERO_RESULT": 2, + } +) + +func (x SearchRequest_QueryExpansionSpec_Condition) Enum() *SearchRequest_QueryExpansionSpec_Condition { + p := new(SearchRequest_QueryExpansionSpec_Condition) + *p = x + return p +} + +func (x SearchRequest_QueryExpansionSpec_Condition) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SearchRequest_QueryExpansionSpec_Condition) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_retail_v2alpha_search_service_proto_enumTypes[1].Descriptor() +} + +func (SearchRequest_QueryExpansionSpec_Condition) Type() protoreflect.EnumType { + return &file_google_cloud_retail_v2alpha_search_service_proto_enumTypes[1] +} + +func (x SearchRequest_QueryExpansionSpec_Condition) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SearchRequest_QueryExpansionSpec_Condition.Descriptor instead. +func (SearchRequest_QueryExpansionSpec_Condition) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{0, 2, 0} +} + +// Request message for +// [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search] +// method. +type SearchRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the search engine placement, such as + // + // "projects/*/locations/global/catalogs/default_catalog/placements/default_search". + // This field is used to identify the set of models that will be used to make + // the search. + // + // We currently support one placement with the following ID: + // + // * `default_search`. + Placement string `protobuf:"bytes,1,opt,name=placement,proto3" json:"placement,omitempty"` + // The branch resource name, such as + // "projects/*/locations/global/catalogs/default_catalog/branches/0". + // + // Use "default_branch" as the branch ID or leave this field empty, to search + // products under the default branch. + Branch string `protobuf:"bytes,2,opt,name=branch,proto3" json:"branch,omitempty"` + // Required. Raw search query. + Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + // Required. A unique identifier for tracking visitors. For example, this + // could be implemented with a http cookie, which should be able to uniquely + // identify a visitor on a single device. This unique identifier should not + // change if the visitor log in/out of the website. + // + // The field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + VisitorId string `protobuf:"bytes,4,opt,name=visitor_id,json=visitorId,proto3" json:"visitor_id,omitempty"` + // User information. + UserInfo *UserInfo `protobuf:"bytes,5,opt,name=user_info,json=userInfo,proto3" json:"user_info,omitempty"` + // Maximum number of [Product][google.cloud.retail.v2alpha.Product]s to + // return. If unspecified, defaults to a reasonable value. The maximum allowed + // value is 120. Values above 120 will be coerced to 120. + // + // If this field is negative, an INVALID_ARGUMENT is returned. + PageSize int32 `protobuf:"varint,7,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token + // [SearchResponse.next_page_token][google.cloud.retail.v2alpha.SearchResponse.next_page_token], + // received from a previous + // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search] + // must match the call that provided the page token. Otherwise, an + // INVALID_ARGUMENT error is returned. + PageToken string `protobuf:"bytes,8,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // A 0-indexed integer that specifies the current offset (that is, starting + // result location, amongst the + // [Product][google.cloud.retail.v2alpha.Product]s deemed by the API as + // relevant) in search results. This field is only considered if + // [page_token][google.cloud.retail.v2alpha.SearchRequest.page_token] is + // unset. + // + // If this field is negative, an INVALID_ARGUMENT is returned. + Offset int32 `protobuf:"varint,9,opt,name=offset,proto3" json:"offset,omitempty"` + // The filter syntax consists of an expression language for constructing a + // predicate from one or more fields of the products being filtered. Filter + // expression is case-sensitive. See more details at this [user + // + // guide](https: + // //cloud.google.com/recommendations/retai + // // l-search/docs/search-advanced#filter). + // + // If this field is unrecognizable, an INVALID_ARGUMENT is returned. + Filter string `protobuf:"bytes,10,opt,name=filter,proto3" json:"filter,omitempty"` + // The order in which products are returned. Products can be ordered by + // a field in an [Product][google.cloud.retail.v2alpha.Product] object. Leave + // it unset if ordered by relevance. OrderBy expression is case-sensitive. See + // more details at this [user + // + // guide](https: + // //cloud.google.com/recommendations/retai + // // l-search/docs/search-advanced#order). + // + // If this field is unrecognizable, an INVALID_ARGUMENT is returned. + OrderBy string `protobuf:"bytes,11,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` + // Facet specifications for faceted search. If empty, no facets are returned. + // + // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error + // is returned. + FacetSpecs []*SearchRequest_FacetSpec `protobuf:"bytes,12,rep,name=facet_specs,json=facetSpecs,proto3" json:"facet_specs,omitempty"` + // Boost specification to boost certain products. + BoostSpec *SearchRequest_BoostSpec `protobuf:"bytes,13,opt,name=boost_spec,json=boostSpec,proto3" json:"boost_spec,omitempty"` + // The query expansion specification that specifies the conditions under which + // query expansion will occur. + QueryExpansionSpec *SearchRequest_QueryExpansionSpec `protobuf:"bytes,14,opt,name=query_expansion_spec,json=queryExpansionSpec,proto3" json:"query_expansion_spec,omitempty"` + // The relevance threshold of the search results. + // + // Defaults to + // [RelevanceThreshold.HIGH][google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold.HIGH], + // which means only the most relevant results are shown, and the least number + // of results are returned. + RelevanceThreshold SearchRequest_RelevanceThreshold `protobuf:"varint,15,opt,name=relevance_threshold,json=relevanceThreshold,proto3,enum=google.cloud.retail.v2alpha.SearchRequest_RelevanceThreshold" json:"relevance_threshold,omitempty"` + // The fields of [Product][google.cloud.retail.v2alpha.Product] to return in + // search responses. If not set or empty, the following fields are returned: + // + // * [Product.name][google.cloud.retail.v2alpha.Product.name] + // + // [Product.name][google.cloud.retail.v2alpha.Product.name] is always returned + // no matter what mask is set. + // + // To read custom attributes, include paths of the form "customAttributes.key" + // where "key" is the key of a custom attribute, as specified in + // [Product.custom_attributes][]. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,16,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` + // The keys to fetch and rollup the matching + // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product]s attributes. The attributes + // from all the matching + // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product]s are merged and + // de-duplicated. Notice that rollup + // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product]s attributes will lead to + // extra query latency. Maximum number of keys is 10. + // + // For + // [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info], + // a fulfillment type and a fulfillment ID must be provided in the format of + // "fulfillmentType.filfillmentId". E.g., in "pickupInStore.store123", + // "pickupInStore" is fulfillment type and "store123" is the store ID. + // + // Supported keys are: + // + // * colorFamily + // * price + // * originalPrice + // * discount + // * customAttributes.key, where key is any key in the + // [Product.custom_attributes][] map. + // * pickupInStore.id, where id is any [FulfillmentInfo.ids][] for type + // [FulfillmentInfo.Type.PICKUP_IN_STORE][]. + // * shipToStore.id, where id is any [FulfillmentInfo.ids][] for type + // [FulfillmentInfo.Type.SHIP_TO_STORE][]. + // * sameDayDelivery.id, where id is any [FulfillmentInfo.ids][] for type + // [FulfillmentInfo.Type.SAME_DAY_DELIVERY][]. + // * nextDayDelivery.id, where id is any [FulfillmentInfo.ids][] for type + // [FulfillmentInfo.Type.NEXT_DAY_DELIVERY][]. + // * customFulfillment1.id, where id is any [FulfillmentInfo.ids][] for type + // [FulfillmentInfo.Type.CUSTOM_TYPE_1][]. + // * customFulfillment2.id, where id is any [FulfillmentInfo.ids][] for type + // [FulfillmentInfo.Type.CUSTOM_TYPE_2][]. + // * customFulfillment3.id, where id is any [FulfillmentInfo.ids][] for type + // [FulfillmentInfo.Type.CUSTOM_TYPE_3][]. + // * customFulfillment4.id, where id is any [FulfillmentInfo.ids][] for type + // [FulfillmentInfo.Type.CUSTOM_TYPE_4][]. + // * customFulfillment5.id, where id is any [FulfillmentInfo.ids][] for type + // [FulfillmentInfo.Type.CUSTOM_TYPE_5][]. + // + // If this field is set to an invalid value other than these, an + // INVALID_ARGUMENT error is returned. + VariantRollupKeys []string `protobuf:"bytes,17,rep,name=variant_rollup_keys,json=variantRollupKeys,proto3" json:"variant_rollup_keys,omitempty"` +} + +func (x *SearchRequest) Reset() { + *x = SearchRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchRequest) ProtoMessage() {} + +func (x *SearchRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchRequest.ProtoReflect.Descriptor instead. +func (*SearchRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{0} +} + +func (x *SearchRequest) GetPlacement() string { + if x != nil { + return x.Placement + } + return "" +} + +func (x *SearchRequest) GetBranch() string { + if x != nil { + return x.Branch + } + return "" +} + +func (x *SearchRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *SearchRequest) GetVisitorId() string { + if x != nil { + return x.VisitorId + } + return "" +} + +func (x *SearchRequest) GetUserInfo() *UserInfo { + if x != nil { + return x.UserInfo + } + return nil +} + +func (x *SearchRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *SearchRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *SearchRequest) GetOffset() int32 { + if x != nil { + return x.Offset + } + return 0 +} + +func (x *SearchRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *SearchRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *SearchRequest) GetFacetSpecs() []*SearchRequest_FacetSpec { + if x != nil { + return x.FacetSpecs + } + return nil +} + +func (x *SearchRequest) GetBoostSpec() *SearchRequest_BoostSpec { + if x != nil { + return x.BoostSpec + } + return nil +} + +func (x *SearchRequest) GetQueryExpansionSpec() *SearchRequest_QueryExpansionSpec { + if x != nil { + return x.QueryExpansionSpec + } + return nil +} + +func (x *SearchRequest) GetRelevanceThreshold() SearchRequest_RelevanceThreshold { + if x != nil { + return x.RelevanceThreshold + } + return SearchRequest_RELEVANCE_THRESHOLD_UNSPECIFIED +} + +func (x *SearchRequest) GetReadMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.ReadMask + } + return nil +} + +func (x *SearchRequest) GetVariantRollupKeys() []string { + if x != nil { + return x.VariantRollupKeys + } + return nil +} + +// Response message for +// [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search] +// method. +type SearchResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of matched items. The order represents the ranking. + Results []*SearchResponse_SearchResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + // Results of facets requested by user. + Facets []*SearchResponse_Facet `protobuf:"bytes,2,rep,name=facets,proto3" json:"facets,omitempty"` + // The total count of matched items irrespective of pagination. The total + // number of [results][google.cloud.retail.v2alpha.SearchResponse.results] + // returned by pagination may be less than the + // [total_size][google.cloud.retail.v2alpha.SearchResponse.total_size] that + // matches. + TotalSize int32 `protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"` + // If spell correction applies, the corrected query. Otherwise, empty. + CorrectedQuery string `protobuf:"bytes,4,opt,name=corrected_query,json=correctedQuery,proto3" json:"corrected_query,omitempty"` + // A unique search token. This should be included in the + // [UserEvent][google.cloud.retail.v2alpha.UserEvent] logs resulting from this + // search, which enables accurate attribution of search model performance. + AttributionToken string `protobuf:"bytes,5,opt,name=attribution_token,json=attributionToken,proto3" json:"attribution_token,omitempty"` + // A token that can be sent as + // [SearchRequest.page_token][google.cloud.retail.v2alpha.SearchRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,6,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Query expansion information for the returned results. + QueryExpansionInfo *SearchResponse_QueryExpansionInfo `protobuf:"bytes,7,opt,name=query_expansion_info,json=queryExpansionInfo,proto3" json:"query_expansion_info,omitempty"` +} + +func (x *SearchResponse) Reset() { + *x = SearchResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchResponse) ProtoMessage() {} + +func (x *SearchResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchResponse.ProtoReflect.Descriptor instead. +func (*SearchResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{1} +} + +func (x *SearchResponse) GetResults() []*SearchResponse_SearchResult { + if x != nil { + return x.Results + } + return nil +} + +func (x *SearchResponse) GetFacets() []*SearchResponse_Facet { + if x != nil { + return x.Facets + } + return nil +} + +func (x *SearchResponse) GetTotalSize() int32 { + if x != nil { + return x.TotalSize + } + return 0 +} + +func (x *SearchResponse) GetCorrectedQuery() string { + if x != nil { + return x.CorrectedQuery + } + return "" +} + +func (x *SearchResponse) GetAttributionToken() string { + if x != nil { + return x.AttributionToken + } + return "" +} + +func (x *SearchResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *SearchResponse) GetQueryExpansionInfo() *SearchResponse_QueryExpansionInfo { + if x != nil { + return x.QueryExpansionInfo + } + return nil +} + +// A facet specification to perform faceted search. +type SearchRequest_FacetSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Supported textual and numerical facet keys in + // [Product][google.cloud.retail.v2alpha.Product] object, over which the + // facet values are computed. Facet key is case-sensitive. + // + // If this field is unrecognizable, an INVALID_ARGUMENT is returned. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The intervals into which values should be bucketized. + // + // A maximum of 30 values are allowed. Must be set for facets with numerical + // values. Must not be set for facet with text values. Otherwise, an + // INVALID_ARGUMENT is returned. + Intervals []*Interval `protobuf:"bytes,2,rep,name=intervals,proto3" json:"intervals,omitempty"` + // Only get facet for the given restricted values. For example, when using + // "pickupInStore" as key and set restricted values to ["store123", + // "store456"], only facets for "store123" and "store456" are returned. Only + // supported on textual fields. Maximum is 20. + // + // Must be set for the following facet keys: + // + // * `pickupInStore` + // * `shipToStore` + // * `sameDayDelivery` + // * `nextDayDelivery` + // * `customFulfillment1` + // * `customFulfillment2` + // * `customFulfillment3` + // * `customFulfillment4` + // * `customFulfillment5` + // + // If this field is set to an invalid value other than these, an + // INVALID_ARGUMENT error is returned. + RestrictedValues []string `protobuf:"bytes,3,rep,name=restricted_values,json=restrictedValues,proto3" json:"restricted_values,omitempty"` + // List of keys to exclude when faceting. + // + // By default, [FacetKey.key][] is not excluded from the filter unless it is + // listed in [FacetKey.excluded_filter_keys][]. + // + // For example, suppose there are 100 products with color facet "Red" and + // 200 products with color facet "Blue". A query containing the filter + // "colorFamily:ANY("Red")" and have "colorFamily" as [FacetKey.key][] will + // by default return the "Red" with count 100. + // + // If [FacetKey.excluded_filter_keys][] contains "colorFamily", then the + // query returns both the "Red" with count 100 and "Blue" with count 200, + // because the "colorFamily" key is now excluded from the filter. + // + // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error + // is returned. + ExcludedFilterKeys []string `protobuf:"bytes,4,rep,name=excluded_filter_keys,json=excludedFilterKeys,proto3" json:"excluded_filter_keys,omitempty"` + // Maximum of facet values that should be returned for this facet. If + // unspecified, defaults to 20. The maximum allowed value is 300. Values + // above 300 will be coerced to 300. + // + // If this field is negative, an INVALID_ARGUMENT is returned. + Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` + // The order in which [Facet.values][] are returned. + // + // Allowed values are: + // + // * "count desc", which means order by [Facet.FacetValue.count][] + // descending. + // + // * "value desc", which means order by [Facet.FacetValue.value][] + // descending. + // Only applies to textual facets. + // + // If not set, textual values are sorted in dictionary order; numerical + // intervals are sorted in the order given by + // [FacetSpec.FacetKey.intervals][]; [FulfillmentInfo.ids][] are sorted in + // the order given by [FacetSpec.FacetKey.restricted_values][]. + // + // If this field is unrecognizable, an INVALID_ARGUMENT is returned. + OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *SearchRequest_FacetSpec) Reset() { + *x = SearchRequest_FacetSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchRequest_FacetSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchRequest_FacetSpec) ProtoMessage() {} + +func (x *SearchRequest_FacetSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchRequest_FacetSpec.ProtoReflect.Descriptor instead. +func (*SearchRequest_FacetSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *SearchRequest_FacetSpec) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *SearchRequest_FacetSpec) GetIntervals() []*Interval { + if x != nil { + return x.Intervals + } + return nil +} + +func (x *SearchRequest_FacetSpec) GetRestrictedValues() []string { + if x != nil { + return x.RestrictedValues + } + return nil +} + +func (x *SearchRequest_FacetSpec) GetExcludedFilterKeys() []string { + if x != nil { + return x.ExcludedFilterKeys + } + return nil +} + +func (x *SearchRequest_FacetSpec) GetLimit() int32 { + if x != nil { + return x.Limit + } + return 0 +} + +func (x *SearchRequest_FacetSpec) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Boost specification to boost certain items. +type SearchRequest_BoostSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Condition boost specifications. If a product matches multiple conditions + // in the specifictions, boost scores from these specifications are all + // applied and combined in a non-linear way. Maximum number of + // specifications is 10. + ConditionBoostSpecs []*SearchRequest_BoostSpec_ConditionBoostSpec `protobuf:"bytes,1,rep,name=condition_boost_specs,json=conditionBoostSpecs,proto3" json:"condition_boost_specs,omitempty"` +} + +func (x *SearchRequest_BoostSpec) Reset() { + *x = SearchRequest_BoostSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchRequest_BoostSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchRequest_BoostSpec) ProtoMessage() {} + +func (x *SearchRequest_BoostSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchRequest_BoostSpec.ProtoReflect.Descriptor instead. +func (*SearchRequest_BoostSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *SearchRequest_BoostSpec) GetConditionBoostSpecs() []*SearchRequest_BoostSpec_ConditionBoostSpec { + if x != nil { + return x.ConditionBoostSpecs + } + return nil +} + +// Specification to determine under which conditions query expansion should +// occur. +type SearchRequest_QueryExpansionSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The condition under which query expansion should occur. Default to + // [Condition.DISABLED][google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition.DISABLED]. + Condition SearchRequest_QueryExpansionSpec_Condition `protobuf:"varint,1,opt,name=condition,proto3,enum=google.cloud.retail.v2alpha.SearchRequest_QueryExpansionSpec_Condition" json:"condition,omitempty"` +} + +func (x *SearchRequest_QueryExpansionSpec) Reset() { + *x = SearchRequest_QueryExpansionSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchRequest_QueryExpansionSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchRequest_QueryExpansionSpec) ProtoMessage() {} + +func (x *SearchRequest_QueryExpansionSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchRequest_QueryExpansionSpec.ProtoReflect.Descriptor instead. +func (*SearchRequest_QueryExpansionSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *SearchRequest_QueryExpansionSpec) GetCondition() SearchRequest_QueryExpansionSpec_Condition { + if x != nil { + return x.Condition + } + return SearchRequest_QueryExpansionSpec_CONDITION_UNSPECIFIED +} + +// Boost applies to products which match a condition. +type SearchRequest_BoostSpec_ConditionBoostSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // An expression which specifies a boost condition. The syntax and + // supported fields are the same as a filter expression. See + // [SearchProductsRequest.filter][] for detail syntax and limitations. + // + // Examples: + // + // * To boost products with product ID "product_1" or "product_2", and + // color + // "Red" or "Blue":
+ // *(productId: ANY("product_1", "product_2"))
* + // *AND
* + // *(colorFamily: ANY("Red", "Blue"))
* + Condition string `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` + // Strength of the condition boost, which should be in [-1, 1]. Negative + // boost means demotion. Default is 0.0. + // + // Setting to 1.0 gives the item a big promotion. However, it does not + // necessarily mean that the boosted item will be the top result at all + // times, nor that other items will be excluded. Results could still be + // shown even when none of them matches the condition. And results that + // are significantly more relevant to the search query can still trump + // your heavily favored but irrelevant items. + // + // Setting to -1.0 gives the item a big demotion. However, results that + // are deeply relevant might still be shown. The item will have an + // upstream battle to get a fairly high ranking, but it is not blocked out + // completely. + // + // Setting to 0.0 means no boost applied. The boosting condition is + // ignored. + Boost float32 `protobuf:"fixed32,2,opt,name=boost,proto3" json:"boost,omitempty"` +} + +func (x *SearchRequest_BoostSpec_ConditionBoostSpec) Reset() { + *x = SearchRequest_BoostSpec_ConditionBoostSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchRequest_BoostSpec_ConditionBoostSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchRequest_BoostSpec_ConditionBoostSpec) ProtoMessage() {} + +func (x *SearchRequest_BoostSpec_ConditionBoostSpec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchRequest_BoostSpec_ConditionBoostSpec.ProtoReflect.Descriptor instead. +func (*SearchRequest_BoostSpec_ConditionBoostSpec) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{0, 1, 0} +} + +func (x *SearchRequest_BoostSpec_ConditionBoostSpec) GetCondition() string { + if x != nil { + return x.Condition + } + return "" +} + +func (x *SearchRequest_BoostSpec_ConditionBoostSpec) GetBoost() float32 { + if x != nil { + return x.Boost + } + return 0 +} + +// Represents the search results. +type SearchResponse_SearchResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // [Product.id][google.cloud.retail.v2alpha.Product.id] of the searched + // [Product][google.cloud.retail.v2alpha.Product]. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The product data snippet in the search response. Only + // [Product.name][google.cloud.retail.v2alpha.Product.name] is guaranteed to + // be populated. + // + // [Product.variants][google.cloud.retail.v2alpha.Product.variants] contains + // the product variants that match the search query. If there are multiple + // product variants matching the query, top 5 most relevant product variants + // are returned and ordered by relevancy. + // + // If relevancy can be deternmined, use + // [SearchProductsResponse.matching_variant_fields] to look up matched + // product variants fields. If relevancy cannot be determined, e.g. when + // searching "shoe" all products in a shoe product can be a match, 5 + // product variants are returned but order is meaningless. + Product *Product `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"` + // The count of matched + // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product]s. + MatchingVariantCount int32 `protobuf:"varint,3,opt,name=matching_variant_count,json=matchingVariantCount,proto3" json:"matching_variant_count,omitempty"` + // If a [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product] matches the search query, + // this map indicates which [Product][google.cloud.retail.v2alpha.Product] + // fields are matched. The key is the + // [Product.name][google.cloud.retail.v2alpha.Product.name], the value is a + // field mask of the matched [Product][google.cloud.retail.v2alpha.Product] + // fields. If matched attributes cannot be determined, this map will be + // empty. + // + // For example, a key "sku1" with field mask + // "child_stocking_units.color_info" indicates there is a match between + // "sku1" [ColorInfo][google.cloud.retail.v2alpha.ColorInfo] and the query. + MatchingVariantFields map[string]*fieldmaskpb.FieldMask `protobuf:"bytes,4,rep,name=matching_variant_fields,json=matchingVariantFields,proto3" json:"matching_variant_fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The rollup matching + // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT] + // [Product][google.cloud.retail.v2alpha.Product] attributes. The key is one + // of the [SearchProductsRequest.stocking_unit_rollup_keys][]. The values + // are the merged and de-duplicated [StockingUnit][] attributes. Notice that + // the rollup values are respect filter. For example, when filtering by + // "colorFamily:ANY(\"red\")" and rollup "colorFamily", only "red" is + // returned. + // + // For textual and numerical attributes, the rollup values is a list of + // string or double values with type + // [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if + // there are two stocking units with colors "red" and "blue", the rollup + // values are { key: "colorFamily" + // value { + // list_value { + // values { string_value: "red" } + // values { string_value: "blue" } + // } + // } + // } + // + // For [StockingUnit.fulfillment_info][], the rollup values is a bool value + // with type [google.protobuf.Value][google.protobuf.Value]. For example, + // {key: "pickupInStore.store1" value { bool_value: true }} means a product + // is available in the store "store1". + VariantRollupValues map[string]*structpb.Value `protobuf:"bytes,5,rep,name=variant_rollup_values,json=variantRollupValues,proto3" json:"variant_rollup_values,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SearchResponse_SearchResult) Reset() { + *x = SearchResponse_SearchResult{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchResponse_SearchResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchResponse_SearchResult) ProtoMessage() {} + +func (x *SearchResponse_SearchResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchResponse_SearchResult.ProtoReflect.Descriptor instead. +func (*SearchResponse_SearchResult) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *SearchResponse_SearchResult) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *SearchResponse_SearchResult) GetProduct() *Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *SearchResponse_SearchResult) GetMatchingVariantCount() int32 { + if x != nil { + return x.MatchingVariantCount + } + return 0 +} + +func (x *SearchResponse_SearchResult) GetMatchingVariantFields() map[string]*fieldmaskpb.FieldMask { + if x != nil { + return x.MatchingVariantFields + } + return nil +} + +func (x *SearchResponse_SearchResult) GetVariantRollupValues() map[string]*structpb.Value { + if x != nil { + return x.VariantRollupValues + } + return nil +} + +// A facet result. +type SearchResponse_Facet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key for this facet. E.g., "colorFamily" or "price" or + // "customAttributes.attr1". + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The facet values for this field. + Values []*SearchResponse_Facet_FacetValue `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *SearchResponse_Facet) Reset() { + *x = SearchResponse_Facet{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchResponse_Facet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchResponse_Facet) ProtoMessage() {} + +func (x *SearchResponse_Facet) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchResponse_Facet.ProtoReflect.Descriptor instead. +func (*SearchResponse_Facet) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *SearchResponse_Facet) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *SearchResponse_Facet) GetValues() []*SearchResponse_Facet_FacetValue { + if x != nil { + return x.Values + } + return nil +} + +// Information describing query expansion including whether expansion has +// occurred. +type SearchResponse_QueryExpansionInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Bool describing whether query expansion has occurred. + ExpandedQuery bool `protobuf:"varint,1,opt,name=expanded_query,json=expandedQuery,proto3" json:"expanded_query,omitempty"` +} + +func (x *SearchResponse_QueryExpansionInfo) Reset() { + *x = SearchResponse_QueryExpansionInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchResponse_QueryExpansionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchResponse_QueryExpansionInfo) ProtoMessage() {} + +func (x *SearchResponse_QueryExpansionInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchResponse_QueryExpansionInfo.ProtoReflect.Descriptor instead. +func (*SearchResponse_QueryExpansionInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{1, 2} +} + +func (x *SearchResponse_QueryExpansionInfo) GetExpandedQuery() bool { + if x != nil { + return x.ExpandedQuery + } + return false +} + +// A facet value which contains value names and their count. +type SearchResponse_Facet_FacetValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A facet value which contains values. + // + // Types that are assignable to FacetValue: + // *SearchResponse_Facet_FacetValue_Value + // *SearchResponse_Facet_FacetValue_Interval + FacetValue isSearchResponse_Facet_FacetValue_FacetValue `protobuf_oneof:"facet_value"` + // Number of items that have this facet value. + Count int64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *SearchResponse_Facet_FacetValue) Reset() { + *x = SearchResponse_Facet_FacetValue{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SearchResponse_Facet_FacetValue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchResponse_Facet_FacetValue) ProtoMessage() {} + +func (x *SearchResponse_Facet_FacetValue) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchResponse_Facet_FacetValue.ProtoReflect.Descriptor instead. +func (*SearchResponse_Facet_FacetValue) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP(), []int{1, 1, 0} +} + +func (m *SearchResponse_Facet_FacetValue) GetFacetValue() isSearchResponse_Facet_FacetValue_FacetValue { + if m != nil { + return m.FacetValue + } + return nil +} + +func (x *SearchResponse_Facet_FacetValue) GetValue() string { + if x, ok := x.GetFacetValue().(*SearchResponse_Facet_FacetValue_Value); ok { + return x.Value + } + return "" +} + +func (x *SearchResponse_Facet_FacetValue) GetInterval() *Interval { + if x, ok := x.GetFacetValue().(*SearchResponse_Facet_FacetValue_Interval); ok { + return x.Interval + } + return nil +} + +func (x *SearchResponse_Facet_FacetValue) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +type isSearchResponse_Facet_FacetValue_FacetValue interface { + isSearchResponse_Facet_FacetValue_FacetValue() +} + +type SearchResponse_Facet_FacetValue_Value struct { + // Text value of a facet, such as "Black" for facet "colorFamily". + Value string `protobuf:"bytes,1,opt,name=value,proto3,oneof"` +} + +type SearchResponse_Facet_FacetValue_Interval struct { + // Interval value for a facet, such as [10, 20) for facet "price". + Interval *Interval `protobuf:"bytes,2,opt,name=interval,proto3,oneof"` +} + +func (*SearchResponse_Facet_FacetValue_Value) isSearchResponse_Facet_FacetValue_FacetValue() {} + +func (*SearchResponse_Facet_FacetValue_Interval) isSearchResponse_Facet_FacetValue_FacetValue() {} + +var File_google_cloud_retail_v2alpha_search_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_search_service_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x0c, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x06, + 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xfa, 0x41, + 0x1e, 0x0a, 0x1c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, + 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x22, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x76, 0x69, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x12, 0x55, 0x0a, 0x0b, 0x66, 0x61, 0x63, 0x65, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, + 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0a, 0x66, 0x61, + 0x63, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x53, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x73, + 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6f, 0x0a, + 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, + 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x12, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6e, + 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, + 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, + 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x12, 0x72, 0x65, 0x6c, 0x65, + 0x76, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x37, + 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, + 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x61, 0x72, 0x69, 0x61, + 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x11, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, + 0x6c, 0x75, 0x70, 0x4b, 0x65, 0x79, 0x73, 0x1a, 0xf7, 0x01, 0x0a, 0x09, 0x46, 0x61, 0x63, 0x65, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x09, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, + 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x30, + 0x0a, 0x14, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x65, 0x78, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x1a, 0xd2, 0x01, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x7b, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, 0x6f, + 0x73, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x6f, 0x73, 0x74, + 0x53, 0x70, 0x65, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, + 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, 0x65, 0x63, 0x73, 0x1a, 0x48, 0x0a, 0x12, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x05, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x1a, 0xc2, 0x01, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x65, 0x0a, + 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x2e, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, + 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x5a, 0x45, + 0x52, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x10, 0x02, 0x22, 0x64, 0x0a, 0x12, 0x52, + 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x4c, 0x45, 0x56, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x54, + 0x48, 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x01, + 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, + 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x4f, 0x57, 0x45, 0x53, 0x54, 0x10, + 0x04, 0x22, 0xf1, 0x0a, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x06, 0x66, 0x61, 0x63, 0x65, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x52, 0x06, 0x66, 0x61, 0x63, + 0x65, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x72, + 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x70, 0x0a, 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x1a, 0xf0, 0x04, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x14, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, + 0x69, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x17, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x72, 0x69, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, + 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x15, 0x76, 0x61, 0x72, 0x69, + 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x76, 0x61, 0x72, 0x69, + 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, + 0x64, 0x0a, 0x1a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x72, 0x69, 0x61, + 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5e, 0x0a, 0x18, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, + 0x52, 0x6f, 0x6c, 0x6c, 0x75, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x80, 0x02, 0x0a, 0x05, 0x46, 0x61, 0x63, 0x65, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x54, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, + 0x61, 0x63, 0x65, 0x74, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x8e, 0x01, 0x0a, 0x0a, 0x46, 0x61, 0x63, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x43, + 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x66, 0x61, 0x63, + 0x65, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x3b, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, + 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x32, 0x95, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb8, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4f, 0x22, 0x4a, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, + 0x01, 0x2a, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xe0, 0x01, + 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x42, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, + 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, + 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, + 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_search_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_search_service_proto_rawDescData = file_google_cloud_retail_v2alpha_search_service_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_search_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_search_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_search_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_search_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_search_service_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_search_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_google_cloud_retail_v2alpha_search_service_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_google_cloud_retail_v2alpha_search_service_proto_goTypes = []interface{}{ + (SearchRequest_RelevanceThreshold)(0), // 0: google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold + (SearchRequest_QueryExpansionSpec_Condition)(0), // 1: google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition + (*SearchRequest)(nil), // 2: google.cloud.retail.v2alpha.SearchRequest + (*SearchResponse)(nil), // 3: google.cloud.retail.v2alpha.SearchResponse + (*SearchRequest_FacetSpec)(nil), // 4: google.cloud.retail.v2alpha.SearchRequest.FacetSpec + (*SearchRequest_BoostSpec)(nil), // 5: google.cloud.retail.v2alpha.SearchRequest.BoostSpec + (*SearchRequest_QueryExpansionSpec)(nil), // 6: google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec + (*SearchRequest_BoostSpec_ConditionBoostSpec)(nil), // 7: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec + (*SearchResponse_SearchResult)(nil), // 8: google.cloud.retail.v2alpha.SearchResponse.SearchResult + (*SearchResponse_Facet)(nil), // 9: google.cloud.retail.v2alpha.SearchResponse.Facet + (*SearchResponse_QueryExpansionInfo)(nil), // 10: google.cloud.retail.v2alpha.SearchResponse.QueryExpansionInfo + nil, // 11: google.cloud.retail.v2alpha.SearchResponse.SearchResult.MatchingVariantFieldsEntry + nil, // 12: google.cloud.retail.v2alpha.SearchResponse.SearchResult.VariantRollupValuesEntry + (*SearchResponse_Facet_FacetValue)(nil), // 13: google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue + (*UserInfo)(nil), // 14: google.cloud.retail.v2alpha.UserInfo + (*fieldmaskpb.FieldMask)(nil), // 15: google.protobuf.FieldMask + (*Interval)(nil), // 16: google.cloud.retail.v2alpha.Interval + (*Product)(nil), // 17: google.cloud.retail.v2alpha.Product + (*structpb.Value)(nil), // 18: google.protobuf.Value +} +var file_google_cloud_retail_v2alpha_search_service_proto_depIdxs = []int32{ + 14, // 0: google.cloud.retail.v2alpha.SearchRequest.user_info:type_name -> google.cloud.retail.v2alpha.UserInfo + 4, // 1: google.cloud.retail.v2alpha.SearchRequest.facet_specs:type_name -> google.cloud.retail.v2alpha.SearchRequest.FacetSpec + 5, // 2: google.cloud.retail.v2alpha.SearchRequest.boost_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.BoostSpec + 6, // 3: google.cloud.retail.v2alpha.SearchRequest.query_expansion_spec:type_name -> google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec + 0, // 4: google.cloud.retail.v2alpha.SearchRequest.relevance_threshold:type_name -> google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold + 15, // 5: google.cloud.retail.v2alpha.SearchRequest.read_mask:type_name -> google.protobuf.FieldMask + 8, // 6: google.cloud.retail.v2alpha.SearchResponse.results:type_name -> google.cloud.retail.v2alpha.SearchResponse.SearchResult + 9, // 7: google.cloud.retail.v2alpha.SearchResponse.facets:type_name -> google.cloud.retail.v2alpha.SearchResponse.Facet + 10, // 8: google.cloud.retail.v2alpha.SearchResponse.query_expansion_info:type_name -> google.cloud.retail.v2alpha.SearchResponse.QueryExpansionInfo + 16, // 9: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.intervals:type_name -> google.cloud.retail.v2alpha.Interval + 7, // 10: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.condition_boost_specs:type_name -> google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec + 1, // 11: google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.condition:type_name -> google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition + 17, // 12: google.cloud.retail.v2alpha.SearchResponse.SearchResult.product:type_name -> google.cloud.retail.v2alpha.Product + 11, // 13: google.cloud.retail.v2alpha.SearchResponse.SearchResult.matching_variant_fields:type_name -> google.cloud.retail.v2alpha.SearchResponse.SearchResult.MatchingVariantFieldsEntry + 12, // 14: google.cloud.retail.v2alpha.SearchResponse.SearchResult.variant_rollup_values:type_name -> google.cloud.retail.v2alpha.SearchResponse.SearchResult.VariantRollupValuesEntry + 13, // 15: google.cloud.retail.v2alpha.SearchResponse.Facet.values:type_name -> google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue + 15, // 16: google.cloud.retail.v2alpha.SearchResponse.SearchResult.MatchingVariantFieldsEntry.value:type_name -> google.protobuf.FieldMask + 18, // 17: google.cloud.retail.v2alpha.SearchResponse.SearchResult.VariantRollupValuesEntry.value:type_name -> google.protobuf.Value + 16, // 18: google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.interval:type_name -> google.cloud.retail.v2alpha.Interval + 2, // 19: google.cloud.retail.v2alpha.SearchService.Search:input_type -> google.cloud.retail.v2alpha.SearchRequest + 3, // 20: google.cloud.retail.v2alpha.SearchService.Search:output_type -> google.cloud.retail.v2alpha.SearchResponse + 20, // [20:21] is the sub-list for method output_type + 19, // [19:20] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_search_service_proto_init() } +func file_google_cloud_retail_v2alpha_search_service_proto_init() { + if File_google_cloud_retail_v2alpha_search_service_proto != nil { + return + } + file_google_cloud_retail_v2alpha_common_proto_init() + file_google_cloud_retail_v2alpha_product_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRequest_FacetSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRequest_BoostSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRequest_QueryExpansionSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchRequest_BoostSpec_ConditionBoostSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchResponse_SearchResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchResponse_Facet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchResponse_QueryExpansionInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SearchResponse_Facet_FacetValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_retail_v2alpha_search_service_proto_msgTypes[11].OneofWrappers = []interface{}{ + (*SearchResponse_Facet_FacetValue_Value)(nil), + (*SearchResponse_Facet_FacetValue_Interval)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_search_service_proto_rawDesc, + NumEnums: 2, + NumMessages: 12, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2alpha_search_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_search_service_proto_depIdxs, + EnumInfos: file_google_cloud_retail_v2alpha_search_service_proto_enumTypes, + MessageInfos: file_google_cloud_retail_v2alpha_search_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_search_service_proto = out.File + file_google_cloud_retail_v2alpha_search_service_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_search_service_proto_goTypes = nil + file_google_cloud_retail_v2alpha_search_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// SearchServiceClient is the client API for SearchService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type SearchServiceClient interface { + // Performs a search. + Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResponse, error) +} + +type searchServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewSearchServiceClient(cc grpc.ClientConnInterface) SearchServiceClient { + return &searchServiceClient{cc} +} + +func (c *searchServiceClient) Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResponse, error) { + out := new(SearchResponse) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.SearchService/Search", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// SearchServiceServer is the server API for SearchService service. +type SearchServiceServer interface { + // Performs a search. + Search(context.Context, *SearchRequest) (*SearchResponse, error) +} + +// UnimplementedSearchServiceServer can be embedded to have forward compatible implementations. +type UnimplementedSearchServiceServer struct { +} + +func (*UnimplementedSearchServiceServer) Search(context.Context, *SearchRequest) (*SearchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Search not implemented") +} + +func RegisterSearchServiceServer(s *grpc.Server, srv SearchServiceServer) { + s.RegisterService(&_SearchService_serviceDesc, srv) +} + +func _SearchService_Search_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SearchServiceServer).Search(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.SearchService/Search", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SearchServiceServer).Search(ctx, req.(*SearchRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _SearchService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2alpha.SearchService", + HandlerType: (*SearchServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Search", + Handler: _SearchService_Search_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2alpha/search_service.proto", +} diff --git a/googleapis/cloud/retail/v2alpha/user_event.pb.go b/googleapis/cloud/retail/v2alpha/user_event.pb.go new file mode 100644 index 000000000..ea0566e86 --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/user_event.pb.go @@ -0,0 +1,709 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/user_event.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// UserEvent captures all metadata information recommendation engine needs to +// know about how end users interact with customers' website. +type UserEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. User event type. Allowed values are: + // + // * `add-to-cart` Products being added to cart. + // * `category-page-view` Special pages such as sale or promotion pages + // viewed. + // * `detail-page-view` Products detail page viewed. + // * `home-page-view` Homepage viewed. + // * `purchase-complete` User finishing a purchase. + // * `search` + // * `shopping-cart-page-view` User viewing a shopping cart. + EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + // Required. A unique identifier for tracking visitors. For example, this + // could be implemented with a http cookie, which should be able to uniquely + // identify a visitor on a single device. This unique identifier should not + // change if the visitor log in/out of the website. + // + // The field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + VisitorId string `protobuf:"bytes,2,opt,name=visitor_id,json=visitorId,proto3" json:"visitor_id,omitempty"` + // Only required for + // [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.UserEventService.ImportUserEvents] + // method. Timestamp of when the user event happened. + EventTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"` + // A list of identifiers for the independent experiment groups + // this user event belongs to. This is used to distinguish between user events + // associated with different experiment setups (e.g. using Recommendations AI, + // using different recommendation models). + ExperimentIds []string `protobuf:"bytes,4,rep,name=experiment_ids,json=experimentIds,proto3" json:"experiment_ids,omitempty"` + // Highly recommended for user events that are the result of + // [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict]. + // This field enables accurate attribution of recommendation model + // performance. + // + // The value must be a valid + // [PredictResponse.attribute_token][] for user events that are the result of + // [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict]. + // + // This token enables us to accurately attribute page view or purchase back to + // the event and the particular predict response containing this + // clicked/purchased product. If user clicks on product K in the + // recommendation results, pass [PredictResponse.attribute_token][] as a url + // parameter to product K's page. When recording events on product K's page, + // log the [PredictResponse.attribute_token][] to this field. + AttributionToken string `protobuf:"bytes,5,opt,name=attribution_token,json=attributionToken,proto3" json:"attribution_token,omitempty"` + // The main product details related to the event. + // + // This field is required for the following event types: + // + // * `add-to-cart` + // * `detail-page-view` + // * `purchase-complete` + // + // In a `search` event, this field represents the products returned to the end + // user on the current page (the end user may have not finished broswing the + // whole page yet). When a new page is returned to the end user, after + // pagination/filtering/ordering even for the same query, a new SEARCH event + // with different + // [product_details][google.cloud.retail.v2alpha.UserEvent.product_details] is + // desired. The end user may have not finished broswing the whole page yet. + ProductDetails []*ProductDetail `protobuf:"bytes,6,rep,name=product_details,json=productDetails,proto3" json:"product_details,omitempty"` + // Extra user event features to include in the recommendation model. + // + // For product recommendation, an example of extra user information is + // traffic_channel, i.e. how user arrives at the site. Users can arrive + // at the site by coming to the site directly, or coming through Google + // search, and etc. + Attributes map[string]*CustomAttribute `protobuf:"bytes,7,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The id or name of the associated shopping cart. This id is used + // to associate multiple items added or present in the cart before purchase. + // + // This can only be set for `add-to-cart`, `remove-from-cart`, + // `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events. + CartId string `protobuf:"bytes,8,opt,name=cart_id,json=cartId,proto3" json:"cart_id,omitempty"` + // A transaction represents the entire purchase transaction. + // + // Required for `purchase-complete` events. Optional for `checkout-start` + // events. Other event types should not set this field. Otherwise, an + // INVALID_ARGUMENT error is returned. + PurchaseTransaction *PurchaseTransaction `protobuf:"bytes,9,opt,name=purchase_transaction,json=purchaseTransaction,proto3" json:"purchase_transaction,omitempty"` + // The user's search query. + // + // The value must be a UTF-8 encoded string with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Required for `search` events. Other event types should not set this field. + // Otherwise, an INVALID_ARGUMENT error is returned. + SearchQuery string `protobuf:"bytes,10,opt,name=search_query,json=searchQuery,proto3" json:"search_query,omitempty"` + // The categories associated with a category page. + // + // To represent full path of category, use '>' sign to separate different + // hierarchies. If '>' is part of the category name, you should escape it with + // '\x3E'. + // + // Category pages include special pages such as sales or promotions. For + // instance, a special sale page may have the category hierarchy: + // "pageCategories" : ["Sales > 2017 Black Friday Deals"]. + // + // Required for `category-page-view` events. Other event types should not set + // this field. Otherwise, an INVALID_ARGUMENT error is returned. + PageCategories []string `protobuf:"bytes,11,rep,name=page_categories,json=pageCategories,proto3" json:"page_categories,omitempty"` + // User information. + UserInfo *UserInfo `protobuf:"bytes,12,opt,name=user_info,json=userInfo,proto3" json:"user_info,omitempty"` + // Complete url (window.location.href) of the user's current page. + // When using the client side event reporting with JavaScript pixel and Google + // Tag Manager, this value is filled in automatically. Maximum length 5KB. + Uri string `protobuf:"bytes,13,opt,name=uri,proto3" json:"uri,omitempty"` + // The referrer url of the current page. When using + // the client side event reporting with JavaScript pixel and Google Tag + // Manager, this value is filled in automatically. + ReferrerUri string `protobuf:"bytes,14,opt,name=referrer_uri,json=referrerUri,proto3" json:"referrer_uri,omitempty"` + // A unique id of a web page view. + // This should be kept the same for all user events triggered from the same + // pageview. For example, an item detail page view could trigger multiple + // events as the user is browsing the page. + // The `pageViewId` property should be kept the same for all these events so + // that they can be grouped together properly. This `pageViewId` will be + // automatically generated if using the client side event reporting with + // JavaScript pixel and Google Tag Manager. + PageViewId string `protobuf:"bytes,15,opt,name=page_view_id,json=pageViewId,proto3" json:"page_view_id,omitempty"` + // User event source. + // Acceptable values are: + // + // * `client_tag` if the event is ingested via a JavaScript tag or + // Recommendations AI Tag through automl datalayer or JS Macros. + // * `client_tag_ecommerce` if the event is ingested via Recommendations AI + // Tag through + // Enhanced Ecommerce datalayer. + // * 'batch_upload' if the event is ingested via ImportUserEvents API. + // + // This field should *not* be set when using client side event reporting with + // JavaScript pixel and Google Tag Manager or the Recommendations AI Tag. + EventSource string `protobuf:"bytes,16,opt,name=event_source,json=eventSource,proto3" json:"event_source,omitempty"` +} + +func (x *UserEvent) Reset() { + *x = UserEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_user_event_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEvent) ProtoMessage() {} + +func (x *UserEvent) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_user_event_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEvent.ProtoReflect.Descriptor instead. +func (*UserEvent) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_user_event_proto_rawDescGZIP(), []int{0} +} + +func (x *UserEvent) GetEventType() string { + if x != nil { + return x.EventType + } + return "" +} + +func (x *UserEvent) GetVisitorId() string { + if x != nil { + return x.VisitorId + } + return "" +} + +func (x *UserEvent) GetEventTime() *timestamppb.Timestamp { + if x != nil { + return x.EventTime + } + return nil +} + +func (x *UserEvent) GetExperimentIds() []string { + if x != nil { + return x.ExperimentIds + } + return nil +} + +func (x *UserEvent) GetAttributionToken() string { + if x != nil { + return x.AttributionToken + } + return "" +} + +func (x *UserEvent) GetProductDetails() []*ProductDetail { + if x != nil { + return x.ProductDetails + } + return nil +} + +func (x *UserEvent) GetAttributes() map[string]*CustomAttribute { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *UserEvent) GetCartId() string { + if x != nil { + return x.CartId + } + return "" +} + +func (x *UserEvent) GetPurchaseTransaction() *PurchaseTransaction { + if x != nil { + return x.PurchaseTransaction + } + return nil +} + +func (x *UserEvent) GetSearchQuery() string { + if x != nil { + return x.SearchQuery + } + return "" +} + +func (x *UserEvent) GetPageCategories() []string { + if x != nil { + return x.PageCategories + } + return nil +} + +func (x *UserEvent) GetUserInfo() *UserInfo { + if x != nil { + return x.UserInfo + } + return nil +} + +func (x *UserEvent) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *UserEvent) GetReferrerUri() string { + if x != nil { + return x.ReferrerUri + } + return "" +} + +func (x *UserEvent) GetPageViewId() string { + if x != nil { + return x.PageViewId + } + return "" +} + +func (x *UserEvent) GetEventSource() string { + if x != nil { + return x.EventSource + } + return "" +} + +// Detailed product information associated with a user event. +type ProductDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. [Product][google.cloud.retail.v2alpha.Product] information. + // Only [Product][id] field must to be set. + Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"` + // Quantity of the product associated with the user event. For + // example, this field will be 2 if two products are added to the shopping + // cart for `purchase-complete` event. Required for `add-to-cart` and + // `purchase-complete` event types. + Quantity *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=quantity,proto3" json:"quantity,omitempty"` +} + +func (x *ProductDetail) Reset() { + *x = ProductDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_user_event_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductDetail) ProtoMessage() {} + +func (x *ProductDetail) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_user_event_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductDetail.ProtoReflect.Descriptor instead. +func (*ProductDetail) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_user_event_proto_rawDescGZIP(), []int{1} +} + +func (x *ProductDetail) GetProduct() *Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *ProductDetail) GetQuantity() *wrapperspb.Int32Value { + if x != nil { + return x.Quantity + } + return nil +} + +// A transaction represents the entire purchase transaction. +type PurchaseTransaction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The transaction ID with a length limit of 128 bytes. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Required. Total revenue or grand total associated with the transaction. + // This value include shipping, tax, or other adjustments to total revenue + // that you want to include as part of your revenue calculations. This field + // is not required if the event type is `refund`. + Revenue float32 `protobuf:"fixed32,2,opt,name=revenue,proto3" json:"revenue,omitempty"` + // All the taxes associated with the transaction. + Tax float32 `protobuf:"fixed32,3,opt,name=tax,proto3" json:"tax,omitempty"` + // All the costs associated with the product. These can be + // manufacturing costs, shipping expenses not borne by the end user, or any + // other costs. + // + // Total product cost such that + // profit = revenue - tax + [Product][pricing][cost] + // If product_cost is not set, then + // profit = revenue - tax - [Product][pricing][cost]. + // + // If [Product][pricing][cost] is not specified for one of the products, + // [Product][pricing][cost] based profit *cannot* be calculated for this + // Transaction. + Cost float32 `protobuf:"fixed32,4,opt,name=cost,proto3" json:"cost,omitempty"` + // Required. Currency code. Use three-character ISO-4217 code. This field + // is not required if the event type is `refund`. + CurrencyCode string `protobuf:"bytes,5,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"` +} + +func (x *PurchaseTransaction) Reset() { + *x = PurchaseTransaction{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_user_event_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurchaseTransaction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurchaseTransaction) ProtoMessage() {} + +func (x *PurchaseTransaction) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_user_event_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurchaseTransaction.ProtoReflect.Descriptor instead. +func (*PurchaseTransaction) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_user_event_proto_rawDescGZIP(), []int{2} +} + +func (x *PurchaseTransaction) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PurchaseTransaction) GetRevenue() float32 { + if x != nil { + return x.Revenue + } + return 0 +} + +func (x *PurchaseTransaction) GetTax() float32 { + if x != nil { + return x.Tax + } + return 0 +} + +func (x *PurchaseTransaction) GetCost() float32 { + if x != nil { + return x.Cost + } + return 0 +} + +func (x *PurchaseTransaction) GetCurrencyCode() string { + if x != nil { + return x.CurrencyCode + } + return "" +} + +var File_google_cloud_retail_v2alpha_user_event_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_user_event_proto_rawDesc = []byte{ + 0x0a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x84, 0x07, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x22, + 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x76, 0x69, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x53, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x56, 0x0a, 0x0a, 0x61, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x74, 0x49, 0x64, 0x12, 0x63, 0x0a, 0x14, 0x70, + 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, + 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x70, 0x75, 0x72, + 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, + 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, + 0x65, 0x72, 0x55, 0x72, 0x69, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x69, + 0x65, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x56, 0x69, 0x65, 0x77, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x6b, 0x0a, 0x0f, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x43, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x37, + 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x94, 0x01, 0x0a, 0x13, 0x50, 0x75, 0x72, 0x63, + 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x74, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x74, 0x61, 0x78, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, + 0x63, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x42, 0xdc, + 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x42, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, + 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, + 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xca, 0x02, + 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0xea, 0x02, 0x1e, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_user_event_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_user_event_proto_rawDescData = file_google_cloud_retail_v2alpha_user_event_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_user_event_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_user_event_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_user_event_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_user_event_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_user_event_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_user_event_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_google_cloud_retail_v2alpha_user_event_proto_goTypes = []interface{}{ + (*UserEvent)(nil), // 0: google.cloud.retail.v2alpha.UserEvent + (*ProductDetail)(nil), // 1: google.cloud.retail.v2alpha.ProductDetail + (*PurchaseTransaction)(nil), // 2: google.cloud.retail.v2alpha.PurchaseTransaction + nil, // 3: google.cloud.retail.v2alpha.UserEvent.AttributesEntry + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp + (*UserInfo)(nil), // 5: google.cloud.retail.v2alpha.UserInfo + (*Product)(nil), // 6: google.cloud.retail.v2alpha.Product + (*wrapperspb.Int32Value)(nil), // 7: google.protobuf.Int32Value + (*CustomAttribute)(nil), // 8: google.cloud.retail.v2alpha.CustomAttribute +} +var file_google_cloud_retail_v2alpha_user_event_proto_depIdxs = []int32{ + 4, // 0: google.cloud.retail.v2alpha.UserEvent.event_time:type_name -> google.protobuf.Timestamp + 1, // 1: google.cloud.retail.v2alpha.UserEvent.product_details:type_name -> google.cloud.retail.v2alpha.ProductDetail + 3, // 2: google.cloud.retail.v2alpha.UserEvent.attributes:type_name -> google.cloud.retail.v2alpha.UserEvent.AttributesEntry + 2, // 3: google.cloud.retail.v2alpha.UserEvent.purchase_transaction:type_name -> google.cloud.retail.v2alpha.PurchaseTransaction + 5, // 4: google.cloud.retail.v2alpha.UserEvent.user_info:type_name -> google.cloud.retail.v2alpha.UserInfo + 6, // 5: google.cloud.retail.v2alpha.ProductDetail.product:type_name -> google.cloud.retail.v2alpha.Product + 7, // 6: google.cloud.retail.v2alpha.ProductDetail.quantity:type_name -> google.protobuf.Int32Value + 8, // 7: google.cloud.retail.v2alpha.UserEvent.AttributesEntry.value:type_name -> google.cloud.retail.v2alpha.CustomAttribute + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_user_event_proto_init() } +func file_google_cloud_retail_v2alpha_user_event_proto_init() { + if File_google_cloud_retail_v2alpha_user_event_proto != nil { + return + } + file_google_cloud_retail_v2alpha_common_proto_init() + file_google_cloud_retail_v2alpha_product_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_user_event_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_user_event_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_user_event_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurchaseTransaction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_user_event_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2alpha_user_event_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_user_event_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2alpha_user_event_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_user_event_proto = out.File + file_google_cloud_retail_v2alpha_user_event_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_user_event_proto_goTypes = nil + file_google_cloud_retail_v2alpha_user_event_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2alpha/user_event_service.pb.go b/googleapis/cloud/retail/v2alpha/user_event_service.pb.go new file mode 100644 index 000000000..b3010810a --- /dev/null +++ b/googleapis/cloud/retail/v2alpha/user_event_service.pb.go @@ -0,0 +1,1042 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2alpha/user_event_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + httpbody "google.golang.org/genproto/googleapis/api/httpbody" + longrunning "google.golang.org/genproto/googleapis/longrunning" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// The scope of events to be rejoined with latest catalog. If the rejoining +// aims at reducing number of unjoined events, set UserEventRejoinScope to +// UNJOINED_EVENTS. If the rejoining aims at correcting catalog information +// in joined_events, set UserEventRejoinScope to JOINED_EVENTS. If all events +// needs to be rejoined, set UserEventRejoinScope to +// USER_EVENT_REJOIN_SCOPE_UNSPECIFIED. +type RejoinUserEventsRequest_UserEventRejoinScope int32 + +const ( + // Rejoin catalogs with all events including both joined events and + // unjoined events. + RejoinUserEventsRequest_USER_EVENT_REJOIN_SCOPE_UNSPECIFIED RejoinUserEventsRequest_UserEventRejoinScope = 0 + // Only rejoin catalogs with joined events. + RejoinUserEventsRequest_JOINED_EVENTS RejoinUserEventsRequest_UserEventRejoinScope = 1 + // Only rejoin catalogs with unjoined events. + RejoinUserEventsRequest_UNJOINED_EVENTS RejoinUserEventsRequest_UserEventRejoinScope = 2 +) + +// Enum value maps for RejoinUserEventsRequest_UserEventRejoinScope. +var ( + RejoinUserEventsRequest_UserEventRejoinScope_name = map[int32]string{ + 0: "USER_EVENT_REJOIN_SCOPE_UNSPECIFIED", + 1: "JOINED_EVENTS", + 2: "UNJOINED_EVENTS", + } + RejoinUserEventsRequest_UserEventRejoinScope_value = map[string]int32{ + "USER_EVENT_REJOIN_SCOPE_UNSPECIFIED": 0, + "JOINED_EVENTS": 1, + "UNJOINED_EVENTS": 2, + } +) + +func (x RejoinUserEventsRequest_UserEventRejoinScope) Enum() *RejoinUserEventsRequest_UserEventRejoinScope { + p := new(RejoinUserEventsRequest_UserEventRejoinScope) + *p = x + return p +} + +func (x RejoinUserEventsRequest_UserEventRejoinScope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RejoinUserEventsRequest_UserEventRejoinScope) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_retail_v2alpha_user_event_service_proto_enumTypes[0].Descriptor() +} + +func (RejoinUserEventsRequest_UserEventRejoinScope) Type() protoreflect.EnumType { + return &file_google_cloud_retail_v2alpha_user_event_service_proto_enumTypes[0] +} + +func (x RejoinUserEventsRequest_UserEventRejoinScope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RejoinUserEventsRequest_UserEventRejoinScope.Descriptor instead. +func (RejoinUserEventsRequest_UserEventRejoinScope) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescGZIP(), []int{2, 0} +} + +// Request message for WriteUserEvent method. +type WriteUserEventRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent eventStore resource name, such as + // "projects/1234/locations/global/catalogs/default_catalog". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. User event to write. + UserEvent *UserEvent `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"` +} + +func (x *WriteUserEventRequest) Reset() { + *x = WriteUserEventRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteUserEventRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteUserEventRequest) ProtoMessage() {} + +func (x *WriteUserEventRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteUserEventRequest.ProtoReflect.Descriptor instead. +func (*WriteUserEventRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescGZIP(), []int{0} +} + +func (x *WriteUserEventRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *WriteUserEventRequest) GetUserEvent() *UserEvent { + if x != nil { + return x.UserEvent + } + return nil +} + +// Request message for CollectUserEvent method. +type CollectUserEventRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent eventStore name, such as + // "projects/1234/locations/global/catalogs/default_catalog". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. URL encoded UserEvent proto. + UserEvent string `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"` + // The url including cgi-parameters but excluding the hash fragment. The URL + // must be truncated to 1.5K bytes to conservatively be under the 2K bytes. + // This is often more useful than the referer url, because many browsers only + // send the domain for 3rd party requests. + Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"` + // The event timestamp in milliseconds. This prevents browser caching of + // otherwise identical get requests. The name is abbreviated to reduce the + // payload bytes. + Ets int64 `protobuf:"varint,4,opt,name=ets,proto3" json:"ets,omitempty"` +} + +func (x *CollectUserEventRequest) Reset() { + *x = CollectUserEventRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CollectUserEventRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CollectUserEventRequest) ProtoMessage() {} + +func (x *CollectUserEventRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CollectUserEventRequest.ProtoReflect.Descriptor instead. +func (*CollectUserEventRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CollectUserEventRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CollectUserEventRequest) GetUserEvent() string { + if x != nil { + return x.UserEvent + } + return "" +} + +func (x *CollectUserEventRequest) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *CollectUserEventRequest) GetEts() int64 { + if x != nil { + return x.Ets + } + return 0 +} + +// Request message for CatalogRejoin method. +type RejoinUserEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of user event, such as + // "projects/*/locations/*/catalogs/default_catalog". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The type of the catalog rejoin to define the scope and range of + // the user events to be rejoined with catalog items. + UserEventRejoinScope RejoinUserEventsRequest_UserEventRejoinScope `protobuf:"varint,2,opt,name=user_event_rejoin_scope,json=userEventRejoinScope,proto3,enum=google.cloud.retail.v2alpha.RejoinUserEventsRequest_UserEventRejoinScope" json:"user_event_rejoin_scope,omitempty"` +} + +func (x *RejoinUserEventsRequest) Reset() { + *x = RejoinUserEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RejoinUserEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejoinUserEventsRequest) ProtoMessage() {} + +func (x *RejoinUserEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejoinUserEventsRequest.ProtoReflect.Descriptor instead. +func (*RejoinUserEventsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescGZIP(), []int{2} +} + +func (x *RejoinUserEventsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *RejoinUserEventsRequest) GetUserEventRejoinScope() RejoinUserEventsRequest_UserEventRejoinScope { + if x != nil { + return x.UserEventRejoinScope + } + return RejoinUserEventsRequest_USER_EVENT_REJOIN_SCOPE_UNSPECIFIED +} + +// Response message for RejoinUserEvents method. +type RejoinUserEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Number of user events that were joined with latest catalog items. + RejoinedUserEventsCount int64 `protobuf:"varint,1,opt,name=rejoined_user_events_count,json=rejoinedUserEventsCount,proto3" json:"rejoined_user_events_count,omitempty"` +} + +func (x *RejoinUserEventsResponse) Reset() { + *x = RejoinUserEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RejoinUserEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejoinUserEventsResponse) ProtoMessage() {} + +func (x *RejoinUserEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejoinUserEventsResponse.ProtoReflect.Descriptor instead. +func (*RejoinUserEventsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescGZIP(), []int{3} +} + +func (x *RejoinUserEventsResponse) GetRejoinedUserEventsCount() int64 { + if x != nil { + return x.RejoinedUserEventsCount + } + return 0 +} + +// Metadata for RejoinUserEvents method. +type RejoinUserEventsMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RejoinUserEventsMetadata) Reset() { + *x = RejoinUserEventsMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RejoinUserEventsMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejoinUserEventsMetadata) ProtoMessage() {} + +func (x *RejoinUserEventsMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejoinUserEventsMetadata.ProtoReflect.Descriptor instead. +func (*RejoinUserEventsMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescGZIP(), []int{4} +} + +var File_google_cloud_retail_v2alpha_user_event_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2alpha_user_event_service_proto_rawDesc = []byte{ + 0x0a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, + 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x62, 0x6f, 0x64, 0x79, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, + 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x15, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x7e, + 0x0a, 0x17, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x10, 0x0a, 0x03, + 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x74, 0x73, 0x22, 0xa7, + 0x02, 0x0a, 0x17, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x85, 0x01, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x75, 0x73, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x22, + 0x67, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6a, 0x6f, + 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x55, 0x53, 0x45, 0x52, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x4f, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x22, 0x57, 0x0a, 0x18, 0x52, 0x65, 0x6a, 0x6f, + 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x72, 0x65, 0x6a, 0x6f, 0x69, 0x6e, + 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0xac, 0x0c, + 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0xc6, 0x01, 0x0a, 0x0e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x22, 0x58, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x22, 0x44, 0x2f, 0x76, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x75, + 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x3a, + 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0xae, 0x01, 0x0a, 0x10, + 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x4e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x9a, 0x02, 0x0a, + 0x0f, 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, + 0x75, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, + 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, + 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x70, 0x75, + 0x72, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x60, 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x9f, 0x02, 0x0a, 0x10, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x34, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, + 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x22, 0x45, 0x2f, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x62, 0x0a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x9f, 0x02, 0x0a, 0x10, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x22, 0x45, + 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, + 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x65, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x62, 0x0a, 0x34, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf1, 0x01, + 0x0a, 0x10, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x2e, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, + 0x22, 0x45, 0x2f, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x3a, 0x72, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x34, 0x0a, 0x18, 0x52, + 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, + 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xe3, 0x01, 0x0a, + 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x42, 0x15, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, + 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0xca, 0x02, 0x1b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0xea, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescData = file_google_cloud_retail_v2alpha_user_event_service_proto_rawDesc +) + +func file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2alpha_user_event_service_proto_rawDescData +} + +var file_google_cloud_retail_v2alpha_user_event_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_cloud_retail_v2alpha_user_event_service_proto_goTypes = []interface{}{ + (RejoinUserEventsRequest_UserEventRejoinScope)(0), // 0: google.cloud.retail.v2alpha.RejoinUserEventsRequest.UserEventRejoinScope + (*WriteUserEventRequest)(nil), // 1: google.cloud.retail.v2alpha.WriteUserEventRequest + (*CollectUserEventRequest)(nil), // 2: google.cloud.retail.v2alpha.CollectUserEventRequest + (*RejoinUserEventsRequest)(nil), // 3: google.cloud.retail.v2alpha.RejoinUserEventsRequest + (*RejoinUserEventsResponse)(nil), // 4: google.cloud.retail.v2alpha.RejoinUserEventsResponse + (*RejoinUserEventsMetadata)(nil), // 5: google.cloud.retail.v2alpha.RejoinUserEventsMetadata + (*UserEvent)(nil), // 6: google.cloud.retail.v2alpha.UserEvent + (*PurgeUserEventsRequest)(nil), // 7: google.cloud.retail.v2alpha.PurgeUserEventsRequest + (*ImportUserEventsRequest)(nil), // 8: google.cloud.retail.v2alpha.ImportUserEventsRequest + (*ExportUserEventsRequest)(nil), // 9: google.cloud.retail.v2alpha.ExportUserEventsRequest + (*httpbody.HttpBody)(nil), // 10: google.api.HttpBody + (*longrunning.Operation)(nil), // 11: google.longrunning.Operation +} +var file_google_cloud_retail_v2alpha_user_event_service_proto_depIdxs = []int32{ + 6, // 0: google.cloud.retail.v2alpha.WriteUserEventRequest.user_event:type_name -> google.cloud.retail.v2alpha.UserEvent + 0, // 1: google.cloud.retail.v2alpha.RejoinUserEventsRequest.user_event_rejoin_scope:type_name -> google.cloud.retail.v2alpha.RejoinUserEventsRequest.UserEventRejoinScope + 1, // 2: google.cloud.retail.v2alpha.UserEventService.WriteUserEvent:input_type -> google.cloud.retail.v2alpha.WriteUserEventRequest + 2, // 3: google.cloud.retail.v2alpha.UserEventService.CollectUserEvent:input_type -> google.cloud.retail.v2alpha.CollectUserEventRequest + 7, // 4: google.cloud.retail.v2alpha.UserEventService.PurgeUserEvents:input_type -> google.cloud.retail.v2alpha.PurgeUserEventsRequest + 8, // 5: google.cloud.retail.v2alpha.UserEventService.ImportUserEvents:input_type -> google.cloud.retail.v2alpha.ImportUserEventsRequest + 9, // 6: google.cloud.retail.v2alpha.UserEventService.ExportUserEvents:input_type -> google.cloud.retail.v2alpha.ExportUserEventsRequest + 3, // 7: google.cloud.retail.v2alpha.UserEventService.RejoinUserEvents:input_type -> google.cloud.retail.v2alpha.RejoinUserEventsRequest + 6, // 8: google.cloud.retail.v2alpha.UserEventService.WriteUserEvent:output_type -> google.cloud.retail.v2alpha.UserEvent + 10, // 9: google.cloud.retail.v2alpha.UserEventService.CollectUserEvent:output_type -> google.api.HttpBody + 11, // 10: google.cloud.retail.v2alpha.UserEventService.PurgeUserEvents:output_type -> google.longrunning.Operation + 11, // 11: google.cloud.retail.v2alpha.UserEventService.ImportUserEvents:output_type -> google.longrunning.Operation + 11, // 12: google.cloud.retail.v2alpha.UserEventService.ExportUserEvents:output_type -> google.longrunning.Operation + 11, // 13: google.cloud.retail.v2alpha.UserEventService.RejoinUserEvents:output_type -> google.longrunning.Operation + 8, // [8:14] is the sub-list for method output_type + 2, // [2:8] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2alpha_user_event_service_proto_init() } +func file_google_cloud_retail_v2alpha_user_event_service_proto_init() { + if File_google_cloud_retail_v2alpha_user_event_service_proto != nil { + return + } + file_google_cloud_retail_v2alpha_export_config_proto_init() + file_google_cloud_retail_v2alpha_import_config_proto_init() + file_google_cloud_retail_v2alpha_purge_config_proto_init() + file_google_cloud_retail_v2alpha_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteUserEventRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CollectUserEventRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RejoinUserEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RejoinUserEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RejoinUserEventsMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2alpha_user_event_service_proto_rawDesc, + NumEnums: 1, + NumMessages: 5, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2alpha_user_event_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2alpha_user_event_service_proto_depIdxs, + EnumInfos: file_google_cloud_retail_v2alpha_user_event_service_proto_enumTypes, + MessageInfos: file_google_cloud_retail_v2alpha_user_event_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2alpha_user_event_service_proto = out.File + file_google_cloud_retail_v2alpha_user_event_service_proto_rawDesc = nil + file_google_cloud_retail_v2alpha_user_event_service_proto_goTypes = nil + file_google_cloud_retail_v2alpha_user_event_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// UserEventServiceClient is the client API for UserEventService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type UserEventServiceClient interface { + // Writes a single user event. + WriteUserEvent(ctx context.Context, in *WriteUserEventRequest, opts ...grpc.CallOption) (*UserEvent, error) + // Writes a single user event from the browser. This uses a GET request to + // due to browser restriction of POST-ing to a 3rd party domain. + // + // This method is used only by the Recommendations AI JavaScript pixel and + // Google Tag Manager. Users should not call this method directly. + CollectUserEvent(ctx context.Context, in *CollectUserEventRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) + // Deletes permanently all user events specified by the filter provided. + // Depending on the number of events specified by the filter, this operation + // could take hours or days to complete. To test a filter, use the list + // command first. + PurgeUserEvents(ctx context.Context, in *PurgeUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Bulk import of User events. Request processing might be + // synchronous. Events that already exist are skipped. + // Use this method for backfilling historical user events. + // + // Operation.response is of type ImportResponse. Note that it is + // possible for a subset of the items to be successfully inserted. + // Operation.metadata is of type ImportMetadata. + ImportUserEvents(ctx context.Context, in *ImportUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Export of user events. + // + // Operation.response is of type ExportResponse. + // Operation.metadata is of type ExportMetadata. + ExportUserEvents(ctx context.Context, in *ExportUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Triggers a user event rejoin operation with latest catalog data. Events + // will not be annotated with detailed catalog information if catalog item is + // missing at the time the user event is ingested, and these events are stored + // as unjoined events with a limited usage on training and serving. This API + // can be used to trigger a 'join' operation on specified events with latest + // version of catalog items. It can also be used to correct events joined with + // wrong catalog items. + RejoinUserEvents(ctx context.Context, in *RejoinUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) +} + +type userEventServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewUserEventServiceClient(cc grpc.ClientConnInterface) UserEventServiceClient { + return &userEventServiceClient{cc} +} + +func (c *userEventServiceClient) WriteUserEvent(ctx context.Context, in *WriteUserEventRequest, opts ...grpc.CallOption) (*UserEvent, error) { + out := new(UserEvent) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.UserEventService/WriteUserEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) CollectUserEvent(ctx context.Context, in *CollectUserEventRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) { + out := new(httpbody.HttpBody) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.UserEventService/CollectUserEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) PurgeUserEvents(ctx context.Context, in *PurgeUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.UserEventService/PurgeUserEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) ImportUserEvents(ctx context.Context, in *ImportUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.UserEventService/ImportUserEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) ExportUserEvents(ctx context.Context, in *ExportUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.UserEventService/ExportUserEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) RejoinUserEvents(ctx context.Context, in *RejoinUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2alpha.UserEventService/RejoinUserEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// UserEventServiceServer is the server API for UserEventService service. +type UserEventServiceServer interface { + // Writes a single user event. + WriteUserEvent(context.Context, *WriteUserEventRequest) (*UserEvent, error) + // Writes a single user event from the browser. This uses a GET request to + // due to browser restriction of POST-ing to a 3rd party domain. + // + // This method is used only by the Recommendations AI JavaScript pixel and + // Google Tag Manager. Users should not call this method directly. + CollectUserEvent(context.Context, *CollectUserEventRequest) (*httpbody.HttpBody, error) + // Deletes permanently all user events specified by the filter provided. + // Depending on the number of events specified by the filter, this operation + // could take hours or days to complete. To test a filter, use the list + // command first. + PurgeUserEvents(context.Context, *PurgeUserEventsRequest) (*longrunning.Operation, error) + // Bulk import of User events. Request processing might be + // synchronous. Events that already exist are skipped. + // Use this method for backfilling historical user events. + // + // Operation.response is of type ImportResponse. Note that it is + // possible for a subset of the items to be successfully inserted. + // Operation.metadata is of type ImportMetadata. + ImportUserEvents(context.Context, *ImportUserEventsRequest) (*longrunning.Operation, error) + // Export of user events. + // + // Operation.response is of type ExportResponse. + // Operation.metadata is of type ExportMetadata. + ExportUserEvents(context.Context, *ExportUserEventsRequest) (*longrunning.Operation, error) + // Triggers a user event rejoin operation with latest catalog data. Events + // will not be annotated with detailed catalog information if catalog item is + // missing at the time the user event is ingested, and these events are stored + // as unjoined events with a limited usage on training and serving. This API + // can be used to trigger a 'join' operation on specified events with latest + // version of catalog items. It can also be used to correct events joined with + // wrong catalog items. + RejoinUserEvents(context.Context, *RejoinUserEventsRequest) (*longrunning.Operation, error) +} + +// UnimplementedUserEventServiceServer can be embedded to have forward compatible implementations. +type UnimplementedUserEventServiceServer struct { +} + +func (*UnimplementedUserEventServiceServer) WriteUserEvent(context.Context, *WriteUserEventRequest) (*UserEvent, error) { + return nil, status.Errorf(codes.Unimplemented, "method WriteUserEvent not implemented") +} +func (*UnimplementedUserEventServiceServer) CollectUserEvent(context.Context, *CollectUserEventRequest) (*httpbody.HttpBody, error) { + return nil, status.Errorf(codes.Unimplemented, "method CollectUserEvent not implemented") +} +func (*UnimplementedUserEventServiceServer) PurgeUserEvents(context.Context, *PurgeUserEventsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method PurgeUserEvents not implemented") +} +func (*UnimplementedUserEventServiceServer) ImportUserEvents(context.Context, *ImportUserEventsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportUserEvents not implemented") +} +func (*UnimplementedUserEventServiceServer) ExportUserEvents(context.Context, *ExportUserEventsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExportUserEvents not implemented") +} +func (*UnimplementedUserEventServiceServer) RejoinUserEvents(context.Context, *RejoinUserEventsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method RejoinUserEvents not implemented") +} + +func RegisterUserEventServiceServer(s *grpc.Server, srv UserEventServiceServer) { + s.RegisterService(&_UserEventService_serviceDesc, srv) +} + +func _UserEventService_WriteUserEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WriteUserEventRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).WriteUserEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.UserEventService/WriteUserEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).WriteUserEvent(ctx, req.(*WriteUserEventRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_CollectUserEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CollectUserEventRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).CollectUserEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.UserEventService/CollectUserEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).CollectUserEvent(ctx, req.(*CollectUserEventRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_PurgeUserEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PurgeUserEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).PurgeUserEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.UserEventService/PurgeUserEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).PurgeUserEvents(ctx, req.(*PurgeUserEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_ImportUserEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportUserEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).ImportUserEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.UserEventService/ImportUserEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).ImportUserEvents(ctx, req.(*ImportUserEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_ExportUserEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportUserEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).ExportUserEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.UserEventService/ExportUserEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).ExportUserEvents(ctx, req.(*ExportUserEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_RejoinUserEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RejoinUserEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).RejoinUserEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2alpha.UserEventService/RejoinUserEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).RejoinUserEvents(ctx, req.(*RejoinUserEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _UserEventService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2alpha.UserEventService", + HandlerType: (*UserEventServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "WriteUserEvent", + Handler: _UserEventService_WriteUserEvent_Handler, + }, + { + MethodName: "CollectUserEvent", + Handler: _UserEventService_CollectUserEvent_Handler, + }, + { + MethodName: "PurgeUserEvents", + Handler: _UserEventService_PurgeUserEvents_Handler, + }, + { + MethodName: "ImportUserEvents", + Handler: _UserEventService_ImportUserEvents_Handler, + }, + { + MethodName: "ExportUserEvents", + Handler: _UserEventService_ExportUserEvents_Handler, + }, + { + MethodName: "RejoinUserEvents", + Handler: _UserEventService_RejoinUserEvents_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2alpha/user_event_service.proto", +} diff --git a/googleapis/cloud/retail/v2beta/catalog.pb.go b/googleapis/cloud/retail/v2beta/catalog.pb.go new file mode 100644 index 000000000..438a3b8c9 --- /dev/null +++ b/googleapis/cloud/retail/v2beta/catalog.pb.go @@ -0,0 +1,338 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2beta/catalog.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Configures what level the product should be uploaded with regards to +// how users will be send events and how predictions will be made. +type ProductLevelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The level of a [Catalog][google.cloud.retail.v2beta.Catalog] at which the + // [UserEvent][google.cloud.retail.v2beta.UserEvent]s are uploaded. Acceptable + // values are: + // * `primary` + // * `variant` + // + // If this field is set to an invalid value other than these, an + // INVALID_ARGUMENT error is returned. + // + // If this field is `primary` and + // [predict_product_level][google.cloud.retail.v2beta.ProductLevelConfig.predict_product_level] + // is `variant`, an INVALID_ARGUMENT error is returned. + // + // See + // https://cloud.google.com/recommendations-ai/docs/catalog#catalog-levels + // for more details. + EventProductLevel string `protobuf:"bytes,1,opt,name=event_product_level,json=eventProductLevel,proto3" json:"event_product_level,omitempty"` + // The level of a [Catalog][google.cloud.retail.v2beta.Catalog] at which the + // [PredictionService.Predict][google.cloud.retail.v2beta.PredictionService.Predict] + // is called. Acceptable values are: + // * `primary` + // * `variant` + // + // If this field is set to an invalid value other than these, an + // INVALID_ARGUMENT error is returned. + // + // If this field is `variant` and + // [event_product_level][google.cloud.retail.v2beta.ProductLevelConfig.event_product_level] + // is `primary`, an INVALID_ARGUMENT error is returned. + // + // See + // https://cloud.google.com/recommendations-ai/docs/catalog#catalog-levels + // for more details. + PredictProductLevel string `protobuf:"bytes,2,opt,name=predict_product_level,json=predictProductLevel,proto3" json:"predict_product_level,omitempty"` +} + +func (x *ProductLevelConfig) Reset() { + *x = ProductLevelConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_catalog_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductLevelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductLevelConfig) ProtoMessage() {} + +func (x *ProductLevelConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_catalog_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductLevelConfig.ProtoReflect.Descriptor instead. +func (*ProductLevelConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_catalog_proto_rawDescGZIP(), []int{0} +} + +func (x *ProductLevelConfig) GetEventProductLevel() string { + if x != nil { + return x.EventProductLevel + } + return "" +} + +func (x *ProductLevelConfig) GetPredictProductLevel() string { + if x != nil { + return x.PredictProductLevel + } + return "" +} + +// The catalog configuration. +// Next ID: 5. +type Catalog struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Immutable. The fully qualified resource name of the catalog. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Immutable. The catalog display name. + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + // Required. The product level configuration. + ProductLevelConfig *ProductLevelConfig `protobuf:"bytes,4,opt,name=product_level_config,json=productLevelConfig,proto3" json:"product_level_config,omitempty"` +} + +func (x *Catalog) Reset() { + *x = Catalog{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_catalog_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Catalog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Catalog) ProtoMessage() {} + +func (x *Catalog) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_catalog_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Catalog.ProtoReflect.Descriptor instead. +func (*Catalog) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_catalog_proto_rawDescGZIP(), []int{1} +} + +func (x *Catalog) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Catalog) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Catalog) GetProductLevelConfig() *ProductLevelConfig { + if x != nil { + return x.ProductLevelConfig + } + return nil +} + +var File_google_cloud_retail_v2beta_catalog_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_catalog_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x78, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x97, 0x02, 0x0a, 0x07, 0x43, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, + 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x65, 0x0a, + 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x5e, 0xea, 0x41, 0x5b, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, + 0x6c, 0x6f, 0x67, 0x7d, 0x42, 0xa1, 0x02, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0c, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, + 0x49, 0x4c, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xca, + 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x41, 0x49, 0x0a, + 0x1e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2beta_catalog_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2beta_catalog_proto_rawDescData = file_google_cloud_retail_v2beta_catalog_proto_rawDesc +) + +func file_google_cloud_retail_v2beta_catalog_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2beta_catalog_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2beta_catalog_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_catalog_proto_rawDescData) + }) + return file_google_cloud_retail_v2beta_catalog_proto_rawDescData +} + +var file_google_cloud_retail_v2beta_catalog_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_retail_v2beta_catalog_proto_goTypes = []interface{}{ + (*ProductLevelConfig)(nil), // 0: google.cloud.retail.v2beta.ProductLevelConfig + (*Catalog)(nil), // 1: google.cloud.retail.v2beta.Catalog +} +var file_google_cloud_retail_v2beta_catalog_proto_depIdxs = []int32{ + 0, // 0: google.cloud.retail.v2beta.Catalog.product_level_config:type_name -> google.cloud.retail.v2beta.ProductLevelConfig + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_catalog_proto_init() } +func file_google_cloud_retail_v2beta_catalog_proto_init() { + if File_google_cloud_retail_v2beta_catalog_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2beta_catalog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductLevelConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_catalog_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Catalog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_catalog_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2beta_catalog_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_catalog_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2beta_catalog_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2beta_catalog_proto = out.File + file_google_cloud_retail_v2beta_catalog_proto_rawDesc = nil + file_google_cloud_retail_v2beta_catalog_proto_goTypes = nil + file_google_cloud_retail_v2beta_catalog_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2beta/catalog_service.pb.go b/googleapis/cloud/retail/v2beta/catalog_service.pb.go new file mode 100644 index 000000000..0cb1186f0 --- /dev/null +++ b/googleapis/cloud/retail/v2beta/catalog_service.pb.go @@ -0,0 +1,586 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2beta/catalog_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Request for +// [CatalogService.ListCatalogs][google.cloud.retail.v2beta.CatalogService.ListCatalogs] +// method. +type ListCatalogsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The account resource name with an associated location. + // + // If the caller does not have permission to list + // [Catalog][google.cloud.retail.v2beta.Catalog]s under this location, + // regardless of whether or not this location exists, a PERMISSION_DENIED + // error is returned. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Maximum number of [Catalog][google.cloud.retail.v2beta.Catalog]s to return. + // If unspecified, defaults to 50. The maximum allowed value is 1000. Values + // above 1000 will be coerced to 1000. + // + // If this field is negative, an INVALID_ARGUMENT is returned. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // A page token + // [ListCatalogsResponse.next_page_token][google.cloud.retail.v2beta.ListCatalogsResponse.next_page_token], + // received from a previous + // [CatalogService.ListCatalogs][google.cloud.retail.v2beta.CatalogService.ListCatalogs] + // call. Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to + // [CatalogService.ListCatalogs][google.cloud.retail.v2beta.CatalogService.ListCatalogs] + // must match the call that provided the page token. Otherwise, an + // INVALID_ARGUMENT error is returned. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListCatalogsRequest) Reset() { + *x = ListCatalogsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_catalog_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListCatalogsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCatalogsRequest) ProtoMessage() {} + +func (x *ListCatalogsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_catalog_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCatalogsRequest.ProtoReflect.Descriptor instead. +func (*ListCatalogsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_catalog_service_proto_rawDescGZIP(), []int{0} +} + +func (x *ListCatalogsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListCatalogsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListCatalogsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response for +// [CatalogService.ListCatalogs][google.cloud.retail.v2beta.CatalogService.ListCatalogs] +// method. +type ListCatalogsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // All the customer's [Catalog][google.cloud.retail.v2beta.Catalog]s. + Catalogs []*Catalog `protobuf:"bytes,1,rep,name=catalogs,proto3" json:"catalogs,omitempty"` + // A token that can be sent as + // [ListCatalogsRequest.page_token][google.cloud.retail.v2beta.ListCatalogsRequest.page_token] + // to retrieve the next page. If this field is omitted, there are no + // subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListCatalogsResponse) Reset() { + *x = ListCatalogsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_catalog_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListCatalogsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCatalogsResponse) ProtoMessage() {} + +func (x *ListCatalogsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_catalog_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCatalogsResponse.ProtoReflect.Descriptor instead. +func (*ListCatalogsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_catalog_service_proto_rawDescGZIP(), []int{1} +} + +func (x *ListCatalogsResponse) GetCatalogs() []*Catalog { + if x != nil { + return x.Catalogs + } + return nil +} + +func (x *ListCatalogsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request for +// [CatalogService.UpdateCatalog][google.cloud.retail.v2beta.CatalogService.UpdateCatalog] +// method. +type UpdateCatalogRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The [Catalog][google.cloud.retail.v2beta.Catalog] to update. + // + // If the caller does not have permission to update the + // [Catalog][google.cloud.retail.v2beta.Catalog], regardless of whether or not + // it exists, a PERMISSION_DENIED error is returned. + // + // If the [Catalog][google.cloud.retail.v2beta.Catalog] to update does not + // exist, a NOT_FOUND error is returned. + Catalog *Catalog `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"` + // Indicates which fields in the provided + // [Catalog][google.cloud.retail.v2beta.Catalog] to update. If not set, will + // only update the + // [Catalog.product_level_config][google.cloud.retail.v2beta.Catalog.product_level_config] + // field, which is also the only currently supported field to update. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateCatalogRequest) Reset() { + *x = UpdateCatalogRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_catalog_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateCatalogRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateCatalogRequest) ProtoMessage() {} + +func (x *UpdateCatalogRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_catalog_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateCatalogRequest.ProtoReflect.Descriptor instead. +func (*UpdateCatalogRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_catalog_service_proto_rawDescGZIP(), []int{2} +} + +func (x *UpdateCatalogRequest) GetCatalog() *Catalog { + if x != nil { + return x.Catalog + } + return nil +} + +func (x *UpdateCatalogRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +var File_google_cloud_retail_v2beta_catalog_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_catalog_service_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, + 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x20, 0x0a, 0x1e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0x7f, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x52, 0x08, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x97, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x63, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, + 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x32, 0xdc, 0x03, 0x0a, + 0x0e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0xb4, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, + 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x32, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0xda, 0x41, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xc7, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x74, 0x61, + 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x22, + 0x5f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x32, 0x38, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, + 0x7d, 0x3a, 0x07, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0xda, 0x41, 0x13, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xdc, 0x01, 0x0a, 0x1e, + 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x42, 0x13, + 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, + 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, + 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2beta_catalog_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2beta_catalog_service_proto_rawDescData = file_google_cloud_retail_v2beta_catalog_service_proto_rawDesc +) + +func file_google_cloud_retail_v2beta_catalog_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2beta_catalog_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2beta_catalog_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_catalog_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2beta_catalog_service_proto_rawDescData +} + +var file_google_cloud_retail_v2beta_catalog_service_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_google_cloud_retail_v2beta_catalog_service_proto_goTypes = []interface{}{ + (*ListCatalogsRequest)(nil), // 0: google.cloud.retail.v2beta.ListCatalogsRequest + (*ListCatalogsResponse)(nil), // 1: google.cloud.retail.v2beta.ListCatalogsResponse + (*UpdateCatalogRequest)(nil), // 2: google.cloud.retail.v2beta.UpdateCatalogRequest + (*Catalog)(nil), // 3: google.cloud.retail.v2beta.Catalog + (*fieldmaskpb.FieldMask)(nil), // 4: google.protobuf.FieldMask +} +var file_google_cloud_retail_v2beta_catalog_service_proto_depIdxs = []int32{ + 3, // 0: google.cloud.retail.v2beta.ListCatalogsResponse.catalogs:type_name -> google.cloud.retail.v2beta.Catalog + 3, // 1: google.cloud.retail.v2beta.UpdateCatalogRequest.catalog:type_name -> google.cloud.retail.v2beta.Catalog + 4, // 2: google.cloud.retail.v2beta.UpdateCatalogRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 3: google.cloud.retail.v2beta.CatalogService.ListCatalogs:input_type -> google.cloud.retail.v2beta.ListCatalogsRequest + 2, // 4: google.cloud.retail.v2beta.CatalogService.UpdateCatalog:input_type -> google.cloud.retail.v2beta.UpdateCatalogRequest + 1, // 5: google.cloud.retail.v2beta.CatalogService.ListCatalogs:output_type -> google.cloud.retail.v2beta.ListCatalogsResponse + 3, // 6: google.cloud.retail.v2beta.CatalogService.UpdateCatalog:output_type -> google.cloud.retail.v2beta.Catalog + 5, // [5:7] is the sub-list for method output_type + 3, // [3:5] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_catalog_service_proto_init() } +func file_google_cloud_retail_v2beta_catalog_service_proto_init() { + if File_google_cloud_retail_v2beta_catalog_service_proto != nil { + return + } + file_google_cloud_retail_v2beta_catalog_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2beta_catalog_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListCatalogsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_catalog_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListCatalogsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_catalog_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateCatalogRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_catalog_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2beta_catalog_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_catalog_service_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2beta_catalog_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2beta_catalog_service_proto = out.File + file_google_cloud_retail_v2beta_catalog_service_proto_rawDesc = nil + file_google_cloud_retail_v2beta_catalog_service_proto_goTypes = nil + file_google_cloud_retail_v2beta_catalog_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// CatalogServiceClient is the client API for CatalogService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type CatalogServiceClient interface { + // Lists all the [Catalog][google.cloud.retail.v2beta.Catalog]s associated + // with the project. + ListCatalogs(ctx context.Context, in *ListCatalogsRequest, opts ...grpc.CallOption) (*ListCatalogsResponse, error) + // Updates the [Catalog][google.cloud.retail.v2beta.Catalog]s. + UpdateCatalog(ctx context.Context, in *UpdateCatalogRequest, opts ...grpc.CallOption) (*Catalog, error) +} + +type catalogServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewCatalogServiceClient(cc grpc.ClientConnInterface) CatalogServiceClient { + return &catalogServiceClient{cc} +} + +func (c *catalogServiceClient) ListCatalogs(ctx context.Context, in *ListCatalogsRequest, opts ...grpc.CallOption) (*ListCatalogsResponse, error) { + out := new(ListCatalogsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.CatalogService/ListCatalogs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *catalogServiceClient) UpdateCatalog(ctx context.Context, in *UpdateCatalogRequest, opts ...grpc.CallOption) (*Catalog, error) { + out := new(Catalog) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.CatalogService/UpdateCatalog", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// CatalogServiceServer is the server API for CatalogService service. +type CatalogServiceServer interface { + // Lists all the [Catalog][google.cloud.retail.v2beta.Catalog]s associated + // with the project. + ListCatalogs(context.Context, *ListCatalogsRequest) (*ListCatalogsResponse, error) + // Updates the [Catalog][google.cloud.retail.v2beta.Catalog]s. + UpdateCatalog(context.Context, *UpdateCatalogRequest) (*Catalog, error) +} + +// UnimplementedCatalogServiceServer can be embedded to have forward compatible implementations. +type UnimplementedCatalogServiceServer struct { +} + +func (*UnimplementedCatalogServiceServer) ListCatalogs(context.Context, *ListCatalogsRequest) (*ListCatalogsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListCatalogs not implemented") +} +func (*UnimplementedCatalogServiceServer) UpdateCatalog(context.Context, *UpdateCatalogRequest) (*Catalog, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateCatalog not implemented") +} + +func RegisterCatalogServiceServer(s *grpc.Server, srv CatalogServiceServer) { + s.RegisterService(&_CatalogService_serviceDesc, srv) +} + +func _CatalogService_ListCatalogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListCatalogsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CatalogServiceServer).ListCatalogs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.CatalogService/ListCatalogs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CatalogServiceServer).ListCatalogs(ctx, req.(*ListCatalogsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CatalogService_UpdateCatalog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateCatalogRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CatalogServiceServer).UpdateCatalog(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.CatalogService/UpdateCatalog", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CatalogServiceServer).UpdateCatalog(ctx, req.(*UpdateCatalogRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _CatalogService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2beta.CatalogService", + HandlerType: (*CatalogServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListCatalogs", + Handler: _CatalogService_ListCatalogs_Handler, + }, + { + MethodName: "UpdateCatalog", + Handler: _CatalogService_UpdateCatalog_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2beta/catalog_service.proto", +} diff --git a/googleapis/cloud/retail/v2beta/common.pb.go b/googleapis/cloud/retail/v2beta/common.pb.go new file mode 100644 index 000000000..741ec9a80 --- /dev/null +++ b/googleapis/cloud/retail/v2beta/common.pb.go @@ -0,0 +1,560 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2beta/common.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// A custom attribute that is not explicitly modeled in +// [Product][google.cloud.retail.v2beta.Product]]. +type CustomAttribute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The textual values of this custom attribute. For example, `["yellow", + // "green"]` when the key is "color". + // + // At most 400 values are allowed. Empty values are not allowed. Each value + // must be a UTF-8 encoded string with a length limit of 256 bytes. Otherwise, + // an INVALID_ARGUMENT error is returned. + // + // Exactly one of [text][google.cloud.retail.v2beta.CustomAttribute.text] or + // [numbers][google.cloud.retail.v2beta.CustomAttribute.numbers] should be + // set. Otherwise, a FAILED_PRECONDITION error is returned. + Text []string `protobuf:"bytes,1,rep,name=text,proto3" json:"text,omitempty"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` + // when the key is "lengths_cm". + // + // At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is + // returned. + // + // Exactly one of [text][google.cloud.retail.v2beta.CustomAttribute.text] or + // [numbers][google.cloud.retail.v2beta.CustomAttribute.numbers] should be + // set. Otherwise, a FAILED_PRECONDITION error is returned. + Numbers []float64 `protobuf:"fixed64,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"` +} + +func (x *CustomAttribute) Reset() { + *x = CustomAttribute{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomAttribute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomAttribute) ProtoMessage() {} + +func (x *CustomAttribute) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CustomAttribute.ProtoReflect.Descriptor instead. +func (*CustomAttribute) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{0} +} + +func (x *CustomAttribute) GetText() []string { + if x != nil { + return x.Text + } + return nil +} + +func (x *CustomAttribute) GetNumbers() []float64 { + if x != nil { + return x.Numbers + } + return nil +} + +// [Product][google.cloud.retail.v2beta.Product] thumbnail/detail image. +type Image struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. URI of the image. + // + // This field must be a valid UTF-8 encoded URI with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [image_link](https://support.google.com/merchants/answer/6324350). + // Schema.org property [Product.image](http://schema.org/image). + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + // Height of the image in number of pixels. + // + // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is + // returned. + Height int32 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` + // Width of the image in number of pixels. + // + // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is + // returned. + Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"` +} + +func (x *Image) Reset() { + *x = Image{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Image) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Image) ProtoMessage() {} + +func (x *Image) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Image.ProtoReflect.Descriptor instead. +func (*Image) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{1} +} + +func (x *Image) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *Image) GetHeight() int32 { + if x != nil { + return x.Height + } + return 0 +} + +func (x *Image) GetWidth() int32 { + if x != nil { + return x.Width + } + return 0 +} + +// The price information of a [Product][google.cloud.retail.v2beta.Product]. +type PriceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The 3-letter currency code defined in [ISO + // 4217][https://www.iso.org/iso-4217-currency-codes.html]. + // + // If this field is an unrecognizable currency code, an INVALID_ARGUMENT + // error is returned. + CurrencyCode string `protobuf:"bytes,1,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"` + // Price of the product. + // + // Google Merchant Center property + // [price](https://support.google.com/merchants/answer/6324371). + // Schema.org property + // [Offer.priceSpecification](https://schema.org/priceSpecification). + Price float32 `protobuf:"fixed32,2,opt,name=price,proto3" json:"price,omitempty"` + // Price of the product without any discount. If zero, by default set to be + // the [price][google.cloud.retail.v2beta.PriceInfo.price]. + OriginalPrice float32 `protobuf:"fixed32,3,opt,name=original_price,json=originalPrice,proto3" json:"original_price,omitempty"` + // The costs associated with the sale of a particular product. Used for gross + // profit reporting. + // + // * Profit = [price][google.cloud.retail.v2beta.PriceInfo.price] - + // [cost][google.cloud.retail.v2beta.PriceInfo.cost] + // + // Google Merchant Center property + // [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895) + Cost float32 `protobuf:"fixed32,4,opt,name=cost,proto3" json:"cost,omitempty"` +} + +func (x *PriceInfo) Reset() { + *x = PriceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PriceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PriceInfo) ProtoMessage() {} + +func (x *PriceInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PriceInfo.ProtoReflect.Descriptor instead. +func (*PriceInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{2} +} + +func (x *PriceInfo) GetCurrencyCode() string { + if x != nil { + return x.CurrencyCode + } + return "" +} + +func (x *PriceInfo) GetPrice() float32 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *PriceInfo) GetOriginalPrice() float32 { + if x != nil { + return x.OriginalPrice + } + return 0 +} + +func (x *PriceInfo) GetCost() float32 { + if x != nil { + return x.Cost + } + return 0 +} + +// Information of an end user. +type UserInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Highly recommended for logged-in users. Unique identifier for logged-in + // user, such as a user name. + // + // The field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` + // The end user's IP address. This field is used to extract location + // information for personalization. + // + // This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6 + // address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an + // INVALID_ARGUMENT error is returned. + // + // This should not be set when using the JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent] + // or if + // [direct_user_request][google.cloud.retail.v2beta.UserInfo.direct_user_request] + // is set. Otherwise, a FAILED_PRECONDITION error is returned. + IpAddress string `protobuf:"bytes,2,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` + // User agent as included in the HTTP header. + // + // The field must be a UTF-8 encoded string with a length limit of 1 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // This should not be set when using the client side event reporting with + // GTM or JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent] + // or if + // [direct_user_request][google.cloud.retail.v2beta.UserInfo.direct_user_request] + // is set. Otherwise, a FAILED_PRECONDITION error is returned. + UserAgent string `protobuf:"bytes,3,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` + // True if the request is made directly from the end user, in which case the + // [ip_address][google.cloud.retail.v2beta.UserInfo.ip_address] and + // [user_agent][google.cloud.retail.v2beta.UserInfo.user_agent] can be + // populated from the HTTP request. This flag should be set only if the API + // request is made directly from the end user such as a mobile app (and not if + // a gateway or a server is processing and pushing the user events). + // + // This should not be set when using the JavaScript tag in + // [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent]. + // Otherwise, a FAILED_PRECONDITION error is returned. + DirectUserRequest bool `protobuf:"varint,4,opt,name=direct_user_request,json=directUserRequest,proto3" json:"direct_user_request,omitempty"` +} + +func (x *UserInfo) Reset() { + *x = UserInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserInfo) ProtoMessage() {} + +func (x *UserInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_common_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. +func (*UserInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_common_proto_rawDescGZIP(), []int{3} +} + +func (x *UserInfo) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *UserInfo) GetIpAddress() string { + if x != nil { + return x.IpAddress + } + return "" +} + +func (x *UserInfo) GetUserAgent() string { + if x != nil { + return x.UserAgent + } + return "" +} + +func (x *UserInfo) GetDirectUserRequest() bool { + if x != nil { + return x.DirectUserRequest + } + return false +} + +var File_google_cloud_retail_v2beta_common_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_common_proto_rawDesc = []byte{ + 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x01, 0x52, 0x07, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x4c, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0x15, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x22, 0x81, 0x01, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x22, 0x91, 0x01, 0x0a, 0x08, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0xd4, 0x01, 0x0a, + 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x42, + 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, + 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x62, + 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, + 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2beta_common_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2beta_common_proto_rawDescData = file_google_cloud_retail_v2beta_common_proto_rawDesc +) + +func file_google_cloud_retail_v2beta_common_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2beta_common_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2beta_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_common_proto_rawDescData) + }) + return file_google_cloud_retail_v2beta_common_proto_rawDescData +} + +var file_google_cloud_retail_v2beta_common_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_google_cloud_retail_v2beta_common_proto_goTypes = []interface{}{ + (*CustomAttribute)(nil), // 0: google.cloud.retail.v2beta.CustomAttribute + (*Image)(nil), // 1: google.cloud.retail.v2beta.Image + (*PriceInfo)(nil), // 2: google.cloud.retail.v2beta.PriceInfo + (*UserInfo)(nil), // 3: google.cloud.retail.v2beta.UserInfo +} +var file_google_cloud_retail_v2beta_common_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_common_proto_init() } +func file_google_cloud_retail_v2beta_common_proto_init() { + if File_google_cloud_retail_v2beta_common_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2beta_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomAttribute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Image); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PriceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_common_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2beta_common_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_common_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2beta_common_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2beta_common_proto = out.File + file_google_cloud_retail_v2beta_common_proto_rawDesc = nil + file_google_cloud_retail_v2beta_common_proto_goTypes = nil + file_google_cloud_retail_v2beta_common_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2beta/export_config.pb.go b/googleapis/cloud/retail/v2beta/export_config.pb.go new file mode 100644 index 000000000..77ffb46df --- /dev/null +++ b/googleapis/cloud/retail/v2beta/export_config.pb.go @@ -0,0 +1,1048 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2beta/export_config.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// The output configuration setting. +type OutputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The configuration of destination for holding output data. + // + // Types that are assignable to Destination: + // *OutputConfig_GcsDestination_ + // *OutputConfig_BigqueryDestination + Destination isOutputConfig_Destination `protobuf_oneof:"destination"` +} + +func (x *OutputConfig) Reset() { + *x = OutputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig) ProtoMessage() {} + +func (x *OutputConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead. +func (*OutputConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{0} +} + +func (m *OutputConfig) GetDestination() isOutputConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *OutputConfig) GetGcsDestination() *OutputConfig_GcsDestination { + if x, ok := x.GetDestination().(*OutputConfig_GcsDestination_); ok { + return x.GcsDestination + } + return nil +} + +func (x *OutputConfig) GetBigqueryDestination() *OutputConfig_BigQueryDestination { + if x, ok := x.GetDestination().(*OutputConfig_BigqueryDestination); ok { + return x.BigqueryDestination + } + return nil +} + +type isOutputConfig_Destination interface { + isOutputConfig_Destination() +} + +type OutputConfig_GcsDestination_ struct { + // The Google Cloud Storage location where the output is to be written to. + GcsDestination *OutputConfig_GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` +} + +type OutputConfig_BigqueryDestination struct { + // The BigQuery location where the output is to be written to. + BigqueryDestination *OutputConfig_BigQueryDestination `protobuf:"bytes,2,opt,name=bigquery_destination,json=bigqueryDestination,proto3,oneof"` +} + +func (*OutputConfig_GcsDestination_) isOutputConfig_Destination() {} + +func (*OutputConfig_BigqueryDestination) isOutputConfig_Destination() {} + +// Configuration of destination for Export related errors. +type ExportErrorsConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Errors destination. + // + // Types that are assignable to Destination: + // *ExportErrorsConfig_GcsPrefix + Destination isExportErrorsConfig_Destination `protobuf_oneof:"destination"` +} + +func (x *ExportErrorsConfig) Reset() { + *x = ExportErrorsConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportErrorsConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportErrorsConfig) ProtoMessage() {} + +func (x *ExportErrorsConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportErrorsConfig.ProtoReflect.Descriptor instead. +func (*ExportErrorsConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{1} +} + +func (m *ExportErrorsConfig) GetDestination() isExportErrorsConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *ExportErrorsConfig) GetGcsPrefix() string { + if x, ok := x.GetDestination().(*ExportErrorsConfig_GcsPrefix); ok { + return x.GcsPrefix + } + return "" +} + +type isExportErrorsConfig_Destination interface { + isExportErrorsConfig_Destination() +} + +type ExportErrorsConfig_GcsPrefix struct { + // Google Cloud Storage path for import errors. This must be an empty, + // existing Cloud Storage bucket. Export errors will be written to a file in + // this bucket, one per line, as a JSON-encoded + // `google.rpc.Status` message. + GcsPrefix string `protobuf:"bytes,1,opt,name=gcs_prefix,json=gcsPrefix,proto3,oneof"` +} + +func (*ExportErrorsConfig_GcsPrefix) isExportErrorsConfig_Destination() {} + +// Request message for ExportProducts method. +type ExportProductsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. + // "projects/1234/locations/global/catalogs/default_catalog/branches/default_branch" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Unique identifier provided by client, within the ancestor + // dataset scope. Ensures idempotency for expensive long running operations. + // Server-generated if unspecified. Up to 128 characters long. This is + // returned as google.longrunning.Operation.name in the response. + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Required. The desired output location of the data. + OutputConfig *OutputConfig `protobuf:"bytes,3,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` + // Filtering expression to specify restrictions over + // returned products. This is a sequence of terms, where each term applies + // some kind of a restriction to the returned products. Use this expression to + // restrict results to a specific time range, tag, stock state or filter + // products by product type. + // eg: lastModifiedTime > "2012-04-23T18:25:43.511Z" + // lastModifiedTime<"2012-04-23T18:25:43.511Z" productType=primary + // + // We expect only 4 types of fields: + // + // * lastModifiedTime: this can be specified a maximum of 2 times, once + // with a + // less than operator and once with a greater than operator. The + // lastModifiedTime restrict should result in one contiguous valid last + // modified time range. + // + // * productType: supported values are 'primary' and 'variant'. Boolean + // operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // productType values by a space. + // + // * availability: supported values are IN_STOCK, OUT_OF_STOCK, + // PREORDER and BACKORDER. Boolean operators `OR` and `NOT` are + // supported if the + // expression is enclosed in parentheses, and must be separated from the + // availability values by a space. + // + // * Tag expressions. Restricts output to products that match all of the + // specified tags. Boolean operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // tag values by a space. `-"tagA"` is also supported and is equivalent + // to `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded + // strings with a size limit of 1 KiB. + // + // Some examples of valid filters expressions: + // + // * Example 1: lastModifiedTime > "2012-04-23T18:25:43.511Z" + // lastModifiedTime < "2012-04-23T18:30:43.511Z" + // * Example 2: lastModifiedTime > "2012-04-23T18:25:43.511Z" + // productType = "variant" + // * Example 3: tag=("Red" OR "Blue") tag="New-Arrival" + // tag=(NOT "promotional") + // productType = "primary" lastModifiedTime < + // "2018-04-23T18:30:43.511Z" + // * Example 4: lastModifiedTime > "2012-04-23T18:25:43.511Z" + // * Example 5: availability = (IN_STOCK OR BACKORDER) + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *ExportProductsRequest) Reset() { + *x = ExportProductsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportProductsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportProductsRequest) ProtoMessage() {} + +func (x *ExportProductsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportProductsRequest.ProtoReflect.Descriptor instead. +func (*ExportProductsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{2} +} + +func (x *ExportProductsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ExportProductsRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *ExportProductsRequest) GetOutputConfig() *OutputConfig { + if x != nil { + return x.OutputConfig + } + return nil +} + +func (x *ExportProductsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +// Request message for ExportUserEvents method. +type ExportUserEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. "projects/1234/locations/global/catalogs/default_catalog" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Unique identifier provided by client, within the ancestor + // dataset scope. Ensures idempotency for expensive long running operations. + // Server-generated if unspecified. Up to 128 characters long. This is + // returned as google.longrunning.Operation.name in the response. + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Required. The desired output location of the data. + OutputConfig *OutputConfig `protobuf:"bytes,3,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` + // Filtering expression to specify restrictions over + // returned events. This is a sequence of terms, where each term applies some + // kind of a restriction to the returned user events. Use this expression to + // restrict results to a specific time range, or filter events by eventType. + // eg: eventTime > "2012-04-23T18:25:43.511Z" eventsMissingCatalogItems + // eventTime<"2012-04-23T18:25:43.511Z" eventType=search + // + // We expect only 3 types of fields: + // + // * eventTime: this can be specified a maximum of 2 times, once with a + // less than operator and once with a greater than operator. The + // eventTime restrict should result in one contiguous valid eventTime + // range. + // + // * eventType: Boolean operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // tag values by a space. + // + // * eventsMissingCatalogItems: specifying this will restrict results + // to events for which catalog items were not found in the catalog. The + // default behavior is to return only those events for which catalog + // items were found. + // + // Some examples of valid filters expressions: + // + // * Example 1: eventTime > "2012-04-23T18:25:43.511Z" + // eventTime < "2012-04-23T18:30:43.511Z" + // * Example 2: eventTime > "2012-04-23T18:25:43.511Z" + // eventType = detail-page-view + // * Example 3: eventsMissingCatalogItems + // eventType = (NOT search) eventTime < "2018-04-23T18:30:43.511Z" + // * Example 4: eventTime > "2012-04-23T18:25:43.511Z" + // * Example 5: eventType = (search OR impression) + // * Example 6: eventsMissingCatalogItems + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` +} + +func (x *ExportUserEventsRequest) Reset() { + *x = ExportUserEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportUserEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportUserEventsRequest) ProtoMessage() {} + +func (x *ExportUserEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportUserEventsRequest.ProtoReflect.Descriptor instead. +func (*ExportUserEventsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{3} +} + +func (x *ExportUserEventsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ExportUserEventsRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *ExportUserEventsRequest) GetOutputConfig() *OutputConfig { + if x != nil { + return x.OutputConfig + } + return nil +} + +func (x *ExportUserEventsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +// Metadata related to the progress of the Export operation. This will be +// returned by the google.longrunning.Operation.metadata field. +type ExportMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the operation. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Id of the request / operation. This is parroting back the requestId that + // was passed in the request. + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Operation create time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Operation last update time. If the operation is done, this is also the + // finish time. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` +} + +func (x *ExportMetadata) Reset() { + *x = ExportMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportMetadata) ProtoMessage() {} + +func (x *ExportMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportMetadata.ProtoReflect.Descriptor instead. +func (*ExportMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{4} +} + +func (x *ExportMetadata) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExportMetadata) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *ExportMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ExportMetadata) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +// Response of the ExportProductsRequest. If the long running +// operation is done, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ExportProductsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // Echoes the destination for the complete errors in the request if set. + ErrorsConfig *ExportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` +} + +func (x *ExportProductsResponse) Reset() { + *x = ExportProductsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportProductsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportProductsResponse) ProtoMessage() {} + +func (x *ExportProductsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportProductsResponse.ProtoReflect.Descriptor instead. +func (*ExportProductsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{5} +} + +func (x *ExportProductsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ExportProductsResponse) GetErrorsConfig() *ExportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +// Response of the ExportUserEventsRequest. If the long running +// operation was successful, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ExportUserEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // Echoes the destination for the complete errors if this field was set in + // the request. + ErrorsConfig *ExportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` +} + +func (x *ExportUserEventsResponse) Reset() { + *x = ExportUserEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportUserEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportUserEventsResponse) ProtoMessage() {} + +func (x *ExportUserEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportUserEventsResponse.ProtoReflect.Descriptor instead. +func (*ExportUserEventsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{6} +} + +func (x *ExportUserEventsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ExportUserEventsResponse) GetErrorsConfig() *ExportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +// The Google Cloud Storage output destination configuration. +type OutputConfig_GcsDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The output uri prefix for saving output data to json files. + // Some mapping examples are as follows: + // output_uri_prefix sample output(assuming the object is foo.json) + // ======================== ============================================= + // gs://bucket/ gs://bucket/foo.json + // gs://bucket/folder/ gs://bucket/folder/foo.json + // gs://bucket/folder/item_ gs://bucket/folder/item_foo.json + OutputUriPrefix string `protobuf:"bytes,1,opt,name=output_uri_prefix,json=outputUriPrefix,proto3" json:"output_uri_prefix,omitempty"` +} + +func (x *OutputConfig_GcsDestination) Reset() { + *x = OutputConfig_GcsDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig_GcsDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig_GcsDestination) ProtoMessage() {} + +func (x *OutputConfig_GcsDestination) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutputConfig_GcsDestination.ProtoReflect.Descriptor instead. +func (*OutputConfig_GcsDestination) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *OutputConfig_GcsDestination) GetOutputUriPrefix() string { + if x != nil { + return x.OutputUriPrefix + } + return "" +} + +// The BigQuery output destination configuration. +type OutputConfig_BigQueryDestination struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of a BigQuery Dataset. + DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` +} + +func (x *OutputConfig_BigQueryDestination) Reset() { + *x = OutputConfig_BigQueryDestination{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OutputConfig_BigQueryDestination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OutputConfig_BigQueryDestination) ProtoMessage() {} + +func (x *OutputConfig_BigQueryDestination) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_export_config_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OutputConfig_BigQueryDestination.ProtoReflect.Descriptor instead. +func (*OutputConfig_BigQueryDestination) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *OutputConfig_BigQueryDestination) GetDatasetId() string { + if x != nil { + return x.DatasetId + } + return "" +} + +var File_google_cloud_retail_v2beta_export_config_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_export_config_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x65, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, + 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xed, 0x02, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x62, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x14, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x69, + 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x13, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x55, 0x72, 0x69, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x34, 0x0a, 0x13, 0x42, + 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x44, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, + 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0x0a, 0x15, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x0d, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xc1, 0x01, 0x0a, 0x17, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x12, 0x52, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xbd, 0x01, 0x0a, + 0x0e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa6, 0x01, 0x0a, + 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, + 0x12, 0x53, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa8, 0x01, 0x0a, 0x18, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0xda, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, + 0x65, 0x74, 0x61, 0x42, 0x11, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, + 0x65, 0x74, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, + 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, + 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2beta_export_config_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2beta_export_config_proto_rawDescData = file_google_cloud_retail_v2beta_export_config_proto_rawDesc +) + +func file_google_cloud_retail_v2beta_export_config_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2beta_export_config_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2beta_export_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_export_config_proto_rawDescData) + }) + return file_google_cloud_retail_v2beta_export_config_proto_rawDescData +} + +var file_google_cloud_retail_v2beta_export_config_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_google_cloud_retail_v2beta_export_config_proto_goTypes = []interface{}{ + (*OutputConfig)(nil), // 0: google.cloud.retail.v2beta.OutputConfig + (*ExportErrorsConfig)(nil), // 1: google.cloud.retail.v2beta.ExportErrorsConfig + (*ExportProductsRequest)(nil), // 2: google.cloud.retail.v2beta.ExportProductsRequest + (*ExportUserEventsRequest)(nil), // 3: google.cloud.retail.v2beta.ExportUserEventsRequest + (*ExportMetadata)(nil), // 4: google.cloud.retail.v2beta.ExportMetadata + (*ExportProductsResponse)(nil), // 5: google.cloud.retail.v2beta.ExportProductsResponse + (*ExportUserEventsResponse)(nil), // 6: google.cloud.retail.v2beta.ExportUserEventsResponse + (*OutputConfig_GcsDestination)(nil), // 7: google.cloud.retail.v2beta.OutputConfig.GcsDestination + (*OutputConfig_BigQueryDestination)(nil), // 8: google.cloud.retail.v2beta.OutputConfig.BigQueryDestination + (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp + (*status.Status)(nil), // 10: google.rpc.Status +} +var file_google_cloud_retail_v2beta_export_config_proto_depIdxs = []int32{ + 7, // 0: google.cloud.retail.v2beta.OutputConfig.gcs_destination:type_name -> google.cloud.retail.v2beta.OutputConfig.GcsDestination + 8, // 1: google.cloud.retail.v2beta.OutputConfig.bigquery_destination:type_name -> google.cloud.retail.v2beta.OutputConfig.BigQueryDestination + 0, // 2: google.cloud.retail.v2beta.ExportProductsRequest.output_config:type_name -> google.cloud.retail.v2beta.OutputConfig + 0, // 3: google.cloud.retail.v2beta.ExportUserEventsRequest.output_config:type_name -> google.cloud.retail.v2beta.OutputConfig + 9, // 4: google.cloud.retail.v2beta.ExportMetadata.create_time:type_name -> google.protobuf.Timestamp + 9, // 5: google.cloud.retail.v2beta.ExportMetadata.update_time:type_name -> google.protobuf.Timestamp + 10, // 6: google.cloud.retail.v2beta.ExportProductsResponse.error_samples:type_name -> google.rpc.Status + 1, // 7: google.cloud.retail.v2beta.ExportProductsResponse.errors_config:type_name -> google.cloud.retail.v2beta.ExportErrorsConfig + 10, // 8: google.cloud.retail.v2beta.ExportUserEventsResponse.error_samples:type_name -> google.rpc.Status + 1, // 9: google.cloud.retail.v2beta.ExportUserEventsResponse.errors_config:type_name -> google.cloud.retail.v2beta.ExportErrorsConfig + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_export_config_proto_init() } +func file_google_cloud_retail_v2beta_export_config_proto_init() { + if File_google_cloud_retail_v2beta_export_config_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportErrorsConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportProductsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportUserEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportProductsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportUserEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputConfig_GcsDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OutputConfig_BigQueryDestination); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*OutputConfig_GcsDestination_)(nil), + (*OutputConfig_BigqueryDestination)(nil), + } + file_google_cloud_retail_v2beta_export_config_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*ExportErrorsConfig_GcsPrefix)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_export_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2beta_export_config_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_export_config_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2beta_export_config_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2beta_export_config_proto = out.File + file_google_cloud_retail_v2beta_export_config_proto_rawDesc = nil + file_google_cloud_retail_v2beta_export_config_proto_goTypes = nil + file_google_cloud_retail_v2beta_export_config_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2beta/import_config.pb.go b/googleapis/cloud/retail/v2beta/import_config.pb.go new file mode 100644 index 000000000..316f206ea --- /dev/null +++ b/googleapis/cloud/retail/v2beta/import_config.pb.go @@ -0,0 +1,1489 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2beta/import_config.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Google Cloud Storage location for input content. +// format. +type GcsSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Google Cloud Storage URIs to input files. URI can be up to + // 2000 characters long. URIs can match the full object path (for example, + // gs://bucket/directory/object.json) or a pattern matching one or more + // files, such as gs://bucket/directory/*.json. A request can + // contain at most 100 files, and each file can be up to 2 GB. See + // [Importing product information](/recommendations-ai/docs/upload-catalog) + // for the expected file format and setup instructions. + InputUris []string `protobuf:"bytes,1,rep,name=input_uris,json=inputUris,proto3" json:"input_uris,omitempty"` + // The schema to use when parsing the data from the source. + // + // Supported values for product imports: + // + // 1: "product" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#json + // (Default for products.import) + // + // 2: "product_merchant_center" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc + // + // Supported values for user events imports: + // + // 1: "user_event" using + // https://cloud.google.com/recommendations-ai/docs/manage-user-events#import + // (Default for userEvents.import) + // + // 2. "user_event_ga360" using + // https://support.google.com/analytics/answer/3437719?hl=en + DataSchema string `protobuf:"bytes,2,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"` +} + +func (x *GcsSource) Reset() { + *x = GcsSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GcsSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GcsSource) ProtoMessage() {} + +func (x *GcsSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead. +func (*GcsSource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{0} +} + +func (x *GcsSource) GetInputUris() []string { + if x != nil { + return x.InputUris + } + return nil +} + +func (x *GcsSource) GetDataSchema() string { + if x != nil { + return x.DataSchema + } + return "" +} + +// BigQuery source import data from. +type BigQuerySource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The project id (can be project # or id) that the BigQuery source is in. If + // not specified, inherits the project id from the parent request. + ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // Required. The BigQuery data set to copy the data from. + DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"` + // Required. The BigQuery table to copy the data from. + TableId string `protobuf:"bytes,2,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"` + // Intermediate Cloud Storage directory used for the import. Can be specified + // if one wants to have the BigQuery export to a specific Cloud Storage + // directory. + GcsStagingDir string `protobuf:"bytes,3,opt,name=gcs_staging_dir,json=gcsStagingDir,proto3" json:"gcs_staging_dir,omitempty"` + // The schema to use when parsing the data from the source. + // + // Supported values for catalog imports: + // + // 1: "product" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#json + // (Default for products.import) + // + // 2: "product_merchant_center" using + // https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc + // + // Supported values for user event imports: + // + // 1: "user_event" using + // https://cloud.google.com/recommendations-ai/docs/manage-user-events#import + // (Default for userEvents.import) + // + // 2. "user_event_ga360" using + // https://support.google.com/analytics/answer/3437719?hl=en + DataSchema string `protobuf:"bytes,4,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"` +} + +func (x *BigQuerySource) Reset() { + *x = BigQuerySource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BigQuerySource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BigQuerySource) ProtoMessage() {} + +func (x *BigQuerySource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BigQuerySource.ProtoReflect.Descriptor instead. +func (*BigQuerySource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{1} +} + +func (x *BigQuerySource) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *BigQuerySource) GetDatasetId() string { + if x != nil { + return x.DatasetId + } + return "" +} + +func (x *BigQuerySource) GetTableId() string { + if x != nil { + return x.TableId + } + return "" +} + +func (x *BigQuerySource) GetGcsStagingDir() string { + if x != nil { + return x.GcsStagingDir + } + return "" +} + +func (x *BigQuerySource) GetDataSchema() string { + if x != nil { + return x.DataSchema + } + return "" +} + +// The inline source for the input config for ImportProducts method. +type ProductInlineSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of products to update/create. Recommended max of 10k items. + Products []*Product `protobuf:"bytes,1,rep,name=products,proto3" json:"products,omitempty"` +} + +func (x *ProductInlineSource) Reset() { + *x = ProductInlineSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductInlineSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductInlineSource) ProtoMessage() {} + +func (x *ProductInlineSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductInlineSource.ProtoReflect.Descriptor instead. +func (*ProductInlineSource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{2} +} + +func (x *ProductInlineSource) GetProducts() []*Product { + if x != nil { + return x.Products + } + return nil +} + +// The inline source for the input config for ImportUserEvents method. +type UserEventInlineSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of user events to import. Recommended max of 10k items. + UserEvents []*UserEvent `protobuf:"bytes,1,rep,name=user_events,json=userEvents,proto3" json:"user_events,omitempty"` +} + +func (x *UserEventInlineSource) Reset() { + *x = UserEventInlineSource{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEventInlineSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEventInlineSource) ProtoMessage() {} + +func (x *UserEventInlineSource) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEventInlineSource.ProtoReflect.Descriptor instead. +func (*UserEventInlineSource) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{3} +} + +func (x *UserEventInlineSource) GetUserEvents() []*UserEvent { + if x != nil { + return x.UserEvents + } + return nil +} + +// Configuration of destination for Import related errors. +type ImportErrorsConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Errors destination. + // + // Types that are assignable to Destination: + // *ImportErrorsConfig_GcsPrefix + Destination isImportErrorsConfig_Destination `protobuf_oneof:"destination"` +} + +func (x *ImportErrorsConfig) Reset() { + *x = ImportErrorsConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportErrorsConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportErrorsConfig) ProtoMessage() {} + +func (x *ImportErrorsConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportErrorsConfig.ProtoReflect.Descriptor instead. +func (*ImportErrorsConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{4} +} + +func (m *ImportErrorsConfig) GetDestination() isImportErrorsConfig_Destination { + if m != nil { + return m.Destination + } + return nil +} + +func (x *ImportErrorsConfig) GetGcsPrefix() string { + if x, ok := x.GetDestination().(*ImportErrorsConfig_GcsPrefix); ok { + return x.GcsPrefix + } + return "" +} + +type isImportErrorsConfig_Destination interface { + isImportErrorsConfig_Destination() +} + +type ImportErrorsConfig_GcsPrefix struct { + // Google Cloud Storage path for import errors. This must be an empty, + // existing Cloud Storage bucket. Import errors will be written to a file in + // this bucket, one per line, as a JSON-encoded + // `google.rpc.Status` message. + GcsPrefix string `protobuf:"bytes,1,opt,name=gcs_prefix,json=gcsPrefix,proto3,oneof"` +} + +func (*ImportErrorsConfig_GcsPrefix) isImportErrorsConfig_Destination() {} + +// Request message for Import methods. +type ImportProductsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. + // "projects/1234/locations/global/catalogs/default_catalog/branches/default_branch" + // + // If no updateMask is specified, requires products.create permission. + // If updateMask is specified, requires products.update permission. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The desired input location of the data. + InputConfig *ProductInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` + // The desired location of errors incurred during the Import. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,3,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` + // Indicates which fields in the provided imported 'products' to update. If + // not set, will by default update all fields. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *ImportProductsRequest) Reset() { + *x = ImportProductsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportProductsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportProductsRequest) ProtoMessage() {} + +func (x *ImportProductsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportProductsRequest.ProtoReflect.Descriptor instead. +func (*ImportProductsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{5} +} + +func (x *ImportProductsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ImportProductsRequest) GetInputConfig() *ProductInputConfig { + if x != nil { + return x.InputConfig + } + return nil +} + +func (x *ImportProductsRequest) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +func (x *ImportProductsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for the ImportUserEvents request. +type ImportUserEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. "projects/1234/locations/global/catalogs/default_catalog" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The desired input location of the data. + InputConfig *UserEventInputConfig `protobuf:"bytes,2,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` + // The desired location of errors incurred during the Import. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,3,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` +} + +func (x *ImportUserEventsRequest) Reset() { + *x = ImportUserEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportUserEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportUserEventsRequest) ProtoMessage() {} + +func (x *ImportUserEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportUserEventsRequest.ProtoReflect.Descriptor instead. +func (*ImportUserEventsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{6} +} + +func (x *ImportUserEventsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ImportUserEventsRequest) GetInputConfig() *UserEventInputConfig { + if x != nil { + return x.InputConfig + } + return nil +} + +func (x *ImportUserEventsRequest) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +// The input config source for products. +type ProductInputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The source of the input. + // + // Types that are assignable to Source: + // *ProductInputConfig_ProductInlineSource + // *ProductInputConfig_GcsSource + // *ProductInputConfig_BigQuerySource + Source isProductInputConfig_Source `protobuf_oneof:"source"` +} + +func (x *ProductInputConfig) Reset() { + *x = ProductInputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductInputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductInputConfig) ProtoMessage() {} + +func (x *ProductInputConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductInputConfig.ProtoReflect.Descriptor instead. +func (*ProductInputConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{7} +} + +func (m *ProductInputConfig) GetSource() isProductInputConfig_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *ProductInputConfig) GetProductInlineSource() *ProductInlineSource { + if x, ok := x.GetSource().(*ProductInputConfig_ProductInlineSource); ok { + return x.ProductInlineSource + } + return nil +} + +func (x *ProductInputConfig) GetGcsSource() *GcsSource { + if x, ok := x.GetSource().(*ProductInputConfig_GcsSource); ok { + return x.GcsSource + } + return nil +} + +func (x *ProductInputConfig) GetBigQuerySource() *BigQuerySource { + if x, ok := x.GetSource().(*ProductInputConfig_BigQuerySource); ok { + return x.BigQuerySource + } + return nil +} + +type isProductInputConfig_Source interface { + isProductInputConfig_Source() +} + +type ProductInputConfig_ProductInlineSource struct { + // The Inline source for the input content for products. + ProductInlineSource *ProductInlineSource `protobuf:"bytes,1,opt,name=product_inline_source,json=productInlineSource,proto3,oneof"` +} + +type ProductInputConfig_GcsSource struct { + // Google Cloud Storage location for the input content. + GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` +} + +type ProductInputConfig_BigQuerySource struct { + // BigQuery input source. + BigQuerySource *BigQuerySource `protobuf:"bytes,3,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"` +} + +func (*ProductInputConfig_ProductInlineSource) isProductInputConfig_Source() {} + +func (*ProductInputConfig_GcsSource) isProductInputConfig_Source() {} + +func (*ProductInputConfig_BigQuerySource) isProductInputConfig_Source() {} + +// The input config source for user events. +type UserEventInputConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The source of the input. + // + // Types that are assignable to Source: + // *UserEventInputConfig_UserEventInlineSource + // *UserEventInputConfig_GcsSource + // *UserEventInputConfig_BigQuerySource + Source isUserEventInputConfig_Source `protobuf_oneof:"source"` +} + +func (x *UserEventInputConfig) Reset() { + *x = UserEventInputConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEventInputConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEventInputConfig) ProtoMessage() {} + +func (x *UserEventInputConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEventInputConfig.ProtoReflect.Descriptor instead. +func (*UserEventInputConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{8} +} + +func (m *UserEventInputConfig) GetSource() isUserEventInputConfig_Source { + if m != nil { + return m.Source + } + return nil +} + +func (x *UserEventInputConfig) GetUserEventInlineSource() *UserEventInlineSource { + if x, ok := x.GetSource().(*UserEventInputConfig_UserEventInlineSource); ok { + return x.UserEventInlineSource + } + return nil +} + +func (x *UserEventInputConfig) GetGcsSource() *GcsSource { + if x, ok := x.GetSource().(*UserEventInputConfig_GcsSource); ok { + return x.GcsSource + } + return nil +} + +func (x *UserEventInputConfig) GetBigQuerySource() *BigQuerySource { + if x, ok := x.GetSource().(*UserEventInputConfig_BigQuerySource); ok { + return x.BigQuerySource + } + return nil +} + +type isUserEventInputConfig_Source interface { + isUserEventInputConfig_Source() +} + +type UserEventInputConfig_UserEventInlineSource struct { + // Required. The Inline source for the input content for UserEvents. + UserEventInlineSource *UserEventInlineSource `protobuf:"bytes,1,opt,name=user_event_inline_source,json=userEventInlineSource,proto3,oneof"` +} + +type UserEventInputConfig_GcsSource struct { + // Required. Google Cloud Storage location for the input content. + GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` +} + +type UserEventInputConfig_BigQuerySource struct { + // Required. BigQuery input source. + BigQuerySource *BigQuerySource `protobuf:"bytes,3,opt,name=big_query_source,json=bigQuerySource,proto3,oneof"` +} + +func (*UserEventInputConfig_UserEventInlineSource) isUserEventInputConfig_Source() {} + +func (*UserEventInputConfig_GcsSource) isUserEventInputConfig_Source() {} + +func (*UserEventInputConfig_BigQuerySource) isUserEventInputConfig_Source() {} + +// Metadata related to the progress of the Import operation. This will be +// returned by the google.longrunning.Operation.metadata field. +type ImportMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the operation. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Operation create time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Operation last update time. If the operation is done, this is also the + // finish time. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Count of entries that were processed successfully. + SuccessCount int64 `protobuf:"varint,4,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"` + // Count of entries that encountered errors while processing. + FailureCount int64 `protobuf:"varint,5,opt,name=failure_count,json=failureCount,proto3" json:"failure_count,omitempty"` +} + +func (x *ImportMetadata) Reset() { + *x = ImportMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportMetadata) ProtoMessage() {} + +func (x *ImportMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportMetadata.ProtoReflect.Descriptor instead. +func (*ImportMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{9} +} + +func (x *ImportMetadata) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ImportMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ImportMetadata) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *ImportMetadata) GetSuccessCount() int64 { + if x != nil { + return x.SuccessCount + } + return 0 +} + +func (x *ImportMetadata) GetFailureCount() int64 { + if x != nil { + return x.FailureCount + } + return 0 +} + +// Response of the +// [ImportProductsRequest][google.cloud.retail.v2beta.ImportProductsRequest]. If +// the long running operation is done, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ImportProductsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // Echoes the destination for the complete errors in the request if set. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` +} + +func (x *ImportProductsResponse) Reset() { + *x = ImportProductsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportProductsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportProductsResponse) ProtoMessage() {} + +func (x *ImportProductsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportProductsResponse.ProtoReflect.Descriptor instead. +func (*ImportProductsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{10} +} + +func (x *ImportProductsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ImportProductsResponse) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +// Response of the ImportUserEventsRequest. If the long running +// operation was successful, then this message is returned by the +// google.longrunning.Operations.response field if the operation was successful. +type ImportUserEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A sample of errors encountered while processing the request. + ErrorSamples []*status.Status `protobuf:"bytes,1,rep,name=error_samples,json=errorSamples,proto3" json:"error_samples,omitempty"` + // Echoes the destination for the complete errors if this field was set in + // the request. + ErrorsConfig *ImportErrorsConfig `protobuf:"bytes,2,opt,name=errors_config,json=errorsConfig,proto3" json:"errors_config,omitempty"` + // Aggregated statistics of user event import status. + ImportSummary *UserEventImportSummary `protobuf:"bytes,3,opt,name=import_summary,json=importSummary,proto3" json:"import_summary,omitempty"` +} + +func (x *ImportUserEventsResponse) Reset() { + *x = ImportUserEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportUserEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportUserEventsResponse) ProtoMessage() {} + +func (x *ImportUserEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportUserEventsResponse.ProtoReflect.Descriptor instead. +func (*ImportUserEventsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{11} +} + +func (x *ImportUserEventsResponse) GetErrorSamples() []*status.Status { + if x != nil { + return x.ErrorSamples + } + return nil +} + +func (x *ImportUserEventsResponse) GetErrorsConfig() *ImportErrorsConfig { + if x != nil { + return x.ErrorsConfig + } + return nil +} + +func (x *ImportUserEventsResponse) GetImportSummary() *UserEventImportSummary { + if x != nil { + return x.ImportSummary + } + return nil +} + +// A summary of import result. The UserEventImportSummary summarizes +// the import status for user events. +type UserEventImportSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Count of user events imported with complete existing catalog information. + JoinedEventsCount int64 `protobuf:"varint,1,opt,name=joined_events_count,json=joinedEventsCount,proto3" json:"joined_events_count,omitempty"` + // Count of user events imported, but with catalog information not found + // in the imported catalog. + UnjoinedEventsCount int64 `protobuf:"varint,2,opt,name=unjoined_events_count,json=unjoinedEventsCount,proto3" json:"unjoined_events_count,omitempty"` +} + +func (x *UserEventImportSummary) Reset() { + *x = UserEventImportSummary{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEventImportSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEventImportSummary) ProtoMessage() {} + +func (x *UserEventImportSummary) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_import_config_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEventImportSummary.ProtoReflect.Descriptor instead. +func (*UserEventImportSummary) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP(), []int{12} +} + +func (x *UserEventImportSummary) GetJoinedEventsCount() int64 { + if x != nil { + return x.JoinedEventsCount + } + return 0 +} + +func (x *UserEventImportSummary) GetUnjoinedEventsCount() int64 { + if x != nil { + return x.UnjoinedEventsCount + } + return 0 +} + +var File_google_cloud_retail_v2beta_import_config_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_import_config_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, + 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x09, 0x47, 0x63, 0x73, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, + 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0xbc, 0x01, 0x0a, 0x0e, + 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, + 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, + 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, + 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x67, 0x63, 0x73, 0x53, + 0x74, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x64, 0x61, 0x74, 0x61, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x56, 0x0a, 0x13, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x73, 0x22, 0x5f, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0a, 0x67, 0x63, 0x73, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x67, 0x63, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x02, 0x0a, 0x15, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x56, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xe5, 0x01, 0x0a, 0x17, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, + 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x22, 0xa5, 0x02, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x15, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x13, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x46, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, + 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x42, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, + 0x52, 0x0e, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xbd, 0x02, 0x0a, 0x14, 0x55, + 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x71, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, + 0x15, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x62, 0x69, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x42, 0x69, 0x67, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x48, 0x00, + 0x52, 0x0e, 0x62, 0x69, 0x67, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa6, 0x02, 0x0a, 0x0e, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x3c, 0xea, 0x41, 0x39, 0x0a, 0x1f, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x7d, 0x22, 0xa6, 0x01, 0x0a, 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, + 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x83, 0x02, 0x0a, + 0x18, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x73, 0x12, 0x53, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x59, 0x0a, 0x0e, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x52, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x22, 0x7c, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x13, + 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6a, 0x6f, 0x69, 0x6e, 0x65, + 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, + 0x75, 0x6e, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x75, 0x6e, 0x6a, + 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x42, 0xda, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, + 0x65, 0x74, 0x61, 0x42, 0x11, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, + 0x65, 0x74, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, + 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, + 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, + 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2beta_import_config_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2beta_import_config_proto_rawDescData = file_google_cloud_retail_v2beta_import_config_proto_rawDesc +) + +func file_google_cloud_retail_v2beta_import_config_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2beta_import_config_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2beta_import_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_import_config_proto_rawDescData) + }) + return file_google_cloud_retail_v2beta_import_config_proto_rawDescData +} + +var file_google_cloud_retail_v2beta_import_config_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_google_cloud_retail_v2beta_import_config_proto_goTypes = []interface{}{ + (*GcsSource)(nil), // 0: google.cloud.retail.v2beta.GcsSource + (*BigQuerySource)(nil), // 1: google.cloud.retail.v2beta.BigQuerySource + (*ProductInlineSource)(nil), // 2: google.cloud.retail.v2beta.ProductInlineSource + (*UserEventInlineSource)(nil), // 3: google.cloud.retail.v2beta.UserEventInlineSource + (*ImportErrorsConfig)(nil), // 4: google.cloud.retail.v2beta.ImportErrorsConfig + (*ImportProductsRequest)(nil), // 5: google.cloud.retail.v2beta.ImportProductsRequest + (*ImportUserEventsRequest)(nil), // 6: google.cloud.retail.v2beta.ImportUserEventsRequest + (*ProductInputConfig)(nil), // 7: google.cloud.retail.v2beta.ProductInputConfig + (*UserEventInputConfig)(nil), // 8: google.cloud.retail.v2beta.UserEventInputConfig + (*ImportMetadata)(nil), // 9: google.cloud.retail.v2beta.ImportMetadata + (*ImportProductsResponse)(nil), // 10: google.cloud.retail.v2beta.ImportProductsResponse + (*ImportUserEventsResponse)(nil), // 11: google.cloud.retail.v2beta.ImportUserEventsResponse + (*UserEventImportSummary)(nil), // 12: google.cloud.retail.v2beta.UserEventImportSummary + (*Product)(nil), // 13: google.cloud.retail.v2beta.Product + (*UserEvent)(nil), // 14: google.cloud.retail.v2beta.UserEvent + (*fieldmaskpb.FieldMask)(nil), // 15: google.protobuf.FieldMask + (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp + (*status.Status)(nil), // 17: google.rpc.Status +} +var file_google_cloud_retail_v2beta_import_config_proto_depIdxs = []int32{ + 13, // 0: google.cloud.retail.v2beta.ProductInlineSource.products:type_name -> google.cloud.retail.v2beta.Product + 14, // 1: google.cloud.retail.v2beta.UserEventInlineSource.user_events:type_name -> google.cloud.retail.v2beta.UserEvent + 7, // 2: google.cloud.retail.v2beta.ImportProductsRequest.input_config:type_name -> google.cloud.retail.v2beta.ProductInputConfig + 4, // 3: google.cloud.retail.v2beta.ImportProductsRequest.errors_config:type_name -> google.cloud.retail.v2beta.ImportErrorsConfig + 15, // 4: google.cloud.retail.v2beta.ImportProductsRequest.update_mask:type_name -> google.protobuf.FieldMask + 8, // 5: google.cloud.retail.v2beta.ImportUserEventsRequest.input_config:type_name -> google.cloud.retail.v2beta.UserEventInputConfig + 4, // 6: google.cloud.retail.v2beta.ImportUserEventsRequest.errors_config:type_name -> google.cloud.retail.v2beta.ImportErrorsConfig + 2, // 7: google.cloud.retail.v2beta.ProductInputConfig.product_inline_source:type_name -> google.cloud.retail.v2beta.ProductInlineSource + 0, // 8: google.cloud.retail.v2beta.ProductInputConfig.gcs_source:type_name -> google.cloud.retail.v2beta.GcsSource + 1, // 9: google.cloud.retail.v2beta.ProductInputConfig.big_query_source:type_name -> google.cloud.retail.v2beta.BigQuerySource + 3, // 10: google.cloud.retail.v2beta.UserEventInputConfig.user_event_inline_source:type_name -> google.cloud.retail.v2beta.UserEventInlineSource + 0, // 11: google.cloud.retail.v2beta.UserEventInputConfig.gcs_source:type_name -> google.cloud.retail.v2beta.GcsSource + 1, // 12: google.cloud.retail.v2beta.UserEventInputConfig.big_query_source:type_name -> google.cloud.retail.v2beta.BigQuerySource + 16, // 13: google.cloud.retail.v2beta.ImportMetadata.create_time:type_name -> google.protobuf.Timestamp + 16, // 14: google.cloud.retail.v2beta.ImportMetadata.update_time:type_name -> google.protobuf.Timestamp + 17, // 15: google.cloud.retail.v2beta.ImportProductsResponse.error_samples:type_name -> google.rpc.Status + 4, // 16: google.cloud.retail.v2beta.ImportProductsResponse.errors_config:type_name -> google.cloud.retail.v2beta.ImportErrorsConfig + 17, // 17: google.cloud.retail.v2beta.ImportUserEventsResponse.error_samples:type_name -> google.rpc.Status + 4, // 18: google.cloud.retail.v2beta.ImportUserEventsResponse.errors_config:type_name -> google.cloud.retail.v2beta.ImportErrorsConfig + 12, // 19: google.cloud.retail.v2beta.ImportUserEventsResponse.import_summary:type_name -> google.cloud.retail.v2beta.UserEventImportSummary + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_import_config_proto_init() } +func file_google_cloud_retail_v2beta_import_config_proto_init() { + if File_google_cloud_retail_v2beta_import_config_proto != nil { + return + } + file_google_cloud_retail_v2beta_product_proto_init() + file_google_cloud_retail_v2beta_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GcsSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BigQuerySource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductInlineSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEventInlineSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportErrorsConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportProductsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportUserEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductInputConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEventInputConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportProductsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportUserEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEventImportSummary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*ImportErrorsConfig_GcsPrefix)(nil), + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*ProductInputConfig_ProductInlineSource)(nil), + (*ProductInputConfig_GcsSource)(nil), + (*ProductInputConfig_BigQuerySource)(nil), + } + file_google_cloud_retail_v2beta_import_config_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*UserEventInputConfig_UserEventInlineSource)(nil), + (*UserEventInputConfig_GcsSource)(nil), + (*UserEventInputConfig_BigQuerySource)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_import_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 13, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2beta_import_config_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_import_config_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2beta_import_config_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2beta_import_config_proto = out.File + file_google_cloud_retail_v2beta_import_config_proto_rawDesc = nil + file_google_cloud_retail_v2beta_import_config_proto_goTypes = nil + file_google_cloud_retail_v2beta_import_config_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2beta/prediction_service.pb.go b/googleapis/cloud/retail/v2beta/prediction_service.pb.go new file mode 100644 index 000000000..9f165b787 --- /dev/null +++ b/googleapis/cloud/retail/v2beta/prediction_service.pb.go @@ -0,0 +1,691 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2beta/prediction_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + structpb "google.golang.org/protobuf/types/known/structpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Request message for Predict method. +type PredictRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of the format: + // {name=projects/*/locations/global/catalogs/default_catalog/placements/*} + // The id of the recommendation engine placement. This id is used to identify + // the set of models that will be used to make the prediction. + // + // We currently support three placements with the following IDs by default: + // + // * `shopping_cart`: Predicts products frequently bought together with one or + // more products in the same shopping session. Commonly displayed after + // `add-to-cart` events, on product detail pages, or on the shopping cart + // page. + // + // * `home_page`: Predicts the next product that a user will most likely + // engage with or purchase based on the shopping or viewing history of the + // specified `userId` or `visitorId`. For example - Recommendations for you. + // + // * `product_detail`: Predicts the next product that a user will most likely + // engage with or purchase. The prediction is based on the shopping or + // viewing history of the specified `userId` or `visitorId` and its + // relevance to a specified `CatalogItem`. Typically used on product detail + // pages. For example - More products like this. + // + // * `recently_viewed_default`: Returns up to 75 products recently viewed by + // the + // specified `userId` or `visitorId`, most recent ones first. Returns + // nothing if neither of them has viewed any products yet. For example - + // Recently viewed. + // + // The full list of available placements can be seen at + // + // https: + // //console.cloud.google.com/recommendatio + // // n/datafeeds/default_catalog/dashboard + Placement string `protobuf:"bytes,1,opt,name=placement,proto3" json:"placement,omitempty"` + // Required. Context about the user, what they are looking at and what action + // they took to trigger the predict request. Note that this user event detail + // won't be ingested to userEvent logs. Thus, a separate userEvent write + // request is required for event logging. + UserEvent *UserEvent `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"` + // Maximum number of results to return per page. Set this property + // to the number of prediction results needed. If zero, the service will + // choose a reasonable default. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // The previous PredictResponse.next_page_token. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filter for restricting prediction results. Accepts values for + // tags and the `filterOutOfStockItems` flag. + // + // * Tag expressions. Restricts predictions to products that match all of the + // specified tags. Boolean operators `OR` and `NOT` are supported if the + // expression is enclosed in parentheses, and must be separated from the + // tag values by a space. `-"tagA"` is also supported and is equivalent to + // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings + // with a size limit of 1 KiB. + // + // * filterOutOfStockItems. Restricts predictions to products that do not + // have a + // stockState value of OUT_OF_STOCK. + // + // Examples: + // + // * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional") + // * filterOutOfStockItems tag=(-"promotional") + // * filterOutOfStockItems + // + // If your filter blocks all prediction results, nothing will be returned. If + // you want generic (unfiltered) popular products to be returned instead, set + // `strictFiltering` to false in `PredictRequest.params`. + Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"` + // Use validate only mode for this prediction query. If set to true, a + // dummy model will be used that returns arbitrary products. + // Note that the validate only mode should only be used for testing the API, + // or if the model is not ready. + ValidateOnly bool `protobuf:"varint,6,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` + // Additional domain specific parameters for the predictions. + // + // Allowed values: + // + // * `returnProduct`: Boolean. If set to true, the associated product + // object will be returned in the + // `PredictResponse.PredictionResult.productMetadata` object in the method + // response. + // * `returnScore`: Boolean. If set to true, the prediction 'score' + // corresponding to each returned product will be set in the `metadata` + // field in the prediction response. The given 'score' indicates the + // probability of an product being clicked/purchased given the user's + // context and history. + // * `strictFiltering`: Boolean. True by default. If set to false, the service + // will return generic (unfiltered) popular products instead of empty if + // your filter blocks all prediction results. + Params map[string]*structpb.Value `protobuf:"bytes,7,rep,name=params,proto3" json:"params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The labels for the predict request. + // + // * Label keys can contain lowercase letters, digits and hyphens, must start + // with a letter, and must end with a letter or digit. + // * Non-zero label values can contain lowercase letters, digits and hyphens, + // must start with a letter, and must end with a letter or digit. + // * No more than 64 labels can be associated with a given request. + // + // See https://goo.gl/xmQnxf for more information on and examples of labels. + Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PredictRequest) Reset() { + *x = PredictRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_prediction_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictRequest) ProtoMessage() {} + +func (x *PredictRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_prediction_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredictRequest.ProtoReflect.Descriptor instead. +func (*PredictRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_prediction_service_proto_rawDescGZIP(), []int{0} +} + +func (x *PredictRequest) GetPlacement() string { + if x != nil { + return x.Placement + } + return "" +} + +func (x *PredictRequest) GetUserEvent() *UserEvent { + if x != nil { + return x.UserEvent + } + return nil +} + +func (x *PredictRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *PredictRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *PredictRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PredictRequest) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +func (x *PredictRequest) GetParams() map[string]*structpb.Value { + if x != nil { + return x.Params + } + return nil +} + +func (x *PredictRequest) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +// Response message for predict method. +type PredictResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of recommended products. The order represents the ranking (from the + // most relevant product to the least). + Results []*PredictResponse_PredictionResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + // A unique attribution token. This should be included in the + // [UserEvent][google.cloud.retail.v2beta.UserEvent] logs resulting from this + // recommendation, which enables accurate attribution of recommendation model + // performance. + AttributionToken string `protobuf:"bytes,2,opt,name=attribution_token,json=attributionToken,proto3" json:"attribution_token,omitempty"` + // IDs of products in the request that were missing from the inventory. + MissingIds []string `protobuf:"bytes,3,rep,name=missing_ids,json=missingIds,proto3" json:"missing_ids,omitempty"` + // True if the validateOnly property was set in the request. + ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` +} + +func (x *PredictResponse) Reset() { + *x = PredictResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_prediction_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictResponse) ProtoMessage() {} + +func (x *PredictResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_prediction_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredictResponse.ProtoReflect.Descriptor instead. +func (*PredictResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_prediction_service_proto_rawDescGZIP(), []int{1} +} + +func (x *PredictResponse) GetResults() []*PredictResponse_PredictionResult { + if x != nil { + return x.Results + } + return nil +} + +func (x *PredictResponse) GetAttributionToken() string { + if x != nil { + return x.AttributionToken + } + return "" +} + +func (x *PredictResponse) GetMissingIds() []string { + if x != nil { + return x.MissingIds + } + return nil +} + +func (x *PredictResponse) GetValidateOnly() bool { + if x != nil { + return x.ValidateOnly + } + return false +} + +// PredictionResult represents the recommendation prediction results. +type PredictResponse_PredictionResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID of the recommended product + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Additional product metadata / annotations. + // + // Possible values: + // + // * `product`: JSON representation of the product. Will be set if + // `returnProduct` is set to true in `PredictRequest.params`. + // * `score`: Prediction score in double value. Will be set if + // `returnScore` is set to true in `PredictRequest.params`. + Metadata map[string]*structpb.Value `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *PredictResponse_PredictionResult) Reset() { + *x = PredictResponse_PredictionResult{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_prediction_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PredictResponse_PredictionResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PredictResponse_PredictionResult) ProtoMessage() {} + +func (x *PredictResponse_PredictionResult) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_prediction_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PredictResponse_PredictionResult.ProtoReflect.Descriptor instead. +func (*PredictResponse_PredictionResult) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_prediction_service_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *PredictResponse_PredictionResult) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PredictResponse_PredictionResult) GetMetadata() map[string]*structpb.Value { + if x != nil { + return x.Metadata + } + return nil +} + +var File_google_cloud_retail_v2beta_prediction_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_prediction_service_proto_rawDesc = []byte{ + 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, + 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, + 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x04, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x4e, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4e, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x51, + 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbe, 0x03, 0x0a, + 0x0f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x56, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, + 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0xdf, 0x01, 0x0a, 0x10, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x66, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x53, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0x9a, 0x02, + 0x0a, 0x11, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0xb9, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x12, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, + 0x22, 0x4a, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, + 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x1a, + 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xdf, 0x01, 0x0a, 0x1e, 0x63, + 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x42, 0x16, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, + 0x49, 0x4c, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xca, + 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2beta_prediction_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2beta_prediction_service_proto_rawDescData = file_google_cloud_retail_v2beta_prediction_service_proto_rawDesc +) + +func file_google_cloud_retail_v2beta_prediction_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2beta_prediction_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2beta_prediction_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_prediction_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2beta_prediction_service_proto_rawDescData +} + +var file_google_cloud_retail_v2beta_prediction_service_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_google_cloud_retail_v2beta_prediction_service_proto_goTypes = []interface{}{ + (*PredictRequest)(nil), // 0: google.cloud.retail.v2beta.PredictRequest + (*PredictResponse)(nil), // 1: google.cloud.retail.v2beta.PredictResponse + nil, // 2: google.cloud.retail.v2beta.PredictRequest.ParamsEntry + nil, // 3: google.cloud.retail.v2beta.PredictRequest.LabelsEntry + (*PredictResponse_PredictionResult)(nil), // 4: google.cloud.retail.v2beta.PredictResponse.PredictionResult + nil, // 5: google.cloud.retail.v2beta.PredictResponse.PredictionResult.MetadataEntry + (*UserEvent)(nil), // 6: google.cloud.retail.v2beta.UserEvent + (*structpb.Value)(nil), // 7: google.protobuf.Value +} +var file_google_cloud_retail_v2beta_prediction_service_proto_depIdxs = []int32{ + 6, // 0: google.cloud.retail.v2beta.PredictRequest.user_event:type_name -> google.cloud.retail.v2beta.UserEvent + 2, // 1: google.cloud.retail.v2beta.PredictRequest.params:type_name -> google.cloud.retail.v2beta.PredictRequest.ParamsEntry + 3, // 2: google.cloud.retail.v2beta.PredictRequest.labels:type_name -> google.cloud.retail.v2beta.PredictRequest.LabelsEntry + 4, // 3: google.cloud.retail.v2beta.PredictResponse.results:type_name -> google.cloud.retail.v2beta.PredictResponse.PredictionResult + 7, // 4: google.cloud.retail.v2beta.PredictRequest.ParamsEntry.value:type_name -> google.protobuf.Value + 5, // 5: google.cloud.retail.v2beta.PredictResponse.PredictionResult.metadata:type_name -> google.cloud.retail.v2beta.PredictResponse.PredictionResult.MetadataEntry + 7, // 6: google.cloud.retail.v2beta.PredictResponse.PredictionResult.MetadataEntry.value:type_name -> google.protobuf.Value + 0, // 7: google.cloud.retail.v2beta.PredictionService.Predict:input_type -> google.cloud.retail.v2beta.PredictRequest + 1, // 8: google.cloud.retail.v2beta.PredictionService.Predict:output_type -> google.cloud.retail.v2beta.PredictResponse + 8, // [8:9] is the sub-list for method output_type + 7, // [7:8] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_prediction_service_proto_init() } +func file_google_cloud_retail_v2beta_prediction_service_proto_init() { + if File_google_cloud_retail_v2beta_prediction_service_proto != nil { + return + } + file_google_cloud_retail_v2beta_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2beta_prediction_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_prediction_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_prediction_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PredictResponse_PredictionResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_prediction_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2beta_prediction_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_prediction_service_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2beta_prediction_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2beta_prediction_service_proto = out.File + file_google_cloud_retail_v2beta_prediction_service_proto_rawDesc = nil + file_google_cloud_retail_v2beta_prediction_service_proto_goTypes = nil + file_google_cloud_retail_v2beta_prediction_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// PredictionServiceClient is the client API for PredictionService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type PredictionServiceClient interface { + // Makes a recommendation prediction. + Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error) +} + +type predictionServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewPredictionServiceClient(cc grpc.ClientConnInterface) PredictionServiceClient { + return &predictionServiceClient{cc} +} + +func (c *predictionServiceClient) Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*PredictResponse, error) { + out := new(PredictResponse) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.PredictionService/Predict", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// PredictionServiceServer is the server API for PredictionService service. +type PredictionServiceServer interface { + // Makes a recommendation prediction. + Predict(context.Context, *PredictRequest) (*PredictResponse, error) +} + +// UnimplementedPredictionServiceServer can be embedded to have forward compatible implementations. +type UnimplementedPredictionServiceServer struct { +} + +func (*UnimplementedPredictionServiceServer) Predict(context.Context, *PredictRequest) (*PredictResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Predict not implemented") +} + +func RegisterPredictionServiceServer(s *grpc.Server, srv PredictionServiceServer) { + s.RegisterService(&_PredictionService_serviceDesc, srv) +} + +func _PredictionService_Predict_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PredictRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PredictionServiceServer).Predict(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.PredictionService/Predict", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PredictionServiceServer).Predict(ctx, req.(*PredictRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _PredictionService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2beta.PredictionService", + HandlerType: (*PredictionServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Predict", + Handler: _PredictionService_Predict_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2beta/prediction_service.proto", +} diff --git a/googleapis/cloud/retail/v2beta/product.pb.go b/googleapis/cloud/retail/v2beta/product.pb.go new file mode 100644 index 000000000..ae4caad78 --- /dev/null +++ b/googleapis/cloud/retail/v2beta/product.pb.go @@ -0,0 +1,666 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2beta/product.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/known/durationpb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Product availability. If this field is unspecified, the product is +// assumed to be in stock. +type Product_Availability int32 + +const ( + // Default product availability. Default to + // [Availability.IN_STOCK][google.cloud.retail.v2beta.Product.Availability.IN_STOCK] + // if unset. + Product_AVAILABILITY_UNSPECIFIED Product_Availability = 0 + // Product in stock. + Product_IN_STOCK Product_Availability = 1 + // Product out of stock. + Product_OUT_OF_STOCK Product_Availability = 2 + // Product that is in pre-order state. + Product_PREORDER Product_Availability = 3 + // Product that is back-ordered (i.e. temporarily out of stock). + Product_BACKORDER Product_Availability = 4 +) + +// Enum value maps for Product_Availability. +var ( + Product_Availability_name = map[int32]string{ + 0: "AVAILABILITY_UNSPECIFIED", + 1: "IN_STOCK", + 2: "OUT_OF_STOCK", + 3: "PREORDER", + 4: "BACKORDER", + } + Product_Availability_value = map[string]int32{ + "AVAILABILITY_UNSPECIFIED": 0, + "IN_STOCK": 1, + "OUT_OF_STOCK": 2, + "PREORDER": 3, + "BACKORDER": 4, + } +) + +func (x Product_Availability) Enum() *Product_Availability { + p := new(Product_Availability) + *p = x + return p +} + +func (x Product_Availability) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Product_Availability) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_retail_v2beta_product_proto_enumTypes[0].Descriptor() +} + +func (Product_Availability) Type() protoreflect.EnumType { + return &file_google_cloud_retail_v2beta_product_proto_enumTypes[0] +} + +func (x Product_Availability) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Product_Availability.Descriptor instead. +func (Product_Availability) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_product_proto_rawDescGZIP(), []int{0, 0} +} + +// Product captures all metadata information of items to be recommended or +// searched. +type Product struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Immutable. Full resource name of the product, such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id". + // + // The branch ID must be "default_branch". + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Immutable. [Product][google.cloud.retail.v2beta.Product] identifier, which + // is the final component of [name][google.cloud.retail.v2beta.Product.name]. + // For example, this field is "id_1", if + // [name][google.cloud.retail.v2beta.Product.name] is + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1". + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [id](https://support.google.com/merchants/answer/6324405). + // schema.org Property [Product.sku](https://schema.org/sku). + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + // Variant group identifier. Must be an + // [id][google.cloud.retail.v2beta.Product.id], with the same parent branch + // with this product. Otherwise, an error is thrown. + // + // The primary product may be empty during the creation, but cannot be updated + // from a non-empty string to an empty one. Otherwise an INVALID_ARGUMENT + // error is returned. + // + // Should only be set for [Type.VARIANT][] + // [Product][google.cloud.retail.v2beta.Product]s. A maximum of 1000 products + // are allowed to share the same [Type.PRIMARY][] + // [Product][google.cloud.retail.v2beta.Product]. Otherwise, an + // INVALID_ARGUMENT error is returned. + // + // Google Merchant Center Property + // [item_group_id](https://support.google.com/merchants/answer/6324507). + // schema.org Property + // [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID). + // + // This field must be enabled before it can be used. [Learn + // more](/recommendations-ai/docs/catalog#item-group-id). + PrimaryProductId string `protobuf:"bytes,4,opt,name=primary_product_id,json=primaryProductId,proto3" json:"primary_product_id,omitempty"` + // Required. Product categories. This field is repeated for supporting one + // product belonging to several parallel categories. Each value is either the + // full path of the category, or the [category + // + // ID](https: + // //www.google.com/basepages/producttype/taxonomy-with-ids.en-US.txt). + // Strongly recommended using the full path for better search / recommendation + // quality. + // + // To represent full path of category, use '>' sign to separate different + // hierarchies. If '>' is part of the category name, you should escape it with + // '\x3E'. + // + // For example, if a shoes product belongs to both + // ["Shoes & Accessories" -> "Shoes"] and + // ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be + // represented as: + // + // "categories": [ + // "Shoes & Accessories > Shoes", + // "Sports & Fitness > Athletic Clothing > Shoes" + // ] + // + // At most 250 values are allowed per + // [Product][google.cloud.retail.v2beta.Product]. Empty values are not + // allowed. Each value must be a UTF-8 encoded string with a length limit of 5 + // KiB. Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // + // [google_product_category](https: + // //support.google.com/merchants/answer/6324436). + // Schema.org property [Product.category] (https://schema.org/category). + Categories []string `protobuf:"bytes,7,rep,name=categories,proto3" json:"categories,omitempty"` + // Required. Product title. + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [title](https://support.google.com/merchants/answer/6324415). Schema.org + // property [Product.name](https://schema.org/name). + Title string `protobuf:"bytes,8,opt,name=title,proto3" json:"title,omitempty"` + // Product description. + // + // This field must be a UTF-8 encoded string with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [description](https://support.google.com/merchants/answer/6324468). + // schema.org property [Product.description](https://schema.org/description). + Description string `protobuf:"bytes,10,opt,name=description,proto3" json:"description,omitempty"` + // Language of the title/description and other string attributes. Use language + // tags defined by [BCP 47][https://www.rfc-editor.org/rfc/bcp/bcp47.txt]. + // + // The model automatically detects the text language. The + // [Product][google.cloud.retail.v2beta.Product] can include text in different + // languages, but duplicating [Product][google.cloud.retail.v2beta.Product]s + // to provide text in multiple languages can result in degraded model + // performance. + // + // Currently, recommendation supports all language codes, while the only + // supported language code for search is "en-US". + LanguageCode string `protobuf:"bytes,11,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` + // Highly encouraged. Extra product attributes to be included. For example, + // for products, this could include the store name, vendor, style, color, etc. + // These are very strong signals for recommendation model, thus we highly + // recommend providing the attributes here. + // + // Features that can take on one of a limited number of possible values. Two + // types of features can be set are: + // + // Textual features. some examples would be the brand/maker of a product, or + // country of a customer. Numerical features. Some examples would be the + // height/weight of a product, or age of a customer. + // + // For example: { "vendor": {"text": ["vendor123", "vendor456"]}, + // "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} + // }. + // + // A maximum of 150 attributes are allowed. Otherwise, an INVALID_ARGUMENT + // error is returned. + 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"` + // Custom tags associated with the product. + // + // At most 250 values are allowed per + // [Product][google.cloud.retail.v2beta.Product]. This value must be a UTF-8 + // encoded string with a length limit of 1 KiB. Otherwise, an INVALID_ARGUMENT + // error is returned. + // + // This tag can be used for filtering recommendation results by passing the + // tag as part of the + // [PredictRequest.filter][google.cloud.retail.v2beta.PredictRequest.filter]. + // + // Google Merchant Center property + // [custom_label_0–4](https://support.google.com/merchants/answer/6324473). + Tags []string `protobuf:"bytes,13,rep,name=tags,proto3" json:"tags,omitempty"` + // Product price and cost information. + // + // Google Merchant Center property + // [price](https://support.google.com/merchants/answer/6324371). + PriceInfo *PriceInfo `protobuf:"bytes,14,opt,name=price_info,json=priceInfo,proto3" json:"price_info,omitempty"` + // The timestamp when this [Product][google.cloud.retail.v2beta.Product] + // becomes available recommendation and search. + AvailableTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=available_time,json=availableTime,proto3" json:"available_time,omitempty"` + // The online availability of the + // [Product][google.cloud.retail.v2beta.Product], which is parallel to and + // independent of [fulfillment_info][]. Default is + // [Availability.IN_STOCK][google.cloud.retail.v2beta.Product.Availability.IN_STOCK]. + // + // Google Merchant Center Property + // [availability](https://support.google.com/merchants/answer/6324448). + // schema.org Property [Offer.availability](https://schema.org/availability). + Availability Product_Availability `protobuf:"varint,19,opt,name=availability,proto3,enum=google.cloud.retail.v2beta.Product_Availability" json:"availability,omitempty"` + // The available quantity of the item. + AvailableQuantity *wrapperspb.Int32Value `protobuf:"bytes,20,opt,name=available_quantity,json=availableQuantity,proto3" json:"available_quantity,omitempty"` + // Canonical URL directly linking to the product detail page. + // + // This field must be a UTF-8 encoded string with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Google Merchant Center property + // [link](https://support.google.com/merchants/answer/6324416). + // Schema.org property [Offer.url](https://schema.org/url). + Uri string `protobuf:"bytes,22,opt,name=uri,proto3" json:"uri,omitempty"` + // Product images for the product. + // + // Google Merchant Center property + // [image_link](https://support.google.com/merchants/answer/6324350). + // Schema.org property [Product.image](https://schema.org/image). + Images []*Image `protobuf:"bytes,23,rep,name=images,proto3" json:"images,omitempty"` + // Indicates which fields in the [variants][] are retrievable in [Search][]. + // If not set or empty, the following fields are returned: + // + // * [name][google.cloud.retail.v2beta.Product.name] + // * [availability][google.cloud.retail.v2beta.Product.availability] + // * [color_info][] + // + // Supported fields: + // + // * [name][google.cloud.retail.v2beta.Product.name] + // * [availability][google.cloud.retail.v2beta.Product.availability] + // * [color_info][] + // * [gtin][] + // * [price_info][google.cloud.retail.v2beta.Product.price_info] + // * [sizes][] + // * [materials][] + // * [patterns][] + // * [conditions][] + // * [images][google.cloud.retail.v2beta.Product.images] + // * [attributes][google.cloud.retail.v2beta.Product.attributes] + // + // To mark custom attributes as retrievable, include paths of the form + // "attributes.key" where "key" is the key of a custom attribute, as + // specified in [attributes][google.cloud.retail.v2beta.Product.attributes]. + // + // Maximum number of paths is 10. Otherwise, an INVALID_ARGUMENT error is + // returned. + StockingUnitRetrievableFields *fieldmaskpb.FieldMask `protobuf:"bytes,30,opt,name=stocking_unit_retrievable_fields,json=stockingUnitRetrievableFields,proto3" json:"stocking_unit_retrievable_fields,omitempty"` +} + +func (x *Product) Reset() { + *x = Product{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_product_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Product) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Product) ProtoMessage() {} + +func (x *Product) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_product_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Product.ProtoReflect.Descriptor instead. +func (*Product) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_product_proto_rawDescGZIP(), []int{0} +} + +func (x *Product) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Product) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Product) GetPrimaryProductId() string { + if x != nil { + return x.PrimaryProductId + } + return "" +} + +func (x *Product) GetCategories() []string { + if x != nil { + return x.Categories + } + return nil +} + +func (x *Product) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *Product) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Product) GetLanguageCode() string { + if x != nil { + return x.LanguageCode + } + return "" +} + +func (x *Product) GetAttributes() map[string]*CustomAttribute { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *Product) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *Product) GetPriceInfo() *PriceInfo { + if x != nil { + return x.PriceInfo + } + return nil +} + +func (x *Product) GetAvailableTime() *timestamppb.Timestamp { + if x != nil { + return x.AvailableTime + } + return nil +} + +func (x *Product) GetAvailability() Product_Availability { + if x != nil { + return x.Availability + } + return Product_AVAILABILITY_UNSPECIFIED +} + +func (x *Product) GetAvailableQuantity() *wrapperspb.Int32Value { + if x != nil { + return x.AvailableQuantity + } + return nil +} + +func (x *Product) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *Product) GetImages() []*Image { + if x != nil { + return x.Images + } + return nil +} + +func (x *Product) GetStockingUnitRetrievableFields() *fieldmaskpb.FieldMask { + if x != nil { + return x.StockingUnitRetrievableFields + } + return nil +} + +var File_google_cloud_retail_v2beta_product_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_product_proto_rawDesc = []byte{ + 0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x09, 0x0a, + 0x07, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, + 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x61, 0x67, 0x73, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0e, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, + 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x69, 0x12, 0x39, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x63, 0x0a, 0x20, + 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x72, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x52, 0x1d, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x55, 0x6e, 0x69, 0x74, + 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x1a, 0x6a, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x69, 0x0a, + 0x0c, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1c, 0x0a, + 0x18, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, + 0x4e, 0x5f, 0x53, 0x54, 0x4f, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x55, 0x54, + 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x54, 0x4f, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, + 0x52, 0x45, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x41, 0x43, + 0x4b, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0x04, 0x3a, 0x84, 0x01, 0xea, 0x41, 0x80, 0x01, 0x0a, + 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x5f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, + 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x7d, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, + 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x7d, 0x2f, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x7d, 0x42, + 0xc4, 0x02, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x42, 0x0c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x3b, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1a, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, + 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x41, 0x6c, 0x0a, 0x1c, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x74, 0x61, + 0x6c, 0x6f, 0x67, 0x7d, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x62, + 0x72, 0x61, 0x6e, 0x63, 0x68, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2beta_product_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2beta_product_proto_rawDescData = file_google_cloud_retail_v2beta_product_proto_rawDesc +) + +func file_google_cloud_retail_v2beta_product_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2beta_product_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2beta_product_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_product_proto_rawDescData) + }) + return file_google_cloud_retail_v2beta_product_proto_rawDescData +} + +var file_google_cloud_retail_v2beta_product_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_retail_v2beta_product_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_google_cloud_retail_v2beta_product_proto_goTypes = []interface{}{ + (Product_Availability)(0), // 0: google.cloud.retail.v2beta.Product.Availability + (*Product)(nil), // 1: google.cloud.retail.v2beta.Product + nil, // 2: google.cloud.retail.v2beta.Product.AttributesEntry + (*PriceInfo)(nil), // 3: google.cloud.retail.v2beta.PriceInfo + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp + (*wrapperspb.Int32Value)(nil), // 5: google.protobuf.Int32Value + (*Image)(nil), // 6: google.cloud.retail.v2beta.Image + (*fieldmaskpb.FieldMask)(nil), // 7: google.protobuf.FieldMask + (*CustomAttribute)(nil), // 8: google.cloud.retail.v2beta.CustomAttribute +} +var file_google_cloud_retail_v2beta_product_proto_depIdxs = []int32{ + 2, // 0: google.cloud.retail.v2beta.Product.attributes:type_name -> google.cloud.retail.v2beta.Product.AttributesEntry + 3, // 1: google.cloud.retail.v2beta.Product.price_info:type_name -> google.cloud.retail.v2beta.PriceInfo + 4, // 2: google.cloud.retail.v2beta.Product.available_time:type_name -> google.protobuf.Timestamp + 0, // 3: google.cloud.retail.v2beta.Product.availability:type_name -> google.cloud.retail.v2beta.Product.Availability + 5, // 4: google.cloud.retail.v2beta.Product.available_quantity:type_name -> google.protobuf.Int32Value + 6, // 5: google.cloud.retail.v2beta.Product.images:type_name -> google.cloud.retail.v2beta.Image + 7, // 6: google.cloud.retail.v2beta.Product.stocking_unit_retrievable_fields:type_name -> google.protobuf.FieldMask + 8, // 7: google.cloud.retail.v2beta.Product.AttributesEntry.value:type_name -> google.cloud.retail.v2beta.CustomAttribute + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_product_proto_init() } +func file_google_cloud_retail_v2beta_product_proto_init() { + if File_google_cloud_retail_v2beta_product_proto != nil { + return + } + file_google_cloud_retail_v2beta_common_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2beta_product_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Product); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_product_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2beta_product_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_product_proto_depIdxs, + EnumInfos: file_google_cloud_retail_v2beta_product_proto_enumTypes, + MessageInfos: file_google_cloud_retail_v2beta_product_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2beta_product_proto = out.File + file_google_cloud_retail_v2beta_product_proto_rawDesc = nil + file_google_cloud_retail_v2beta_product_proto_goTypes = nil + file_google_cloud_retail_v2beta_product_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2beta/product_service.pb.go b/googleapis/cloud/retail/v2beta/product_service.pb.go new file mode 100644 index 000000000..ca485054f --- /dev/null +++ b/googleapis/cloud/retail/v2beta/product_service.pb.go @@ -0,0 +1,929 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2beta/product_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + longrunning "google.golang.org/genproto/googleapis/longrunning" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Request message for [CreateProduct][] method. +type CreateProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent catalog resource name, such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The [Product][google.cloud.retail.v2beta.Product] to create. + Product *Product `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"` + // Required. The ID to use for the + // [Product][google.cloud.retail.v2beta.Product], which will become the final + // component of the [Product.name][google.cloud.retail.v2beta.Product.name]. + // + // If the caller does not have permission to create the + // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not + // it exists, a PERMISSION_DENIED error is returned. + // + // This field must be unique among all + // [Product][google.cloud.retail.v2beta.Product]s with the same + // [parent][google.cloud.retail.v2beta.CreateProductRequest.parent]. + // Otherwise, an ALREADY_EXISTS error is returned. + // + // This field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + ProductId string `protobuf:"bytes,3,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"` +} + +func (x *CreateProductRequest) Reset() { + *x = CreateProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProductRequest) ProtoMessage() {} + +func (x *CreateProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateProductRequest.ProtoReflect.Descriptor instead. +func (*CreateProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_product_service_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateProductRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateProductRequest) GetProduct() *Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *CreateProductRequest) GetProductId() string { + if x != nil { + return x.ProductId + } + return "" +} + +// Request message for [GetProduct][] method. +type GetProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of + // [Product][google.cloud.retail.v2beta.Product], such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id". + // + // If the caller does not have permission to access the + // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not + // it exists, a PERMISSION_DENIED error is returned. + // + // If the requested [Product][google.cloud.retail.v2beta.Product] does not + // exist, a NOT_FOUND error is returned. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetProductRequest) Reset() { + *x = GetProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProductRequest) ProtoMessage() {} + +func (x *GetProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProductRequest.ProtoReflect.Descriptor instead. +func (*GetProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_product_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetProductRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for [UpdateProduct][] method. +type UpdateProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The product to update/create. + // + // If the caller does not have permission to update the + // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not + // it exists, a PERMISSION_DENIED error is returned. + // + // If the [Product][google.cloud.retail.v2beta.Product] to update does not + // exist, a NOT_FOUND error is returned. + Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"` + // Indicates which fields in the provided + // [Product][google.cloud.retail.v2beta.Product] to update. The immutable and + // output only fields are NOT supported. If not set, all supported fields (the + // fields that are neither immutable nor output only) are updated. + // + // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error + // is returned. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateProductRequest) Reset() { + *x = UpdateProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateProductRequest) ProtoMessage() {} + +func (x *UpdateProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateProductRequest.ProtoReflect.Descriptor instead. +func (*UpdateProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_product_service_proto_rawDescGZIP(), []int{2} +} + +func (x *UpdateProductRequest) GetProduct() *Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *UpdateProductRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request message for [DeleteProduct][] method. +type DeleteProductRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of + // [Product][google.cloud.retail.v2beta.Product], such as + // + // "projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id". + // + // If the caller does not have permission to delete the + // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not + // it exists, a PERMISSION_DENIED error is returned. + // + // If the [Product][google.cloud.retail.v2beta.Product] to delete does not + // exist, a NOT_FOUND error is returned. + // + // The [Product][google.cloud.retail.v2beta.Product] to delete can neither be + // a non-empty [Product.Type.COLLECTION][] + // [Product][google.cloud.retail.v2beta.Product] nor a + // [Product.Type.PRIMARY][] [Product][google.cloud.retail.v2beta.Product] with + // more than one [variants][Product.Type.VARIANT]. Otherwise, a + // FAILED_PRECONDITION error is returned. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteProductRequest) Reset() { + *x = DeleteProductRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteProductRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteProductRequest) ProtoMessage() {} + +func (x *DeleteProductRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_product_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteProductRequest.ProtoReflect.Descriptor instead. +func (*DeleteProductRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_product_service_proto_rawDescGZIP(), []int{3} +} + +func (x *DeleteProductRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +var File_google_cloud_retail_v2beta_product_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_product_service_proto_rawDesc = []byte{ + 0x0a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x65, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, + 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1e, 0x0a, + 0x1c, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0x4e, 0x0a, + 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x97, 0x01, + 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x51, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xc6, 0x0b, 0x0a, 0x0e, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdb, 0x01, + 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x22, 0x46, + 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, + 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0xda, + 0x41, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x2c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x12, 0xb8, 0x01, 0x0a, 0x0a, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, 0x56, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, + 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x22, + 0x76, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x32, 0x4f, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, + 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xb1, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x2a, 0x47, 0x2f, 0x76, 0x32, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, + 0x6e, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x99, 0x02, 0x0a, 0x0d, + 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x22, 0x4c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, + 0x68, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, + 0x70, 0x75, 0x72, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x5c, 0x0a, 0x30, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x9e, 0x02, 0x0a, 0x0e, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x22, 0x4d, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x2f, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x5e, 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x42, 0xdc, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x42, 0x13, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, + 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, + 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, + 0x32, 0x62, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x62, 0x65, + 0x74, 0x61, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2beta_product_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2beta_product_service_proto_rawDescData = file_google_cloud_retail_v2beta_product_service_proto_rawDesc +) + +func file_google_cloud_retail_v2beta_product_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2beta_product_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2beta_product_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_product_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2beta_product_service_proto_rawDescData +} + +var file_google_cloud_retail_v2beta_product_service_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_google_cloud_retail_v2beta_product_service_proto_goTypes = []interface{}{ + (*CreateProductRequest)(nil), // 0: google.cloud.retail.v2beta.CreateProductRequest + (*GetProductRequest)(nil), // 1: google.cloud.retail.v2beta.GetProductRequest + (*UpdateProductRequest)(nil), // 2: google.cloud.retail.v2beta.UpdateProductRequest + (*DeleteProductRequest)(nil), // 3: google.cloud.retail.v2beta.DeleteProductRequest + (*Product)(nil), // 4: google.cloud.retail.v2beta.Product + (*fieldmaskpb.FieldMask)(nil), // 5: google.protobuf.FieldMask + (*PurgeProductsRequest)(nil), // 6: google.cloud.retail.v2beta.PurgeProductsRequest + (*ImportProductsRequest)(nil), // 7: google.cloud.retail.v2beta.ImportProductsRequest + (*emptypb.Empty)(nil), // 8: google.protobuf.Empty + (*longrunning.Operation)(nil), // 9: google.longrunning.Operation +} +var file_google_cloud_retail_v2beta_product_service_proto_depIdxs = []int32{ + 4, // 0: google.cloud.retail.v2beta.CreateProductRequest.product:type_name -> google.cloud.retail.v2beta.Product + 4, // 1: google.cloud.retail.v2beta.UpdateProductRequest.product:type_name -> google.cloud.retail.v2beta.Product + 5, // 2: google.cloud.retail.v2beta.UpdateProductRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 3: google.cloud.retail.v2beta.ProductService.CreateProduct:input_type -> google.cloud.retail.v2beta.CreateProductRequest + 1, // 4: google.cloud.retail.v2beta.ProductService.GetProduct:input_type -> google.cloud.retail.v2beta.GetProductRequest + 2, // 5: google.cloud.retail.v2beta.ProductService.UpdateProduct:input_type -> google.cloud.retail.v2beta.UpdateProductRequest + 3, // 6: google.cloud.retail.v2beta.ProductService.DeleteProduct:input_type -> google.cloud.retail.v2beta.DeleteProductRequest + 6, // 7: google.cloud.retail.v2beta.ProductService.PurgeProducts:input_type -> google.cloud.retail.v2beta.PurgeProductsRequest + 7, // 8: google.cloud.retail.v2beta.ProductService.ImportProducts:input_type -> google.cloud.retail.v2beta.ImportProductsRequest + 4, // 9: google.cloud.retail.v2beta.ProductService.CreateProduct:output_type -> google.cloud.retail.v2beta.Product + 4, // 10: google.cloud.retail.v2beta.ProductService.GetProduct:output_type -> google.cloud.retail.v2beta.Product + 4, // 11: google.cloud.retail.v2beta.ProductService.UpdateProduct:output_type -> google.cloud.retail.v2beta.Product + 8, // 12: google.cloud.retail.v2beta.ProductService.DeleteProduct:output_type -> google.protobuf.Empty + 9, // 13: google.cloud.retail.v2beta.ProductService.PurgeProducts:output_type -> google.longrunning.Operation + 9, // 14: google.cloud.retail.v2beta.ProductService.ImportProducts:output_type -> google.longrunning.Operation + 9, // [9:15] is the sub-list for method output_type + 3, // [3:9] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_product_service_proto_init() } +func file_google_cloud_retail_v2beta_product_service_proto_init() { + if File_google_cloud_retail_v2beta_product_service_proto != nil { + return + } + file_google_cloud_retail_v2beta_export_config_proto_init() + file_google_cloud_retail_v2beta_import_config_proto_init() + file_google_cloud_retail_v2beta_product_proto_init() + file_google_cloud_retail_v2beta_purge_config_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2beta_product_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_product_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_product_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_product_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteProductRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_product_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2beta_product_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_product_service_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2beta_product_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2beta_product_service_proto = out.File + file_google_cloud_retail_v2beta_product_service_proto_rawDesc = nil + file_google_cloud_retail_v2beta_product_service_proto_goTypes = nil + file_google_cloud_retail_v2beta_product_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// ProductServiceClient is the client API for ProductService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ProductServiceClient interface { + // Creates a [Product][google.cloud.retail.v2beta.Product]. + CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) + // Gets a [Product][google.cloud.retail.v2beta.Product]. + GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error) + // Updates a [Product][google.cloud.retail.v2beta.Product]. Non-existing items + // will be created. + UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) + // Deletes a [Product][google.cloud.retail.v2beta.Product]. + DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + // Permanently deletes all [Product][google.cloud.retail.v2beta.Product]s + // under a branch. + // + // Depending on the number of [Product][google.cloud.retail.v2beta.Product]s, + // this operation could take hours to complete. To get a sample of + // [Product][google.cloud.retail.v2beta.Product]s that would be deleted, set + // [PurgeProductsRequest.force][google.cloud.retail.v2beta.PurgeProductsRequest.force] + // to false. + PurgeProducts(ctx context.Context, in *PurgeProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Bulk import of multiple [Product][google.cloud.retail.v2beta.Product]s. + // + // Request processing may be synchronous. No partial updating is supported. + // Non-existing items are created. + // + // Note that it is possible for a subset of the + // [Product][google.cloud.retail.v2beta.Product]s to be successfully updated. + ImportProducts(ctx context.Context, in *ImportProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) +} + +type productServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewProductServiceClient(cc grpc.ClientConnInterface) ProductServiceClient { + return &productServiceClient{cc} +} + +func (c *productServiceClient) CreateProduct(ctx context.Context, in *CreateProductRequest, opts ...grpc.CallOption) (*Product, error) { + out := new(Product) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.ProductService/CreateProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) GetProduct(ctx context.Context, in *GetProductRequest, opts ...grpc.CallOption) (*Product, error) { + out := new(Product) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.ProductService/GetProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) UpdateProduct(ctx context.Context, in *UpdateProductRequest, opts ...grpc.CallOption) (*Product, error) { + out := new(Product) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.ProductService/UpdateProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) DeleteProduct(ctx context.Context, in *DeleteProductRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.ProductService/DeleteProduct", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) PurgeProducts(ctx context.Context, in *PurgeProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.ProductService/PurgeProducts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *productServiceClient) ImportProducts(ctx context.Context, in *ImportProductsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.ProductService/ImportProducts", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProductServiceServer is the server API for ProductService service. +type ProductServiceServer interface { + // Creates a [Product][google.cloud.retail.v2beta.Product]. + CreateProduct(context.Context, *CreateProductRequest) (*Product, error) + // Gets a [Product][google.cloud.retail.v2beta.Product]. + GetProduct(context.Context, *GetProductRequest) (*Product, error) + // Updates a [Product][google.cloud.retail.v2beta.Product]. Non-existing items + // will be created. + UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error) + // Deletes a [Product][google.cloud.retail.v2beta.Product]. + DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error) + // Permanently deletes all [Product][google.cloud.retail.v2beta.Product]s + // under a branch. + // + // Depending on the number of [Product][google.cloud.retail.v2beta.Product]s, + // this operation could take hours to complete. To get a sample of + // [Product][google.cloud.retail.v2beta.Product]s that would be deleted, set + // [PurgeProductsRequest.force][google.cloud.retail.v2beta.PurgeProductsRequest.force] + // to false. + PurgeProducts(context.Context, *PurgeProductsRequest) (*longrunning.Operation, error) + // Bulk import of multiple [Product][google.cloud.retail.v2beta.Product]s. + // + // Request processing may be synchronous. No partial updating is supported. + // Non-existing items are created. + // + // Note that it is possible for a subset of the + // [Product][google.cloud.retail.v2beta.Product]s to be successfully updated. + ImportProducts(context.Context, *ImportProductsRequest) (*longrunning.Operation, error) +} + +// UnimplementedProductServiceServer can be embedded to have forward compatible implementations. +type UnimplementedProductServiceServer struct { +} + +func (*UnimplementedProductServiceServer) CreateProduct(context.Context, *CreateProductRequest) (*Product, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProduct not implemented") +} +func (*UnimplementedProductServiceServer) GetProduct(context.Context, *GetProductRequest) (*Product, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProduct not implemented") +} +func (*UnimplementedProductServiceServer) UpdateProduct(context.Context, *UpdateProductRequest) (*Product, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateProduct not implemented") +} +func (*UnimplementedProductServiceServer) DeleteProduct(context.Context, *DeleteProductRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteProduct not implemented") +} +func (*UnimplementedProductServiceServer) PurgeProducts(context.Context, *PurgeProductsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method PurgeProducts not implemented") +} +func (*UnimplementedProductServiceServer) ImportProducts(context.Context, *ImportProductsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportProducts not implemented") +} + +func RegisterProductServiceServer(s *grpc.Server, srv ProductServiceServer) { + s.RegisterService(&_ProductService_serviceDesc, srv) +} + +func _ProductService_CreateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).CreateProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.ProductService/CreateProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).CreateProduct(ctx, req.(*CreateProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_GetProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).GetProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.ProductService/GetProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).GetProduct(ctx, req.(*GetProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_UpdateProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).UpdateProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.ProductService/UpdateProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).UpdateProduct(ctx, req.(*UpdateProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_DeleteProduct_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteProductRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).DeleteProduct(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.ProductService/DeleteProduct", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).DeleteProduct(ctx, req.(*DeleteProductRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_PurgeProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PurgeProductsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).PurgeProducts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.ProductService/PurgeProducts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).PurgeProducts(ctx, req.(*PurgeProductsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProductService_ImportProducts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportProductsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProductServiceServer).ImportProducts(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.ProductService/ImportProducts", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProductServiceServer).ImportProducts(ctx, req.(*ImportProductsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _ProductService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2beta.ProductService", + HandlerType: (*ProductServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateProduct", + Handler: _ProductService_CreateProduct_Handler, + }, + { + MethodName: "GetProduct", + Handler: _ProductService_GetProduct_Handler, + }, + { + MethodName: "UpdateProduct", + Handler: _ProductService_UpdateProduct_Handler, + }, + { + MethodName: "DeleteProduct", + Handler: _ProductService_DeleteProduct_Handler, + }, + { + MethodName: "PurgeProducts", + Handler: _ProductService_PurgeProducts_Handler, + }, + { + MethodName: "ImportProducts", + Handler: _ProductService_ImportProducts_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2beta/product_service.proto", +} diff --git a/googleapis/cloud/retail/v2beta/purge_config.pb.go b/googleapis/cloud/retail/v2beta/purge_config.pb.go new file mode 100644 index 000000000..83130c235 --- /dev/null +++ b/googleapis/cloud/retail/v2beta/purge_config.pb.go @@ -0,0 +1,587 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2beta/purge_config.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Metadata related to the progress of the Purge operation. +// This will be returned by the google.longrunning.Operation.metadata field. +type PurgeMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the request / operation. + Operation string `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` + // Operation create time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` +} + +func (x *PurgeMetadata) Reset() { + *x = PurgeMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeMetadata) ProtoMessage() {} + +func (x *PurgeMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeMetadata.ProtoReflect.Descriptor instead. +func (*PurgeMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_purge_config_proto_rawDescGZIP(), []int{0} +} + +func (x *PurgeMetadata) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +func (x *PurgeMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +// Request message for PurgeProducts method. +type PurgeProductsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the catalog under which the products are + // created. The format is + // "projects/${projectId}/locations/global/catalogs/${catalogId}" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. Filter matching the products to be purged. Only supported value + // at the moment is "*" (all items). + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The default value is false. Override this flag to true to + // actually perform the purge. If the field is not set to true, a sampling of + // products to be deleted will be returned. + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *PurgeProductsRequest) Reset() { + *x = PurgeProductsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeProductsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeProductsRequest) ProtoMessage() {} + +func (x *PurgeProductsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeProductsRequest.ProtoReflect.Descriptor instead. +func (*PurgeProductsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_purge_config_proto_rawDescGZIP(), []int{1} +} + +func (x *PurgeProductsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *PurgeProductsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PurgeProductsRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Response of the PurgeProductsRequest. If the long running operation is +// successfully done, then this message is returned by the +// google.longrunning.Operations.response field. +type PurgeProductsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The total count of products purged as a result of the operation. + PurgedCount int64 `protobuf:"varint,1,opt,name=purged_count,json=purgedCount,proto3" json:"purged_count,omitempty"` + // A random sampling of products deleted (or will be deleted) depending + // on the `force` property in the request. Max of 500 items will be returned. + // Currently, this is only populated if force=false. + ProductsSample []*Product `protobuf:"bytes,2,rep,name=products_sample,json=productsSample,proto3" json:"products_sample,omitempty"` +} + +func (x *PurgeProductsResponse) Reset() { + *x = PurgeProductsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeProductsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeProductsResponse) ProtoMessage() {} + +func (x *PurgeProductsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeProductsResponse.ProtoReflect.Descriptor instead. +func (*PurgeProductsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_purge_config_proto_rawDescGZIP(), []int{2} +} + +func (x *PurgeProductsResponse) GetPurgedCount() int64 { + if x != nil { + return x.PurgedCount + } + return 0 +} + +func (x *PurgeProductsResponse) GetProductsSample() []*Product { + if x != nil { + return x.ProductsSample + } + return nil +} + +// Request message for PurgeUserEvents method. +type PurgeUserEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The resource name of the event_store under which the events are + // created. The format is + // + // "projects/${projectId}/locations/global/catalogs/${catalogId}/eventStores/${eventStoreId}" + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The filter string to specify the events to be deleted. Empty + // string filter is not allowed. The eligible fields + // for filtering are: + // + // * `eventType`: UserEvent.eventType field of type string. + // * `eventTime`: in ISO 8601 "zulu" format. + // * `visitorId`: field of type string. Specifying this will delete all + // events associated with a visitor. + // * `userId`: field of type string. Specifying this will delete all events + // associated with a user. + // + // Examples: + // + // * Deleting all events in a time range: + // `eventTime > "2012-04-23T18:25:43.511Z" + // eventTime < "2012-04-23T18:30:43.511Z"` + // * Deleting specific eventType in time range: + // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` + // * Deleting all events for a specific visitor: + // `visitorId = "visitor1024"` + // + // The filtering fields are assumed to have an implicit AND. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // The default value is false. Override this flag to true to + // actually perform the purge. If the field is not set to true, a sampling of + // events to be deleted will be returned. + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` +} + +func (x *PurgeUserEventsRequest) Reset() { + *x = PurgeUserEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeUserEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeUserEventsRequest) ProtoMessage() {} + +func (x *PurgeUserEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeUserEventsRequest.ProtoReflect.Descriptor instead. +func (*PurgeUserEventsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_purge_config_proto_rawDescGZIP(), []int{3} +} + +func (x *PurgeUserEventsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *PurgeUserEventsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *PurgeUserEventsRequest) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Response of the PurgeUserEventsRequest. If the long running operation is +// successfully done, then this message is returned by the +// google.longrunning.Operations.response field. +type PurgeUserEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The total count of events purged as a result of the operation. + PurgedEventsCount int64 `protobuf:"varint,1,opt,name=purged_events_count,json=purgedEventsCount,proto3" json:"purged_events_count,omitempty"` + // A sampling of events deleted (or will be deleted) depending on the `force` + // property in the request. Max of 500 items will be returned. + UserEventsSample []*UserEvent `protobuf:"bytes,2,rep,name=user_events_sample,json=userEventsSample,proto3" json:"user_events_sample,omitempty"` +} + +func (x *PurgeUserEventsResponse) Reset() { + *x = PurgeUserEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurgeUserEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurgeUserEventsResponse) ProtoMessage() {} + +func (x *PurgeUserEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurgeUserEventsResponse.ProtoReflect.Descriptor instead. +func (*PurgeUserEventsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_purge_config_proto_rawDescGZIP(), []int{4} +} + +func (x *PurgeUserEventsResponse) GetPurgedEventsCount() int64 { + if x != nil { + return x.PurgedEventsCount + } + return 0 +} + +func (x *PurgeUserEventsResponse) GetUserEventsSample() []*UserEvent { + if x != nil { + return x.UserEventsSample + } + return nil +} + +var File_google_cloud_retail_v2beta_purge_config_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_purge_config_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x75, 0x72, + 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x0d, 0x50, 0x75, 0x72, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x66, + 0x0a, 0x14, 0x50, 0x75, 0x72, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x15, 0x50, 0x75, 0x72, 0x67, 0x65, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x75, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x75, 0x72, 0x67, 0x65, 0x64, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x5f, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x22, 0x68, 0x0a, 0x16, 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x17, + 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x75, 0x72, 0x67, 0x65, + 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x70, 0x75, 0x72, 0x67, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x42, 0xd9, 0x01, 0x0a, + 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x42, + 0x10, 0x50, 0x75, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, + 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x3b, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, + 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2beta_purge_config_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2beta_purge_config_proto_rawDescData = file_google_cloud_retail_v2beta_purge_config_proto_rawDesc +) + +func file_google_cloud_retail_v2beta_purge_config_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2beta_purge_config_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2beta_purge_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_purge_config_proto_rawDescData) + }) + return file_google_cloud_retail_v2beta_purge_config_proto_rawDescData +} + +var file_google_cloud_retail_v2beta_purge_config_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_cloud_retail_v2beta_purge_config_proto_goTypes = []interface{}{ + (*PurgeMetadata)(nil), // 0: google.cloud.retail.v2beta.PurgeMetadata + (*PurgeProductsRequest)(nil), // 1: google.cloud.retail.v2beta.PurgeProductsRequest + (*PurgeProductsResponse)(nil), // 2: google.cloud.retail.v2beta.PurgeProductsResponse + (*PurgeUserEventsRequest)(nil), // 3: google.cloud.retail.v2beta.PurgeUserEventsRequest + (*PurgeUserEventsResponse)(nil), // 4: google.cloud.retail.v2beta.PurgeUserEventsResponse + (*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp + (*Product)(nil), // 6: google.cloud.retail.v2beta.Product + (*UserEvent)(nil), // 7: google.cloud.retail.v2beta.UserEvent +} +var file_google_cloud_retail_v2beta_purge_config_proto_depIdxs = []int32{ + 5, // 0: google.cloud.retail.v2beta.PurgeMetadata.create_time:type_name -> google.protobuf.Timestamp + 6, // 1: google.cloud.retail.v2beta.PurgeProductsResponse.products_sample:type_name -> google.cloud.retail.v2beta.Product + 7, // 2: google.cloud.retail.v2beta.PurgeUserEventsResponse.user_events_sample:type_name -> google.cloud.retail.v2beta.UserEvent + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_purge_config_proto_init() } +func file_google_cloud_retail_v2beta_purge_config_proto_init() { + if File_google_cloud_retail_v2beta_purge_config_proto != nil { + return + } + file_google_cloud_retail_v2beta_product_proto_init() + file_google_cloud_retail_v2beta_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeProductsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeProductsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeUserEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_purge_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurgeUserEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_purge_config_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2beta_purge_config_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_purge_config_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2beta_purge_config_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2beta_purge_config_proto = out.File + file_google_cloud_retail_v2beta_purge_config_proto_rawDesc = nil + file_google_cloud_retail_v2beta_purge_config_proto_goTypes = nil + file_google_cloud_retail_v2beta_purge_config_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2beta/user_event.pb.go b/googleapis/cloud/retail/v2beta/user_event.pb.go new file mode 100644 index 000000000..b1aacd494 --- /dev/null +++ b/googleapis/cloud/retail/v2beta/user_event.pb.go @@ -0,0 +1,708 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2beta/user_event.proto + +package retail + +import ( + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// UserEvent captures all metadata information recommendation engine needs to +// know about how end users interact with customers' website. +type UserEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. User event type. Allowed values are: + // + // * `add-to-cart` Products being added to cart. + // * `category-page-view` Special pages such as sale or promotion pages + // viewed. + // * `detail-page-view` Products detail page viewed. + // * `home-page-view` Homepage viewed. + // * `purchase-complete` User finishing a purchase. + // * `search` + // * `shopping-cart-page-view` User viewing a shopping cart. + EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + // Required. A unique identifier for tracking visitors. For example, this + // could be implemented with a http cookie, which should be able to uniquely + // identify a visitor on a single device. This unique identifier should not + // change if the visitor log in/out of the website. + // + // The field must be a UTF-8 encoded string with a length limit of 128 bytes. + // Otherwise, an INVALID_ARGUMENT error is returned. + VisitorId string `protobuf:"bytes,2,opt,name=visitor_id,json=visitorId,proto3" json:"visitor_id,omitempty"` + // Only required for + // [UserEventService.ImportUserEvents][google.cloud.retail.v2beta.UserEventService.ImportUserEvents] + // method. Timestamp of when the user event happened. + EventTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"` + // A list of identifiers for the independent experiment groups + // this user event belongs to. This is used to distinguish between user events + // associated with different experiment setups (e.g. using Recommendations AI, + // using different recommendation models). + ExperimentIds []string `protobuf:"bytes,4,rep,name=experiment_ids,json=experimentIds,proto3" json:"experiment_ids,omitempty"` + // Highly recommended for user events that are the result of + // [PredictionService.Predict][google.cloud.retail.v2beta.PredictionService.Predict]. + // This field enables accurate attribution of recommendation model + // performance. + // + // The value must be a valid + // [PredictResponse.attribute_token][] for user events that are the result of + // [PredictionService.Predict][google.cloud.retail.v2beta.PredictionService.Predict]. + // + // This token enables us to accurately attribute page view or purchase back to + // the event and the particular predict response containing this + // clicked/purchased product. If user clicks on product K in the + // recommendation results, pass [PredictResponse.attribute_token][] as a url + // parameter to product K's page. When recording events on product K's page, + // log the [PredictResponse.attribute_token][] to this field. + AttributionToken string `protobuf:"bytes,5,opt,name=attribution_token,json=attributionToken,proto3" json:"attribution_token,omitempty"` + // The main product details related to the event. + // + // This field is required for the following event types: + // + // * `add-to-cart` + // * `detail-page-view` + // * `purchase-complete` + // + // In a `search` event, this field represents the products returned to the end + // user on the current page (the end user may have not finished broswing the + // whole page yet). When a new page is returned to the end user, after + // pagination/filtering/ordering even for the same query, a new SEARCH event + // with different + // [product_details][google.cloud.retail.v2beta.UserEvent.product_details] is + // desired. The end user may have not finished broswing the whole page yet. + ProductDetails []*ProductDetail `protobuf:"bytes,6,rep,name=product_details,json=productDetails,proto3" json:"product_details,omitempty"` + // Extra user event features to include in the recommendation model. + // + // For product recommendation, an example of extra user information is + // traffic_channel, i.e. how user arrives at the site. Users can arrive + // at the site by coming to the site directly, or coming through Google + // search, and etc. + Attributes map[string]*CustomAttribute `protobuf:"bytes,7,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The id or name of the associated shopping cart. This id is used + // to associate multiple items added or present in the cart before purchase. + // + // This can only be set for `add-to-cart`, `remove-from-cart`, + // `checkout-start`, `purchase-complete`, or `shopping-cart-page-view` events. + CartId string `protobuf:"bytes,8,opt,name=cart_id,json=cartId,proto3" json:"cart_id,omitempty"` + // A transaction represents the entire purchase transaction. + // + // Required for `purchase-complete` events. Optional for `checkout-start` + // events. Other event types should not set this field. Otherwise, an + // INVALID_ARGUMENT error is returned. + PurchaseTransaction *PurchaseTransaction `protobuf:"bytes,9,opt,name=purchase_transaction,json=purchaseTransaction,proto3" json:"purchase_transaction,omitempty"` + // The user's search query. + // + // The value must be a UTF-8 encoded string with a length limit of 5 KiB. + // Otherwise, an INVALID_ARGUMENT error is returned. + // + // Required for `search` events. Other event types should not set this field. + // Otherwise, an INVALID_ARGUMENT error is returned. + SearchQuery string `protobuf:"bytes,10,opt,name=search_query,json=searchQuery,proto3" json:"search_query,omitempty"` + // The categories associated with a category page. + // + // To represent full path of category, use '>' sign to separate different + // hierarchies. If '>' is part of the category name, you should escape it with + // '\x3E'. + // + // Category pages include special pages such as sales or promotions. For + // instance, a special sale page may have the category hierarchy: + // "pageCategories" : ["Sales > 2017 Black Friday Deals"]. + // + // Required for `category-page-view` events. Other event types should not set + // this field. Otherwise, an INVALID_ARGUMENT error is returned. + PageCategories []string `protobuf:"bytes,11,rep,name=page_categories,json=pageCategories,proto3" json:"page_categories,omitempty"` + // User information. + UserInfo *UserInfo `protobuf:"bytes,12,opt,name=user_info,json=userInfo,proto3" json:"user_info,omitempty"` + // Complete url (window.location.href) of the user's current page. + // When using the client side event reporting with JavaScript pixel and Google + // Tag Manager, this value is filled in automatically. Maximum length 5KB. + Uri string `protobuf:"bytes,13,opt,name=uri,proto3" json:"uri,omitempty"` + // The referrer url of the current page. When using + // the client side event reporting with JavaScript pixel and Google Tag + // Manager, this value is filled in automatically. + ReferrerUri string `protobuf:"bytes,14,opt,name=referrer_uri,json=referrerUri,proto3" json:"referrer_uri,omitempty"` + // A unique id of a web page view. + // This should be kept the same for all user events triggered from the same + // pageview. For example, an item detail page view could trigger multiple + // events as the user is browsing the page. + // The `pageViewId` property should be kept the same for all these events so + // that they can be grouped together properly. This `pageViewId` will be + // automatically generated if using the client side event reporting with + // JavaScript pixel and Google Tag Manager. + PageViewId string `protobuf:"bytes,15,opt,name=page_view_id,json=pageViewId,proto3" json:"page_view_id,omitempty"` + // User event source. + // Acceptable values are: + // + // * `client_tag` if the event is ingested via a JavaScript tag or + // Recommendations AI Tag through automl datalayer or JS Macros. + // * `client_tag_ecommerce` if the event is ingested via Recommendations AI + // Tag through + // Enhanced Ecommerce datalayer. + // * 'batch_upload' if the event is ingested via ImportUserEvents API. + // + // This field should *not* be set when using client side event reporting with + // JavaScript pixel and Google Tag Manager or the Recommendations AI Tag. + EventSource string `protobuf:"bytes,16,opt,name=event_source,json=eventSource,proto3" json:"event_source,omitempty"` +} + +func (x *UserEvent) Reset() { + *x = UserEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_user_event_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserEvent) ProtoMessage() {} + +func (x *UserEvent) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_user_event_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserEvent.ProtoReflect.Descriptor instead. +func (*UserEvent) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_user_event_proto_rawDescGZIP(), []int{0} +} + +func (x *UserEvent) GetEventType() string { + if x != nil { + return x.EventType + } + return "" +} + +func (x *UserEvent) GetVisitorId() string { + if x != nil { + return x.VisitorId + } + return "" +} + +func (x *UserEvent) GetEventTime() *timestamppb.Timestamp { + if x != nil { + return x.EventTime + } + return nil +} + +func (x *UserEvent) GetExperimentIds() []string { + if x != nil { + return x.ExperimentIds + } + return nil +} + +func (x *UserEvent) GetAttributionToken() string { + if x != nil { + return x.AttributionToken + } + return "" +} + +func (x *UserEvent) GetProductDetails() []*ProductDetail { + if x != nil { + return x.ProductDetails + } + return nil +} + +func (x *UserEvent) GetAttributes() map[string]*CustomAttribute { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *UserEvent) GetCartId() string { + if x != nil { + return x.CartId + } + return "" +} + +func (x *UserEvent) GetPurchaseTransaction() *PurchaseTransaction { + if x != nil { + return x.PurchaseTransaction + } + return nil +} + +func (x *UserEvent) GetSearchQuery() string { + if x != nil { + return x.SearchQuery + } + return "" +} + +func (x *UserEvent) GetPageCategories() []string { + if x != nil { + return x.PageCategories + } + return nil +} + +func (x *UserEvent) GetUserInfo() *UserInfo { + if x != nil { + return x.UserInfo + } + return nil +} + +func (x *UserEvent) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *UserEvent) GetReferrerUri() string { + if x != nil { + return x.ReferrerUri + } + return "" +} + +func (x *UserEvent) GetPageViewId() string { + if x != nil { + return x.PageViewId + } + return "" +} + +func (x *UserEvent) GetEventSource() string { + if x != nil { + return x.EventSource + } + return "" +} + +// Detailed product information associated with a user event. +type ProductDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. [Product][google.cloud.retail.v2beta.Product] information. + // Only [Product][id] field must to be set. + Product *Product `protobuf:"bytes,1,opt,name=product,proto3" json:"product,omitempty"` + // Quantity of the product associated with the user event. For + // example, this field will be 2 if two products are added to the shopping + // cart for `purchase-complete` event. Required for `add-to-cart` and + // `purchase-complete` event types. + Quantity *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=quantity,proto3" json:"quantity,omitempty"` +} + +func (x *ProductDetail) Reset() { + *x = ProductDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_user_event_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProductDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProductDetail) ProtoMessage() {} + +func (x *ProductDetail) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_user_event_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProductDetail.ProtoReflect.Descriptor instead. +func (*ProductDetail) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_user_event_proto_rawDescGZIP(), []int{1} +} + +func (x *ProductDetail) GetProduct() *Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *ProductDetail) GetQuantity() *wrapperspb.Int32Value { + if x != nil { + return x.Quantity + } + return nil +} + +// A transaction represents the entire purchase transaction. +type PurchaseTransaction struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The transaction ID with a length limit of 128 bytes. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Required. Total revenue or grand total associated with the transaction. + // This value include shipping, tax, or other adjustments to total revenue + // that you want to include as part of your revenue calculations. This field + // is not required if the event type is `refund`. + Revenue float32 `protobuf:"fixed32,2,opt,name=revenue,proto3" json:"revenue,omitempty"` + // All the taxes associated with the transaction. + Tax float32 `protobuf:"fixed32,3,opt,name=tax,proto3" json:"tax,omitempty"` + // All the costs associated with the product. These can be + // manufacturing costs, shipping expenses not borne by the end user, or any + // other costs. + // + // Total product cost such that + // profit = revenue - tax + [Product][pricing][cost] + // If product_cost is not set, then + // profit = revenue - tax - [Product][pricing][cost]. + // + // If [Product][pricing][cost] is not specified for one of the products, + // [Product][pricing][cost] based profit *cannot* be calculated for this + // Transaction. + Cost float32 `protobuf:"fixed32,4,opt,name=cost,proto3" json:"cost,omitempty"` + // Required. Currency code. Use three-character ISO-4217 code. This field + // is not required if the event type is `refund`. + CurrencyCode string `protobuf:"bytes,5,opt,name=currency_code,json=currencyCode,proto3" json:"currency_code,omitempty"` +} + +func (x *PurchaseTransaction) Reset() { + *x = PurchaseTransaction{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_user_event_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PurchaseTransaction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PurchaseTransaction) ProtoMessage() {} + +func (x *PurchaseTransaction) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_user_event_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PurchaseTransaction.ProtoReflect.Descriptor instead. +func (*PurchaseTransaction) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_user_event_proto_rawDescGZIP(), []int{2} +} + +func (x *PurchaseTransaction) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PurchaseTransaction) GetRevenue() float32 { + if x != nil { + return x.Revenue + } + return 0 +} + +func (x *PurchaseTransaction) GetTax() float32 { + if x != nil { + return x.Tax + } + return 0 +} + +func (x *PurchaseTransaction) GetCost() float32 { + if x != nil { + return x.Cost + } + return 0 +} + +func (x *PurchaseTransaction) GetCurrencyCode() string { + if x != nil { + return x.CurrencyCode + } + return "" +} + +var File_google_cloud_retail_v2beta_user_event_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_user_event_proto_rawDesc = []byte{ + 0x0a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, + 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xff, 0x06, 0x0a, + 0x09, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, + 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x76, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, + 0x0e, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x52, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x55, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, + 0x63, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, + 0x61, 0x72, 0x74, 0x49, 0x64, 0x12, 0x62, 0x0a, 0x14, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, + 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2e, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x70, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x67, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x55, 0x72, 0x69, 0x12, 0x20, 0x0a, + 0x0c, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x56, 0x69, 0x65, 0x77, 0x49, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x1a, 0x6a, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, + 0x65, 0x74, 0x61, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8c, + 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x12, 0x42, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x94, 0x01, + 0x0a, 0x13, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x72, 0x65, 0x76, + 0x65, 0x6e, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x03, 0x74, 0x61, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, + 0x43, 0x6f, 0x64, 0x65, 0x42, 0xd7, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, + 0x62, 0x65, 0x74, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, 0x06, 0x52, 0x45, + 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, + 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0xea, 0x02, + 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, + 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2beta_user_event_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2beta_user_event_proto_rawDescData = file_google_cloud_retail_v2beta_user_event_proto_rawDesc +) + +func file_google_cloud_retail_v2beta_user_event_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2beta_user_event_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2beta_user_event_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_user_event_proto_rawDescData) + }) + return file_google_cloud_retail_v2beta_user_event_proto_rawDescData +} + +var file_google_cloud_retail_v2beta_user_event_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_google_cloud_retail_v2beta_user_event_proto_goTypes = []interface{}{ + (*UserEvent)(nil), // 0: google.cloud.retail.v2beta.UserEvent + (*ProductDetail)(nil), // 1: google.cloud.retail.v2beta.ProductDetail + (*PurchaseTransaction)(nil), // 2: google.cloud.retail.v2beta.PurchaseTransaction + nil, // 3: google.cloud.retail.v2beta.UserEvent.AttributesEntry + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp + (*UserInfo)(nil), // 5: google.cloud.retail.v2beta.UserInfo + (*Product)(nil), // 6: google.cloud.retail.v2beta.Product + (*wrapperspb.Int32Value)(nil), // 7: google.protobuf.Int32Value + (*CustomAttribute)(nil), // 8: google.cloud.retail.v2beta.CustomAttribute +} +var file_google_cloud_retail_v2beta_user_event_proto_depIdxs = []int32{ + 4, // 0: google.cloud.retail.v2beta.UserEvent.event_time:type_name -> google.protobuf.Timestamp + 1, // 1: google.cloud.retail.v2beta.UserEvent.product_details:type_name -> google.cloud.retail.v2beta.ProductDetail + 3, // 2: google.cloud.retail.v2beta.UserEvent.attributes:type_name -> google.cloud.retail.v2beta.UserEvent.AttributesEntry + 2, // 3: google.cloud.retail.v2beta.UserEvent.purchase_transaction:type_name -> google.cloud.retail.v2beta.PurchaseTransaction + 5, // 4: google.cloud.retail.v2beta.UserEvent.user_info:type_name -> google.cloud.retail.v2beta.UserInfo + 6, // 5: google.cloud.retail.v2beta.ProductDetail.product:type_name -> google.cloud.retail.v2beta.Product + 7, // 6: google.cloud.retail.v2beta.ProductDetail.quantity:type_name -> google.protobuf.Int32Value + 8, // 7: google.cloud.retail.v2beta.UserEvent.AttributesEntry.value:type_name -> google.cloud.retail.v2beta.CustomAttribute + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_user_event_proto_init() } +func file_google_cloud_retail_v2beta_user_event_proto_init() { + if File_google_cloud_retail_v2beta_user_event_proto != nil { + return + } + file_google_cloud_retail_v2beta_common_proto_init() + file_google_cloud_retail_v2beta_product_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2beta_user_event_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_user_event_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProductDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_user_event_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PurchaseTransaction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_user_event_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_google_cloud_retail_v2beta_user_event_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_user_event_proto_depIdxs, + MessageInfos: file_google_cloud_retail_v2beta_user_event_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2beta_user_event_proto = out.File + file_google_cloud_retail_v2beta_user_event_proto_rawDesc = nil + file_google_cloud_retail_v2beta_user_event_proto_goTypes = nil + file_google_cloud_retail_v2beta_user_event_proto_depIdxs = nil +} diff --git a/googleapis/cloud/retail/v2beta/user_event_service.pb.go b/googleapis/cloud/retail/v2beta/user_event_service.pb.go new file mode 100644 index 000000000..94e1b30e9 --- /dev/null +++ b/googleapis/cloud/retail/v2beta/user_event_service.pb.go @@ -0,0 +1,1040 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/cloud/retail/v2beta/user_event_service.proto + +package retail + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + httpbody "google.golang.org/genproto/googleapis/api/httpbody" + longrunning "google.golang.org/genproto/googleapis/longrunning" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// The scope of events to be rejoined with latest catalog. If the rejoining +// aims at reducing number of unjoined events, set UserEventRejoinScope to +// UNJOINED_EVENTS. If the rejoining aims at correcting catalog information +// in joined_events, set UserEventRejoinScope to JOINED_EVENTS. If all events +// needs to be rejoined, set UserEventRejoinScope to +// USER_EVENT_REJOIN_SCOPE_UNSPECIFIED. +type RejoinUserEventsRequest_UserEventRejoinScope int32 + +const ( + // Rejoin catalogs with all events including both joined events and + // unjoined events. + RejoinUserEventsRequest_USER_EVENT_REJOIN_SCOPE_UNSPECIFIED RejoinUserEventsRequest_UserEventRejoinScope = 0 + // Only rejoin catalogs with joined events. + RejoinUserEventsRequest_JOINED_EVENTS RejoinUserEventsRequest_UserEventRejoinScope = 1 + // Only rejoin catalogs with unjoined events. + RejoinUserEventsRequest_UNJOINED_EVENTS RejoinUserEventsRequest_UserEventRejoinScope = 2 +) + +// Enum value maps for RejoinUserEventsRequest_UserEventRejoinScope. +var ( + RejoinUserEventsRequest_UserEventRejoinScope_name = map[int32]string{ + 0: "USER_EVENT_REJOIN_SCOPE_UNSPECIFIED", + 1: "JOINED_EVENTS", + 2: "UNJOINED_EVENTS", + } + RejoinUserEventsRequest_UserEventRejoinScope_value = map[string]int32{ + "USER_EVENT_REJOIN_SCOPE_UNSPECIFIED": 0, + "JOINED_EVENTS": 1, + "UNJOINED_EVENTS": 2, + } +) + +func (x RejoinUserEventsRequest_UserEventRejoinScope) Enum() *RejoinUserEventsRequest_UserEventRejoinScope { + p := new(RejoinUserEventsRequest_UserEventRejoinScope) + *p = x + return p +} + +func (x RejoinUserEventsRequest_UserEventRejoinScope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RejoinUserEventsRequest_UserEventRejoinScope) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_retail_v2beta_user_event_service_proto_enumTypes[0].Descriptor() +} + +func (RejoinUserEventsRequest_UserEventRejoinScope) Type() protoreflect.EnumType { + return &file_google_cloud_retail_v2beta_user_event_service_proto_enumTypes[0] +} + +func (x RejoinUserEventsRequest_UserEventRejoinScope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RejoinUserEventsRequest_UserEventRejoinScope.Descriptor instead. +func (RejoinUserEventsRequest_UserEventRejoinScope) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_user_event_service_proto_rawDescGZIP(), []int{2, 0} +} + +// Request message for WriteUserEvent method. +type WriteUserEventRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent eventStore resource name, such as + // "projects/1234/locations/global/catalogs/default_catalog". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. User event to write. + UserEvent *UserEvent `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"` +} + +func (x *WriteUserEventRequest) Reset() { + *x = WriteUserEventRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteUserEventRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteUserEventRequest) ProtoMessage() {} + +func (x *WriteUserEventRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteUserEventRequest.ProtoReflect.Descriptor instead. +func (*WriteUserEventRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_user_event_service_proto_rawDescGZIP(), []int{0} +} + +func (x *WriteUserEventRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *WriteUserEventRequest) GetUserEvent() *UserEvent { + if x != nil { + return x.UserEvent + } + return nil +} + +// Request message for CollectUserEvent method. +type CollectUserEventRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent eventStore name, such as + // "projects/1234/locations/global/catalogs/default_catalog". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. URL encoded UserEvent proto. + UserEvent string `protobuf:"bytes,2,opt,name=user_event,json=userEvent,proto3" json:"user_event,omitempty"` + // The url including cgi-parameters but excluding the hash fragment. The URL + // must be truncated to 1.5K bytes to conservatively be under the 2K bytes. + // This is often more useful than the referer url, because many browsers only + // send the domain for 3rd party requests. + Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"` + // The event timestamp in milliseconds. This prevents browser caching of + // otherwise identical get requests. The name is abbreviated to reduce the + // payload bytes. + Ets int64 `protobuf:"varint,4,opt,name=ets,proto3" json:"ets,omitempty"` +} + +func (x *CollectUserEventRequest) Reset() { + *x = CollectUserEventRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CollectUserEventRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CollectUserEventRequest) ProtoMessage() {} + +func (x *CollectUserEventRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CollectUserEventRequest.ProtoReflect.Descriptor instead. +func (*CollectUserEventRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_user_event_service_proto_rawDescGZIP(), []int{1} +} + +func (x *CollectUserEventRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CollectUserEventRequest) GetUserEvent() string { + if x != nil { + return x.UserEvent + } + return "" +} + +func (x *CollectUserEventRequest) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *CollectUserEventRequest) GetEts() int64 { + if x != nil { + return x.Ets + } + return 0 +} + +// Request message for CatalogRejoin method. +type RejoinUserEventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Full resource name of user event, such as + // "projects/*/locations/*/catalogs/default_catalog". + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The type of the catalog rejoin to define the scope and range of + // the user events to be rejoined with catalog items. + UserEventRejoinScope RejoinUserEventsRequest_UserEventRejoinScope `protobuf:"varint,2,opt,name=user_event_rejoin_scope,json=userEventRejoinScope,proto3,enum=google.cloud.retail.v2beta.RejoinUserEventsRequest_UserEventRejoinScope" json:"user_event_rejoin_scope,omitempty"` +} + +func (x *RejoinUserEventsRequest) Reset() { + *x = RejoinUserEventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RejoinUserEventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejoinUserEventsRequest) ProtoMessage() {} + +func (x *RejoinUserEventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejoinUserEventsRequest.ProtoReflect.Descriptor instead. +func (*RejoinUserEventsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_user_event_service_proto_rawDescGZIP(), []int{2} +} + +func (x *RejoinUserEventsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *RejoinUserEventsRequest) GetUserEventRejoinScope() RejoinUserEventsRequest_UserEventRejoinScope { + if x != nil { + return x.UserEventRejoinScope + } + return RejoinUserEventsRequest_USER_EVENT_REJOIN_SCOPE_UNSPECIFIED +} + +// Response message for RejoinUserEvents method. +type RejoinUserEventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Number of user events that were joined with latest catalog items. + RejoinedUserEventsCount int64 `protobuf:"varint,1,opt,name=rejoined_user_events_count,json=rejoinedUserEventsCount,proto3" json:"rejoined_user_events_count,omitempty"` +} + +func (x *RejoinUserEventsResponse) Reset() { + *x = RejoinUserEventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RejoinUserEventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejoinUserEventsResponse) ProtoMessage() {} + +func (x *RejoinUserEventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejoinUserEventsResponse.ProtoReflect.Descriptor instead. +func (*RejoinUserEventsResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_user_event_service_proto_rawDescGZIP(), []int{3} +} + +func (x *RejoinUserEventsResponse) GetRejoinedUserEventsCount() int64 { + if x != nil { + return x.RejoinedUserEventsCount + } + return 0 +} + +// Metadata for RejoinUserEvents method. +type RejoinUserEventsMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RejoinUserEventsMetadata) Reset() { + *x = RejoinUserEventsMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RejoinUserEventsMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RejoinUserEventsMetadata) ProtoMessage() {} + +func (x *RejoinUserEventsMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RejoinUserEventsMetadata.ProtoReflect.Descriptor instead. +func (*RejoinUserEventsMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_retail_v2beta_user_event_service_proto_rawDescGZIP(), []int{4} +} + +var File_google_cloud_retail_v2beta_user_event_service_proto protoreflect.FileDescriptor + +var file_google_cloud_retail_v2beta_user_event_service_proto_rawDesc = []byte{ + 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, + 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x70, 0x75, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x15, 0x57, 0x72, 0x69, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x75, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x7e, 0x0a, 0x17, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, + 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x69, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x03, 0x65, 0x74, 0x73, 0x22, 0xa6, 0x02, 0x0a, 0x17, 0x52, 0x65, 0x6a, 0x6f, 0x69, + 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x84, 0x01, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x52, + 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x14, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6a, 0x6f, 0x69, + 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x67, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x27, + 0x0a, 0x23, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4a, + 0x4f, 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x4f, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, + 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x02, 0x22, + 0x57, 0x0a, 0x18, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x72, + 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x17, 0x72, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x6a, 0x6f, + 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x32, 0x99, 0x0c, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc3, 0x01, 0x0a, 0x0e, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x22, 0x43, + 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x3a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, + 0xac, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, + 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x96, + 0x02, 0x0a, 0x0f, 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x22, 0x43, + 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, + 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x70, 0x75, + 0x72, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x5e, 0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x65, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x9b, 0x02, 0x0a, 0x10, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xb2, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, 0x76, 0x32, 0x62, 0x65, + 0x74, 0x61, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, + 0x01, 0x2a, 0xca, 0x41, 0x60, 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, + 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, + 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x9b, 0x02, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, + 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, + 0xca, 0x41, 0x60, 0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, + 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, + 0x62, 0x65, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0xef, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, + 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, + 0x32, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, + 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x86, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x7b, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x3a, 0x72, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41, + 0x34, 0x0a, 0x18, 0x52, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x52, 0x65, 0x6a, + 0x6f, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, + 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x42, 0xde, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x76, 0x32, 0x62, + 0x65, 0x74, 0x61, 0x42, 0x15, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, + 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x3b, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6c, 0xa2, 0x02, + 0x06, 0x52, 0x45, 0x54, 0x41, 0x49, 0x4c, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x56, 0x32, + 0x62, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x5c, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, + 0x61, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, + 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_cloud_retail_v2beta_user_event_service_proto_rawDescOnce sync.Once + file_google_cloud_retail_v2beta_user_event_service_proto_rawDescData = file_google_cloud_retail_v2beta_user_event_service_proto_rawDesc +) + +func file_google_cloud_retail_v2beta_user_event_service_proto_rawDescGZIP() []byte { + file_google_cloud_retail_v2beta_user_event_service_proto_rawDescOnce.Do(func() { + file_google_cloud_retail_v2beta_user_event_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_retail_v2beta_user_event_service_proto_rawDescData) + }) + return file_google_cloud_retail_v2beta_user_event_service_proto_rawDescData +} + +var file_google_cloud_retail_v2beta_user_event_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_google_cloud_retail_v2beta_user_event_service_proto_goTypes = []interface{}{ + (RejoinUserEventsRequest_UserEventRejoinScope)(0), // 0: google.cloud.retail.v2beta.RejoinUserEventsRequest.UserEventRejoinScope + (*WriteUserEventRequest)(nil), // 1: google.cloud.retail.v2beta.WriteUserEventRequest + (*CollectUserEventRequest)(nil), // 2: google.cloud.retail.v2beta.CollectUserEventRequest + (*RejoinUserEventsRequest)(nil), // 3: google.cloud.retail.v2beta.RejoinUserEventsRequest + (*RejoinUserEventsResponse)(nil), // 4: google.cloud.retail.v2beta.RejoinUserEventsResponse + (*RejoinUserEventsMetadata)(nil), // 5: google.cloud.retail.v2beta.RejoinUserEventsMetadata + (*UserEvent)(nil), // 6: google.cloud.retail.v2beta.UserEvent + (*PurgeUserEventsRequest)(nil), // 7: google.cloud.retail.v2beta.PurgeUserEventsRequest + (*ImportUserEventsRequest)(nil), // 8: google.cloud.retail.v2beta.ImportUserEventsRequest + (*ExportUserEventsRequest)(nil), // 9: google.cloud.retail.v2beta.ExportUserEventsRequest + (*httpbody.HttpBody)(nil), // 10: google.api.HttpBody + (*longrunning.Operation)(nil), // 11: google.longrunning.Operation +} +var file_google_cloud_retail_v2beta_user_event_service_proto_depIdxs = []int32{ + 6, // 0: google.cloud.retail.v2beta.WriteUserEventRequest.user_event:type_name -> google.cloud.retail.v2beta.UserEvent + 0, // 1: google.cloud.retail.v2beta.RejoinUserEventsRequest.user_event_rejoin_scope:type_name -> google.cloud.retail.v2beta.RejoinUserEventsRequest.UserEventRejoinScope + 1, // 2: google.cloud.retail.v2beta.UserEventService.WriteUserEvent:input_type -> google.cloud.retail.v2beta.WriteUserEventRequest + 2, // 3: google.cloud.retail.v2beta.UserEventService.CollectUserEvent:input_type -> google.cloud.retail.v2beta.CollectUserEventRequest + 7, // 4: google.cloud.retail.v2beta.UserEventService.PurgeUserEvents:input_type -> google.cloud.retail.v2beta.PurgeUserEventsRequest + 8, // 5: google.cloud.retail.v2beta.UserEventService.ImportUserEvents:input_type -> google.cloud.retail.v2beta.ImportUserEventsRequest + 9, // 6: google.cloud.retail.v2beta.UserEventService.ExportUserEvents:input_type -> google.cloud.retail.v2beta.ExportUserEventsRequest + 3, // 7: google.cloud.retail.v2beta.UserEventService.RejoinUserEvents:input_type -> google.cloud.retail.v2beta.RejoinUserEventsRequest + 6, // 8: google.cloud.retail.v2beta.UserEventService.WriteUserEvent:output_type -> google.cloud.retail.v2beta.UserEvent + 10, // 9: google.cloud.retail.v2beta.UserEventService.CollectUserEvent:output_type -> google.api.HttpBody + 11, // 10: google.cloud.retail.v2beta.UserEventService.PurgeUserEvents:output_type -> google.longrunning.Operation + 11, // 11: google.cloud.retail.v2beta.UserEventService.ImportUserEvents:output_type -> google.longrunning.Operation + 11, // 12: google.cloud.retail.v2beta.UserEventService.ExportUserEvents:output_type -> google.longrunning.Operation + 11, // 13: google.cloud.retail.v2beta.UserEventService.RejoinUserEvents:output_type -> google.longrunning.Operation + 8, // [8:14] is the sub-list for method output_type + 2, // [2:8] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_google_cloud_retail_v2beta_user_event_service_proto_init() } +func file_google_cloud_retail_v2beta_user_event_service_proto_init() { + if File_google_cloud_retail_v2beta_user_event_service_proto != nil { + return + } + file_google_cloud_retail_v2beta_export_config_proto_init() + file_google_cloud_retail_v2beta_import_config_proto_init() + file_google_cloud_retail_v2beta_purge_config_proto_init() + file_google_cloud_retail_v2beta_user_event_proto_init() + if !protoimpl.UnsafeEnabled { + file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteUserEventRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CollectUserEventRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RejoinUserEventsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RejoinUserEventsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RejoinUserEventsMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_cloud_retail_v2beta_user_event_service_proto_rawDesc, + NumEnums: 1, + NumMessages: 5, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_cloud_retail_v2beta_user_event_service_proto_goTypes, + DependencyIndexes: file_google_cloud_retail_v2beta_user_event_service_proto_depIdxs, + EnumInfos: file_google_cloud_retail_v2beta_user_event_service_proto_enumTypes, + MessageInfos: file_google_cloud_retail_v2beta_user_event_service_proto_msgTypes, + }.Build() + File_google_cloud_retail_v2beta_user_event_service_proto = out.File + file_google_cloud_retail_v2beta_user_event_service_proto_rawDesc = nil + file_google_cloud_retail_v2beta_user_event_service_proto_goTypes = nil + file_google_cloud_retail_v2beta_user_event_service_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// UserEventServiceClient is the client API for UserEventService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type UserEventServiceClient interface { + // Writes a single user event. + WriteUserEvent(ctx context.Context, in *WriteUserEventRequest, opts ...grpc.CallOption) (*UserEvent, error) + // Writes a single user event from the browser. This uses a GET request to + // due to browser restriction of POST-ing to a 3rd party domain. + // + // This method is used only by the Recommendations AI JavaScript pixel and + // Google Tag Manager. Users should not call this method directly. + CollectUserEvent(ctx context.Context, in *CollectUserEventRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) + // Deletes permanently all user events specified by the filter provided. + // Depending on the number of events specified by the filter, this operation + // could take hours or days to complete. To test a filter, use the list + // command first. + PurgeUserEvents(ctx context.Context, in *PurgeUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Bulk import of User events. Request processing might be + // synchronous. Events that already exist are skipped. + // Use this method for backfilling historical user events. + // + // Operation.response is of type ImportResponse. Note that it is + // possible for a subset of the items to be successfully inserted. + // Operation.metadata is of type ImportMetadata. + ImportUserEvents(ctx context.Context, in *ImportUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Export of user events. + // + // Operation.response is of type ExportResponse. + // Operation.metadata is of type ExportMetadata. + ExportUserEvents(ctx context.Context, in *ExportUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Triggers a user event rejoin operation with latest catalog data. Events + // will not be annotated with detailed catalog information if catalog item is + // missing at the time the user event is ingested, and these events are stored + // as unjoined events with a limited usage on training and serving. This API + // can be used to trigger a 'join' operation on specified events with latest + // version of catalog items. It can also be used to correct events joined with + // wrong catalog items. + RejoinUserEvents(ctx context.Context, in *RejoinUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) +} + +type userEventServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewUserEventServiceClient(cc grpc.ClientConnInterface) UserEventServiceClient { + return &userEventServiceClient{cc} +} + +func (c *userEventServiceClient) WriteUserEvent(ctx context.Context, in *WriteUserEventRequest, opts ...grpc.CallOption) (*UserEvent, error) { + out := new(UserEvent) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.UserEventService/WriteUserEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) CollectUserEvent(ctx context.Context, in *CollectUserEventRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) { + out := new(httpbody.HttpBody) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.UserEventService/CollectUserEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) PurgeUserEvents(ctx context.Context, in *PurgeUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.UserEventService/PurgeUserEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) ImportUserEvents(ctx context.Context, in *ImportUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.UserEventService/ImportUserEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) ExportUserEvents(ctx context.Context, in *ExportUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.UserEventService/ExportUserEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userEventServiceClient) RejoinUserEvents(ctx context.Context, in *RejoinUserEventsRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.cloud.retail.v2beta.UserEventService/RejoinUserEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// UserEventServiceServer is the server API for UserEventService service. +type UserEventServiceServer interface { + // Writes a single user event. + WriteUserEvent(context.Context, *WriteUserEventRequest) (*UserEvent, error) + // Writes a single user event from the browser. This uses a GET request to + // due to browser restriction of POST-ing to a 3rd party domain. + // + // This method is used only by the Recommendations AI JavaScript pixel and + // Google Tag Manager. Users should not call this method directly. + CollectUserEvent(context.Context, *CollectUserEventRequest) (*httpbody.HttpBody, error) + // Deletes permanently all user events specified by the filter provided. + // Depending on the number of events specified by the filter, this operation + // could take hours or days to complete. To test a filter, use the list + // command first. + PurgeUserEvents(context.Context, *PurgeUserEventsRequest) (*longrunning.Operation, error) + // Bulk import of User events. Request processing might be + // synchronous. Events that already exist are skipped. + // Use this method for backfilling historical user events. + // + // Operation.response is of type ImportResponse. Note that it is + // possible for a subset of the items to be successfully inserted. + // Operation.metadata is of type ImportMetadata. + ImportUserEvents(context.Context, *ImportUserEventsRequest) (*longrunning.Operation, error) + // Export of user events. + // + // Operation.response is of type ExportResponse. + // Operation.metadata is of type ExportMetadata. + ExportUserEvents(context.Context, *ExportUserEventsRequest) (*longrunning.Operation, error) + // Triggers a user event rejoin operation with latest catalog data. Events + // will not be annotated with detailed catalog information if catalog item is + // missing at the time the user event is ingested, and these events are stored + // as unjoined events with a limited usage on training and serving. This API + // can be used to trigger a 'join' operation on specified events with latest + // version of catalog items. It can also be used to correct events joined with + // wrong catalog items. + RejoinUserEvents(context.Context, *RejoinUserEventsRequest) (*longrunning.Operation, error) +} + +// UnimplementedUserEventServiceServer can be embedded to have forward compatible implementations. +type UnimplementedUserEventServiceServer struct { +} + +func (*UnimplementedUserEventServiceServer) WriteUserEvent(context.Context, *WriteUserEventRequest) (*UserEvent, error) { + return nil, status.Errorf(codes.Unimplemented, "method WriteUserEvent not implemented") +} +func (*UnimplementedUserEventServiceServer) CollectUserEvent(context.Context, *CollectUserEventRequest) (*httpbody.HttpBody, error) { + return nil, status.Errorf(codes.Unimplemented, "method CollectUserEvent not implemented") +} +func (*UnimplementedUserEventServiceServer) PurgeUserEvents(context.Context, *PurgeUserEventsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method PurgeUserEvents not implemented") +} +func (*UnimplementedUserEventServiceServer) ImportUserEvents(context.Context, *ImportUserEventsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportUserEvents not implemented") +} +func (*UnimplementedUserEventServiceServer) ExportUserEvents(context.Context, *ExportUserEventsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExportUserEvents not implemented") +} +func (*UnimplementedUserEventServiceServer) RejoinUserEvents(context.Context, *RejoinUserEventsRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method RejoinUserEvents not implemented") +} + +func RegisterUserEventServiceServer(s *grpc.Server, srv UserEventServiceServer) { + s.RegisterService(&_UserEventService_serviceDesc, srv) +} + +func _UserEventService_WriteUserEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WriteUserEventRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).WriteUserEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.UserEventService/WriteUserEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).WriteUserEvent(ctx, req.(*WriteUserEventRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_CollectUserEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CollectUserEventRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).CollectUserEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.UserEventService/CollectUserEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).CollectUserEvent(ctx, req.(*CollectUserEventRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_PurgeUserEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PurgeUserEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).PurgeUserEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.UserEventService/PurgeUserEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).PurgeUserEvents(ctx, req.(*PurgeUserEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_ImportUserEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportUserEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).ImportUserEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.UserEventService/ImportUserEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).ImportUserEvents(ctx, req.(*ImportUserEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_ExportUserEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportUserEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).ExportUserEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.UserEventService/ExportUserEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).ExportUserEvents(ctx, req.(*ExportUserEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _UserEventService_RejoinUserEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RejoinUserEventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserEventServiceServer).RejoinUserEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.retail.v2beta.UserEventService/RejoinUserEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserEventServiceServer).RejoinUserEvents(ctx, req.(*RejoinUserEventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _UserEventService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.retail.v2beta.UserEventService", + HandlerType: (*UserEventServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "WriteUserEvent", + Handler: _UserEventService_WriteUserEvent_Handler, + }, + { + MethodName: "CollectUserEvent", + Handler: _UserEventService_CollectUserEvent_Handler, + }, + { + MethodName: "PurgeUserEvents", + Handler: _UserEventService_PurgeUserEvents_Handler, + }, + { + MethodName: "ImportUserEvents", + Handler: _UserEventService_ImportUserEvents_Handler, + }, + { + MethodName: "ExportUserEvents", + Handler: _UserEventService_ExportUserEvents_Handler, + }, + { + MethodName: "RejoinUserEvents", + Handler: _UserEventService_RejoinUserEvents_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/retail/v2beta/user_event_service.proto", +} diff --git a/googleapis/partner/aistreams/v1alpha1/aistreams.pb.go b/googleapis/partner/aistreams/v1alpha1/aistreams.pb.go new file mode 100644 index 000000000..e4db5e2bc --- /dev/null +++ b/googleapis/partner/aistreams/v1alpha1/aistreams.pb.go @@ -0,0 +1,2309 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0 +// protoc v3.13.0 +// source: google/partner/aistreams/v1alpha1/aistreams.proto + +package aistreams + +import ( + context "context" + reflect "reflect" + sync "sync" + + proto "github.com/golang/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + longrunning "google.golang.org/genproto/googleapis/longrunning" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Cluster resource. +type Cluster struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the cluster. The format of cluster is: + // projects//locations//clusters/. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The time at which this cluster was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time at which this cluster was updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Labels with user-defined metadata. + Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Output only. The certificate for creating the secure connection between the client and + // the AI Streams data plane. + Certificate string `protobuf:"bytes,5,opt,name=certificate,proto3" json:"certificate,omitempty"` + // Output only. The endpoint of the data plane cluster. + ServiceEndpoint string `protobuf:"bytes,6,opt,name=service_endpoint,json=serviceEndpoint,proto3" json:"service_endpoint,omitempty"` +} + +func (x *Cluster) Reset() { + *x = Cluster{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Cluster) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Cluster) ProtoMessage() {} + +func (x *Cluster) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Cluster.ProtoReflect.Descriptor instead. +func (*Cluster) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{0} +} + +func (x *Cluster) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Cluster) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Cluster) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Cluster) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +func (x *Cluster) GetCertificate() string { + if x != nil { + return x.Certificate + } + return "" +} + +func (x *Cluster) GetServiceEndpoint() string { + if x != nil { + return x.ServiceEndpoint + } + return "" +} + +// Request message for 'ListClusters'. +type ListClustersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent that owns the collection of Clusters. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Maximum number of Clusters to return. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Page token received from a previous `ListClusters` call. Provide this to + // retrieve the subsequent page. When paginating, all other parameters + // provided to `ListClusters` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filter request. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Order by fields for the result. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListClustersRequest) Reset() { + *x = ListClustersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListClustersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListClustersRequest) ProtoMessage() {} + +func (x *ListClustersRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListClustersRequest.ProtoReflect.Descriptor instead. +func (*ListClustersRequest) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{1} +} + +func (x *ListClustersRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListClustersRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListClustersRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListClustersRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListClustersRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message from 'ListClusters'. +type ListClustersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of clusters. + Clusters []*Cluster `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Locations that could not be reached. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListClustersResponse) Reset() { + *x = ListClustersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListClustersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListClustersResponse) ProtoMessage() {} + +func (x *ListClustersResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListClustersResponse.ProtoReflect.Descriptor instead. +func (*ListClustersResponse) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{2} +} + +func (x *ListClustersResponse) GetClusters() []*Cluster { + if x != nil { + return x.Clusters + } + return nil +} + +func (x *ListClustersResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListClustersResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Request message for 'GetCluster'. +type GetClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the Cluster resource to get. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetClusterRequest) Reset() { + *x = GetClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetClusterRequest) ProtoMessage() {} + +func (x *GetClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetClusterRequest.ProtoReflect.Descriptor instead. +func (*GetClusterRequest) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{3} +} + +func (x *GetClusterRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for 'CreateCluster'. +type CreateClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent that owns the collection of Clusters. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The cluster identifier. + ClusterId string `protobuf:"bytes,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` + // Required. The cluster resource to create. + Cluster *Cluster `protobuf:"bytes,3,opt,name=cluster,proto3" json:"cluster,omitempty"` + // Optional. An optional request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server will guarantee + // that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CreateClusterRequest) Reset() { + *x = CreateClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateClusterRequest) ProtoMessage() {} + +func (x *CreateClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateClusterRequest.ProtoReflect.Descriptor instead. +func (*CreateClusterRequest) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{4} +} + +func (x *CreateClusterRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateClusterRequest) GetClusterId() string { + if x != nil { + return x.ClusterId + } + return "" +} + +func (x *CreateClusterRequest) GetCluster() *Cluster { + if x != nil { + return x.Cluster + } + return nil +} + +func (x *CreateClusterRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for 'UpdateCluster'. +type UpdateClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Field mask is used to specify the fields to be overwritten in the + // Cluster resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. The Cluster resource to update. + Cluster *Cluster `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"` + // Optional. An optional request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server will guarantee + // that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *UpdateClusterRequest) Reset() { + *x = UpdateClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateClusterRequest) ProtoMessage() {} + +func (x *UpdateClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateClusterRequest.ProtoReflect.Descriptor instead. +func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{5} +} + +func (x *UpdateClusterRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateClusterRequest) GetCluster() *Cluster { + if x != nil { + return x.Cluster + } + return nil +} + +func (x *UpdateClusterRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for 'DeleteCluster'. +type DeleteClusterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of cluster to delete. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. An optional request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server will guarantee + // that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request ID, + // the server can check if original operation with the same request ID was + // received, and if so, will ignore the second request. This prevents clients + // from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *DeleteClusterRequest) Reset() { + *x = DeleteClusterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteClusterRequest) ProtoMessage() {} + +func (x *DeleteClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteClusterRequest.ProtoReflect.Descriptor instead. +func (*DeleteClusterRequest) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{6} +} + +func (x *DeleteClusterRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteClusterRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Stream resource. +type Stream struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the stream. The format for the full name is: + // projects//location//clusters//streams/. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Output only. The time at which this Stream was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time at which this Stream was updated. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // The labels of the stream. + Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Stream) Reset() { + *x = Stream{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Stream) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Stream) ProtoMessage() {} + +func (x *Stream) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Stream.ProtoReflect.Descriptor instead. +func (*Stream) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{7} +} + +func (x *Stream) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Stream) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Stream) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Stream) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +// Request message for 'ListStreams'. +type ListStreamsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent that owns the collection of the Streams. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Maximum number of Streams to return. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Page token received from a previous `ListStreams` call. Provide this to + // retrieve the subsequent page. When paginating, all other parameters + // provided to `ListClusters` must match the call that provided the page + // token. + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + // Filter request. + Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + // Order by fields for the result. + OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` +} + +func (x *ListStreamsRequest) Reset() { + *x = ListStreamsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListStreamsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListStreamsRequest) ProtoMessage() {} + +func (x *ListStreamsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListStreamsRequest.ProtoReflect.Descriptor instead. +func (*ListStreamsRequest) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{8} +} + +func (x *ListStreamsRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListStreamsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListStreamsRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListStreamsRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListStreamsRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +// Response message from 'ListStreams'. +type ListStreamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of the streams. + Streams []*Stream `protobuf:"bytes,1,rep,name=streams,proto3" json:"streams,omitempty"` + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Locations that could not be reached. + Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"` +} + +func (x *ListStreamsResponse) Reset() { + *x = ListStreamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListStreamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListStreamsResponse) ProtoMessage() {} + +func (x *ListStreamsResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListStreamsResponse.ProtoReflect.Descriptor instead. +func (*ListStreamsResponse) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{9} +} + +func (x *ListStreamsResponse) GetStreams() []*Stream { + if x != nil { + return x.Streams + } + return nil +} + +func (x *ListStreamsResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListStreamsResponse) GetUnreachable() []string { + if x != nil { + return x.Unreachable + } + return nil +} + +// Request message for 'GetStream'. +type GetStreamRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the stream. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetStreamRequest) Reset() { + *x = GetStreamRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStreamRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStreamRequest) ProtoMessage() {} + +func (x *GetStreamRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStreamRequest.ProtoReflect.Descriptor instead. +func (*GetStreamRequest) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{10} +} + +func (x *GetStreamRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request message for 'CreateStream'. +type CreateStreamRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The parent that owns the collection of streams. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // Required. The stream identifier. + StreamId string `protobuf:"bytes,2,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"` + // Required. The stream to create. + Stream *Stream `protobuf:"bytes,3,opt,name=stream,proto3" json:"stream,omitempty"` + // Optional. An optional request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server will guarantee + // that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and t + // he request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *CreateStreamRequest) Reset() { + *x = CreateStreamRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateStreamRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateStreamRequest) ProtoMessage() {} + +func (x *CreateStreamRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateStreamRequest.ProtoReflect.Descriptor instead. +func (*CreateStreamRequest) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{11} +} + +func (x *CreateStreamRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateStreamRequest) GetStreamId() string { + if x != nil { + return x.StreamId + } + return "" +} + +func (x *CreateStreamRequest) GetStream() *Stream { + if x != nil { + return x.Stream + } + return nil +} + +func (x *CreateStreamRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for 'UpdateStream'. +type UpdateStreamRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Field mask is used to specify the fields to be overwritten in the + // Stream resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields will be overwritten. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Required. The stream resource to update. + Stream *Stream `protobuf:"bytes,2,opt,name=stream,proto3" json:"stream,omitempty"` + // Optional. An optional request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server will guarantee + // that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and t + // he request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *UpdateStreamRequest) Reset() { + *x = UpdateStreamRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateStreamRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateStreamRequest) ProtoMessage() {} + +func (x *UpdateStreamRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateStreamRequest.ProtoReflect.Descriptor instead. +func (*UpdateStreamRequest) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{12} +} + +func (x *UpdateStreamRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateStreamRequest) GetStream() *Stream { + if x != nil { + return x.Stream + } + return nil +} + +func (x *UpdateStreamRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Request message for 'DeleteStream'. +type DeleteStreamRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The name of the stream. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Optional. An optional request ID to identify requests. Specify a unique request ID + // so that if you must retry your request, the server will know to ignore + // the request if it has already been completed. The server will guarantee + // that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and t + // he request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` +} + +func (x *DeleteStreamRequest) Reset() { + *x = DeleteStreamRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteStreamRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteStreamRequest) ProtoMessage() {} + +func (x *DeleteStreamRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteStreamRequest.ProtoReflect.Descriptor instead. +func (*DeleteStreamRequest) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{13} +} + +func (x *DeleteStreamRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeleteStreamRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Represents the metadata of the long-running operation. +type OperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The time the operation was created. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time the operation finished running. + EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // Output only. Server-defined resource path for the target of the operation. + Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` + // Output only. Name of the verb executed by the operation. + Verb string `protobuf:"bytes,4,opt,name=verb,proto3" json:"verb,omitempty"` + // Output only. Human-readable status of the operation, if any. + StatusMessage string `protobuf:"bytes,5,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have successfully been cancelled + // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, + // corresponding to `Code.CANCELLED`. + RequestedCancellation bool `protobuf:"varint,6,opt,name=requested_cancellation,json=requestedCancellation,proto3" json:"requested_cancellation,omitempty"` + // Output only. API version used to start the operation. + ApiVersion string `protobuf:"bytes,7,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"` +} + +func (x *OperationMetadata) Reset() { + *x = OperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OperationMetadata) ProtoMessage() {} + +func (x *OperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead. +func (*OperationMetadata) Descriptor() ([]byte, []int) { + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP(), []int{14} +} + +func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *OperationMetadata) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *OperationMetadata) GetTarget() string { + if x != nil { + return x.Target + } + return "" +} + +func (x *OperationMetadata) GetVerb() string { + if x != nil { + return x.Verb + } + return "" +} + +func (x *OperationMetadata) GetStatusMessage() string { + if x != nil { + return x.StatusMessage + } + return "" +} + +func (x *OperationMetadata) GetRequestedCancellation() bool { + if x != nil { + return x.RequestedCancellation + } + return false +} + +func (x *OperationMetadata) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +var File_google_partner_aistreams_v1alpha1_aistreams_proto protoreflect.FileDescriptor + +var file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDesc = []byte{ + 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, + 0x2f, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2f, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, + 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0xe6, 0x03, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x10, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x39, 0x0a, 0x0b, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x61, 0xea, 0x41, 0x5e, 0x0a, 0x20, 0x61, 0x69, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, + 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x7d, 0x22, 0xc7, 0x01, 0x0a, 0x13, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x22, 0xa8, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, + 0x08, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, + 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, + 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, + 0x51, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x61, 0x69, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xec, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x22, + 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x49, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, + 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x22, 0xc7, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x07, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, + 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x78, 0x0a, 0x14, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x61, 0x69, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x9d, 0x03, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x3a, 0x71, 0xea, 0x41, 0x6e, 0x0a, 0x1f, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x4b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x7b, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x7d, 0x22, 0xc5, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xa4, 0x01, + 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x22, 0x4f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, + 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x20, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, + 0x64, 0x12, 0x46, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, + 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xc3, 0x01, + 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x46, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, + 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x22, 0x76, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, + 0x0a, 0x1f, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x11, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x1b, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, + 0x76, 0x65, 0x72, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x3a, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, + 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x32, 0xd0, 0x11, 0x0a, 0x09, 0x41, 0x49, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, + 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0xda, + 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb1, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, + 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x34, 0x12, 0x32, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xe7, 0x01, 0x0a, + 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x37, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, + 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x32, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, 0x19, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xea, 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, + 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x80, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x32, 0x3a, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2f, 0x7b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xda, 0x41, + 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1c, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0xd7, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x2a, 0x32, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xcb, 0x01, + 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x35, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, + 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, + 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb8, 0x01, 0x0a, 0x09, + 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, + 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xec, 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, + 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x3a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xda, 0x41, 0x17, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2c, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xee, 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, + 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x86, 0x01, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x32, 0x43, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2f, 0x7b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, + 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x06, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0xda, 0x41, 0x12, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0xca, 0x41, 0x1b, 0x0a, 0x06, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xdf, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, 0x3c, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x2a, 0x0a, 0x15, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x4c, 0xca, 0x41, 0x18, 0x61, 0x69, 0x73, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x88, 0x01, 0x0a, 0x25, 0x63, 0x6f, 0x6d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2e, 0x61, 0x69, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x42, 0x0e, 0x41, 0x49, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, + 0x72, 0x2f, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x3b, 0x61, 0x69, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0xf8, 0x01, + 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescOnce sync.Once + file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescData = file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDesc +) + +func file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescGZIP() []byte { + file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescOnce.Do(func() { + file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescData) + }) + return file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDescData +} + +var file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_google_partner_aistreams_v1alpha1_aistreams_proto_goTypes = []interface{}{ + (*Cluster)(nil), // 0: google.partner.aistreams.v1alpha1.Cluster + (*ListClustersRequest)(nil), // 1: google.partner.aistreams.v1alpha1.ListClustersRequest + (*ListClustersResponse)(nil), // 2: google.partner.aistreams.v1alpha1.ListClustersResponse + (*GetClusterRequest)(nil), // 3: google.partner.aistreams.v1alpha1.GetClusterRequest + (*CreateClusterRequest)(nil), // 4: google.partner.aistreams.v1alpha1.CreateClusterRequest + (*UpdateClusterRequest)(nil), // 5: google.partner.aistreams.v1alpha1.UpdateClusterRequest + (*DeleteClusterRequest)(nil), // 6: google.partner.aistreams.v1alpha1.DeleteClusterRequest + (*Stream)(nil), // 7: google.partner.aistreams.v1alpha1.Stream + (*ListStreamsRequest)(nil), // 8: google.partner.aistreams.v1alpha1.ListStreamsRequest + (*ListStreamsResponse)(nil), // 9: google.partner.aistreams.v1alpha1.ListStreamsResponse + (*GetStreamRequest)(nil), // 10: google.partner.aistreams.v1alpha1.GetStreamRequest + (*CreateStreamRequest)(nil), // 11: google.partner.aistreams.v1alpha1.CreateStreamRequest + (*UpdateStreamRequest)(nil), // 12: google.partner.aistreams.v1alpha1.UpdateStreamRequest + (*DeleteStreamRequest)(nil), // 13: google.partner.aistreams.v1alpha1.DeleteStreamRequest + (*OperationMetadata)(nil), // 14: google.partner.aistreams.v1alpha1.OperationMetadata + nil, // 15: google.partner.aistreams.v1alpha1.Cluster.LabelsEntry + nil, // 16: google.partner.aistreams.v1alpha1.Stream.LabelsEntry + (*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp + (*fieldmaskpb.FieldMask)(nil), // 18: google.protobuf.FieldMask + (*longrunning.Operation)(nil), // 19: google.longrunning.Operation +} +var file_google_partner_aistreams_v1alpha1_aistreams_proto_depIdxs = []int32{ + 17, // 0: google.partner.aistreams.v1alpha1.Cluster.create_time:type_name -> google.protobuf.Timestamp + 17, // 1: google.partner.aistreams.v1alpha1.Cluster.update_time:type_name -> google.protobuf.Timestamp + 15, // 2: google.partner.aistreams.v1alpha1.Cluster.labels:type_name -> google.partner.aistreams.v1alpha1.Cluster.LabelsEntry + 0, // 3: google.partner.aistreams.v1alpha1.ListClustersResponse.clusters:type_name -> google.partner.aistreams.v1alpha1.Cluster + 0, // 4: google.partner.aistreams.v1alpha1.CreateClusterRequest.cluster:type_name -> google.partner.aistreams.v1alpha1.Cluster + 18, // 5: google.partner.aistreams.v1alpha1.UpdateClusterRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 6: google.partner.aistreams.v1alpha1.UpdateClusterRequest.cluster:type_name -> google.partner.aistreams.v1alpha1.Cluster + 17, // 7: google.partner.aistreams.v1alpha1.Stream.create_time:type_name -> google.protobuf.Timestamp + 17, // 8: google.partner.aistreams.v1alpha1.Stream.update_time:type_name -> google.protobuf.Timestamp + 16, // 9: google.partner.aistreams.v1alpha1.Stream.labels:type_name -> google.partner.aistreams.v1alpha1.Stream.LabelsEntry + 7, // 10: google.partner.aistreams.v1alpha1.ListStreamsResponse.streams:type_name -> google.partner.aistreams.v1alpha1.Stream + 7, // 11: google.partner.aistreams.v1alpha1.CreateStreamRequest.stream:type_name -> google.partner.aistreams.v1alpha1.Stream + 18, // 12: google.partner.aistreams.v1alpha1.UpdateStreamRequest.update_mask:type_name -> google.protobuf.FieldMask + 7, // 13: google.partner.aistreams.v1alpha1.UpdateStreamRequest.stream:type_name -> google.partner.aistreams.v1alpha1.Stream + 17, // 14: google.partner.aistreams.v1alpha1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 17, // 15: google.partner.aistreams.v1alpha1.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 1, // 16: google.partner.aistreams.v1alpha1.AIStreams.ListClusters:input_type -> google.partner.aistreams.v1alpha1.ListClustersRequest + 3, // 17: google.partner.aistreams.v1alpha1.AIStreams.GetCluster:input_type -> google.partner.aistreams.v1alpha1.GetClusterRequest + 4, // 18: google.partner.aistreams.v1alpha1.AIStreams.CreateCluster:input_type -> google.partner.aistreams.v1alpha1.CreateClusterRequest + 5, // 19: google.partner.aistreams.v1alpha1.AIStreams.UpdateCluster:input_type -> google.partner.aistreams.v1alpha1.UpdateClusterRequest + 6, // 20: google.partner.aistreams.v1alpha1.AIStreams.DeleteCluster:input_type -> google.partner.aistreams.v1alpha1.DeleteClusterRequest + 8, // 21: google.partner.aistreams.v1alpha1.AIStreams.ListStreams:input_type -> google.partner.aistreams.v1alpha1.ListStreamsRequest + 10, // 22: google.partner.aistreams.v1alpha1.AIStreams.GetStream:input_type -> google.partner.aistreams.v1alpha1.GetStreamRequest + 11, // 23: google.partner.aistreams.v1alpha1.AIStreams.CreateStream:input_type -> google.partner.aistreams.v1alpha1.CreateStreamRequest + 12, // 24: google.partner.aistreams.v1alpha1.AIStreams.UpdateStream:input_type -> google.partner.aistreams.v1alpha1.UpdateStreamRequest + 13, // 25: google.partner.aistreams.v1alpha1.AIStreams.DeleteStream:input_type -> google.partner.aistreams.v1alpha1.DeleteStreamRequest + 2, // 26: google.partner.aistreams.v1alpha1.AIStreams.ListClusters:output_type -> google.partner.aistreams.v1alpha1.ListClustersResponse + 0, // 27: google.partner.aistreams.v1alpha1.AIStreams.GetCluster:output_type -> google.partner.aistreams.v1alpha1.Cluster + 19, // 28: google.partner.aistreams.v1alpha1.AIStreams.CreateCluster:output_type -> google.longrunning.Operation + 19, // 29: google.partner.aistreams.v1alpha1.AIStreams.UpdateCluster:output_type -> google.longrunning.Operation + 19, // 30: google.partner.aistreams.v1alpha1.AIStreams.DeleteCluster:output_type -> google.longrunning.Operation + 9, // 31: google.partner.aistreams.v1alpha1.AIStreams.ListStreams:output_type -> google.partner.aistreams.v1alpha1.ListStreamsResponse + 7, // 32: google.partner.aistreams.v1alpha1.AIStreams.GetStream:output_type -> google.partner.aistreams.v1alpha1.Stream + 19, // 33: google.partner.aistreams.v1alpha1.AIStreams.CreateStream:output_type -> google.longrunning.Operation + 19, // 34: google.partner.aistreams.v1alpha1.AIStreams.UpdateStream:output_type -> google.longrunning.Operation + 19, // 35: google.partner.aistreams.v1alpha1.AIStreams.DeleteStream:output_type -> google.longrunning.Operation + 26, // [26:36] is the sub-list for method output_type + 16, // [16:26] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name +} + +func init() { file_google_partner_aistreams_v1alpha1_aistreams_proto_init() } +func file_google_partner_aistreams_v1alpha1_aistreams_proto_init() { + if File_google_partner_aistreams_v1alpha1_aistreams_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Cluster); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListClustersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListClustersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteClusterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Stream); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListStreamsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListStreamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStreamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateStreamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateStreamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteStreamRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDesc, + NumEnums: 0, + NumMessages: 17, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_google_partner_aistreams_v1alpha1_aistreams_proto_goTypes, + DependencyIndexes: file_google_partner_aistreams_v1alpha1_aistreams_proto_depIdxs, + MessageInfos: file_google_partner_aistreams_v1alpha1_aistreams_proto_msgTypes, + }.Build() + File_google_partner_aistreams_v1alpha1_aistreams_proto = out.File + file_google_partner_aistreams_v1alpha1_aistreams_proto_rawDesc = nil + file_google_partner_aistreams_v1alpha1_aistreams_proto_goTypes = nil + file_google_partner_aistreams_v1alpha1_aistreams_proto_depIdxs = nil +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConnInterface + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion6 + +// AIStreamsClient is the client API for AIStreams service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type AIStreamsClient interface { + // Lists Clusters in a given project and location. + ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error) + // Gets details of a single Cluster. + GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error) + // Creates a new Cluster in a given project and location. + CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Updates the parameters of a single Cluster. + UpdateCluster(ctx context.Context, in *UpdateClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Deletes a single Cluster. + DeleteCluster(ctx context.Context, in *DeleteClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Lists Streams in a given project, location and cluster. + ListStreams(ctx context.Context, in *ListStreamsRequest, opts ...grpc.CallOption) (*ListStreamsResponse, error) + // Gets details of a single Stream. + GetStream(ctx context.Context, in *GetStreamRequest, opts ...grpc.CallOption) (*Stream, error) + // Creates a new Stream in a given project and location. + CreateStream(ctx context.Context, in *CreateStreamRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Updates the parameters of a single Stream. + UpdateStream(ctx context.Context, in *UpdateStreamRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) + // Deletes a single Stream. + DeleteStream(ctx context.Context, in *DeleteStreamRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) +} + +type aIStreamsClient struct { + cc grpc.ClientConnInterface +} + +func NewAIStreamsClient(cc grpc.ClientConnInterface) AIStreamsClient { + return &aIStreamsClient{cc} +} + +func (c *aIStreamsClient) ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error) { + out := new(ListClustersResponse) + err := c.cc.Invoke(ctx, "/google.partner.aistreams.v1alpha1.AIStreams/ListClusters", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aIStreamsClient) GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error) { + out := new(Cluster) + err := c.cc.Invoke(ctx, "/google.partner.aistreams.v1alpha1.AIStreams/GetCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aIStreamsClient) CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.partner.aistreams.v1alpha1.AIStreams/CreateCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aIStreamsClient) UpdateCluster(ctx context.Context, in *UpdateClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.partner.aistreams.v1alpha1.AIStreams/UpdateCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aIStreamsClient) DeleteCluster(ctx context.Context, in *DeleteClusterRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.partner.aistreams.v1alpha1.AIStreams/DeleteCluster", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aIStreamsClient) ListStreams(ctx context.Context, in *ListStreamsRequest, opts ...grpc.CallOption) (*ListStreamsResponse, error) { + out := new(ListStreamsResponse) + err := c.cc.Invoke(ctx, "/google.partner.aistreams.v1alpha1.AIStreams/ListStreams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aIStreamsClient) GetStream(ctx context.Context, in *GetStreamRequest, opts ...grpc.CallOption) (*Stream, error) { + out := new(Stream) + err := c.cc.Invoke(ctx, "/google.partner.aistreams.v1alpha1.AIStreams/GetStream", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aIStreamsClient) CreateStream(ctx context.Context, in *CreateStreamRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.partner.aistreams.v1alpha1.AIStreams/CreateStream", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aIStreamsClient) UpdateStream(ctx context.Context, in *UpdateStreamRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.partner.aistreams.v1alpha1.AIStreams/UpdateStream", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *aIStreamsClient) DeleteStream(ctx context.Context, in *DeleteStreamRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { + out := new(longrunning.Operation) + err := c.cc.Invoke(ctx, "/google.partner.aistreams.v1alpha1.AIStreams/DeleteStream", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// AIStreamsServer is the server API for AIStreams service. +type AIStreamsServer interface { + // Lists Clusters in a given project and location. + ListClusters(context.Context, *ListClustersRequest) (*ListClustersResponse, error) + // Gets details of a single Cluster. + GetCluster(context.Context, *GetClusterRequest) (*Cluster, error) + // Creates a new Cluster in a given project and location. + CreateCluster(context.Context, *CreateClusterRequest) (*longrunning.Operation, error) + // Updates the parameters of a single Cluster. + UpdateCluster(context.Context, *UpdateClusterRequest) (*longrunning.Operation, error) + // Deletes a single Cluster. + DeleteCluster(context.Context, *DeleteClusterRequest) (*longrunning.Operation, error) + // Lists Streams in a given project, location and cluster. + ListStreams(context.Context, *ListStreamsRequest) (*ListStreamsResponse, error) + // Gets details of a single Stream. + GetStream(context.Context, *GetStreamRequest) (*Stream, error) + // Creates a new Stream in a given project and location. + CreateStream(context.Context, *CreateStreamRequest) (*longrunning.Operation, error) + // Updates the parameters of a single Stream. + UpdateStream(context.Context, *UpdateStreamRequest) (*longrunning.Operation, error) + // Deletes a single Stream. + DeleteStream(context.Context, *DeleteStreamRequest) (*longrunning.Operation, error) +} + +// UnimplementedAIStreamsServer can be embedded to have forward compatible implementations. +type UnimplementedAIStreamsServer struct { +} + +func (*UnimplementedAIStreamsServer) ListClusters(context.Context, *ListClustersRequest) (*ListClustersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListClusters not implemented") +} +func (*UnimplementedAIStreamsServer) GetCluster(context.Context, *GetClusterRequest) (*Cluster, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCluster not implemented") +} +func (*UnimplementedAIStreamsServer) CreateCluster(context.Context, *CreateClusterRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateCluster not implemented") +} +func (*UnimplementedAIStreamsServer) UpdateCluster(context.Context, *UpdateClusterRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateCluster not implemented") +} +func (*UnimplementedAIStreamsServer) DeleteCluster(context.Context, *DeleteClusterRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteCluster not implemented") +} +func (*UnimplementedAIStreamsServer) ListStreams(context.Context, *ListStreamsRequest) (*ListStreamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListStreams not implemented") +} +func (*UnimplementedAIStreamsServer) GetStream(context.Context, *GetStreamRequest) (*Stream, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetStream not implemented") +} +func (*UnimplementedAIStreamsServer) CreateStream(context.Context, *CreateStreamRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateStream not implemented") +} +func (*UnimplementedAIStreamsServer) UpdateStream(context.Context, *UpdateStreamRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateStream not implemented") +} +func (*UnimplementedAIStreamsServer) DeleteStream(context.Context, *DeleteStreamRequest) (*longrunning.Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteStream not implemented") +} + +func RegisterAIStreamsServer(s *grpc.Server, srv AIStreamsServer) { + s.RegisterService(&_AIStreams_serviceDesc, srv) +} + +func _AIStreams_ListClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListClustersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AIStreamsServer).ListClusters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.partner.aistreams.v1alpha1.AIStreams/ListClusters", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AIStreamsServer).ListClusters(ctx, req.(*ListClustersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AIStreams_GetCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AIStreamsServer).GetCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.partner.aistreams.v1alpha1.AIStreams/GetCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AIStreamsServer).GetCluster(ctx, req.(*GetClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AIStreams_CreateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AIStreamsServer).CreateCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.partner.aistreams.v1alpha1.AIStreams/CreateCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AIStreamsServer).CreateCluster(ctx, req.(*CreateClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AIStreams_UpdateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AIStreamsServer).UpdateCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.partner.aistreams.v1alpha1.AIStreams/UpdateCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AIStreamsServer).UpdateCluster(ctx, req.(*UpdateClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AIStreams_DeleteCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AIStreamsServer).DeleteCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.partner.aistreams.v1alpha1.AIStreams/DeleteCluster", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AIStreamsServer).DeleteCluster(ctx, req.(*DeleteClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AIStreams_ListStreams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListStreamsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AIStreamsServer).ListStreams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.partner.aistreams.v1alpha1.AIStreams/ListStreams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AIStreamsServer).ListStreams(ctx, req.(*ListStreamsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AIStreams_GetStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetStreamRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AIStreamsServer).GetStream(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.partner.aistreams.v1alpha1.AIStreams/GetStream", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AIStreamsServer).GetStream(ctx, req.(*GetStreamRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AIStreams_CreateStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateStreamRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AIStreamsServer).CreateStream(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.partner.aistreams.v1alpha1.AIStreams/CreateStream", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AIStreamsServer).CreateStream(ctx, req.(*CreateStreamRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AIStreams_UpdateStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateStreamRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AIStreamsServer).UpdateStream(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.partner.aistreams.v1alpha1.AIStreams/UpdateStream", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AIStreamsServer).UpdateStream(ctx, req.(*UpdateStreamRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AIStreams_DeleteStream_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteStreamRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AIStreamsServer).DeleteStream(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.partner.aistreams.v1alpha1.AIStreams/DeleteStream", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AIStreamsServer).DeleteStream(ctx, req.(*DeleteStreamRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _AIStreams_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.partner.aistreams.v1alpha1.AIStreams", + HandlerType: (*AIStreamsServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListClusters", + Handler: _AIStreams_ListClusters_Handler, + }, + { + MethodName: "GetCluster", + Handler: _AIStreams_GetCluster_Handler, + }, + { + MethodName: "CreateCluster", + Handler: _AIStreams_CreateCluster_Handler, + }, + { + MethodName: "UpdateCluster", + Handler: _AIStreams_UpdateCluster_Handler, + }, + { + MethodName: "DeleteCluster", + Handler: _AIStreams_DeleteCluster_Handler, + }, + { + MethodName: "ListStreams", + Handler: _AIStreams_ListStreams_Handler, + }, + { + MethodName: "GetStream", + Handler: _AIStreams_GetStream_Handler, + }, + { + MethodName: "CreateStream", + Handler: _AIStreams_CreateStream_Handler, + }, + { + MethodName: "UpdateStream", + Handler: _AIStreams_UpdateStream_Handler, + }, + { + MethodName: "DeleteStream", + Handler: _AIStreams_DeleteStream_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/partner/aistreams/v1alpha1/aistreams.proto", +}