google-cloud-recommendation_engine-v1beta1 0.1.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.
Files changed (60) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +75 -0
  6. data/lib/google-cloud-recommendation_engine-v1beta1.rb +21 -0
  7. data/lib/google/cloud/recommendation_engine/v1beta1.rb +38 -0
  8. data/lib/google/cloud/recommendation_engine/v1beta1/catalog_service.rb +50 -0
  9. data/lib/google/cloud/recommendation_engine/v1beta1/catalog_service/client.rb +831 -0
  10. data/lib/google/cloud/recommendation_engine/v1beta1/catalog_service/credentials.rb +51 -0
  11. data/lib/google/cloud/recommendation_engine/v1beta1/catalog_service/operations.rb +570 -0
  12. data/lib/google/cloud/recommendation_engine/v1beta1/catalog_service/paths.rb +73 -0
  13. data/lib/google/cloud/recommendation_engine/v1beta1/prediction_api_key_registry.rb +53 -0
  14. data/lib/google/cloud/recommendation_engine/v1beta1/prediction_api_key_registry/client.rb +554 -0
  15. data/lib/google/cloud/recommendation_engine/v1beta1/prediction_api_key_registry/credentials.rb +51 -0
  16. data/lib/google/cloud/recommendation_engine/v1beta1/prediction_api_key_registry/paths.rb +77 -0
  17. data/lib/google/cloud/recommendation_engine/v1beta1/prediction_service.rb +49 -0
  18. data/lib/google/cloud/recommendation_engine/v1beta1/prediction_service/client.rb +468 -0
  19. data/lib/google/cloud/recommendation_engine/v1beta1/prediction_service/credentials.rb +51 -0
  20. data/lib/google/cloud/recommendation_engine/v1beta1/prediction_service/paths.rb +56 -0
  21. data/lib/google/cloud/recommendation_engine/v1beta1/user_event_service.rb +50 -0
  22. data/lib/google/cloud/recommendation_engine/v1beta1/user_event_service/client.rb +820 -0
  23. data/lib/google/cloud/recommendation_engine/v1beta1/user_event_service/credentials.rb +51 -0
  24. data/lib/google/cloud/recommendation_engine/v1beta1/user_event_service/operations.rb +570 -0
  25. data/lib/google/cloud/recommendation_engine/v1beta1/user_event_service/paths.rb +54 -0
  26. data/lib/google/cloud/recommendation_engine/v1beta1/version.rb +28 -0
  27. data/lib/google/cloud/recommendationengine/v1beta1/catalog_pb.rb +77 -0
  28. data/lib/google/cloud/recommendationengine/v1beta1/catalog_service_pb.rb +59 -0
  29. data/lib/google/cloud/recommendationengine/v1beta1/catalog_service_services_pb.rb +61 -0
  30. data/lib/google/cloud/recommendationengine/v1beta1/common_pb.rb +32 -0
  31. data/lib/google/cloud/recommendationengine/v1beta1/import_pb.rb +91 -0
  32. data/lib/google/cloud/recommendationengine/v1beta1/prediction_apikey_registry_service_pb.rb +48 -0
  33. data/lib/google/cloud/recommendationengine/v1beta1/prediction_apikey_registry_service_services_pb.rb +53 -0
  34. data/lib/google/cloud/recommendationengine/v1beta1/prediction_service_pb.rb +49 -0
  35. data/lib/google/cloud/recommendationengine/v1beta1/prediction_service_services_pb.rb +48 -0
  36. data/lib/google/cloud/recommendationengine/v1beta1/recommendationengine_resources_pb.rb +19 -0
  37. data/lib/google/cloud/recommendationengine/v1beta1/user_event_pb.rb +84 -0
  38. data/lib/google/cloud/recommendationengine/v1beta1/user_event_service_pb.rb +68 -0
  39. data/lib/google/cloud/recommendationengine/v1beta1/user_event_service_services_pb.rb +66 -0
  40. data/proto_docs/README.md +4 -0
  41. data/proto_docs/google/api/field_behavior.rb +59 -0
  42. data/proto_docs/google/api/httpbody.rb +75 -0
  43. data/proto_docs/google/api/resource.rb +283 -0
  44. data/proto_docs/google/cloud/recommendationengine/v1beta1/catalog.rb +214 -0
  45. data/proto_docs/google/cloud/recommendationengine/v1beta1/catalog_service.rb +110 -0
  46. data/proto_docs/google/cloud/recommendationengine/v1beta1/common.rb +89 -0
  47. data/proto_docs/google/cloud/recommendationengine/v1beta1/import.rb +206 -0
  48. data/proto_docs/google/cloud/recommendationengine/v1beta1/prediction_apikey_registry_service.rb +88 -0
  49. data/proto_docs/google/cloud/recommendationengine/v1beta1/prediction_service.rb +212 -0
  50. data/proto_docs/google/cloud/recommendationengine/v1beta1/user_event.rb +367 -0
  51. data/proto_docs/google/cloud/recommendationengine/v1beta1/user_event_service.rb +191 -0
  52. data/proto_docs/google/longrunning/operations.rb +150 -0
  53. data/proto_docs/google/protobuf/any.rb +138 -0
  54. data/proto_docs/google/protobuf/empty.rb +36 -0
  55. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  56. data/proto_docs/google/protobuf/struct.rb +96 -0
  57. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  58. data/proto_docs/google/rpc/status.rb +46 -0
  59. data/proto_docs/google/type/date.rb +50 -0
  60. metadata +242 -0
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 Api
22
+ # Message that represents an arbitrary HTTP body. It should only be used for
23
+ # payload formats that can't be represented as JSON, such as raw binary or
24
+ # an HTML page.
25
+ #
26
+ #
27
+ # This message can be used both in streaming and non-streaming API methods in
28
+ # the request as well as the response.
29
+ #
30
+ # It can be used as a top-level request field, which is convenient if one
31
+ # wants to extract parameters from either the URL or HTTP template into the
32
+ # request fields and also want access to the raw HTTP body.
33
+ #
34
+ # Example:
35
+ #
36
+ # message GetResourceRequest {
37
+ # // A unique request id.
38
+ # string request_id = 1;
39
+ #
40
+ # // The raw HTTP body is bound to this field.
41
+ # google.api.HttpBody http_body = 2;
42
+ # }
43
+ #
44
+ # service ResourceService {
45
+ # rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
46
+ # rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty);
47
+ # }
48
+ #
49
+ # Example with streaming methods:
50
+ #
51
+ # service CaldavService {
52
+ # rpc GetCalendar(stream google.api.HttpBody)
53
+ # returns (stream google.api.HttpBody);
54
+ # rpc UpdateCalendar(stream google.api.HttpBody)
55
+ # returns (stream google.api.HttpBody);
56
+ # }
57
+ #
58
+ # Use of this type only changes how the request and response bodies are
59
+ # handled, all other features will continue to work unchanged.
60
+ # @!attribute [rw] content_type
61
+ # @return [::String]
62
+ # The HTTP Content-Type string representing the content type of the body.
63
+ # @!attribute [rw] data
64
+ # @return [::String]
65
+ # HTTP body binary data.
66
+ # @!attribute [rw] extensions
67
+ # @return [::Array<::Google::Protobuf::Any>]
68
+ # Application specific response metadata. Must be set in the first response
69
+ # for streaming APIs.
70
+ class HttpBody
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,283 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 Api
22
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # name_descriptor: {
37
+ # pattern: "projects/{project}/topics/{topic}"
38
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
+ # parent_name_extractor: "projects/{project}"
40
+ # }
41
+ # };
42
+ # }
43
+ #
44
+ # The ResourceDescriptor Yaml config will look like:
45
+ #
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/{project}/topics/{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/{project}"
52
+ #
53
+ # Sometimes, resources have multiple patterns, typically because they can
54
+ # live under multiple parents.
55
+ #
56
+ # Example:
57
+ #
58
+ # message LogEntry {
59
+ # option (google.api.resource) = {
60
+ # type: "logging.googleapis.com/LogEntry"
61
+ # name_descriptor: {
62
+ # pattern: "projects/{project}/logs/{log}"
63
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
+ # parent_name_extractor: "projects/{project}"
65
+ # }
66
+ # name_descriptor: {
67
+ # pattern: "folders/{folder}/logs/{log}"
68
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
+ # parent_name_extractor: "folders/{folder}"
70
+ # }
71
+ # name_descriptor: {
72
+ # pattern: "organizations/{organization}/logs/{log}"
73
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
+ # parent_name_extractor: "organizations/{organization}"
75
+ # }
76
+ # name_descriptor: {
77
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
+ # parent_type: "billing.googleapis.com/BillingAccount"
79
+ # parent_name_extractor: "billingAccounts/{billing_account}"
80
+ # }
81
+ # };
82
+ # }
83
+ #
84
+ # The ResourceDescriptor Yaml config will look like:
85
+ #
86
+ # resources:
87
+ # - type: 'logging.googleapis.com/LogEntry'
88
+ # name_descriptor:
89
+ # - pattern: "projects/{project}/logs/{log}"
90
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
+ # parent_name_extractor: "projects/{project}"
92
+ # - pattern: "folders/{folder}/logs/{log}"
93
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
+ # parent_name_extractor: "folders/{folder}"
95
+ # - pattern: "organizations/{organization}/logs/{log}"
96
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
+ # parent_name_extractor: "organizations/{organization}"
98
+ # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
+ # parent_type: "billing.googleapis.com/BillingAccount"
100
+ # parent_name_extractor: "billingAccounts/{billing_account}"
101
+ #
102
+ # For flexible resources, the resource name doesn't contain parent names, but
103
+ # the resource itself has parents for policy evaluation.
104
+ #
105
+ # Example:
106
+ #
107
+ # message Shelf {
108
+ # option (google.api.resource) = {
109
+ # type: "library.googleapis.com/Shelf"
110
+ # name_descriptor: {
111
+ # pattern: "shelves/{shelf}"
112
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
+ # }
114
+ # name_descriptor: {
115
+ # pattern: "shelves/{shelf}"
116
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
+ # }
118
+ # };
119
+ # }
120
+ #
121
+ # The ResourceDescriptor Yaml config will look like:
122
+ #
123
+ # resources:
124
+ # - type: 'library.googleapis.com/Shelf'
125
+ # name_descriptor:
126
+ # - pattern: "shelves/{shelf}"
127
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
+ # - pattern: "shelves/{shelf}"
129
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
130
+ # @!attribute [rw] type
131
+ # @return [::String]
132
+ # The resource type. It must be in the format of
133
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
134
+ # singular and must not include version numbers.
135
+ #
136
+ # Example: `storage.googleapis.com/Bucket`
137
+ #
138
+ # The value of the resource_type_kind must follow the regular expression
139
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
140
+ # should use PascalCase (UpperCamelCase). The maximum number of
141
+ # characters allowed for the `resource_type_kind` is 100.
142
+ # @!attribute [rw] pattern
143
+ # @return [::Array<::String>]
144
+ # Optional. The relative resource name pattern associated with this resource
145
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
146
+ #
147
+ # The path pattern must follow the syntax, which aligns with HTTP binding
148
+ # syntax:
149
+ #
150
+ # Template = Segment { "/" Segment } ;
151
+ # Segment = LITERAL | Variable ;
152
+ # Variable = "{" LITERAL "}" ;
153
+ #
154
+ # Examples:
155
+ #
156
+ # - "projects/\\{project}/topics/\\{topic}"
157
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
158
+ #
159
+ # The components in braces correspond to the IDs for each resource in the
160
+ # hierarchy. It is expected that, if multiple patterns are provided,
161
+ # the same component name (e.g. "project") refers to IDs of the same
162
+ # type of resource.
163
+ # @!attribute [rw] name_field
164
+ # @return [::String]
165
+ # Optional. The field on the resource that designates the resource name
166
+ # field. If omitted, this is assumed to be "name".
167
+ # @!attribute [rw] history
168
+ # @return [::Google::Api::ResourceDescriptor::History]
169
+ # Optional. The historical or future-looking state of the resource pattern.
170
+ #
171
+ # Example:
172
+ #
173
+ # // The InspectTemplate message originally only supported resource
174
+ # // names with organization, and project was added later.
175
+ # message InspectTemplate {
176
+ # option (google.api.resource) = {
177
+ # type: "dlp.googleapis.com/InspectTemplate"
178
+ # pattern:
179
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
180
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
181
+ # history: ORIGINALLY_SINGLE_PATTERN
182
+ # };
183
+ # }
184
+ # @!attribute [rw] plural
185
+ # @return [::String]
186
+ # The plural name used in the resource name and permission names, such as
187
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
188
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
189
+ # concept of the `plural` field in k8s CRD spec
190
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
191
+ #
192
+ # Note: The plural form is required even for singleton resources. See
193
+ # https://aip.dev/156
194
+ # @!attribute [rw] singular
195
+ # @return [::String]
196
+ # The same concept of the `singular` field in k8s CRD spec
197
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
198
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
199
+ # @!attribute [rw] style
200
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
201
+ # Style flag(s) for this resource.
202
+ # These indicate that a resource is expected to conform to a given
203
+ # style. See the specific style flags for additional information.
204
+ class ResourceDescriptor
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+
208
+ # A description of the historical or future-looking state of the
209
+ # resource pattern.
210
+ module History
211
+ # The "unset" value.
212
+ HISTORY_UNSPECIFIED = 0
213
+
214
+ # The resource originally had one pattern and launched as such, and
215
+ # additional patterns were added later.
216
+ ORIGINALLY_SINGLE_PATTERN = 1
217
+
218
+ # The resource has one pattern, but the API owner expects to add more
219
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
220
+ # that from being necessary once there are multiple patterns.)
221
+ FUTURE_MULTI_PATTERN = 2
222
+ end
223
+
224
+ # A flag representing a specific style that a resource claims to conform to.
225
+ module Style
226
+ # The unspecified value. Do not use.
227
+ STYLE_UNSPECIFIED = 0
228
+
229
+ # This resource is intended to be "declarative-friendly".
230
+ #
231
+ # Declarative-friendly resources must be more strictly consistent, and
232
+ # setting this to true communicates to tools that this resource should
233
+ # adhere to declarative-friendly expectations.
234
+ #
235
+ # Note: This is used by the API linter (linter.aip.dev) to enable
236
+ # additional checks.
237
+ DECLARATIVE_FRIENDLY = 1
238
+ end
239
+ end
240
+
241
+ # Defines a proto annotation that describes a string field that refers to
242
+ # an API resource.
243
+ # @!attribute [rw] type
244
+ # @return [::String]
245
+ # The resource type that the annotated field references.
246
+ #
247
+ # Example:
248
+ #
249
+ # message Subscription {
250
+ # string topic = 2 [(google.api.resource_reference) = {
251
+ # type: "pubsub.googleapis.com/Topic"
252
+ # }];
253
+ # }
254
+ #
255
+ # Occasionally, a field may reference an arbitrary resource. In this case,
256
+ # APIs use the special value * in their resource reference.
257
+ #
258
+ # Example:
259
+ #
260
+ # message GetIamPolicyRequest {
261
+ # string resource = 2 [(google.api.resource_reference) = {
262
+ # type: "*"
263
+ # }];
264
+ # }
265
+ # @!attribute [rw] child_type
266
+ # @return [::String]
267
+ # The resource type of a child collection that the annotated field
268
+ # references. This is useful for annotating the `parent` field that
269
+ # doesn't have a fixed resource type.
270
+ #
271
+ # Example:
272
+ #
273
+ # message ListLogEntriesRequest {
274
+ # string parent = 1 [(google.api.resource_reference) = {
275
+ # child_type: "logging.googleapis.com/LogEntry"
276
+ # };
277
+ # }
278
+ class ResourceReference
279
+ include ::Google::Protobuf::MessageExts
280
+ extend ::Google::Protobuf::MessageExts::ClassMethods
281
+ end
282
+ end
283
+ end
@@ -0,0 +1,214 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 RecommendationEngine
23
+ module V1beta1
24
+ # CatalogItem captures all metadata information of items to be recommended.
25
+ # @!attribute [rw] id
26
+ # @return [::String]
27
+ # Required. Catalog item identifier. UTF-8 encoded string with a length limit
28
+ # of 128 bytes.
29
+ #
30
+ # This id must be unique among all catalog items within the same catalog. It
31
+ # should also be used when logging user events in order for the user events
32
+ # to be joined with the Catalog.
33
+ # @!attribute [rw] category_hierarchies
34
+ # @return [::Array<::Google::Cloud::RecommendationEngine::V1beta1::CatalogItem::CategoryHierarchy>]
35
+ # Required. Catalog item categories. This field is repeated for supporting
36
+ # one catalog item belonging to several parallel category hierarchies.
37
+ #
38
+ # For example, if a shoes product belongs to both
39
+ # ["Shoes & Accessories" -> "Shoes"] and
40
+ # ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
41
+ # represented as:
42
+ #
43
+ # "categoryHierarchies": [
44
+ # { "categories": ["Shoes & Accessories", "Shoes"]},
45
+ # { "categories": ["Sports & Fitness", "Athletic Clothing", "Shoes"] }
46
+ # ]
47
+ # @!attribute [rw] title
48
+ # @return [::String]
49
+ # Required. Catalog item title. UTF-8 encoded string with a length limit of 1
50
+ # KiB.
51
+ # @!attribute [rw] description
52
+ # @return [::String]
53
+ # Optional. Catalog item description. UTF-8 encoded string with a length
54
+ # limit of 5 KiB.
55
+ # @!attribute [rw] item_attributes
56
+ # @return [::Google::Cloud::RecommendationEngine::V1beta1::FeatureMap]
57
+ # Optional. Highly encouraged. Extra catalog item attributes to be
58
+ # included in the recommendation model. For example, for retail products,
59
+ # this could include the store name, vendor, style, color, etc. These are
60
+ # very strong signals for recommendation model, thus we highly recommend
61
+ # providing the item attributes here.
62
+ # @!attribute [rw] language_code
63
+ # @return [::String]
64
+ # Optional. Language of the title/description/item_attributes. Use language
65
+ # tags defined by BCP 47. https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Our
66
+ # supported language codes include 'en', 'es', 'fr', 'de', 'ar', 'fa', 'zh',
67
+ # 'ja', 'ko', 'sv', 'ro', 'nl'. For other languages, contact
68
+ # your Google account manager.
69
+ # @!attribute [rw] tags
70
+ # @return [::Array<::String>]
71
+ # Optional. Filtering tags associated with the catalog item. Each tag should
72
+ # be a UTF-8 encoded string with a length limit of 1 KiB.
73
+ #
74
+ # This tag can be used for filtering recommendation results by passing the
75
+ # tag as part of the predict request filter.
76
+ # @!attribute [rw] item_group_id
77
+ # @return [::String]
78
+ # Optional. Variant group identifier for prediction results. UTF-8 encoded
79
+ # string with a length limit of 128 bytes.
80
+ #
81
+ # This field must be enabled before it can be used. [Learn
82
+ # more](/recommendations-ai/docs/catalog#item-group-id).
83
+ # @!attribute [rw] product_metadata
84
+ # @return [::Google::Cloud::RecommendationEngine::V1beta1::ProductCatalogItem]
85
+ # Optional. Metadata specific to retail products.
86
+ class CatalogItem
87
+ include ::Google::Protobuf::MessageExts
88
+ extend ::Google::Protobuf::MessageExts::ClassMethods
89
+
90
+ # Category represents catalog item category hierarchy.
91
+ # @!attribute [rw] categories
92
+ # @return [::Array<::String>]
93
+ # Required. Catalog item categories. Each category should be a UTF-8
94
+ # encoded string with a length limit of 2 KiB.
95
+ #
96
+ # Note that the order in the list denotes the specificity (from least to
97
+ # most specific).
98
+ class CategoryHierarchy
99
+ include ::Google::Protobuf::MessageExts
100
+ extend ::Google::Protobuf::MessageExts::ClassMethods
101
+ end
102
+ end
103
+
104
+ # ProductCatalogItem captures item metadata specific to retail products.
105
+ # @!attribute [rw] exact_price
106
+ # @return [::Google::Cloud::RecommendationEngine::V1beta1::ProductCatalogItem::ExactPrice]
107
+ # Optional. The exact product price.
108
+ # @!attribute [rw] price_range
109
+ # @return [::Google::Cloud::RecommendationEngine::V1beta1::ProductCatalogItem::PriceRange]
110
+ # Optional. The product price range.
111
+ # @!attribute [rw] costs
112
+ # @return [::Google::Protobuf::Map{::String => ::Float}]
113
+ # Optional. A map to pass the costs associated with the product.
114
+ #
115
+ # For example:
116
+ # \\{"manufacturing": 45.5} The profit of selling this item is computed like
117
+ # so:
118
+ #
119
+ # * If 'exactPrice' is provided, profit = displayPrice - sum(costs)
120
+ # * If 'priceRange' is provided, profit = minPrice - sum(costs)
121
+ # @!attribute [rw] currency_code
122
+ # @return [::String]
123
+ # Optional. Only required if the price is set. Currency code for price/costs. Use
124
+ # three-character ISO-4217 code.
125
+ # @!attribute [rw] stock_state
126
+ # @return [::Google::Cloud::RecommendationEngine::V1beta1::ProductCatalogItem::StockState]
127
+ # Optional. Online stock state of the catalog item. Default is `IN_STOCK`.
128
+ # @!attribute [rw] available_quantity
129
+ # @return [::Integer]
130
+ # Optional. The available quantity of the item.
131
+ # @!attribute [rw] canonical_product_uri
132
+ # @return [::String]
133
+ # Optional. Canonical URL directly linking to the item detail page with a
134
+ # length limit of 5 KiB..
135
+ # @!attribute [rw] images
136
+ # @return [::Array<::Google::Cloud::RecommendationEngine::V1beta1::Image>]
137
+ # Optional. Product images for the catalog item.
138
+ class ProductCatalogItem
139
+ include ::Google::Protobuf::MessageExts
140
+ extend ::Google::Protobuf::MessageExts::ClassMethods
141
+
142
+ # Exact product price.
143
+ # @!attribute [rw] display_price
144
+ # @return [::Float]
145
+ # Optional. Display price of the product.
146
+ # @!attribute [rw] original_price
147
+ # @return [::Float]
148
+ # Optional. Price of the product without any discount. If zero, by default
149
+ # set to be the 'displayPrice'.
150
+ class ExactPrice
151
+ include ::Google::Protobuf::MessageExts
152
+ extend ::Google::Protobuf::MessageExts::ClassMethods
153
+ end
154
+
155
+ # Product price range when there are a range of prices for different
156
+ # variations of the same product.
157
+ # @!attribute [rw] min
158
+ # @return [::Float]
159
+ # Required. The minimum product price.
160
+ # @!attribute [rw] max
161
+ # @return [::Float]
162
+ # Required. The maximum product price.
163
+ class PriceRange
164
+ include ::Google::Protobuf::MessageExts
165
+ extend ::Google::Protobuf::MessageExts::ClassMethods
166
+ end
167
+
168
+ # @!attribute [rw] key
169
+ # @return [::String]
170
+ # @!attribute [rw] value
171
+ # @return [::Float]
172
+ class CostsEntry
173
+ include ::Google::Protobuf::MessageExts
174
+ extend ::Google::Protobuf::MessageExts::ClassMethods
175
+ end
176
+
177
+ # Item stock state. If this field is unspecified, the item is
178
+ # assumed to be in stock.
179
+ module StockState
180
+ # Default item stock status. Should never be used.
181
+ STOCK_STATE_UNSPECIFIED = 0
182
+
183
+ # Item in stock.
184
+ IN_STOCK = 0
185
+
186
+ # Item out of stock.
187
+ OUT_OF_STOCK = 1
188
+
189
+ # Item that is in pre-order state.
190
+ PREORDER = 2
191
+
192
+ # Item that is back-ordered (i.e. temporarily out of stock).
193
+ BACKORDER = 3
194
+ end
195
+ end
196
+
197
+ # Catalog item thumbnail/detail image.
198
+ # @!attribute [rw] uri
199
+ # @return [::String]
200
+ # Required. URL of the image with a length limit of 5 KiB.
201
+ # @!attribute [rw] height
202
+ # @return [::Integer]
203
+ # Optional. Height of the image in number of pixels.
204
+ # @!attribute [rw] width
205
+ # @return [::Integer]
206
+ # Optional. Width of the image in number of pixels.
207
+ class Image
208
+ include ::Google::Protobuf::MessageExts
209
+ extend ::Google::Protobuf::MessageExts::ClassMethods
210
+ end
211
+ end
212
+ end
213
+ end
214
+ end