google-cloud-retail-v2 0.8.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/lib/google/cloud/retail/v2/catalog_pb.rb +55 -0
  4. data/lib/google/cloud/retail/v2/catalog_service/client.rb +718 -0
  5. data/lib/google/cloud/retail/v2/catalog_service/paths.rb +38 -0
  6. data/lib/google/cloud/retail/v2/catalog_service_pb.rb +34 -0
  7. data/lib/google/cloud/retail/v2/catalog_service_services_pb.rb +38 -0
  8. data/lib/google/cloud/retail/v2/common_pb.rb +86 -0
  9. data/lib/google/cloud/retail/v2/completion_service/client.rb +7 -3
  10. data/lib/google/cloud/retail/v2/completion_service/operations.rb +3 -0
  11. data/lib/google/cloud/retail/v2/control_pb.rb +33 -0
  12. data/lib/google/cloud/retail/v2/control_service/client.rb +807 -0
  13. data/lib/google/cloud/retail/v2/control_service/credentials.rb +51 -0
  14. data/lib/google/cloud/retail/v2/control_service/paths.rb +73 -0
  15. data/lib/google/cloud/retail/v2/control_service.rb +49 -0
  16. data/lib/google/cloud/retail/v2/control_service_pb.rb +57 -0
  17. data/lib/google/cloud/retail/v2/control_service_services_pb.rb +65 -0
  18. data/lib/google/cloud/retail/v2/prediction_service/client.rb +28 -13
  19. data/lib/google/cloud/retail/v2/product_pb.rb +1 -0
  20. data/lib/google/cloud/retail/v2/product_service/client.rb +87 -42
  21. data/lib/google/cloud/retail/v2/product_service/operations.rb +3 -0
  22. data/lib/google/cloud/retail/v2/product_service_services_pb.rb +67 -23
  23. data/lib/google/cloud/retail/v2/search_service/client.rb +15 -2
  24. data/lib/google/cloud/retail/v2/search_service_pb.rb +5 -0
  25. data/lib/google/cloud/retail/v2/serving_config_pb.rb +44 -0
  26. data/lib/google/cloud/retail/v2/serving_config_service/client.rb +998 -0
  27. data/lib/google/cloud/retail/v2/serving_config_service/credentials.rb +51 -0
  28. data/lib/google/cloud/retail/v2/serving_config_service/paths.rb +73 -0
  29. data/lib/google/cloud/retail/v2/serving_config_service.rb +49 -0
  30. data/lib/google/cloud/retail/v2/serving_config_service_pb.rb +66 -0
  31. data/lib/google/cloud/retail/v2/serving_config_service_services_pb.rb +74 -0
  32. data/lib/google/cloud/retail/v2/user_event_service/client.rb +2 -2
  33. data/lib/google/cloud/retail/v2/user_event_service/operations.rb +3 -0
  34. data/lib/google/cloud/retail/v2/user_event_service_pb.rb +0 -1
  35. data/lib/google/cloud/retail/v2/user_event_service_services_pb.rb +2 -2
  36. data/lib/google/cloud/retail/v2/version.rb +1 -1
  37. data/lib/google/cloud/retail/v2.rb +2 -0
  38. data/proto_docs/google/cloud/retail/v2/catalog.rb +233 -0
  39. data/proto_docs/google/cloud/retail/v2/catalog_service.rb +133 -0
  40. data/proto_docs/google/cloud/retail/v2/common.rb +314 -4
  41. data/proto_docs/google/cloud/retail/v2/completion_service.rb +9 -4
  42. data/proto_docs/google/cloud/retail/v2/control.rb +76 -0
  43. data/proto_docs/google/cloud/retail/v2/control_service.rb +122 -0
  44. data/proto_docs/google/cloud/retail/v2/import_config.rb +20 -35
  45. data/proto_docs/google/cloud/retail/v2/prediction_service.rb +27 -12
  46. data/proto_docs/google/cloud/retail/v2/product.rb +7 -1
  47. data/proto_docs/google/cloud/retail/v2/product_service.rb +49 -21
  48. data/proto_docs/google/cloud/retail/v2/search_service.rb +72 -13
  49. data/proto_docs/google/cloud/retail/v2/serving_config.rb +238 -0
  50. data/proto_docs/google/cloud/retail/v2/serving_config_service.rb +143 -0
  51. data/proto_docs/google/protobuf/empty.rb +0 -2
  52. metadata +29 -11
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "googleauth"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Retail
24
+ module V2
25
+ module ServingConfigService
26
+ # Credentials for the ServingConfigService API.
27
+ class Credentials < ::Google::Auth::Credentials
28
+ self.scope = [
29
+ "https://www.googleapis.com/auth/cloud-platform"
30
+ ]
31
+ self.env_vars = [
32
+ "RETAIL_CREDENTIALS",
33
+ "RETAIL_KEYFILE",
34
+ "GOOGLE_CLOUD_CREDENTIALS",
35
+ "GOOGLE_CLOUD_KEYFILE",
36
+ "GCLOUD_KEYFILE",
37
+ "RETAIL_CREDENTIALS_JSON",
38
+ "RETAIL_KEYFILE_JSON",
39
+ "GOOGLE_CLOUD_CREDENTIALS_JSON",
40
+ "GOOGLE_CLOUD_KEYFILE_JSON",
41
+ "GCLOUD_KEYFILE_JSON"
42
+ ]
43
+ self.paths = [
44
+ "~/.config/google_cloud/application_default_credentials.json"
45
+ ]
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Retail
23
+ module V2
24
+ module ServingConfigService
25
+ # Path helper methods for the ServingConfigService API.
26
+ module Paths
27
+ ##
28
+ # Create a fully-qualified Catalog resource string.
29
+ #
30
+ # The resource will be in the following format:
31
+ #
32
+ # `projects/{project}/locations/{location}/catalogs/{catalog}`
33
+ #
34
+ # @param project [String]
35
+ # @param location [String]
36
+ # @param catalog [String]
37
+ #
38
+ # @return [::String]
39
+ def catalog_path project:, location:, catalog:
40
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
41
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
42
+
43
+ "projects/#{project}/locations/#{location}/catalogs/#{catalog}"
44
+ end
45
+
46
+ ##
47
+ # Create a fully-qualified ServingConfig resource string.
48
+ #
49
+ # The resource will be in the following format:
50
+ #
51
+ # `projects/{project}/locations/{location}/catalogs/{catalog}/servingConfigs/{serving_config}`
52
+ #
53
+ # @param project [String]
54
+ # @param location [String]
55
+ # @param catalog [String]
56
+ # @param serving_config [String]
57
+ #
58
+ # @return [::String]
59
+ def serving_config_path project:, location:, catalog:, serving_config:
60
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
61
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
62
+ raise ::ArgumentError, "catalog cannot contain /" if catalog.to_s.include? "/"
63
+
64
+ "projects/#{project}/locations/#{location}/catalogs/#{catalog}/servingConfigs/#{serving_config}"
65
+ end
66
+
67
+ extend self
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/retail/v2/version"
24
+
25
+ require "google/cloud/retail/v2/serving_config_service/credentials"
26
+ require "google/cloud/retail/v2/serving_config_service/paths"
27
+ require "google/cloud/retail/v2/serving_config_service/client"
28
+
29
+ module Google
30
+ module Cloud
31
+ module Retail
32
+ module V2
33
+ ##
34
+ # Service for modifying ServingConfig.
35
+ #
36
+ # To load this service and instantiate a client:
37
+ #
38
+ # require "google/cloud/retail/v2/serving_config_service"
39
+ # client = ::Google::Cloud::Retail::V2::ServingConfigService::Client.new
40
+ #
41
+ module ServingConfigService
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+
48
+ helper_path = ::File.join __dir__, "serving_config_service", "helpers.rb"
49
+ require "google/cloud/retail/v2/serving_config_service/helpers" if ::File.file? helper_path
@@ -0,0 +1,66 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/retail/v2/serving_config_service.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/annotations_pb'
7
+ require 'google/api/client_pb'
8
+ require 'google/api/field_behavior_pb'
9
+ require 'google/api/resource_pb'
10
+ require 'google/cloud/retail/v2/serving_config_pb'
11
+ require 'google/protobuf/empty_pb'
12
+ require 'google/protobuf/field_mask_pb'
13
+
14
+ Google::Protobuf::DescriptorPool.generated_pool.build do
15
+ add_file("google/cloud/retail/v2/serving_config_service.proto", :syntax => :proto3) do
16
+ add_message "google.cloud.retail.v2.CreateServingConfigRequest" do
17
+ optional :parent, :string, 1
18
+ optional :serving_config, :message, 2, "google.cloud.retail.v2.ServingConfig"
19
+ optional :serving_config_id, :string, 3
20
+ end
21
+ add_message "google.cloud.retail.v2.UpdateServingConfigRequest" do
22
+ optional :serving_config, :message, 1, "google.cloud.retail.v2.ServingConfig"
23
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
24
+ end
25
+ add_message "google.cloud.retail.v2.DeleteServingConfigRequest" do
26
+ optional :name, :string, 1
27
+ end
28
+ add_message "google.cloud.retail.v2.GetServingConfigRequest" do
29
+ optional :name, :string, 1
30
+ end
31
+ add_message "google.cloud.retail.v2.ListServingConfigsRequest" do
32
+ optional :parent, :string, 1
33
+ optional :page_size, :int32, 2
34
+ optional :page_token, :string, 3
35
+ end
36
+ add_message "google.cloud.retail.v2.ListServingConfigsResponse" do
37
+ repeated :serving_configs, :message, 1, "google.cloud.retail.v2.ServingConfig"
38
+ optional :next_page_token, :string, 2
39
+ end
40
+ add_message "google.cloud.retail.v2.AddControlRequest" do
41
+ optional :serving_config, :string, 1
42
+ optional :control_id, :string, 2
43
+ end
44
+ add_message "google.cloud.retail.v2.RemoveControlRequest" do
45
+ optional :serving_config, :string, 1
46
+ optional :control_id, :string, 2
47
+ end
48
+ end
49
+ end
50
+
51
+ module Google
52
+ module Cloud
53
+ module Retail
54
+ module V2
55
+ CreateServingConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.CreateServingConfigRequest").msgclass
56
+ UpdateServingConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.UpdateServingConfigRequest").msgclass
57
+ DeleteServingConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.DeleteServingConfigRequest").msgclass
58
+ GetServingConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.GetServingConfigRequest").msgclass
59
+ ListServingConfigsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.ListServingConfigsRequest").msgclass
60
+ ListServingConfigsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.ListServingConfigsResponse").msgclass
61
+ AddControlRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.AddControlRequest").msgclass
62
+ RemoveControlRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.retail.v2.RemoveControlRequest").msgclass
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,74 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/retail/v2/serving_config_service.proto for package 'Google.Cloud.Retail.V2'
3
+ # Original file comments:
4
+ # Copyright 2021 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/retail/v2/serving_config_service_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module Retail
25
+ module V2
26
+ module ServingConfigService
27
+ # Service for modifying ServingConfig.
28
+ class Service
29
+
30
+ include ::GRPC::GenericService
31
+
32
+ self.marshal_class_method = :encode
33
+ self.unmarshal_class_method = :decode
34
+ self.service_name = 'google.cloud.retail.v2.ServingConfigService'
35
+
36
+ # Creates a ServingConfig.
37
+ #
38
+ # A maximum of 100 [ServingConfig][google.cloud.retail.v2.ServingConfig]s are
39
+ # allowed in a [Catalog][google.cloud.retail.v2.Catalog], otherwise a
40
+ # FAILED_PRECONDITION error is returned.
41
+ rpc :CreateServingConfig, ::Google::Cloud::Retail::V2::CreateServingConfigRequest, ::Google::Cloud::Retail::V2::ServingConfig
42
+ # Deletes a ServingConfig.
43
+ #
44
+ # Returns a NotFound error if the ServingConfig does not exist.
45
+ rpc :DeleteServingConfig, ::Google::Cloud::Retail::V2::DeleteServingConfigRequest, ::Google::Protobuf::Empty
46
+ # Updates a ServingConfig.
47
+ rpc :UpdateServingConfig, ::Google::Cloud::Retail::V2::UpdateServingConfigRequest, ::Google::Cloud::Retail::V2::ServingConfig
48
+ # Gets a ServingConfig.
49
+ #
50
+ # Returns a NotFound error if the ServingConfig does not exist.
51
+ rpc :GetServingConfig, ::Google::Cloud::Retail::V2::GetServingConfigRequest, ::Google::Cloud::Retail::V2::ServingConfig
52
+ # Lists all ServingConfigs linked to this catalog.
53
+ rpc :ListServingConfigs, ::Google::Cloud::Retail::V2::ListServingConfigsRequest, ::Google::Cloud::Retail::V2::ListServingConfigsResponse
54
+ # Enables a Control on the specified ServingConfig.
55
+ # The control is added in the last position of the list of controls
56
+ # it belongs to (e.g. if it's a facet spec control it will be applied
57
+ # in the last position of servingConfig.facetSpecIds)
58
+ # Returns a ALREADY_EXISTS error if the control has already been applied.
59
+ # Returns a FAILED_PRECONDITION error if the addition could exceed maximum
60
+ # number of control allowed for that type of control.
61
+ rpc :AddControl, ::Google::Cloud::Retail::V2::AddControlRequest, ::Google::Cloud::Retail::V2::ServingConfig
62
+ # Disables a Control on the specified ServingConfig.
63
+ # The control is removed from the ServingConfig.
64
+ # Returns a NOT_FOUND error if the Control is not enabled for the
65
+ # ServingConfig.
66
+ rpc :RemoveControl, ::Google::Cloud::Retail::V2::RemoveControlRequest, ::Google::Cloud::Retail::V2::ServingConfig
67
+ end
68
+
69
+ Stub = Service.rpc_stub_class
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -493,9 +493,9 @@ module Google
493
493
  # synchronous. Events that already exist are skipped.
