google-apis-retail_v2 0.46.0 → 0.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -279,6 +279,26 @@ module Google
279
279
  end
280
280
  end
281
281
 
282
+ # Request for CatalogService.AddCatalogAttribute method.
283
+ class GoogleCloudRetailV2AddCatalogAttributeRequest
284
+ include Google::Apis::Core::Hashable
285
+
286
+ # Catalog level attribute config for an attribute. For example, if customers
287
+ # want to enable/disable facet for a specific attribute.
288
+ # Corresponds to the JSON property `catalogAttribute`
289
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2CatalogAttribute]
290
+ attr_accessor :catalog_attribute
291
+
292
+ def initialize(**args)
293
+ update!(**args)
294
+ end
295
+
296
+ # Update properties of this object
297
+ def update!(**args)
298
+ @catalog_attribute = args[:catalog_attribute] if args.key?(:catalog_attribute)
299
+ end
300
+ end
301
+
282
302
  # Metadata related to the progress of the AddFulfillmentPlaces operation.
283
303
  # Currently empty because there is no meaningful metadata populated from the
284
304
  # ProductService.AddFulfillmentPlaces method.
@@ -446,6 +466,42 @@ module Google
446
466
  end
447
467
  end
448
468
 
469
+ # Catalog level attribute config.
470
+ class GoogleCloudRetailV2AttributesConfig
471
+ include Google::Apis::Core::Hashable
472
+
473
+ # Output only. The AttributeConfigLevel used for this catalog.
474
+ # Corresponds to the JSON property `attributeConfigLevel`
475
+ # @return [String]
476
+ attr_accessor :attribute_config_level
477
+
478
+ # Enable attribute(s) config at catalog level. For example, indexable,
479
+ # dynamic_facetable, or searchable for each attribute. The key is catalog
480
+ # attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`
481
+ # , such as `attributes.xyz`. The maximum number of catalog attributes allowed
482
+ # in a request is 1000.
483
+ # Corresponds to the JSON property `catalogAttributes`
484
+ # @return [Hash<String,Google::Apis::RetailV2::GoogleCloudRetailV2CatalogAttribute>]
485
+ attr_accessor :catalog_attributes
486
+
487
+ # Required. Immutable. The fully qualified resource name of the attribute config.
488
+ # Format: `projects/*/locations/*/catalogs/*/attributesConfig`
489
+ # Corresponds to the JSON property `name`
490
+ # @return [String]
491
+ attr_accessor :name
492
+
493
+ def initialize(**args)
494
+ update!(**args)
495
+ end
496
+
497
+ # Update properties of this object
498
+ def update!(**args)
499
+ @attribute_config_level = args[:attribute_config_level] if args.key?(:attribute_config_level)
500
+ @catalog_attributes = args[:catalog_attributes] if args.key?(:catalog_attributes)
501
+ @name = args[:name] if args.key?(:name)
502
+ end
503
+ end
504
+
449
505
  # An intended audience of the Product for whom it's sold.
450
506
  class GoogleCloudRetailV2Audience
451
507
  include Google::Apis::Core::Hashable
@@ -495,12 +551,11 @@ module Google
495
551
  # recommendations-ai/docs/upload-catalog#mc). Supported values for user events
496
552
  # imports: * `user_event` (default): One JSON UserEvent per line. * `
497
553
  # user_event_ga360`: The schema is available here: https://support.google.com/
498
- # analytics/answer/3437719. * `user_event_ga4`: This feature is in private
499
- # preview. Please contact the support team for importing Google Analytics 4
500
- # events. The schema is available here: https://support.google.com/analytics/
501
- # answer/7029846. Supported values for auto-completion imports: * `suggestions` (
502
- # default): One JSON completion suggestion per line. * `denylist`: One JSON deny
503
- # suggestion per line. * `allowlist`: One JSON allow suggestion per line.
554
+ # analytics/answer/3437719. * `user_event_ga4`: The schema is available here:
555
+ # https://support.google.com/analytics/answer/7029846. Supported values for auto-
556
+ # completion imports: * `suggestions` (default): One JSON completion suggestion
557
+ # per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One
558
+ # JSON allow suggestion per line.
504
559
  # Corresponds to the JSON property `dataSchema`
505
560
  # @return [String]
506
561
  attr_accessor :data_schema
@@ -592,6 +647,79 @@ module Google
592
647
  end
593
648
  end
594
649
 
