google-cloud-retail-v2 0.20.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/retail/v2/analytics_service/client.rb +5 -1
  4. data/lib/google/cloud/retail/v2/analytics_service/operations.rb +13 -5
  5. data/lib/google/cloud/retail/v2/analytics_service/rest/client.rb +5 -1
  6. data/lib/google/cloud/retail/v2/analytics_service/rest/operations.rb +11 -4
  7. data/lib/google/cloud/retail/v2/catalog_pb.rb +9 -1
  8. data/lib/google/cloud/retail/v2/catalog_service/client.rb +25 -11
  9. data/lib/google/cloud/retail/v2/catalog_service/rest/client.rb +25 -11
  10. data/lib/google/cloud/retail/v2/common_pb.rb +4 -1
  11. data/lib/google/cloud/retail/v2/completion_service/client.rb +15 -6
  12. data/lib/google/cloud/retail/v2/completion_service/operations.rb +13 -5
  13. data/lib/google/cloud/retail/v2/completion_service/rest/client.rb +15 -6
  14. data/lib/google/cloud/retail/v2/completion_service/rest/operations.rb +11 -4
  15. data/lib/google/cloud/retail/v2/completion_service_pb.rb +1 -1
  16. data/lib/google/cloud/retail/v2/control_service/client.rb +13 -5
  17. data/lib/google/cloud/retail/v2/control_service/rest/client.rb +13 -5
  18. data/lib/google/cloud/retail/v2/model_pb.rb +4 -1
  19. data/lib/google/cloud/retail/v2/model_service/client.rb +19 -8
  20. data/lib/google/cloud/retail/v2/model_service/operations.rb +13 -5
  21. data/lib/google/cloud/retail/v2/model_service/rest/client.rb +19 -8
  22. data/lib/google/cloud/retail/v2/model_service/rest/operations.rb +11 -4
  23. data/lib/google/cloud/retail/v2/prediction_service/client.rb +5 -1
  24. data/lib/google/cloud/retail/v2/prediction_service/rest/client.rb +5 -1
  25. data/lib/google/cloud/retail/v2/product_service/client.rb +206 -21
  26. data/lib/google/cloud/retail/v2/product_service/operations.rb +13 -5
  27. data/lib/google/cloud/retail/v2/product_service/rest/client.rb +199 -21
  28. data/lib/google/cloud/retail/v2/product_service/rest/operations.rb +11 -4
  29. data/lib/google/cloud/retail/v2/product_service/rest/service_stub.rb +60 -0
  30. data/lib/google/cloud/retail/v2/product_service_pb.rb +2 -1
  31. data/lib/google/cloud/retail/v2/product_service_services_pb.rb +26 -6
  32. data/lib/google/cloud/retail/v2/purge_config_pb.rb +6 -1
  33. data/lib/google/cloud/retail/v2/search_service/client.rb +27 -23
  34. data/lib/google/cloud/retail/v2/search_service/rest/client.rb +27 -23
  35. data/lib/google/cloud/retail/v2/serving_config_pb.rb +1 -1
  36. data/lib/google/cloud/retail/v2/serving_config_service/client.rb +17 -7
  37. data/lib/google/cloud/retail/v2/serving_config_service/rest/client.rb +17 -7
  38. data/lib/google/cloud/retail/v2/user_event_service/client.rb +14 -6
  39. data/lib/google/cloud/retail/v2/user_event_service/operations.rb +13 -5
  40. data/lib/google/cloud/retail/v2/user_event_service/rest/client.rb +14 -6
  41. data/lib/google/cloud/retail/v2/user_event_service/rest/operations.rb +11 -4
  42. data/lib/google/cloud/retail/v2/version.rb +1 -1
  43. data/proto_docs/google/api/client.rb +4 -0
  44. data/proto_docs/google/cloud/retail/v2/catalog.rb +143 -4
  45. data/proto_docs/google/cloud/retail/v2/common.rb +104 -10
  46. data/proto_docs/google/cloud/retail/v2/completion_service.rb +14 -7
  47. data/proto_docs/google/cloud/retail/v2/import_config.rb +10 -4
  48. data/proto_docs/google/cloud/retail/v2/model.rb +40 -0
  49. data/proto_docs/google/cloud/retail/v2/product.rb +23 -22
  50. data/proto_docs/google/cloud/retail/v2/promotion.rb +2 -2
  51. data/proto_docs/google/cloud/retail/v2/purge_config.rb +93 -0
  52. data/proto_docs/google/cloud/retail/v2/search_service.rb +42 -42
  53. data/proto_docs/google/cloud/retail/v2/serving_config.rb +4 -0
  54. data/proto_docs/google/cloud/retail/v2/user_event.rb +3 -2
  55. metadata +6 -5
@@ -34,6 +34,9 @@ module Google
34
34
  # of the customer's website.
35
35
  #
36
36
  class Client
37
+ # @private
38
+ API_VERSION = ""
39
+
37
40
  # @private
38
41
  DEFAULT_ENDPOINT_TEMPLATE = "retail.$UNIVERSE_DOMAIN$"
39
42
 
@@ -266,12 +269,13 @@ module Google
266
269
  # Customize the options with defaults
267
270
  call_metadata = @config.rpcs.create_product.metadata.to_h
268
271
 
269
- # Set x-goog-api-client and x-goog-user-project headers
272
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
270
273
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
271
274
  lib_name: @config.lib_name, lib_version: @config.lib_version,
272
275
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
273
276
  transports_version_send: [:rest]
274
277
 
278
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
275
279
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
276
280
 
277
281
  options.apply_defaults timeout: @config.rpcs.create_product.timeout,
@@ -353,12 +357,13 @@ module Google
353
357
  # Customize the options with defaults
354
358
  call_metadata = @config.rpcs.get_product.metadata.to_h
355
359
 