494
494
  # Use this method for backfilling historical user events.
495
495
  #
496
- # Operation.response is of type ImportResponse. Note that it is
496
+ # `Operation.response` is of type `ImportResponse`. Note that it is
497
497
  # possible for a subset of the items to be successfully inserted.
498
- # Operation.metadata is of type ImportMetadata.
498
+ # `Operation.metadata` is of type `ImportMetadata`.
499
499
  #
500
500
  # @overload import_user_events(request, options = nil)
501
501
  # Pass arguments to `import_user_events` via a request object, either of type
@@ -95,6 +95,9 @@ module Google
95
95
  channel_args: @config.channel_args,
96
96
  interceptors: @config.interceptors
97
97
  )
98
+
99
+ # Used by an LRO wrapper for some methods of this service
100
+ @operations_client = self
98
101
  end
99
102
 
100
103
  # Service calls
@@ -7,7 +7,6 @@ require 'google/api/annotations_pb'
7
7
  require 'google/api/client_pb'
8
8
  require 'google/api/field_behavior_pb'
9
9
  require 'google/api/httpbody_pb'
10
- require 'google/api/resource_pb'
11
10
  require 'google/cloud/retail/v2/import_config_pb'
12
11
  require 'google/cloud/retail/v2/purge_config_pb'