650
+ # Catalog level attribute config for an attribute. For example, if customers
651
+ # want to enable/disable facet for a specific attribute.
652
+ class GoogleCloudRetailV2CatalogAttribute
653
+ include Google::Apis::Core::Hashable
654
+
655
+ # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet.
656
+ # Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option
657
+ # is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
658
+ # Corresponds to the JSON property `dynamicFacetableOption`
659
+ # @return [String]
660
+ attr_accessor :dynamic_facetable_option
661
+
662
+ # Output only. Indicates whether this attribute has been used by any products. `
663
+ # True` if at least one Product is using this attribute in Product.attributes.
664
+ # Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using
665
+ # CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or
666
+ # CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-
667
+ # loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither
668
+ # in use by products nor predefined can be deleted. CatalogAttributes that are
669
+ # either in use by products or are predefined cannot be deleted; however, their
670
+ # configuration properties will reset to default values upon removal request.
671
+ # After catalog changes, it takes about 10 minutes for this field to update.
672
+ # Corresponds to the JSON property `inUse`
673
+ # @return [Boolean]
674
+ attr_accessor :in_use
675
+ alias_method :in_use?, :in_use
676
+
677
+ # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG,
678
+ # if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered,
679
+ # faceted, or boosted in SearchService.Search.
680
+ # Corresponds to the JSON property `indexableOption`
681
+ # @return [String]
682
+ attr_accessor :indexable_option
683
+
684
+ # Required. Attribute name. For example: `color`, `brands`, `attributes.
685
+ # custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute
686
+ # name can contain only alpha-numeric characters and underscores. For example,
687
+ # an attribute named `attributes.abc_xyz` can be indexed, but an attribute named
688
+ # `attributes.abc-xyz` cannot be indexed.
689
+ # Corresponds to the JSON property `key`
690
+ # @return [String]
691
+ attr_accessor :key
692
+
693
+ # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG,
694
+ # if SEARCHABLE_ENABLED, attribute values are searchable by text queries in
695
+ # SearchService.Search. If SEARCHABLE_ENABLED but attribute type is numerical,
696
+ # attribute values will not be searchable by text queries in SearchService.
697
+ # Search, as there are no text values associated to numerical attributes.
698
+ # Corresponds to the JSON property `searchableOption`
699
+ # @return [String]
700
+ attr_accessor :searchable_option
701
+
702
+ # Output only. The type of this attribute. This is derived from the attribute in
703
+ # Product.attributes.
704
+ # Corresponds to the JSON property `type`
705
+ # @return [String]
706
+ attr_accessor :type
707
+
708
+ def initialize(**args)
709
+ update!(**args)
710
+ end
711
+
712
+ # Update properties of this object
713
+ def update!(**args)
714
+ @dynamic_facetable_option = args[:dynamic_facetable_option] if args.key?(:dynamic_facetable_option)
715
+ @in_use = args[:in_use] if args.key?(:in_use)
716
+ @indexable_option = args[:indexable_option] if args.key?(:indexable_option)
717
+ @key = args[:key] if args.key?(:key)
718
+ @searchable_option = args[:searchable_option] if args.key?(:searchable_option)
719
+ @type = args[:type] if args.key?(:type)
720
+ end
721
+ end
722
+
595
723
  # The color information of a Product.
596
724
  class GoogleCloudRetailV2ColorInfo
597
725
  include Google::Apis::Core::Hashable
@@ -680,9 +808,8 @@ module Google
680
808
 
681
809
  # Custom attributes for the suggestion term. * For "user-data", the attributes
682
810
  # are additional custom attributes ingested through BigQuery. * For "cloud-
683
- # retail", the attributes are product attributes generated by Cloud Retail. This
684
- # is an experimental feature. Contact Retail Search support team if you are
685
- # interested in enabling it.
811
+ # retail", the attributes are product attributes generated by Cloud Retail. It
812
+ # requires UserEvent.product_details is imported properly.
686
813
  # Corresponds to the JSON property `attributes`
687
814
  # @return [Hash<String,Google::Apis::RetailV2::GoogleCloudRetailV2CustomAttribute>]
688
815
  attr_accessor :attributes
@@ -722,6 +849,105 @@ module Google
722
849
  end
723
850
  end
724
851
 
852
+ # Catalog level autocomplete config for customers to customize autocomplete
853
+ # feature's settings.
854
+ class GoogleCloudRetailV2CompletionConfig
855
+ include Google::Apis::Core::Hashable
856
+
857
+ # The input config source for completion data.
858
+ # Corresponds to the JSON property `allowlistInputConfig`
859
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2CompletionDataInputConfig]
860
+ attr_accessor :allowlist_input_config
861
+
862
+ # If set to true, the auto learning function is enabled. Auto learning uses user
863
+ # data to generate suggestions using ML techniques. Default value is false. Only
864
+ # after enabling auto learning can users use `cloud-retail` data in
865
+ # CompleteQueryRequest.
866
+ # Corresponds to the JSON property `autoLearning`
867
+ # @return [Boolean]
868
+ attr_accessor :auto_learning
869
+ alias_method :auto_learning?, :auto_learning
870
+
871
+ # The input config source for completion data.
872
+ # Corresponds to the JSON property `denylistInputConfig`
873
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2CompletionDataInputConfig]
874
+ attr_accessor :denylist_input_config
875
+
876
+ # Output only. Name of the LRO corresponding to the latest allowlist import. Can
877
+ # use GetOperation API to retrieve the latest state of the Long Running
878
+ # Operation.
879
+ # Corresponds to the JSON property `lastAllowlistImportOperation`
880
+ # @return [String]
881
+ attr_accessor :last_allowlist_import_operation
882
+
883
+ # Output only. Name of the LRO corresponding to the latest denylist import. Can
884
+ # use GetOperation API to retrieve the latest state of the Long Running
885
+ # Operation.
886
+ # Corresponds to the JSON property `lastDenylistImportOperation`
887
+ # @return [String]
888
+ attr_accessor :last_denylist_import_operation
889
+
890
+ # Output only. Name of the LRO corresponding to the latest suggestion terms list
891
+ # import. Can use GetOperation API to retrieve the latest state of the Long
892
+ # Running Operation.
893
+ # Corresponds to the JSON property `lastSuggestionsImportOperation`
894
+ # @return [String]
895
+ attr_accessor :last_suggestions_import_operation
896
+
897
+ # Specifies the matching order for autocomplete suggestions, e.g., a query
898
+ # consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes",
899
+ # whereas a query of 'red s' with 'exact-prefix' specified would suggest "red
900
+ # shoes". Currently supported values: * 'out-of-order' * 'exact-prefix' Default
901
+ # value: 'exact-prefix'.
902
+ # Corresponds to the JSON property `matchingOrder`
903
+ # @return [String]
904
+ attr_accessor :matching_order
905
+
906
+ # The maximum number of autocomplete suggestions returned per term. Default
907
+ # value is 20. If left unset or set to 0, then will fallback to default value.
908
+ # Value range is 1 to 20.
909
+ # Corresponds to the JSON property `maxSuggestions`
910
+ # @return [Fixnum]
911
+ attr_accessor :max_suggestions
912
+
913
+ # The minimum number of characters needed to be typed in order to get
914
+ # suggestions. Default value is 2. If left unset or set to 0, then will fallback
915
+ # to default value. Value range is 1 to 20.
916
+ # Corresponds to the JSON property `minPrefixLength`
917
+ # @return [Fixnum]
918
+ attr_accessor :min_prefix_length
919
+
920
+ # Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/
921
+ # completionConfig`
922
+ # Corresponds to the JSON property `name`
923
+ # @return [String]
924
+ attr_accessor :name
925
+
926
+ # The input config source for completion data.
927
+ # Corresponds to the JSON property `suggestionsInputConfig`
928
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2CompletionDataInputConfig]
929
+ attr_accessor :suggestions_input_config
930
+
931
+ def initialize(**args)
932
+ update!(**args)
933
+ end
934
+
935
+ # Update properties of this object
936
+ def update!(**args)
937
+ @allowlist_input_config = args[:allowlist_input_config] if args.key?(:allowlist_input_config)
938
+ @auto_learning = args[:auto_learning] if args.key?(:auto_learning)
939
+ @denylist_input_config = args[:denylist_input_config] if args.key?(:denylist_input_config)
940
+ @last_allowlist_import_operation = args[:last_allowlist_import_operation] if args.key?(:last_allowlist_import_operation)
941
+ @last_denylist_import_operation = args[:last_denylist_import_operation] if args.key?(:last_denylist_import_operation)
942
+ @last_suggestions_import_operation = args[:last_suggestions_import_operation] if args.key?(:last_suggestions_import_operation)
943
+ @matching_order = args[:matching_order] if args.key?(:matching_order)
944
+ @max_suggestions = args[:max_suggestions] if args.key?(:max_suggestions)
945
+ @min_prefix_length = args[:min_prefix_length] if args.key?(:min_prefix_length)
946
+ @name = args[:name] if args.key?(:name)
947
+ @suggestions_input_config = args[:suggestions_input_config] if args.key?(:suggestions_input_config)
948
+ end
949
+ end
950
+
725
951
  # The input config source for completion data.