356
- # Set x-goog-api-client and x-goog-user-project headers
360
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
357
361
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
358
362
  lib_name: @config.lib_name, lib_version: @config.lib_version,
359
363
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
360
364
  transports_version_send: [:rest]
361
365
 
366
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
362
367
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
363
368
 
364
369
  options.apply_defaults timeout: @config.rpcs.get_product.timeout,
@@ -506,12 +511,13 @@ module Google
506
511
  # Customize the options with defaults
507
512
  call_metadata = @config.rpcs.list_products.metadata.to_h
508
513
 
509
- # Set x-goog-api-client and x-goog-user-project headers
514
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
510
515
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
511
516
  lib_name: @config.lib_name, lib_version: @config.lib_version,
512
517
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
513
518
  transports_version_send: [:rest]
514
519
 
520
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
515
521
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
516
522
 
517
523
  options.apply_defaults timeout: @config.rpcs.list_products.timeout,
@@ -611,12 +617,13 @@ module Google
611
617
  # Customize the options with defaults
612
618
  call_metadata = @config.rpcs.update_product.metadata.to_h
613
619
 
614
- # Set x-goog-api-client and x-goog-user-project headers
620
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
615
621
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
616
622
  lib_name: @config.lib_name, lib_version: @config.lib_version,
617
623
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
618
624
  transports_version_send: [:rest]
619
625
 
626
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
620
627
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
621
628
 
622
629
  options.apply_defaults timeout: @config.rpcs.update_product.timeout,
@@ -709,12 +716,13 @@ module Google
709
716
  # Customize the options with defaults
710
717
  call_metadata = @config.rpcs.delete_product.metadata.to_h
711
718
 
712
- # Set x-goog-api-client and x-goog-user-project headers
719
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
713
720
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
714
721
  lib_name: @config.lib_name, lib_version: @config.lib_version,
715
722
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
716
723
  transports_version_send: [:rest]
717
724
 
725
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
718
726
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
719
727
 
720
728
  options.apply_defaults timeout: @config.rpcs.delete_product.timeout,
@@ -733,6 +741,155 @@ module Google
733
741
  raise ::Google::Cloud::Error.from_error(e)
734
742
  end
735
743
 
744
+ ##
745
+ # Permanently deletes all selected {::Google::Cloud::Retail::V2::Product Product}s
746
+ # under a branch.
747
+ #
748
+ # This process is asynchronous. If the request is valid, the removal will be
749
+ # enqueued and processed offline. Depending on the number of
750
+ # {::Google::Cloud::Retail::V2::Product Product}s, this operation could take hours
751
+ # to complete. Before the operation completes, some
752
+ # {::Google::Cloud::Retail::V2::Product Product}s may still be returned by
753
+ # {::Google::Cloud::Retail::V2::ProductService::Rest::Client#get_product ProductService.GetProduct}
754
+ # or
755
+ # {::Google::Cloud::Retail::V2::ProductService::Rest::Client#list_products ProductService.ListProducts}.
756
+ #
757
+ # Depending on the number of {::Google::Cloud::Retail::V2::Product Product}s, this
758
+ # operation could take hours to complete. To get a sample of
759
+ # {::Google::Cloud::Retail::V2::Product Product}s that would be deleted, set
760
+ # {::Google::Cloud::Retail::V2::PurgeProductsRequest#force PurgeProductsRequest.force}
761
+ # to false.
762
+ #
763
+ # @overload purge_products(request, options = nil)
764
+ # Pass arguments to `purge_products` via a request object, either of type
765
+ # {::Google::Cloud::Retail::V2::PurgeProductsRequest} or an equivalent Hash.
766
+ #
767
+ # @param request [::Google::Cloud::Retail::V2::PurgeProductsRequest, ::Hash]
768
+ # A request object representing the call parameters. Required. To specify no
769
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
770
+ # @param options [::Gapic::CallOptions, ::Hash]
771
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
772
+ #
773
+ # @overload purge_products(parent: nil, filter: nil, force: nil)
774
+ # Pass arguments to `purge_products` via keyword arguments. Note that at
775
+ # least one keyword argument is required. To specify no parameters, or to keep all
776
+ # the default parameter values, pass an empty Hash as a request object (see above).
777
+ #
778
+ # @param parent [::String]
779
+ # Required. The resource name of the branch under which the products are
780
+ # created. The format is
781
+ # `projects/${projectId}/locations/global/catalogs/${catalogId}/branches/${branchId}`
782
+ # @param filter [::String]
783
+ # Required. The filter string to specify the products to be deleted with a
784
+ # length limit of 5,000 characters.
785
+ #
786
+ # Empty string filter is not allowed. "*" implies delete all items in a
787
+ # branch.
788
+ #
789
+ # The eligible fields for filtering are:
790
+ #
791
+ # * `availability`: Double quoted
792
+ # {::Google::Cloud::Retail::V2::Product#availability Product.availability} string.
793
+ # * `create_time` : in ISO 8601 "zulu" format.
794
+ #
795
+ # Supported syntax:
796
+ #
797
+ # * Comparators (">", "<", ">=", "<=", "=").
798
+ # Examples:
799
+ # * create_time <= "2015-02-13T17:05:46Z"
800
+ # * availability = "IN_STOCK"
801
+ #
802
+ # * Conjunctions ("AND")
803
+ # Examples:
804
+ # * create_time <= "2015-02-13T17:05:46Z" AND availability = "PREORDER"
805
+ #
806
+ # * Disjunctions ("OR")
807
+ # Examples:
808
+ # * create_time <= "2015-02-13T17:05:46Z" OR availability = "IN_STOCK"
809
+ #
810
+ # * Can support nested queries.
811
+ # Examples:
812
+ # * (create_time <= "2015-02-13T17:05:46Z" AND availability = "PREORDER")
813
+ # OR (create_time >= "2015-02-14T13:03:32Z" AND availability = "IN_STOCK")
814
+ #
815
+ # * Filter Limits:
816
+ # * Filter should not contain more than 6 conditions.
817
+ # * Max nesting depth should not exceed 2 levels.
818
+ #
819
+ # Examples queries:
820
+ # * Delete back order products created before a timestamp.
821
+ # create_time <= "2015-02-13T17:05:46Z" OR availability = "BACKORDER"
822
+ # @param force [::Boolean]
823
+ # Actually perform the purge.
824
+ # If `force` is set to false, the method will return the expected purge count
825
+ # without deleting any products.
826
+ # @yield [result, operation] Access the result along with the TransportOperation object
827
+ # @yieldparam result [::Gapic::Operation]
828
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
829
+ #
830
+ # @return [::Gapic::Operation]
831
+ #
832
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
833
+ #
834
+ # @example Basic example
835
+ # require "google/cloud/retail/v2"
836
+ #
837
+ # # Create a client object. The client can be reused for multiple calls.
838
+ # client = Google::Cloud::Retail::V2::ProductService::Rest::Client.new
839
+ #
840
+ # # Create a request. To set request fields, pass in keyword arguments.
841
+ # request = Google::Cloud::Retail::V2::PurgeProductsRequest.new
842
+ #
843
+ # # Call the purge_products method.
844
+ # result = client.purge_products request
845
+ #
846
+ # # The returned object is of type Gapic::Operation. You can use it to
847
+ # # check the status of an operation, cancel it, or wait for results.
848
+ # # Here is how to wait for a response.
849
+ # result.wait_until_done! timeout: 60
850
+ # if result.response?
851
+ # p result.response
852
+ # else
853
+ # puts "No response received."
854
+ # end
855
+ #
856
+ def purge_products request, options = nil
857
+ raise ::ArgumentError, "request must be provided" if request.nil?
858
+
859
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Retail::V2::PurgeProductsRequest
860
+
861
+ # Converts hash and nil to an options object
862
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
863
+
864
+ # Customize the options with defaults
865
+ call_metadata = @config.rpcs.purge_products.metadata.to_h
866
+
867
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
868
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
869
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
870
+ gapic_version: ::Google::Cloud::Retail::V2::VERSION,
871
+ transports_version_send: [:rest]
872
+
873
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
874
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
875
+
876
+ options.apply_defaults timeout: @config.rpcs.purge_products.timeout,
877
+ metadata: call_metadata,
878
+ retry_policy: @config.rpcs.purge_products.retry_policy
879
+
880
+ options.apply_defaults timeout: @config.timeout,
881
+ metadata: @config.metadata,
882
+ retry_policy: @config.retry_policy
883
+
884
+ @product_service_stub.purge_products request, options do |result, operation|
885
+ result = ::Gapic::Operation.new result, @operations_client, options: options
886
+ yield result, operation if block_given?
887
+ return result
888
+ end
889
+ rescue ::Gapic::Rest::Error => e
890
+ raise ::Google::Cloud::Error.from_error(e)
891
+ end
892
+
736
893
  ##