13
12
  require 'google/cloud/retail/v2/user_event_pb'
@@ -50,9 +50,9 @@ module Google
50
50
  # synchronous. Events that already exist are skipped.
51
51
  # Use this method for backfilling historical user events.
52
52
  #
53
- # Operation.response is of type ImportResponse. Note that it is
53
+ # `Operation.response` is of type `ImportResponse`. Note that it is
54
54
  # possible for a subset of the items to be successfully inserted.
55
- # Operation.metadata is of type ImportMetadata.
55
+ # `Operation.metadata` is of type `ImportMetadata`.
56
56
  rpc :ImportUserEvents, ::Google::Cloud::Retail::V2::ImportUserEventsRequest, ::Google::Longrunning::Operation
57
57
  # Starts a user event rejoin operation with latest product catalog. Events
58
58
  # will not be annotated with detailed product information if product is
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Retail
23
23
  module V2
24
- VERSION = "0.8.0"
24
+ VERSION = "0.11.0"
25
25
  end
26
26
  end
27
27
  end
@@ -18,9 +18,11 @@
18
18
 
19
19
  require "google/cloud/retail/v2/catalog_service"
20
20
  require "google/cloud/retail/v2/completion_service"
21
+ require "google/cloud/retail/v2/control_service"
21
22
  require "google/cloud/retail/v2/prediction_service"