726
952
  class GoogleCloudRetailV2CompletionDataInputConfig
727
953
  include Google::Apis::Core::Hashable
@@ -1121,11 +1347,9 @@ module Google
1121
1347
  # the import is finished, a notification will be sent to specified Pub/Sub topic.
1122
1348
  # The message data will be JSON string of a Operation. Format of the Pub/Sub
1123
1349
  # topic is `projects/`project`/topics/`topic``. It has to be within the same
1124
- # project as ImportProductsRequest.parent. Make sure that both `cloud-retail-
1125
- # customer-data-access@system.gserviceaccount.com` and `service-@gcp-sa-retail.
1126
- # iam.gserviceaccount.com` have the `pubsub.topics.publish` IAM permission on
1127
- # the topic. Only supported when ImportProductsRequest.reconciliation_mode is
1128
- # set to `FULL`.
1350
+ # project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-
1351
+ # retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission
1352
+ # on the topic.
1129
1353
  # Corresponds to the JSON property `notificationPubsubTopic`
1130
1354
  # @return [String]
1131
1355
  attr_accessor :notification_pubsub_topic
@@ -1411,7 +1635,7 @@ module Google
1411
1635
  # in `PredictRequest.params` to receive empty results instead. Note that the API
1412
1636
  # will never return items with storageStatus of "EXPIRED" or "DELETED"
1413
1637
  # regardless of filter choices. If `filterSyntaxV2` is set to true under the `
1414
- # params` field, then attribute based expressions are expected instead of the
1638
+ # params` field, then attribute-based expressions are expected instead of the
1415
1639
  # above described tag-based syntax. Examples: * (colors: ANY("Red", "Blue")) AND
1416
1640
  # NOT (categories: ANY("Phones")) * (availability: ANY("IN_STOCK")) AND (colors:
1417
1641
  # ANY("Red") OR categories: ANY("Phones"))
@@ -1442,7 +1666,7 @@ module Google
1442
1666
  # @return [Fixnum]
1443
1667
  attr_accessor :page_size
1444
1668
 
1445
- # This field is not used for now, please leave it unset.
1669
+ # This field is not used for now, leave it unset.
1446
1670
  # Corresponds to the JSON property `pageToken`
1447
1671
  # @return [String]
1448
1672
  attr_accessor :page_token
@@ -1464,8 +1688,8 @@ module Google
1464
1688
  # it needs to be one of `'no-diversity', 'low-diversity', 'medium-diversity', '
1465
1689
  # high-diversity', 'auto-diversity'`. This gives request-level control and
1466
1690
  # adjusts prediction results based on product category. * `filterSyntaxV2`:
1467
- # Boolean. False by default. If set to true, the `filter` field will be
1468
- # interpreteted according to the new, attribute-based syntax.
1691
+ # Boolean. False by default. If set to true, the `filter` field is interpreteted
1692
+ # according to the new, attribute-based syntax.
1469
1693
  # Corresponds to the JSON property `params`
1470
1694
  # @return [Hash<String,Object>]
1471
1695
  attr_accessor :params
@@ -1749,7 +1973,7 @@ module Google
1749
1973
 
1750
1974
  # The id of the collection members when type is Type.COLLECTION. Non-existent
1751
1975
  # product ids are allowed. The type of the members must be either Type.PRIMARY
1752
- # or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set
1976
+ # or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set
1753
1977
  # it for other types. A maximum of 1000 values are allowed. Otherwise, an
1754
1978
  # INVALID_ARGUMENT error is return.
1755
1979
  # Corresponds to the JSON property `collectionMemberIds`
@@ -2401,6 +2625,25 @@ module Google
2401
2625
  end
2402
2626
  end
2403
2627
 
2628
+ # Request for CatalogService.RemoveCatalogAttribute method.
2629
+ class GoogleCloudRetailV2RemoveCatalogAttributeRequest
2630
+ include Google::Apis::Core::Hashable
2631
+
2632
+ # Required. The attribute name key of the CatalogAttribute to remove.
2633
+ # Corresponds to the JSON property `key`
2634
+ # @return [String]
2635
+ attr_accessor :key
2636
+
2637
+ def initialize(**args)
2638
+ update!(**args)
2639
+ end
2640
+
2641
+ # Update properties of this object
2642
+ def update!(**args)
2643
+ @key = args[:key] if args.key?(:key)
2644
+ end
2645
+ end
2646
+
2404
2647
  # Metadata related to the progress of the RemoveFulfillmentPlaces operation.