737
894
  # Bulk import of multiple {::Google::Cloud::Retail::V2::Product Product}s.
738
895
  #
@@ -771,7 +928,8 @@ module Google
771
928
  # The desired location of errors incurred during the Import.
772
929
  # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
773
930
  # Indicates which fields in the provided imported `products` to update. If
774
- # not set, all fields are updated.
931
+ # not set, all fields are updated. If provided, only the existing product
932
+ # fields are updated. Missing products will not be created.
775
933
  # @param reconciliation_mode [::Google::Cloud::Retail::V2::ImportProductsRequest::ReconciliationMode]
776
934
  # The mode of reconciliation between existing products and the products to be
777
935
  # imported. Defaults to
@@ -785,9 +943,14 @@ module Google
785
943
  # Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has
786
944
  # to be within the same project as
787
945
  # {::Google::Cloud::Retail::V2::ImportProductsRequest#parent ImportProductsRequest.parent}.
788
- # Make sure that `service-<project
789
- # number>@gcp-sa-retail.iam.gserviceaccount.com` has the
790
- # `pubsub.topics.publish` IAM permission on the topic.
946
+ # Make sure that both
947
+ # `cloud-retail-customer-data-access@system.gserviceaccount.com` and
948
+ # `service-<project number>@gcp-sa-retail.iam.gserviceaccount.com`
949
+ # have the `pubsub.topics.publish` IAM permission on the topic.
950
+ #
951
+ # Only supported when
952
+ # {::Google::Cloud::Retail::V2::ImportProductsRequest#reconciliation_mode ImportProductsRequest.reconciliation_mode}
953
+ # is set to `FULL`.
791
954
  # @yield [result, operation] Access the result along with the TransportOperation object
792
955
  # @yieldparam result [::Gapic::Operation]
793
956
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -829,12 +992,13 @@ module Google
829
992
  # Customize the options with defaults
830
993
  call_metadata = @config.rpcs.import_products.metadata.to_h
831
994
 
832
- # Set x-goog-api-client and x-goog-user-project headers
995
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
833
996
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
834
997
  lib_name: @config.lib_name, lib_version: @config.lib_version,
835
998
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
836
999
  transports_version_send: [:rest]
837
1000
 
1001
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
838
1002
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
839
1003
 
840
1004
  options.apply_defaults timeout: @config.rpcs.import_products.timeout,
@@ -1039,12 +1203,13 @@ module Google
1039
1203
  # Customize the options with defaults
1040
1204
  call_metadata = @config.rpcs.set_inventory.metadata.to_h
1041
1205
 
1042
- # Set x-goog-api-client and x-goog-user-project headers
1206
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1043
1207
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1044
1208
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1045
1209
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
1046
1210
  transports_version_send: [:rest]
1047
1211
 
1212
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1048
1213
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1049
1214
 