22
23
  require "google/cloud/retail/v2/product_service"
23
24
  require "google/cloud/retail/v2/search_service"
25
+ require "google/cloud/retail/v2/serving_config_service"
24
26
  require "google/cloud/retail/v2/user_event_service"
25
27
  require "google/cloud/retail/v2/version"
26
28
 
@@ -78,6 +78,239 @@ module Google
78
78
  extend ::Google::Protobuf::MessageExts::ClassMethods
79
79
  end
80
80
 
81
+ # Catalog level attribute config for an attribute. For example, if customers
82
+ # want to enable/disable facet for a specific attribute.
83
+ # @!attribute [rw] key
84
+ # @return [::String]
85
+ # Required. Attribute name.
86
+ # For example: `color`, `brands`, `attributes.custom_attribute`, such as
87
+ # `attributes.xyz`.
88
+ # To be indexable, the attribute name can contain only alpha-numeric
89
+ # characters and underscores. For example, an attribute named
90
+ # `attributes.abc_xyz` can be indexed, but an attribute named
91
+ # `attributes.abc-xyz` cannot be indexed.
92
+ # @!attribute [r] in_use
93
+ # @return [::Boolean]
94
+ # Output only. Indicates whether this attribute has been used by any
95
+ # products. `True` if at least one {::Google::Cloud::Retail::V2::Product Product}
96
+ # is using this attribute in
97
+ # {::Google::Cloud::Retail::V2::Product#attributes Product.attributes}. Otherwise,
98
+ # this field is `False`.
99
+ #
100
+ # {::Google::Cloud::Retail::V2::CatalogAttribute CatalogAttribute} can be
101
+ # pre-loaded by using
102
+ # {::Google::Cloud::Retail::V2::CatalogService::Client#add_catalog_attribute CatalogService.AddCatalogAttribute},
103
+ # [CatalogService.ImportCatalogAttributes][], or
104
+ # {::Google::Cloud::Retail::V2::CatalogService::Client#update_attributes_config CatalogService.UpdateAttributesConfig}
105
+ # APIs. This field is `False` for pre-loaded
106
+ # {::Google::Cloud::Retail::V2::CatalogAttribute CatalogAttribute}s.
107
+ #
108
+ # Only pre-loaded
109
+ # {::Google::Cloud::Retail::V2::CatalogAttribute CatalogAttribute}s that are
110
+ # neither in use by products nor predefined can be deleted.
111
+ # {::Google::Cloud::Retail::V2::CatalogAttribute CatalogAttribute}s that are
112
+ # either in use by products or are predefined cannot be deleted; however,
113
+ # their configuration properties will reset to default values upon removal
114
+ # request.
115
+ #
116
+ # After catalog changes, it takes about 10 minutes for this field to update.
117
+ # @!attribute [r] type
118
+ # @return [::Google::Cloud::Retail::V2::CatalogAttribute::AttributeType]
119
+ # Output only. The type of this attribute. This is derived from the attribute
120
+ # in {::Google::Cloud::Retail::V2::Product#attributes Product.attributes}.
121
+ # @!attribute [rw] indexable_option
122
+ # @return [::Google::Cloud::Retail::V2::CatalogAttribute::IndexableOption]
123
+ # When
124
+ # {::Google::Cloud::Retail::V2::AttributesConfig#attribute_config_level AttributesConfig.attribute_config_level}
125
+ # is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values
126
+ # are indexed so that it can be filtered, faceted, or boosted in
127
+ # {::Google::Cloud::Retail::V2::SearchService::Client#search SearchService.Search}.
128
+ # @!attribute [rw] dynamic_facetable_option
129
+ # @return [::Google::Cloud::Retail::V2::CatalogAttribute::DynamicFacetableOption]
130
+ # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic
131
+ # facet. Could only be DYNAMIC_FACETABLE_DISABLED if
132
+ # {::Google::Cloud::Retail::V2::CatalogAttribute#indexable_option CatalogAttribute.indexable_option}
133
+ # is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
134
+ # @!attribute [rw] searchable_option
135
+ # @return [::Google::Cloud::Retail::V2::CatalogAttribute::SearchableOption]
136
+ # When
137
+ # {::Google::Cloud::Retail::V2::AttributesConfig#attribute_config_level AttributesConfig.attribute_config_level}
138
+ # is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values
139
+ # are searchable by text queries in
140
+ # {::Google::Cloud::Retail::V2::SearchService::Client#search SearchService.Search}.
141
+ #
142
+ # If SEARCHABLE_ENABLED but attribute type is numerical, attribute values
143
+ # will not be searchable by text queries in
144
+ # {::Google::Cloud::Retail::V2::SearchService::Client#search SearchService.Search}, as
145
+ # there are no text values associated to numerical attributes.
146
+ class CatalogAttribute
147
+ include ::Google::Protobuf::MessageExts
148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
149
+
150
+ # The type of an attribute.
151
+ module AttributeType
152
+ # The type of the attribute is unknown.
153
+ #
154
+ # Used when type cannot be derived from attribute that is not
155
+ # {::Google::Cloud::Retail::V2::CatalogAttribute#in_use in_use}.
156
+ UNKNOWN = 0
157
+
158
+ # Textual attribute.
159
+ TEXTUAL = 1
160
+
161
+ # Numerical attribute.
162
+ NUMERICAL = 2
163
+ end
164
+
165
+ # The status of the indexable option of a catalog attribute.
166
+ module IndexableOption
167
+ # Value used when unset. Defaults to
168
+ # {::Google::Cloud::Retail::V2::CatalogAttribute::IndexableOption::INDEXABLE_ENABLED INDEXABLE_ENABLED}.
169
+ INDEXABLE_OPTION_UNSPECIFIED = 0
170
+
171
+ # Indexable option enabled for an attribute.
172
+ INDEXABLE_ENABLED = 1
173
+
174
+ # Indexable option disabled for an attribute.
175
+ INDEXABLE_DISABLED = 2
176
+ end
177
+
178
+ # The status of the dynamic facetable option of a catalog attribute.
179
+ module DynamicFacetableOption
180
+ # Value used when unset. Defaults to
181
+ # {::Google::Cloud::Retail::V2::CatalogAttribute::DynamicFacetableOption::DYNAMIC_FACETABLE_ENABLED DYNAMIC_FACETABLE_ENABLED}.
182
+ DYNAMIC_FACETABLE_OPTION_UNSPECIFIED = 0
183
+
184
+ # Dynamic facetable option enabled for an attribute.
185
+ DYNAMIC_FACETABLE_ENABLED = 1
186
+
187
+ # Dynamic facetable option disabled for an attribute.
188
+ DYNAMIC_FACETABLE_DISABLED = 2
189
+ end
190
+
191
+ # The status of the searchable option of a catalog attribute.
192
+ module SearchableOption
193
+ # Value used when unset. Defaults to
194
+ # {::Google::Cloud::Retail::V2::CatalogAttribute::SearchableOption::SEARCHABLE_DISABLED SEARCHABLE_DISABLED}.
195
+ SEARCHABLE_OPTION_UNSPECIFIED = 0
196
+
197
+ # Searchable option enabled for an attribute.
198
+ SEARCHABLE_ENABLED = 1
199
+
200
+ # Searchable option disabled for an attribute.
201
+ SEARCHABLE_DISABLED = 2
202
+ end
203
+ end
204
+
205
+ # Catalog level attribute config.
206
+ # @!attribute [rw] name
207
+ # @return [::String]
208
+ # Required. Immutable. The fully qualified resource name of the attribute
209
+ # config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`
210
+ # @!attribute [rw] catalog_attributes
211
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Retail::V2::CatalogAttribute}]
212
+ # Enable attribute(s) config at catalog level.
213
+ # For example, indexable, dynamic_facetable, or searchable for each
214
+ # attribute.
215
+ #
216
+ # The key is catalog attribute's name.
217
+ # For example: `color`, `brands`, `attributes.custom_attribute`, such as
218
+ # `attributes.xyz`.
219
+ #
220
+ # The maximum number of catalog attributes allowed in a request is 1000.
221
+ # @!attribute [r] attribute_config_level
222
+ # @return [::Google::Cloud::Retail::V2::AttributeConfigLevel]
223
+ # Output only. The
224
+ # {::Google::Cloud::Retail::V2::AttributeConfigLevel AttributeConfigLevel} used
225
+ # for this catalog.
226
+ class AttributesConfig
227
+ include ::Google::Protobuf::MessageExts
228
+ extend ::Google::Protobuf::MessageExts::ClassMethods
229
+
230
+ # @!attribute [rw] key
231
+ # @return [::String]
232
+ # @!attribute [rw] value
233
+ # @return [::Google::Cloud::Retail::V2::CatalogAttribute]
234
+ class CatalogAttributesEntry
235
+ include ::Google::Protobuf::MessageExts
236
+ extend ::Google::Protobuf::MessageExts::ClassMethods
237
+ end
238
+ end
239
+
240
+ # Catalog level autocomplete config for customers to customize autocomplete
241
+ # feature's settings.
242
+ # @!attribute [rw] name
243
+ # @return [::String]
244
+ # Required. Immutable. Fully qualified name
245
+ # `projects/*/locations/*/catalogs/*/completionConfig`
246
+ # @!attribute [rw] matching_order
247
+ # @return [::String]
248
+ # Specifies the matching order for autocomplete suggestions, e.g., a query
249
+ # consisting of 'sh' with 'out-of-order' specified would suggest "women's
250
+ # shoes", whereas a query of 'red s' with 'exact-prefix' specified would
251
+ # suggest "red shoes". Currently supported values:
252
+ #
253
+ # * 'out-of-order'
254
+ # * 'exact-prefix'
255
+ #
256
+ # Default value: 'exact-prefix'.
257
+ # @!attribute [rw] max_suggestions
258
+ # @return [::Integer]
259
+ # The maximum number of autocomplete suggestions returned per term. Default
260
+ # value is 20. If left unset or set to 0, then will fallback to default
261
+ # value.
262
+ #
263
+ # Value range is 1 to 20.
264
+ # @!attribute [rw] min_prefix_length
265
+ # @return [::Integer]
266
+ # The minimum number of characters needed to be typed in order to get
267
+ # suggestions. Default value is 2. If left unset or set to 0, then will
268
+ # fallback to default value.
269
+ #
270
+ # Value range is 1 to 20.
271
+ # @!attribute [rw] auto_learning
272
+ # @return [::Boolean]
273
+ # If set to true, the auto learning function is enabled. Auto learning uses
274
+ # user data to generate suggestions using ML techniques. Default value is
275
+ # false. Only after enabling auto learning can users use `cloud-retail`
276
+ # data in
277
+ # {::Google::Cloud::Retail::V2::CompleteQueryRequest CompleteQueryRequest}.
278
+ # @!attribute [r] suggestions_input_config
279
+ # @return [::Google::Cloud::Retail::V2::CompletionDataInputConfig]
280
+ # Output only. The source data for the latest import of the autocomplete
281
+ # suggestion phrases.
282
+ # @!attribute [r] last_suggestions_import_operation
283
+ # @return [::String]
284
+ # Output only. Name of the LRO corresponding to the latest suggestion terms
285
+ # list import.
286
+ #
287
+ # Can use GetOperation API to
288
+ # retrieve the latest state of the Long Running Operation.
289
+ # @!attribute [r] denylist_input_config
290
+ # @return [::Google::Cloud::Retail::V2::CompletionDataInputConfig]
291
+ # Output only. The source data for the latest import of the autocomplete
292
+ # denylist phrases.
293
+ # @!attribute [r] last_denylist_import_operation
294
+ # @return [::String]
295
+ # Output only. Name of the LRO corresponding to the latest denylist import.
296
+ #
297
+ # Can use GetOperation API to
298
+ # retrieve the latest state of the Long Running Operation.
299
+ # @!attribute [r] allowlist_input_config
300
+ # @return [::Google::Cloud::Retail::V2::CompletionDataInputConfig]
301
+ # Output only. The source data for the latest import of the autocomplete
302
+ # allowlist phrases.
303
+ # @!attribute [r] last_allowlist_import_operation
304
+ # @return [::String]
305
+ # Output only. Name of the LRO corresponding to the latest allowlist import.
306
+ #
307
+ # Can use GetOperation API to
308
+ # retrieve the latest state of the Long Running Operation.
309
+ class CompletionConfig
310
+ include ::Google::Protobuf::MessageExts
311
+ extend ::Google::Protobuf::MessageExts::ClassMethods
312
+ end
313
+
81
314
  # The catalog configuration.
82
315
  # @!attribute [rw] name
83
316
  # @return [::String]