2405
2648
  # Currently empty because there is no meaningful metadata populated from the
2406
2649
  # ProductService.RemoveFulfillmentPlaces method.
@@ -3011,6 +3254,13 @@ module Google
3011
3254
  # @return [Array<String>]
3012
3255
  attr_accessor :restricted_values
3013
3256
 
3257
+ # Returns the min and max value for each numerical facet intervals. Ignored for
3258
+ # textual facets.
3259
+ # Corresponds to the JSON property `returnMinMax`
3260
+ # @return [Boolean]
3261
+ attr_accessor :return_min_max
3262
+ alias_method :return_min_max?, :return_min_max
3263
+
3014
3264
  def initialize(**args)
3015
3265
  update!(**args)
3016
3266
  end
@@ -3025,6 +3275,7 @@ module Google
3025
3275
  @prefixes = args[:prefixes] if args.key?(:prefixes)
3026
3276
  @query = args[:query] if args.key?(:query)
3027
3277
  @restricted_values = args[:restricted_values] if args.key?(:restricted_values)
3278
+ @return_min_max = args[:return_min_max] if args.key?(:return_min_max)
3028
3279
  end
3029
3280
  end
3030
3281
 
@@ -3115,7 +3366,7 @@ module Google
3115
3366
 
3116
3367
  # Contains the spell corrected query, if found. If the spell correction type is
3117
3368
  # AUTOMATIC, then the search results are based on corrected_query. Otherwise the
3118
- # original query will be used for search.
3369
+ # original query is used for search.
3119
3370
  # Corresponds to the JSON property `correctedQuery`
3120
3371
  # @return [String]
3121
3372
  attr_accessor :corrected_query
@@ -3227,6 +3478,18 @@ module Google
3227
3478
  # @return [Google::Apis::RetailV2::GoogleCloudRetailV2Interval]
3228
3479
  attr_accessor :interval
3229
3480
 
3481
+ # The maximum value in the FacetValue.interval. Only supported on numerical
3482
+ # facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.
3483
+ # Corresponds to the JSON property `maxValue`
3484
+ # @return [Float]
3485
+ attr_accessor :max_value
3486
+
3487
+ # The minimum value in the FacetValue.interval. Only supported on numerical
3488
+ # facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.
3489
+ # Corresponds to the JSON property `minValue`
3490
+ # @return [Float]
3491
+ attr_accessor :min_value
3492
+
3230
3493
  # Text value of a facet, such as "Black" for facet "colorFamilies".
3231
3494
  # Corresponds to the JSON property `value`
3232
3495
  # @return [String]
@@ -3240,6 +3503,8 @@ module Google
3240
3503
  def update!(**args)
3241
3504
  @count = args[:count] if args.key?(:count)
3242
3505
  @interval = args[:interval] if args.key?(:interval)
3506
+ @max_value = args[:max_value] if args.key?(:max_value)
3507
+ @min_value = args[:min_value] if args.key?(:min_value)
3243
3508
  @value = args[:value] if args.key?(:value)
3244
3509
  end
3245
3510
  end
@@ -3295,6 +3560,15 @@ module Google
3295
3560
  # @return [Hash<String,String>]
3296
3561
  attr_accessor :matching_variant_fields
3297
3562
 
3563
+ # Specifies previous events related to this product for this user based on
3564
+ # UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set
3565
+ # only when SearchRequest.PersonalizationSpec.mode is SearchRequest.
3566
+ # PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that
3567
+ # this product has been purchased before.
3568
+ # Corresponds to the JSON property `personalLabels`
3569
+ # @return [Array<String>]
3570
+ attr_accessor :personal_labels
3571
+
3298
3572
  # Product captures all metadata information of items to be recommended or
3299
3573
  # searched.
3300
3574
  # Corresponds to the JSON property `product`
@@ -3327,6 +3601,7 @@ module Google
3327
3601
  @id = args[:id] if args.key?(:id)
3328
3602
  @matching_variant_count = args[:matching_variant_count] if args.key?(:matching_variant_count)
3329
3603
  @matching_variant_fields = args[:matching_variant_fields] if args.key?(:matching_variant_fields)
3604
+ @personal_labels = args[:personal_labels] if args.key?(:personal_labels)
3330
3605
  @product = args[:product] if args.key?(:product)
3331
3606
  @variant_rollup_values = args[:variant_rollup_values] if args.key?(:variant_rollup_values)
3332
3607
  end
@@ -3868,6 +4143,51 @@ module Google
3868
4143
  end
3869
4144
  end
3870
4145
 
4146
+ # A BigQuery output result.
4147
+ class GoogleCloudRetailV2alphaBigQueryOutputResult
4148
+ include Google::Apis::Core::Hashable
4149
+
4150
+ # The ID of a BigQuery Dataset.
4151
+ # Corresponds to the JSON property `datasetId`
4152
+ # @return [String]
4153
+ attr_accessor :dataset_id
4154
+
4155
+ # The ID of a BigQuery Table.
4156
+ # Corresponds to the JSON property `tableId`
4157
+ # @return [String]
4158
+ attr_accessor :table_id
4159
+
4160
+ def initialize(**args)
4161
+ update!(**args)
4162
+ end
4163
+
4164
+ # Update properties of this object
4165
+ def update!(**args)
4166
+ @dataset_id = args[:dataset_id] if args.key?(:dataset_id)
4167
+ @table_id = args[:table_id] if args.key?(:table_id)
4168
+ end
4169
+ end
4170
+
4171
+ # Metadata associated with a create operation.
4172
+ class GoogleCloudRetailV2alphaCreateModelMetadata
4173
+ include Google::Apis::Core::Hashable
4174
+
4175
+ # The resource name of the model that this create applies to. Format: projects/`
4176
+ # project_number`/locations/`location_id`/catalogs/`catalog_id`/models/`model_id`
4177
+ # Corresponds to the JSON property `model`
4178
+ # @return [String]
4179
+ attr_accessor :model
4180
+
4181
+ def initialize(**args)
4182
+ update!(**args)
4183
+ end
4184
+
4185
+ # Update properties of this object
4186
+ def update!(**args)
4187
+ @model = args[:model] if args.key?(:model)
4188
+ end
4189
+ end
4190
+
3871
4191
  # Configuration of destination for Export related errors.