1050
1215
  options.apply_defaults timeout: @config.rpcs.set_inventory.timeout,
@@ -1065,10 +1230,11 @@ module Google
1065
1230
  end
1066
1231
 
1067
1232
  ##
1068
- # It is recommended to use the
1233
+ # We recommend that you use the
1069
1234
  # {::Google::Cloud::Retail::V2::ProductService::Rest::Client#add_local_inventories ProductService.AddLocalInventories}
1070
- # method instead of
1071
- # {::Google::Cloud::Retail::V2::ProductService::Rest::Client#add_fulfillment_places ProductService.AddFulfillmentPlaces}.
1235
+ # method instead of the
1236
+ # {::Google::Cloud::Retail::V2::ProductService::Rest::Client#add_fulfillment_places ProductService.AddFulfillmentPlaces}
1237
+ # method.
1072
1238
  # {::Google::Cloud::Retail::V2::ProductService::Rest::Client#add_local_inventories ProductService.AddLocalInventories}
1073
1239
  # achieves the same results but provides more fine-grained control over
1074
1240
  # ingesting local inventory data.
@@ -1207,12 +1373,13 @@ module Google
1207
1373
  # Customize the options with defaults
1208
1374
  call_metadata = @config.rpcs.add_fulfillment_places.metadata.to_h
1209
1375
 
1210
- # Set x-goog-api-client and x-goog-user-project headers
1376
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1211
1377
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1212
1378
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1213
1379
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
1214
1380
  transports_version_send: [:rest]
1215
1381
 
1382
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1216
1383
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1217
1384
 
1218
1385
  options.apply_defaults timeout: @config.rpcs.add_fulfillment_places.timeout,
@@ -1233,10 +1400,11 @@ module Google
1233
1400
  end
1234
1401
 
1235
1402
  ##
1236
- # It is recommended to use the
1403
+ # We recommend that you use the
1237
1404
  # {::Google::Cloud::Retail::V2::ProductService::Rest::Client#remove_local_inventories ProductService.RemoveLocalInventories}
1238
- # method instead of
1239
- # {::Google::Cloud::Retail::V2::ProductService::Rest::Client#remove_fulfillment_places ProductService.RemoveFulfillmentPlaces}.
1405
+ # method instead of the
1406
+ # {::Google::Cloud::Retail::V2::ProductService::Rest::Client#remove_fulfillment_places ProductService.RemoveFulfillmentPlaces}
1407
+ # method.
1240
1408
  # {::Google::Cloud::Retail::V2::ProductService::Rest::Client#remove_local_inventories ProductService.RemoveLocalInventories}
1241
1409
  # achieves the same results but provides more fine-grained control over
1242
1410
  # ingesting local inventory data.
@@ -1370,12 +1538,13 @@ module Google
1370
1538
  # Customize the options with defaults
1371
1539
  call_metadata = @config.rpcs.remove_fulfillment_places.metadata.to_h
1372
1540
 
1373
- # Set x-goog-api-client and x-goog-user-project headers
1541
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1374
1542
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1375
1543
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1376
1544
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
1377
1545
  transports_version_send: [:rest]
1378
1546
 
1547
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1379
1548
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1380
1549
 
1381
1550
  options.apply_defaults timeout: @config.rpcs.remove_fulfillment_places.timeout,
@@ -1519,12 +1688,13 @@ module Google
1519
1688
  # Customize the options with defaults
1520
1689
  call_metadata = @config.rpcs.add_local_inventories.metadata.to_h
1521
1690
 
1522
- # Set x-goog-api-client and x-goog-user-project headers
1691
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1523
1692
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1524
1693
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1525
1694
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
1526
1695
  transports_version_send: [:rest]
1527
1696
 
1697
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1528
1698
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1529
1699
 
1530
1700
  options.apply_defaults timeout: @config.rpcs.add_local_inventories.timeout,
@@ -1650,12 +1820,13 @@ module Google
1650
1820
  # Customize the options with defaults
1651
1821
  call_metadata = @config.rpcs.remove_local_inventories.metadata.to_h
1652
1822
 
1653
- # Set x-goog-api-client and x-goog-user-project headers
1823
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1654
1824
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1655
1825
  lib_name: @config.lib_name, lib_version: @config.lib_version,
1656
1826
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
1657
1827
  transports_version_send: [:rest]
1658
1828
 
1829
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1659
1830
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1660
1831
 
1661
1832
  options.apply_defaults timeout: @config.rpcs.remove_local_inventories.timeout,
@@ -1834,6 +2005,11 @@ module Google
1834
2005
  #
1835
2006
  attr_reader :delete_product
1836
2007
  ##
2008
+ # RPC-specific configuration for `purge_products`
2009
+ # @return [::Gapic::Config::Method]
2010
+ #
2011
+ attr_reader :purge_products
2012
+ ##
1837
2013
  # RPC-specific configuration for `import_products`
1838
2014
  # @return [::Gapic::Config::Method]
1839
2015
  #
@@ -1876,6 +2052,8 @@ module Google
1876
2052
  @update_product = ::Gapic::Config::Method.new update_product_config
1877
2053
  delete_product_config = parent_rpcs.delete_product if parent_rpcs.respond_to? :delete_product
1878
2054
  @delete_product = ::Gapic::Config::Method.new delete_product_config
2055
+ purge_products_config = parent_rpcs.purge_products if parent_rpcs.respond_to? :purge_products
2056
+ @purge_products = ::Gapic::Config::Method.new purge_products_config
1879
2057
  import_products_config = parent_rpcs.import_products if parent_rpcs.respond_to? :import_products
1880
2058
  @import_products = ::Gapic::Config::Method.new import_products_config
1881
2059
  set_inventory_config = parent_rpcs.set_inventory if parent_rpcs.respond_to? :set_inventory
@@ -26,6 +26,9 @@ module Google
26
26
  module Rest