3872
4192
  class GoogleCloudRetailV2alphaExportErrorsConfig
3873
4193
  include Google::Apis::Core::Hashable
@@ -3932,6 +4252,11 @@ module Google
3932
4252
  # @return [Google::Apis::RetailV2::GoogleCloudRetailV2alphaExportErrorsConfig]
3933
4253
  attr_accessor :errors_config
3934
4254
 
4255
+ # Output result.
4256
+ # Corresponds to the JSON property `outputResult`
4257
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2alphaOutputResult]
4258
+ attr_accessor :output_result
4259
+
3935
4260
  def initialize(**args)
3936
4261
  update!(**args)
3937
4262
  end
@@ -3940,6 +4265,7 @@ module Google
3940
4265
  def update!(**args)
3941
4266
  @error_samples = args[:error_samples] if args.key?(:error_samples)
3942
4267
  @errors_config = args[:errors_config] if args.key?(:errors_config)
4268
+ @output_result = args[:output_result] if args.key?(:output_result)
3943
4269
  end
3944
4270
  end
3945
4271
 
@@ -3959,6 +4285,11 @@ module Google
3959
4285
  # @return [Google::Apis::RetailV2::GoogleCloudRetailV2alphaExportErrorsConfig]
3960
4286
  attr_accessor :errors_config
3961
4287
 
4288
+ # Output result.
4289
+ # Corresponds to the JSON property `outputResult`
4290
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2alphaOutputResult]
4291
+ attr_accessor :output_result
4292
+
3962
4293
  def initialize(**args)
3963
4294
  update!(**args)
3964
4295
  end
@@ -3967,6 +4298,7 @@ module Google
3967
4298
  def update!(**args)
3968
4299
  @error_samples = args[:error_samples] if args.key?(:error_samples)
3969
4300
  @errors_config = args[:errors_config] if args.key?(:errors_config)
4301
+ @output_result = args[:output_result] if args.key?(:output_result)
3970
4302
  end
3971
4303
  end
3972
4304
 
@@ -4045,6 +4377,11 @@ module Google
4045
4377
  # @return [Fixnum]
4046
4378
  attr_accessor :success_count
4047
4379
 
4380
+ # Metadata related to transform user events operation.
4381
+ # Corresponds to the JSON property `transformedUserEventsMetadata`
4382
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2alphaTransformedUserEventsMetadata]
4383
+ attr_accessor :transformed_user_events_metadata
4384
+
4048
4385
  # Operation last update time. If the operation is done, this is also the finish
4049
4386
  # time.
4050
4387
  # Corresponds to the JSON property `updateTime`
@@ -4062,6 +4399,7 @@ module Google
4062
4399
  @notification_pubsub_topic = args[:notification_pubsub_topic] if args.key?(:notification_pubsub_topic)
4063
4400
  @request_id = args[:request_id] if args.key?(:request_id)
4064
4401
  @success_count = args[:success_count] if args.key?(:success_count)
4402
+ @transformed_user_events_metadata = args[:transformed_user_events_metadata] if args.key?(:transformed_user_events_metadata)
4065
4403
  @update_time = args[:update_time] if args.key?(:update_time)
4066
4404
  end
4067
4405
  end
@@ -4127,6 +4465,278 @@ module Google
4127
4465
  end
4128
4466
  end
4129
4467
 
4468
+ # Metadata that describes the training and serving parameters of a Model. A
4469
+ # Model can be associated with a ServingConfig and then queried through the
4470
+ # Predict api.
4471
+ class GoogleCloudRetailV2alphaModel
4472
+ include Google::Apis::Core::Hashable
4473
+
4474
+ # Output only. Timestamp the Recommendation Model was created at.
4475
+ # Corresponds to the JSON property `createTime`
4476
+ # @return [String]
4477
+ attr_accessor :create_time
4478
+
4479
+ # Output only. The state of data requirements for this model: DATA_OK and
4480
+ # DATA_ERROR. Recommendation model cannot be trained if the data is in
4481
+ # DATA_ERROR state. Recommendation model can have DATA_ERROR state even if
4482
+ # serving state is ACTIVE: models were trained successfully before, but cannot
4483
+ # be refreshed because model no longer has sufficient data for training.
4484
+ # Corresponds to the JSON property `dataState`
4485
+ # @return [String]
4486
+ attr_accessor :data_state
4487
+
4488
+ # Required. The display name of the model. Should be human readable, used to
4489
+ # display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8
4490
+ # encoded string with limit of 1024 characters.
4491
+ # Corresponds to the JSON property `displayName`
4492
+ # @return [String]
4493
+ attr_accessor :display_name
4494
+
4495
+ # Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by
4496
+ # attributes is enabled for the model.
4497
+ # Corresponds to the JSON property `filteringOption`
4498
+ # @return [String]
4499
+ attr_accessor :filtering_option
4500
+
4501
+ # Output only. The timestamp when the latest successful tune finished.
4502
+ # Corresponds to the JSON property `lastTuneTime`
4503
+ # @return [String]
4504
+ attr_accessor :last_tune_time
4505
+
4506
+ # Required. The fully qualified resource name of the model. Format: projects/`
4507
+ # project_number`/locations/`location_id`/catalogs/`catalog_id`/models/`model_id`
4508
+ # catalog_id has char limit of 50. recommendation_model_id has char limit of 40.
4509
+ # Corresponds to the JSON property `name`
4510
+ # @return [String]
4511
+ attr_accessor :name
4512
+
4513
+ # Optional. The optimization objective e.g. `cvr`. Currently supported values: `
4514
+ # ctr`, `cvr`, `revenue-per-order`. If not specified, we choose default based on
4515
+ # model type. Default depends on type of recommendation: `recommended-for-you` =>
4516
+ # `ctr` `others-you-may-like` => `ctr` `frequently-bought-together` => `
4517
+ # revenue_per_order`
4518
+ # Corresponds to the JSON property `optimizationObjective`
4519
+ # @return [String]
4520
+ attr_accessor :optimization_objective
4521
+
4522
+ # The PageOptimizationConfig for model training. This determines how many panels
4523
+ # to optimize for, and which serving configurations to consider for each panel.
4524
+ # The purpose of this model is to optimize which ServingConfig to show on which
4525
+ # panels in way that optimizes the visitors shopping journey.
4526
+ # Corresponds to the JSON property `pageOptimizationConfig`
4527
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2alphaModelPageOptimizationConfig]
4528
+ attr_accessor :page_optimization_config
4529
+
4530
+ # Optional. The state of periodic tuning. The period we use is 3 months - to do
4531
+ # a one-off tune earlier use the TuneModel method. Default value is
4532
+ # PERIODIC_TUNING_ENABLED.
4533
+ # Corresponds to the JSON property `periodicTuningState`
4534
+ # @return [String]
4535
+ attr_accessor :periodic_tuning_state
4536
+
4537
+ # Output only. The list of valid serving configs associated with the
4538
+ # PageOptimizationConfig.
4539
+ # Corresponds to the JSON property `servingConfigLists`
4540
+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2alphaModelServingConfigList>]
4541
+ attr_accessor :serving_config_lists
4542
+
4543
+ # Output only. The serving state of the model: ACTIVE, NOT_ACTIVE.
4544
+ # Corresponds to the JSON property `servingState`
4545
+ # @return [String]
4546
+ attr_accessor :serving_state
4547
+
4548
+ # Optional. The training state that the model is in (e.g. TRAINING or PAUSED).
4549
+ # Since part of the cost of running the service is frequency of training - this
4550
+ # can be used to determine when to train model in order to control cost. If not
4551
+ # specified: the default value for CreateModel method is TRAINING. the default
4552
+ # value for UpdateModel method is to keep the state the same as before.
4553
+ # Corresponds to the JSON property `trainingState`
4554
+ # @return [String]
4555
+ attr_accessor :training_state
4556
+
4557
+ # Output only. The tune operation associated with the model. Can be used to
4558
+ # determine if there is an ongoing tune for this recommendation. Empty field
4559
+ # implies no tune is goig on.
4560
+ # Corresponds to the JSON property `tuningOperation`
4561
+ # @return [String]
4562
+ attr_accessor :tuning_operation
4563
+
4564
+ # Required. The type of model e.g. `home-page`. Currently supported values: `
4565
+ # recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `
4566
+ # page-optimization`, 'similar-items', 'buy-it-again', `recently-viewed`(
4567
+ # readonly value).
4568
+ # Corresponds to the JSON property `type`
4569
+ # @return [String]
4570
+ attr_accessor :type
4571
+
4572
+ # Output only. Timestamp the Recommendation Model was last updated. E.g. if a
4573
+ # Recommendation Model was paused - this would be the time the pause was
4574
+ # initiated.
4575
+ # Corresponds to the JSON property `updateTime`
4576
+ # @return [String]
4577
+ attr_accessor :update_time
4578
+
4579
+ def initialize(**args)
4580
+ update!(**args)
4581
+ end
4582
+
4583
+ # Update properties of this object
4584
+ def update!(**args)
4585
+ @create_time = args[:create_time] if args.key?(:create_time)
4586
+ @data_state = args[:data_state] if args.key?(:data_state)
4587
+ @display_name = args[:display_name] if args.key?(:display_name)
4588
+ @filtering_option = args[:filtering_option] if args.key?(:filtering_option)
4589
+ @last_tune_time = args[:last_tune_time] if args.key?(:last_tune_time)
4590
+ @name = args[:name] if args.key?(:name)
4591
+ @optimization_objective = args[:optimization_objective] if args.key?(:optimization_objective)
4592
+ @page_optimization_config = args[:page_optimization_config] if args.key?(:page_optimization_config)
4593
+ @periodic_tuning_state = args[:periodic_tuning_state] if args.key?(:periodic_tuning_state)
4594
+ @serving_config_lists = args[:serving_config_lists] if args.key?(:serving_config_lists)
4595
+ @serving_state = args[:serving_state] if args.key?(:serving_state)
4596
+ @training_state = args[:training_state] if args.key?(:training_state)
4597
+ @tuning_operation = args[:tuning_operation] if args.key?(:tuning_operation)
4598
+ @type = args[:type] if args.key?(:type)
4599
+ @update_time = args[:update_time] if args.key?(:update_time)
4600
+ end
4601
+ end
4602
+
4603
+ # The PageOptimizationConfig for model training. This determines how many panels
4604
+ # to optimize for, and which serving configurations to consider for each panel.
4605
+ # The purpose of this model is to optimize which ServingConfig to show on which
4606
+ # panels in way that optimizes the visitors shopping journey.
4607
+ class GoogleCloudRetailV2alphaModelPageOptimizationConfig
4608
+ include Google::Apis::Core::Hashable
4609
+
4610
+ # Required. The type of UserEvent this page optimization is shown for. Each page
4611
+ # has an associated event type - this will be the corresponding event type for
4612
+ # the page that the page optimization model is used on. Supported types: * `add-
4613
+ # to-cart`: Products being added to cart. * `detail-page-view`: Products detail
4614
+ # page viewed. * `home-page-view`: Homepage viewed * `category-page-view`:
4615
+ # Homepage viewed * `shopping-cart-page-view`: User viewing a shopping cart. `
4616
+ # home-page-view` only allows models with type `recommended-for-you`. All other
4617
+ # page_optimization_event_type allow all Model.types.
4618
+ # Corresponds to the JSON property `pageOptimizationEventType`
4619
+ # @return [String]
4620
+ attr_accessor :page_optimization_event_type
4621
+
4622
+ # Required. A list of panel configurations. Limit = 5.
4623
+ # Corresponds to the JSON property `panels`
4624
+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel>]
4625
+ attr_accessor :panels
4626
+
4627
+ # Optional. How to restrict results across panels e.g. can the same
4628
+ # ServingConfig be shown on multiple panels at once. If unspecified, default to `
4629
+ # UNIQUE_MODEL_RESTRICTION`.
4630
+ # Corresponds to the JSON property `restriction`
4631
+ # @return [String]
4632
+ attr_accessor :restriction
4633
+
4634
+ def initialize(**args)
4635
+ update!(**args)
4636
+ end
4637
+
4638
+ # Update properties of this object
4639
+ def update!(**args)
4640
+ @page_optimization_event_type = args[:page_optimization_event_type] if args.key?(:page_optimization_event_type)
4641
+ @panels = args[:panels] if args.key?(:panels)
4642
+ @restriction = args[:restriction] if args.key?(:restriction)
4643
+ end
4644
+ end
4645
+
4646
+ # A candidate to consider for a given panel. Currently only ServingConfig are
4647
+ # valid candidates.
4648
+ class GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate
4649
+ include Google::Apis::Core::Hashable
4650
+
4651
+ # This has to be a valid ServingConfig identifier. e.g. for a ServingConfig with
4652
+ # full name: `projects/*/locations/global/catalogs/default_catalog/
4653
+ # servingConfigs/my_candidate_config` this would be 'my_candidate_config'
4654
+ # Corresponds to the JSON property `servingConfigId`
4655
+ # @return [String]
4656
+ attr_accessor :serving_config_id
4657
+
4658
+ def initialize(**args)
4659
+ update!(**args)
4660
+ end
4661
+
4662
+ # Update properties of this object
4663
+ def update!(**args)
4664
+ @serving_config_id = args[:serving_config_id] if args.key?(:serving_config_id)
4665
+ end
4666
+ end
4667
+
4668
+ # An individual panel with a list of ServingConfigs to consider for it.
4669
+ class GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel
4670
+ include Google::Apis::Core::Hashable
4671
+
4672
+ # Required. The candidates to consider on the panel. Limit = 10.
4673
+ # Corresponds to the JSON property `candidates`
4674
+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate>]
4675
+ attr_accessor :candidates
4676
+
4677
+ # A candidate to consider for a given panel. Currently only ServingConfig are
4678
+ # valid candidates.
4679
+ # Corresponds to the JSON property `defaultCandidate`
4680
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate]
4681
+ attr_accessor :default_candidate
4682
+
4683
+ # Optional. The name to display for the panel.
4684
+ # Corresponds to the JSON property `displayName`
4685
+ # @return [String]
4686
+ attr_accessor :display_name
4687
+
4688
+ def initialize(**args)
4689
+ update!(**args)
4690
+ end
4691
+
4692
+ # Update properties of this object
4693
+ def update!(**args)
4694
+ @candidates = args[:candidates] if args.key?(:candidates)
4695
+ @default_candidate = args[:default_candidate] if args.key?(:default_candidate)
4696
+ @display_name = args[:display_name] if args.key?(:display_name)
4697
+ end
4698
+ end
4699
+
4700
+ # Represents an ordered combination of valid serving configs, which / may be
4701
+ # used for PAGE_OPTIMIZATION recommendations.
4702
+ class GoogleCloudRetailV2alphaModelServingConfigList
4703
+ include Google::Apis::Core::Hashable
4704
+
4705
+ # Optional. A set of valid serving configs that may be used for
4706
+ # PAGE_OPTIMIZATION.
4707
+ # Corresponds to the JSON property `servingConfigIds`
4708
+ # @return [Array<String>]
4709
+ attr_accessor :serving_config_ids
4710
+
4711
+ def initialize(**args)
4712
+ update!(**args)
4713
+ end
4714
+
4715
+ # Update properties of this object
4716
+ def update!(**args)
4717
+ @serving_config_ids = args[:serving_config_ids] if args.key?(:serving_config_ids)
4718
+ end
4719
+ end
4720
+
4721
+ # Output result.
4722
+ class GoogleCloudRetailV2alphaOutputResult
4723
+ include Google::Apis::Core::Hashable
4724
+
4725
+ # Export result in BigQuery.
4726
+ # Corresponds to the JSON property `bigqueryResult`
4727
+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2alphaBigQueryOutputResult>]
4728
+ attr_accessor :bigquery_result
4729
+
4730
+ def initialize(**args)
4731
+ update!(**args)
4732
+ end
4733
+
4734
+ # Update properties of this object
4735
+ def update!(**args)
4736
+ @bigquery_result = args[:bigquery_result] if args.key?(:bigquery_result)
4737
+ end
4738
+ end
4739
+
4130
4740
  # Metadata related to the progress of the Purge operation. This will be returned