27
27
  # Service that implements Longrunning Operations API.
28
28
  class Operations
29
+ # @private
30
+ API_VERSION = ""
31
+
29
32
  # @private
30
33
  DEFAULT_ENDPOINT_TEMPLATE = "retail.$UNIVERSE_DOMAIN$"
31
34
 
@@ -181,12 +184,13 @@ module Google
181
184
  # Customize the options with defaults
182
185
  call_metadata = @config.rpcs.list_operations.metadata.to_h
183
186
 
184
- # Set x-goog-api-client and x-goog-user-project headers
187
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
185
188
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
186
189
  lib_name: @config.lib_name, lib_version: @config.lib_version,
187
190
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
188
191
  transports_version_send: [:rest]
189
192
 
193
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
190
194
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
191
195
 
192
196
  options.apply_defaults timeout: @config.rpcs.list_operations.timeout,
@@ -269,12 +273,13 @@ module Google
269
273
  # Customize the options with defaults
270
274
  call_metadata = @config.rpcs.get_operation.metadata.to_h
271
275
 
272
- # Set x-goog-api-client and x-goog-user-project headers
276
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
273
277
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
274
278
  lib_name: @config.lib_name, lib_version: @config.lib_version,
275
279
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
276
280
  transports_version_send: [:rest]
277
281
 
282
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
278
283
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
279
284
 
280
285
  options.apply_defaults timeout: @config.rpcs.get_operation.timeout,
@@ -351,12 +356,13 @@ module Google
351
356
  # Customize the options with defaults
352
357
  call_metadata = @config.rpcs.delete_operation.metadata.to_h
353
358
 
354
- # Set x-goog-api-client and x-goog-user-project headers
359
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
355
360
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
356
361
  lib_name: @config.lib_name, lib_version: @config.lib_version,
357
362
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
358
363
  transports_version_send: [:rest]
359
364
 
365
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
360
366
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
361
367
 
362
368
  options.apply_defaults timeout: @config.rpcs.delete_operation.timeout,
@@ -438,12 +444,13 @@ module Google
438
444
  # Customize the options with defaults
439
445
  call_metadata = @config.rpcs.cancel_operation.metadata.to_h
440
446
 
441
- # Set x-goog-api-client and x-goog-user-project headers
447
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
442
448
  call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
443
449
  lib_name: @config.lib_name, lib_version: @config.lib_version,
444
450
  gapic_version: ::Google::Cloud::Retail::V2::VERSION,
445
451
  transports_version_send: [:rest]
446
452
 
453
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
447
454
  call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
448
455
 
449
456
  options.apply_defaults timeout: @config.rpcs.cancel_operation.timeout,
@@ -251,6 +251,44 @@ module Google
251
251
  result
252
252
  end
253
253
 
254
+ ##
255
+ # Baseline implementation for the purge_products REST call
256
+ #
257
+ # @param request_pb [::Google::Cloud::Retail::V2::PurgeProductsRequest]
258
+ # A request object representing the call parameters. Required.
259
+ # @param options [::Gapic::CallOptions]
260
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
261
+ #
262
+ # @yield [result, operation] Access the result along with the TransportOperation object
263
+ # @yieldparam result [::Google::Longrunning::Operation]
264
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
265
+ #
266
+ # @return [::Google::Longrunning::Operation]
267
+ # A result object deserialized from the server's reply
268
+ def purge_products request_pb, options = nil
269
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
270
+
271
+ verb, uri, query_string_params, body = ServiceStub.transcode_purge_products_request request_pb
272
+ query_string_params = if query_string_params.any?
273
+ query_string_params.to_h { |p| p.split "=", 2 }
274
+ else
275
+ {}
276
+ end
277
+
278
+ response = @client_stub.make_http_request(
279
+ verb,
280
+ uri: uri,
281
+ body: body || "",
282
+ params: query_string_params,
283
+ options: options
284
+ )
285
+ operation = ::Gapic::Rest::TransportOperation.new response
286
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
287
+
288
+ yield result, operation if block_given?
289
+ result
290
+ end
291
+
254
292
  ##
255
293
  # Baseline implementation for the import_products REST call
256
294
  #
@@ -586,6 +624,28 @@ module Google
586
624
  transcoder.transcode request_pb
587
625
  end
588
626
 
627
+ ##
628
+ # @private
629
+ #
630
+ # GRPC transcoding helper method for the purge_products REST call
631
+ #
632
+ # @param request_pb [::Google::Cloud::Retail::V2::PurgeProductsRequest]
633
+ # A request object representing the call parameters. Required.
634
+ # @return [Array(String, [String, nil], Hash{String => String})]
635
+ # Uri, Body, Query string parameters
636
+ def self.transcode_purge_products_request request_pb
637
+ transcoder = Gapic::Rest::GrpcTranscoder.new
638
+ .with_bindings(
639
+ uri_method: :post,
640
+ uri_template: "/v2/{parent}/products:purge",
641
+ body: "*",
642
+ matches: [
643
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/branches/[^/]+/?$}, false]
644
+ ]
645
+ )
646
+ transcoder.transcode request_pb
647
+ end
648
+
589
649
  ##
590
650
  # @private
591
651
  #
@@ -11,13 +11,14 @@ require 'google/api/resource_pb'
11
11
  require 'google/cloud/retail/v2/common_pb'
12
12
  require 'google/cloud/retail/v2/import_config_pb'
13
13
  require 'google/cloud/retail/v2/product_pb'
14
+ require 'google/cloud/retail/v2/purge_config_pb'
14
15
  require 'google/longrunning/operations_pb'
15
16
  require 'google/protobuf/empty_pb'
16
17
  require 'google/protobuf/field_mask_pb'
17
18
  require 'google/protobuf/timestamp_pb'
18
19
 
19
20
 
20
- descriptor_data = "\n,google/cloud/retail/v2/product_service.proto\x12\x16google.cloud.retail.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/cloud/retail/v2/common.proto\x1a*google/cloud/retail/v2/import_config.proto\x1a$google/cloud/retail/v2/product.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x9c\x01\n\x14\x43reateProductRequest\x12\x34\n\x06parent\x18\x01 \x01(\tB$\xe0\x41\x02\xfa\x41\x1e\n\x1cretail.googleapis.com/Branch\x12\x35\n\x07product\x18\x02 \x01(\x0b\x32\x1f.google.cloud.retail.v2.ProductB\x03\xe0\x41\x02\x12\x17\n\nproduct_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"H\n\x11GetProductRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\"\x95\x01\n\x14UpdateProductRequest\x12\x35\n\x07product\x18\x01 \x01(\x0b\x32\x1f.google.cloud.retail.v2.ProductB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\"K\n\x14\x44\x65leteProductRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\"\xb1\x01\n\x13ListProductsRequest\x12\x34\n\x06parent\x18\x01 \x01(\tB$\xe0\x41\x02\xfa\x41\x1e\n\x1cretail.googleapis.com/Branch\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12-\n\tread_mask\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"b\n\x14ListProductsResponse\x12\x31\n\x08products\x18\x01 \x03(\x0b\x32\x1f.google.cloud.retail.v2.Product\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xc1\x01\n\x13SetInventoryRequest\x12\x37\n\tinventory\x18\x01 \x01(\x0b\x32\x1f.google.cloud.retail.v2.ProductB\x03\xe0\x41\x02\x12,\n\x08set_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12,\n\x08set_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\"\x16\n\x14SetInventoryMetadata\"\x16\n\x14SetInventoryResponse\"\xc5\x01\n\x1b\x41\x64\x64\x46ulfillmentPlacesRequest\x12\x36\n\x07product\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\x12\x11\n\x04type\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x16\n\tplace_ids\x18\x03 \x03(\tB\x03\xe0\x41\x02\x12,\n\x08\x61\x64\x64_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rallow_missing\x18\x05 \x01(\x08\"\x1e\n\x1c\x41\x64\x64\x46ulfillmentPlacesMetadata\"\x1e\n\x1c\x41\x64\x64\x46ulfillmentPlacesResponse\"\x8f\x02\n\x1a\x41\x64\x64LocalInventoriesRequest\x12\x36\n\x07product\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\x12\x46\n\x11local_inventories\x18\x02 \x03(\x0b\x32&.google.cloud.retail.v2.LocalInventoryB\x03\xe0\x41\x02\x12,\n\x08\x61\x64\x64_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12,\n\x08\x61\x64\x64_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rallow_missing\x18\x06 \x01(\x08\"\x1d\n\x1b\x41\x64\x64LocalInventoriesMetadata\"\x1d\n\x1b\x41\x64\x64LocalInventoriesResponse\"\xb7\x01\n\x1dRemoveLocalInventoriesRequest\x12\x36\n\x07product\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\x12\x16\n\tplace_ids\x18\x02 \x03(\tB\x03\xe0\x41\x02\x12/\n\x0bremove_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\" \n\x1eRemoveLocalInventoriesMetadata\" \n\x1eRemoveLocalInventoriesResponse\"\xcb\x01\n\x1eRemoveFulfillmentPlacesRequest\x12\x36\n\x07product\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\x12\x11\n\x04type\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x16\n\tplace_ids\x18\x03 \x03(\tB\x03\xe0\x41\x02\x12/\n\x0bremove_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rallow_missing\x18\x05 \x01(\x08\"!\n\x1fRemoveFulfillmentPlacesMetadata\"!\n\x1fRemoveFulfillmentPlacesResponse2\xae\x17\n\x0eProductService\x12\xcf\x01\n\rCreateProduct\x12,.google.cloud.retail.v2.CreateProductRequest\x1a\x1f.google.cloud.retail.v2.Product\"o\xda\x41\x19parent,product,product_id\x82\xd3\xe4\x93\x02M\"B/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:\x07product\x12\xac\x01\n\nGetProduct\x12).google.cloud.retail.v2.GetProductRequest\x1a\x1f.google.cloud.retail.v2.Product\"R\xda\x41\x04name\x82\xd3\xe4\x93\x02\x45\x12\x43/v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}\x12\xbe\x01\n\x0cListProducts\x12+.google.cloud.retail.v2.ListProductsRequest\x1a,.google.cloud.retail.v2.ListProductsResponse\"S\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x44\x12\x42/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products\x12\xd2\x01\n\rUpdateProduct\x12,.google.cloud.retail.v2.UpdateProductRequest\x1a\x1f.google.cloud.retail.v2.Product\"r\xda\x41\x13product,update_mask\x82\xd3\xe4\x93\x02V2K/v2/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:\x07product\x12\xa9\x01\n\rDeleteProduct\x12,.google.cloud.retail.v2.DeleteProductRequest\x1a\x16.google.protobuf.Empty\"R\xda\x41\x04name\x82\xd3\xe4\x93\x02\x45*C/v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}\x12\x8e\x02\n\x0eImportProducts\x12-.google.cloud.retail.v2.ImportProductsRequest\x1a\x1d.google.longrunning.Operation\"\xad\x01\xca\x41V\n-google.cloud.retail.v2.ImportProductsResponse\x12%google.cloud.retail.v2.ImportMetadata\x82\xd3\xe4\x93\x02N\"I/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import:\x01*\x12\xb4\x02\n\x0cSetInventory\x12+.google.cloud.retail.v2.SetInventoryRequest\x1a\x1d.google.longrunning.Operation\"\xd7\x01\xca\x41Z\n+google.cloud.retail.v2.SetInventoryResponse\x12+google.cloud.retail.v2.SetInventoryMetadata\xda\x41\x12inventory,set_mask\x82\xd3\xe4\x93\x02_\"Z/v2/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory:\x01*\x12\xca\x02\n\x14\x41\x64\x64\x46ulfillmentPlaces\x12\x33.google.cloud.retail.v2.AddFulfillmentPlacesRequest\x1a\x1d.google.longrunning.Operation\"\xdd\x01\xca\x41j\n3google.cloud.retail.v2.AddFulfillmentPlacesResponse\x12\x33google.cloud.retail.v2.AddFulfillmentPlacesMetadata\xda\x41\x07product\x82\xd3\xe4\x93\x02`\"[/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces:\x01*\x12\xd9\x02\n\x17RemoveFulfillmentPlaces\x12\x36.google.cloud.retail.v2.RemoveFulfillmentPlacesRequest\x1a\x1d.google.longrunning.Operation\"\xe6\x01\xca\x41p\n6google.cloud.retail.v2.RemoveFulfillmentPlacesResponse\x12\x36google.cloud.retail.v2.RemoveFulfillmentPlacesMetadata\xda\x41\x07product\x82\xd3\xe4\x93\x02\x63\"^/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces:\x01*\x12\xc5\x02\n\x13\x41\x64\x64LocalInventories\x12\x32.google.cloud.retail.v2.AddLocalInventoriesRequest\x1a\x1d.google.longrunning.Operation\"\xda\x01\xca\x41h\n2google.cloud.retail.v2.AddLocalInventoriesResponse\x12\x32google.cloud.retail.v2.AddLocalInventoriesMetadata\xda\x41\x07product\x82\xd3\xe4\x93\x02_\"Z/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories:\x01*\x12\xd4\x02\n\x16RemoveLocalInventories\x12\x35.google.cloud.retail.v2.RemoveLocalInventoriesRequest\x1a\x1d.google.longrunning.Operation\"\xe3\x01\xca\x41n\n5google.cloud.retail.v2.RemoveLocalInventoriesResponse\x12\x35google.cloud.retail.v2.RemoveLocalInventoriesMetadata\xda\x41\x07product\x82\xd3\xe4\x93\x02\x62\"]/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories:\x01*\x1aI\xca\x41\x15retail.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xbe\x01\n\x1a\x63om.google.cloud.retail.v2B\x13ProductServiceProtoP\x01Z2cloud.google.com/go/retail/apiv2/retailpb;retailpb\xa2\x02\x06RETAIL\xaa\x02\x16Google.Cloud.Retail.V2\xca\x02\x16Google\\Cloud\\Retail\\V2\xea\x02\x19Google::Cloud::Retail::V2b\x06proto3"
21
+ descriptor_data = "\n,google/cloud/retail/v2/product_service.proto\x12\x16google.cloud.retail.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/cloud/retail/v2/common.proto\x1a*google/cloud/retail/v2/import_config.proto\x1a$google/cloud/retail/v2/product.proto\x1a)google/cloud/retail/v2/purge_config.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x9c\x01\n\x14\x43reateProductRequest\x12\x34\n\x06parent\x18\x01 \x01(\tB$\xe0\x41\x02\xfa\x41\x1e\n\x1cretail.googleapis.com/Branch\x12\x35\n\x07product\x18\x02 \x01(\x0b\x32\x1f.google.cloud.retail.v2.ProductB\x03\xe0\x41\x02\x12\x17\n\nproduct_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"H\n\x11GetProductRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\"\x95\x01\n\x14UpdateProductRequest\x12\x35\n\x07product\x18\x01 \x01(\x0b\x32\x1f.google.cloud.retail.v2.ProductB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\"K\n\x14\x44\x65leteProductRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\"\xb1\x01\n\x13ListProductsRequest\x12\x34\n\x06parent\x18\x01 \x01(\tB$\xe0\x41\x02\xfa\x41\x1e\n\x1cretail.googleapis.com/Branch\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\x12-\n\tread_mask\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"b\n\x14ListProductsResponse\x12\x31\n\x08products\x18\x01 \x03(\x0b\x32\x1f.google.cloud.retail.v2.Product\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xc1\x01\n\x13SetInventoryRequest\x12\x37\n\tinventory\x18\x01 \x01(\x0b\x32\x1f.google.cloud.retail.v2.ProductB\x03\xe0\x41\x02\x12,\n\x08set_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12,\n\x08set_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rallow_missing\x18\x04 \x01(\x08\"\x16\n\x14SetInventoryMetadata\"\x16\n\x14SetInventoryResponse\"\xc5\x01\n\x1b\x41\x64\x64\x46ulfillmentPlacesRequest\x12\x36\n\x07product\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\x12\x11\n\x04type\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x16\n\tplace_ids\x18\x03 \x03(\tB\x03\xe0\x41\x02\x12,\n\x08\x61\x64\x64_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rallow_missing\x18\x05 \x01(\x08\"\x1e\n\x1c\x41\x64\x64\x46ulfillmentPlacesMetadata\"\x1e\n\x1c\x41\x64\x64\x46ulfillmentPlacesResponse\"\x8f\x02\n\x1a\x41\x64\x64LocalInventoriesRequest\x12\x36\n\x07product\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\x12\x46\n\x11local_inventories\x18\x02 \x03(\x0b\x32&.google.cloud.retail.v2.LocalInventoryB\x03\xe0\x41\x02\x12,\n\x08\x61\x64\x64_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12,\n\x08\x61\x64\x64_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rallow_missing\x18\x06 \x01(\x08\"\x1d\n\x1b\x41\x64\x64LocalInventoriesMetadata\"\x1d\n\x1b\x41\x64\x64LocalInventoriesResponse\"\xb7\x01\n\x1dRemoveLocalInventoriesRequest\x12\x36\n\x07product\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\x12\x16\n\tplace_ids\x18\x02 \x03(\tB\x03\xe0\x41\x02\x12/\n\x0bremove_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\" \n\x1eRemoveLocalInventoriesMetadata\" \n\x1eRemoveLocalInventoriesResponse\"\xcb\x01\n\x1eRemoveFulfillmentPlacesRequest\x12\x36\n\x07product\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1dretail.googleapis.com/Product\x12\x11\n\x04type\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x16\n\tplace_ids\x18\x03 \x03(\tB\x03\xe0\x41\x02\x12/\n\x0bremove_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rallow_missing\x18\x05 \x01(\x08\"!\n\x1fRemoveFulfillmentPlacesMetadata\"!\n\x1fRemoveFulfillmentPlacesResponse2\xc2\x19\n\x0eProductService\x12\xcf\x01\n\rCreateProduct\x12,.google.cloud.retail.v2.CreateProductRequest\x1a\x1f.google.cloud.retail.v2.Product\"o\xda\x41\x19parent,product,product_id\x82\xd3\xe4\x93\x02M\"B/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:\x07product\x12\xac\x01\n\nGetProduct\x12).google.cloud.retail.v2.GetProductRequest\x1a\x1f.google.cloud.retail.v2.Product\"R\xda\x41\x04name\x82\xd3\xe4\x93\x02\x45\x12\x43/v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}\x12\xbe\x01\n\x0cListProducts\x12+.google.cloud.retail.v2.ListProductsRequest\x1a,.google.cloud.retail.v2.ListProductsResponse\"S\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x44\x12\x42/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products\x12\xd2\x01\n\rUpdateProduct\x12,.google.cloud.retail.v2.UpdateProductRequest\x1a\x1f.google.cloud.retail.v2.Product\"r\xda\x41\x13product,update_mask\x82\xd3\xe4\x93\x02V2K/v2/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:\x07product\x12\xa9\x01\n\rDeleteProduct\x12,.google.cloud.retail.v2.DeleteProductRequest\x1a\x16.google.protobuf.Empty\"R\xda\x41\x04name\x82\xd3\xe4\x93\x02\x45*C/v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}\x12\x91\x02\n\rPurgeProducts\x12,.google.cloud.retail.v2.PurgeProductsRequest\x1a\x1d.google.longrunning.Operation\"\xb2\x01\xca\x41\\\n,google.cloud.retail.v2.PurgeProductsResponse\x12,google.cloud.retail.v2.PurgeProductsMetadata\x82\xd3\xe4\x93\x02M\"H/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:purge:\x01*\x12\x8e\x02\n\x0eImportProducts\x12-.google.cloud.retail.v2.ImportProductsRequest\x1a\x1d.google.longrunning.Operation\"\xad\x01\xca\x41V\n-google.cloud.retail.v2.ImportProductsResponse\x12%google.cloud.retail.v2.ImportMetadata\x82\xd3\xe4\x93\x02N\"I/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import:\x01*\x12\xb4\x02\n\x0cSetInventory\x12+.google.cloud.retail.v2.SetInventoryRequest\x1a\x1d.google.longrunning.Operation\"\xd7\x01\xca\x41Z\n+google.cloud.retail.v2.SetInventoryResponse\x12+google.cloud.retail.v2.SetInventoryMetadata\xda\x41\x12inventory,set_mask\x82\xd3\xe4\x93\x02_\"Z/v2/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory:\x01*\x12\xca\x02\n\x14\x41\x64\x64\x46ulfillmentPlaces\x12\x33.google.cloud.retail.v2.AddFulfillmentPlacesRequest\x1a\x1d.google.longrunning.Operation\"\xdd\x01\xca\x41j\n3google.cloud.retail.v2.AddFulfillmentPlacesResponse\x12\x33google.cloud.retail.v2.AddFulfillmentPlacesMetadata\xda\x41\x07product\x82\xd3\xe4\x93\x02`\"[/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces:\x01*\x12\xd9\x02\n\x17RemoveFulfillmentPlaces\x12\x36.google.cloud.retail.v2.RemoveFulfillmentPlacesRequest\x1a\x1d.google.longrunning.Operation\"\xe6\x01\xca\x41p\n6google.cloud.retail.v2.RemoveFulfillmentPlacesResponse\x12\x36google.cloud.retail.v2.RemoveFulfillmentPlacesMetadata\xda\x41\x07product\x82\xd3\xe4\x93\x02\x63\"^/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces:\x01*\x12\xc5\x02\n\x13\x41\x64\x64LocalInventories\x12\x32.google.cloud.retail.v2.AddLocalInventoriesRequest\x1a\x1d.google.longrunning.Operation\"\xda\x01\xca\x41h\n2google.cloud.retail.v2.AddLocalInventoriesResponse\x12\x32google.cloud.retail.v2.AddLocalInventoriesMetadata\xda\x41\x07product\x82\xd3\xe4\x93\x02_\"Z/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories:\x01*\x12\xd4\x02\n\x16RemoveLocalInventories\x12\x35.google.cloud.retail.v2.RemoveLocalInventoriesRequest\x1a\x1d.google.longrunning.Operation\"\xe3\x01\xca\x41n\n5google.cloud.retail.v2.RemoveLocalInventoriesResponse\x12\x35google.cloud.retail.v2.RemoveLocalInventoriesMetadata\xda\x41\x07product\x82\xd3\xe4\x93\x02\x62\"]/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories:\x01*\x1aI\xca\x41\x15retail.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xbe\x01\n\x1a\x63om.google.cloud.retail.v2B\x13ProductServiceProtoP\x01Z2cloud.google.com/go/retail/apiv2/retailpb;retailpb\xa2\x02\x06RETAIL\xaa\x02\x16Google.Cloud.Retail.V2\xca\x02\x16Google\\Cloud\\Retail\\V2\xea\x02\x19Google::Cloud::Retail::V2b\x06proto3"
21
22
 
22
23
  pool = Google::Protobuf::DescriptorPool.generated_pool
23
24