4131
4741
  # by the google.longrunning.Operation.metadata field.
4132
4742
  class GoogleCloudRetailV2alphaPurgeMetadata
@@ -4351,6 +4961,65 @@ module Google
4351
4961
  end
4352
4962
  end
4353
4963
 
4964
+ # Metadata related to transform user events operation.
4965
+ class GoogleCloudRetailV2alphaTransformedUserEventsMetadata
4966
+ include Google::Apis::Core::Hashable
4967
+
4968
+ # Count of entries in the source user events BigQuery table.
4969
+ # Corresponds to the JSON property `sourceEventsCount`
4970
+ # @return [Fixnum]
4971
+ attr_accessor :source_events_count
4972
+
4973
+ # Count of entries in the transformed user events BigQuery table, which could be
4974
+ # different from the actually imported number of user events.
4975
+ # Corresponds to the JSON property `transformedEventsCount`
4976
+ # @return [Fixnum]
4977
+ attr_accessor :transformed_events_count
4978
+
4979
+ def initialize(**args)
4980
+ update!(**args)
4981
+ end
4982
+
4983
+ # Update properties of this object
4984
+ def update!(**args)
4985
+ @source_events_count = args[:source_events_count] if args.key?(:source_events_count)
4986
+ @transformed_events_count = args[:transformed_events_count] if args.key?(:transformed_events_count)
4987
+ end
4988
+ end
4989
+
4990
+ # Metadata associated with a tune operation.
4991
+ class GoogleCloudRetailV2alphaTuneModelMetadata
4992
+ include Google::Apis::Core::Hashable
4993
+
4994
+ # The resource name of the model that this tune applies to. Format: projects/`
4995
+ # project_number`/locations/`location_id`/catalogs/`catalog_id`/models/`model_id`
4996
+ # Corresponds to the JSON property `model`
4997
+ # @return [String]
4998
+ attr_accessor :model
4999
+
5000
+ def initialize(**args)
5001
+ update!(**args)
5002
+ end
5003
+
5004
+ # Update properties of this object
5005
+ def update!(**args)
5006
+ @model = args[:model] if args.key?(:model)
5007
+ end
5008
+ end
5009
+
5010
+ # Response associated with a tune operation.
5011
+ class GoogleCloudRetailV2alphaTuneModelResponse
5012
+ include Google::Apis::Core::Hashable
5013
+
5014
+ def initialize(**args)
5015
+ update!(**args)
5016
+ end
5017
+
5018
+ # Update properties of this object
5019
+ def update!(**args)
5020
+ end
5021
+ end
5022
+
4354
5023
  # A summary of import result. The UserEventImportSummary summarizes the import
4355
5024
  # status for user events.
4356
5025
  class GoogleCloudRetailV2alphaUserEventImportSummary
@@ -4438,6 +5107,31 @@ module Google
4438
5107
  end
4439
5108
  end
4440
5109
 
5110
+ # A BigQuery output result.
5111
+ class GoogleCloudRetailV2betaBigQueryOutputResult
5112
+ include Google::Apis::Core::Hashable
5113
+
5114
+ # The ID of a BigQuery Dataset.
5115
+ # Corresponds to the JSON property `datasetId`
5116
+ # @return [String]
5117
+ attr_accessor :dataset_id
5118
+
5119
+ # The ID of a BigQuery Table.
5120
+ # Corresponds to the JSON property `tableId`
5121
+ # @return [String]
5122
+ attr_accessor :table_id
5123
+
5124
+ def initialize(**args)
5125
+ update!(**args)
5126
+ end
5127
+
5128
+ # Update properties of this object
5129
+ def update!(**args)
5130
+ @dataset_id = args[:dataset_id] if args.key?(:dataset_id)
5131
+ @table_id = args[:table_id] if args.key?(:table_id)
5132
+ end
5133
+ end
5134
+
4441
5135
  # Configuration of destination for Export related errors.
4442
5136
  class GoogleCloudRetailV2betaExportErrorsConfig
4443
5137
  include Google::Apis::Core::Hashable
@@ -4502,6 +5196,11 @@ module Google
4502
5196
  # @return [Google::Apis::RetailV2::GoogleCloudRetailV2betaExportErrorsConfig]
4503
5197
  attr_accessor :errors_config
4504
5198
 
5199
+ # Output result.
5200
+ # Corresponds to the JSON property `outputResult`
5201
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2betaOutputResult]
5202
+ attr_accessor :output_result
5203
+
4505
5204
  def initialize(**args)
4506
5205
  update!(**args)
4507
5206
  end
@@ -4510,6 +5209,7 @@ module Google
4510
5209
  def update!(**args)
4511
5210
  @error_samples = args[:error_samples] if args.key?(:error_samples)
4512
5211
  @errors_config = args[:errors_config] if args.key?(:errors_config)
5212
+ @output_result = args[:output_result] if args.key?(:output_result)
4513
5213
  end
4514
5214
  end
4515
5215
 
@@ -4529,6 +5229,11 @@ module Google
4529
5229
  # @return [Google::Apis::RetailV2::GoogleCloudRetailV2betaExportErrorsConfig]
4530
5230
  attr_accessor :errors_config
4531
5231
 
5232
+ # Output result.
5233
+ # Corresponds to the JSON property `outputResult`
5234
+ # @return [Google::Apis::RetailV2::GoogleCloudRetailV2betaOutputResult]
5235
+ attr_accessor :output_result
5236
+
4532
5237
  def initialize(**args)
4533
5238
  update!(**args)
4534
5239
  end
@@ -4537,6 +5242,7 @@ module Google
4537
5242
  def update!(**args)
4538
5243
  @error_samples = args[:error_samples] if args.key?(:error_samples)
4539
5244
  @errors_config = args[:errors_config] if args.key?(:errors_config)
5245
+ @output_result = args[:output_result] if args.key?(:output_result)
4540
5246
  end
4541
5247
  end
4542
5248
 
@@ -4697,6 +5403,25 @@ module Google
4697
5403
  end
4698
5404
  end
4699
5405
 
5406
+ # Output result.
5407
+ class GoogleCloudRetailV2betaOutputResult
5408
+ include Google::Apis::Core::Hashable
5409
+
5410
+ # Export result in BigQuery.
5411
+ # Corresponds to the JSON property `bigqueryResult`
5412
+ # @return [Array<Google::Apis::RetailV2::GoogleCloudRetailV2betaBigQueryOutputResult>]
5413
+ attr_accessor :bigquery_result
5414
+
5415
+ def initialize(**args)
5416
+ update!(**args)
5417
+ end
5418
+
5419
+ # Update properties of this object
5420
+ def update!(**args)
5421
+ @bigquery_result = args[:bigquery_result] if args.key?(:bigquery_result)
5422
+ end
5423
+ end
5424
+
4700
5425
  # Metadata related to the progress of the Purge operation. This will be returned
4701
5426
  # by the google.longrunning.Operation.metadata field.
4702
5427
  class GoogleCloudRetailV2betaPurgeMetadata