google-api-client 0.24.3 → 0.25.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 (262) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +0 -2
  3. data/CHANGELOG.md +99 -0
  4. data/Gemfile +1 -0
  5. data/generated/google/apis/abusiveexperiencereport_v1.rb +2 -2
  6. data/generated/google/apis/abusiveexperiencereport_v1/classes.rb +0 -1
  7. data/generated/google/apis/abusiveexperiencereport_v1/service.rb +1 -1
  8. data/generated/google/apis/{content_v2sandbox.rb → accesscontextmanager_v1beta.rb} +11 -12
  9. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +697 -0
  10. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +240 -0
  11. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +666 -0
  12. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  13. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +16 -0
  14. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +2 -0
  15. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +2 -2
  16. data/generated/google/apis/adexperiencereport_v1.rb +2 -2
  17. data/generated/google/apis/adexperiencereport_v1/service.rb +1 -1
  18. data/generated/google/apis/alertcenter_v1beta1.rb +4 -3
  19. data/generated/google/apis/alertcenter_v1beta1/classes.rb +9 -2
  20. data/generated/google/apis/alertcenter_v1beta1/representations.rb +1 -0
  21. data/generated/google/apis/alertcenter_v1beta1/service.rb +3 -2
  22. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  23. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +3 -2
  24. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  25. data/generated/google/apis/androidenterprise_v1/classes.rb +68 -6
  26. data/generated/google/apis/androidenterprise_v1/representations.rb +20 -0
  27. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  28. data/generated/google/apis/androidmanagement_v1/classes.rb +92 -0
  29. data/generated/google/apis/androidmanagement_v1/representations.rb +36 -0
  30. data/generated/google/apis/androidpublisher_v1.rb +2 -2
  31. data/generated/google/apis/androidpublisher_v1/service.rb +1 -1
  32. data/generated/google/apis/androidpublisher_v1_1.rb +2 -2
  33. data/generated/google/apis/androidpublisher_v1_1/service.rb +1 -1
  34. data/generated/google/apis/androidpublisher_v2.rb +2 -2
  35. data/generated/google/apis/androidpublisher_v2/service.rb +3 -2
  36. data/generated/google/apis/androidpublisher_v3.rb +2 -2
  37. data/generated/google/apis/androidpublisher_v3/service.rb +3 -2
  38. data/generated/google/apis/appengine_v1.rb +2 -3
  39. data/generated/google/apis/appengine_v1/service.rb +1 -2
  40. data/generated/google/apis/appengine_v1alpha.rb +2 -3
  41. data/generated/google/apis/appengine_v1alpha/service.rb +1 -2
  42. data/generated/google/apis/appengine_v1beta.rb +2 -3
  43. data/generated/google/apis/appengine_v1beta/service.rb +1 -2
  44. data/generated/google/apis/appengine_v1beta4.rb +2 -3
  45. data/generated/google/apis/appengine_v1beta4/service.rb +1 -2
  46. data/generated/google/apis/appengine_v1beta5.rb +2 -3
  47. data/generated/google/apis/appengine_v1beta5/service.rb +1 -2
  48. data/generated/google/apis/bigquery_v2.rb +1 -1
  49. data/generated/google/apis/bigquery_v2/classes.rb +98 -7
  50. data/generated/google/apis/bigquery_v2/representations.rb +35 -0
  51. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  52. data/generated/google/apis/civicinfo_v2.rb +1 -1
  53. data/generated/google/apis/civicinfo_v2/classes.rb +18 -0
  54. data/generated/google/apis/civicinfo_v2/representations.rb +2 -0
  55. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  56. data/generated/google/apis/cloudasset_v1beta1/classes.rb +5 -5
  57. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  58. data/generated/google/apis/cloudbuild_v1/classes.rb +10 -1
  59. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  60. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  61. data/generated/google/apis/cloudfunctions_v1/classes.rb +418 -0
  62. data/generated/google/apis/cloudfunctions_v1/representations.rb +121 -0
  63. data/generated/google/apis/cloudfunctions_v1/service.rb +107 -0
  64. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  65. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +16 -0
  66. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  67. data/generated/google/apis/cloudkms_v1.rb +1 -1
  68. data/generated/google/apis/cloudresourcemanager_v1.rb +3 -3
  69. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +2 -1
  70. data/generated/google/apis/cloudresourcemanager_v1/service.rb +2 -2
  71. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +3 -3
  72. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +2 -1
  73. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +2 -2
  74. data/generated/google/apis/cloudresourcemanager_v2.rb +3 -3
  75. data/generated/google/apis/cloudresourcemanager_v2/service.rb +2 -2
  76. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +3 -3
  77. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +2 -2
  78. data/generated/google/apis/cloudsearch_v1.rb +59 -0
  79. data/generated/google/apis/cloudsearch_v1/classes.rb +4697 -0
  80. data/generated/google/apis/cloudsearch_v1/representations.rb +2151 -0
  81. data/generated/google/apis/cloudsearch_v1/service.rb +1351 -0
  82. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  83. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +34 -0
  84. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  85. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +34 -30
  86. data/generated/google/apis/composer_v1beta1.rb +1 -1
  87. data/generated/google/apis/composer_v1beta1/classes.rb +5 -8
  88. data/generated/google/apis/compute_alpha.rb +1 -1
  89. data/generated/google/apis/compute_beta.rb +1 -1
  90. data/generated/google/apis/compute_v1.rb +1 -1
  91. data/generated/google/apis/content_v2.rb +1 -1
  92. data/generated/google/apis/content_v2/classes.rb +197 -69
  93. data/generated/google/apis/content_v2/representations.rb +64 -33
  94. data/generated/google/apis/content_v2/service.rb +1 -1
  95. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  96. data/generated/google/apis/dataflow_v1b3/classes.rb +42 -0
  97. data/generated/google/apis/dataflow_v1b3/representations.rb +17 -0
  98. data/generated/google/apis/dataproc_v1.rb +1 -1
  99. data/generated/google/apis/dataproc_v1/classes.rb +19 -19
  100. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  101. data/generated/google/apis/dataproc_v1beta2/classes.rb +19 -19
  102. data/generated/google/apis/dialogflow_v2.rb +6 -3
  103. data/generated/google/apis/dialogflow_v2/classes.rb +112 -8
  104. data/generated/google/apis/dialogflow_v2/representations.rb +30 -0
  105. data/generated/google/apis/dialogflow_v2/service.rb +7 -2
  106. data/generated/google/apis/dialogflow_v2beta1.rb +6 -3
  107. data/generated/google/apis/dialogflow_v2beta1/classes.rb +116 -8
  108. data/generated/google/apis/dialogflow_v2beta1/representations.rb +30 -0
  109. data/generated/google/apis/dialogflow_v2beta1/service.rb +19 -8
  110. data/generated/google/apis/digitalassetlinks_v1.rb +2 -3
  111. data/generated/google/apis/digitalassetlinks_v1/service.rb +1 -2
  112. data/generated/google/apis/dlp_v2.rb +1 -1
  113. data/generated/google/apis/dlp_v2/classes.rb +17 -5
  114. data/generated/google/apis/dlp_v2/representations.rb +2 -0
  115. data/generated/google/apis/dns_v1beta2.rb +1 -1
  116. data/generated/google/apis/dns_v1beta2/classes.rb +81 -0
  117. data/generated/google/apis/dns_v1beta2/representations.rb +34 -0
  118. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  119. data/generated/google/apis/doubleclicksearch_v2/classes.rb +1 -1
  120. data/generated/google/apis/drive_v2.rb +1 -1
  121. data/generated/google/apis/drive_v2/classes.rb +3 -1
  122. data/generated/google/apis/firebaserules_v1.rb +1 -1
  123. data/generated/google/apis/firestore_v1.rb +1 -1
  124. data/generated/google/apis/firestore_v1/classes.rb +637 -0
  125. data/generated/google/apis/firestore_v1/representations.rb +260 -0
  126. data/generated/google/apis/firestore_v1/service.rb +377 -0
  127. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  128. data/generated/google/apis/firestore_v1beta2/classes.rb +205 -0
  129. data/generated/google/apis/firestore_v1beta2/representations.rb +83 -0
  130. data/generated/google/apis/firestore_v1beta2/service.rb +79 -0
  131. data/generated/google/apis/genomics_v1.rb +2 -2
  132. data/generated/google/apis/genomics_v1/service.rb +1 -1
  133. data/generated/google/apis/genomics_v1alpha2.rb +2 -2
  134. data/generated/google/apis/genomics_v1alpha2/service.rb +1 -1
  135. data/generated/google/apis/genomics_v2alpha1.rb +2 -2
  136. data/generated/google/apis/genomics_v2alpha1/service.rb +1 -1
  137. data/generated/google/apis/iam_v1.rb +1 -1
  138. data/generated/google/apis/iam_v1/classes.rb +4 -3
  139. data/generated/google/apis/iamcredentials_v1.rb +2 -2
  140. data/generated/google/apis/iamcredentials_v1/service.rb +1 -1
  141. data/generated/google/apis/indexing_v3.rb +2 -3
  142. data/generated/google/apis/indexing_v3/service.rb +1 -2
  143. data/generated/google/apis/jobs_v2.rb +1 -1
  144. data/generated/google/apis/jobs_v2/classes.rb +2 -2
  145. data/generated/google/apis/jobs_v3.rb +1 -1
  146. data/generated/google/apis/jobs_v3/classes.rb +3 -3
  147. data/generated/google/apis/jobs_v3/service.rb +20 -2
  148. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  149. data/generated/google/apis/jobs_v3p1beta1/classes.rb +3 -3
  150. data/generated/google/apis/jobs_v3p1beta1/service.rb +20 -2
  151. data/generated/google/apis/language_v1.rb +4 -4
  152. data/generated/google/apis/language_v1/service.rb +3 -3
  153. data/generated/google/apis/language_v1beta1.rb +4 -4
  154. data/generated/google/apis/language_v1beta1/service.rb +3 -3
  155. data/generated/google/apis/language_v1beta2.rb +4 -4
  156. data/generated/google/apis/language_v1beta2/service.rb +3 -3
  157. data/generated/google/apis/logging_v2.rb +1 -1
  158. data/generated/google/apis/logging_v2/classes.rb +2 -13
  159. data/generated/google/apis/logging_v2/representations.rb +0 -2
  160. data/generated/google/apis/logging_v2beta1.rb +1 -1
  161. data/generated/google/apis/logging_v2beta1/classes.rb +2 -41
  162. data/generated/google/apis/logging_v2beta1/representations.rb +0 -16
  163. data/generated/google/apis/logging_v2beta1/service.rb +0 -255
  164. data/generated/google/apis/monitoring_v3.rb +1 -1
  165. data/generated/google/apis/monitoring_v3/classes.rb +25 -15
  166. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  167. data/generated/google/apis/monitoring_v3/service.rb +366 -1
  168. data/generated/google/apis/oslogin_v1.rb +1 -1
  169. data/generated/google/apis/oslogin_v1/service.rb +7 -1
  170. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  171. data/generated/google/apis/oslogin_v1alpha/service.rb +10 -1
  172. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  173. data/generated/google/apis/oslogin_v1beta/service.rb +7 -1
  174. data/generated/google/apis/redis_v1.rb +1 -1
  175. data/generated/google/apis/redis_v1/classes.rb +6 -0
  176. data/generated/google/apis/redis_v1/representations.rb +1 -0
  177. data/generated/google/apis/redis_v1beta1.rb +1 -1
  178. data/generated/google/apis/redis_v1beta1/classes.rb +6 -0
  179. data/generated/google/apis/redis_v1beta1/representations.rb +1 -0
  180. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  181. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +7 -6
  182. data/generated/google/apis/script_v1.rb +2 -2
  183. data/generated/google/apis/script_v1/service.rb +7 -3
  184. data/generated/google/apis/serviceconsumermanagement_v1.rb +2 -3
  185. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +7 -0
  186. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +1 -0
  187. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +1 -2
  188. data/generated/google/apis/servicecontrol_v1.rb +3 -3
  189. data/generated/google/apis/servicecontrol_v1/classes.rb +18 -230
  190. data/generated/google/apis/servicecontrol_v1/representations.rb +2 -99
  191. data/generated/google/apis/servicecontrol_v1/service.rb +2 -140
  192. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  193. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -1
  194. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  195. data/generated/google/apis/servicenetworking_v1beta/classes.rb +24 -0
  196. data/generated/google/apis/servicenetworking_v1beta/representations.rb +3 -0
  197. data/generated/google/apis/serviceusage_v1.rb +1 -1
  198. data/generated/google/apis/serviceusage_v1/classes.rb +7 -0
  199. data/generated/google/apis/serviceusage_v1/representations.rb +1 -0
  200. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  201. data/generated/google/apis/serviceusage_v1beta1/classes.rb +7 -0
  202. data/generated/google/apis/serviceusage_v1beta1/representations.rb +1 -0
  203. data/generated/google/apis/slides_v1.rb +2 -2
  204. data/generated/google/apis/slides_v1/classes.rb +4 -3
  205. data/generated/google/apis/slides_v1/service.rb +1 -1
  206. data/generated/google/apis/storage_v1.rb +1 -1
  207. data/generated/google/apis/storage_v1/service.rb +2 -3
  208. data/generated/google/apis/testing_v1.rb +1 -1
  209. data/generated/google/apis/testing_v1/classes.rb +9 -0
  210. data/generated/google/apis/testing_v1/representations.rb +1 -0
  211. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  212. data/generated/google/apis/toolresults_v1beta3/service.rb +1 -1
  213. data/generated/google/apis/tpu_v1.rb +1 -1
  214. data/generated/google/apis/tpu_v1/classes.rb +6 -0
  215. data/generated/google/apis/tpu_v1/representations.rb +1 -0
  216. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  217. data/generated/google/apis/tpu_v1alpha1/classes.rb +6 -0
  218. data/generated/google/apis/tpu_v1alpha1/representations.rb +1 -0
  219. data/generated/google/apis/vault_v1.rb +1 -1
  220. data/generated/google/apis/vault_v1/classes.rb +7 -0
  221. data/generated/google/apis/vault_v1/representations.rb +1 -0
  222. data/generated/google/apis/videointelligence_v1.rb +3 -2
  223. data/generated/google/apis/videointelligence_v1/classes.rb +547 -12
  224. data/generated/google/apis/videointelligence_v1/representations.rb +190 -2
  225. data/generated/google/apis/videointelligence_v1/service.rb +2 -1
  226. data/generated/google/apis/videointelligence_v1beta2.rb +3 -2
  227. data/generated/google/apis/videointelligence_v1beta2/classes.rb +547 -12
  228. data/generated/google/apis/videointelligence_v1beta2/representations.rb +190 -2
  229. data/generated/google/apis/videointelligence_v1beta2/service.rb +2 -1
  230. data/generated/google/apis/videointelligence_v1p1beta1.rb +3 -2
  231. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +418 -13
  232. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +153 -2
  233. data/generated/google/apis/videointelligence_v1p1beta1/service.rb +2 -1
  234. data/generated/google/apis/vision_v1.rb +1 -1
  235. data/generated/google/apis/vision_v1/classes.rb +1139 -54
  236. data/generated/google/apis/vision_v1/representations.rb +478 -0
  237. data/generated/google/apis/vision_v1/service.rb +744 -0
  238. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  239. data/generated/google/apis/vision_v1p1beta1/classes.rb +761 -16
  240. data/generated/google/apis/vision_v1p1beta1/representations.rb +333 -0
  241. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  242. data/generated/google/apis/vision_v1p2beta1/classes.rb +758 -13
  243. data/generated/google/apis/vision_v1p2beta1/representations.rb +333 -0
  244. data/generated/google/apis/websecurityscanner_v1alpha.rb +2 -2
  245. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
  246. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  247. data/generated/google/apis/youtube_v3.rb +1 -1
  248. data/lib/google/apis/core/http_command.rb +83 -10
  249. data/lib/google/apis/options.rb +5 -1
  250. data/lib/google/apis/version.rb +1 -1
  251. metadata +10 -14
  252. data/generated/google/apis/content_v2sandbox/classes.rb +0 -4436
  253. data/generated/google/apis/content_v2sandbox/representations.rb +0 -1956
  254. data/generated/google/apis/content_v2sandbox/service.rb +0 -1296
  255. data/generated/google/apis/dfareporting_v2_8.rb +0 -40
  256. data/generated/google/apis/dfareporting_v2_8/classes.rb +0 -12043
  257. data/generated/google/apis/dfareporting_v2_8/representations.rb +0 -4311
  258. data/generated/google/apis/dfareporting_v2_8/service.rb +0 -8727
  259. data/generated/google/apis/serviceuser_v1.rb +0 -42
  260. data/generated/google/apis/serviceuser_v1/classes.rb +0 -3472
  261. data/generated/google/apis/serviceuser_v1/representations.rb +0 -1030
  262. data/generated/google/apis/serviceuser_v1/service.rb +0 -215
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/vision/
28
28
  module VisionV1p2beta1
29
29
  VERSION = 'V1p2beta1'
30
- REVISION = '20180928'
30
+ REVISION = '20181031'
31
31
 
32
32
  # View and manage your data across Google Cloud Platform services
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -148,6 +148,11 @@ module Google
148
148
  # @return [Array<Google::Apis::VisionV1p2beta1::EntityAnnotation>]
149
149
  attr_accessor :logo_annotations
150
150
 
151
+ # Results for a product search request.
152
+ # Corresponds to the JSON property `productSearchResults`
153
+ # @return [Google::Apis::VisionV1p2beta1::ProductSearchResults]
154
+ attr_accessor :product_search_results
155
+
151
156
  # Set of features pertaining to the image, computed by computer vision
152
157
  # methods over safe-search verticals (for example, adult, spoof, medical,
153
158
  # violence).
@@ -181,6 +186,7 @@ module Google
181
186
  @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
182
187
  @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
183
188
  @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
189
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
184
190
  @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
185
191
  @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
186
192
  @web_detection = args[:web_detection] if args.key?(:web_detection)
@@ -226,6 +232,40 @@ module Google
226
232
  end
227
233
  end
228
234
 
235
+ # Metadata for the batch operations such as the current state.
236
+ # This is included in the `metadata` field of the `Operation` returned by the
237
+ # `GetOperation` call of the `google::longrunning::Operations` service.
238
+ class BatchOperationMetadata
239
+ include Google::Apis::Core::Hashable
240
+
241
+ # The time when the batch request is finished and
242
+ # google.longrunning.Operation.done is set to true.
243
+ # Corresponds to the JSON property `endTime`
244
+ # @return [String]
245
+ attr_accessor :end_time
246
+
247
+ # The current state of the batch operation.
248
+ # Corresponds to the JSON property `state`
249
+ # @return [String]
250
+ attr_accessor :state
251
+
252
+ # The time when the batch request was submitted to the server.
253
+ # Corresponds to the JSON property `submitTime`
254
+ # @return [String]
255
+ attr_accessor :submit_time
256
+
257
+ def initialize(**args)
258
+ update!(**args)
259
+ end
260
+
261
+ # Update properties of this object
262
+ def update!(**args)
263
+ @end_time = args[:end_time] if args.key?(:end_time)
264
+ @state = args[:state] if args.key?(:state)
265
+ @submit_time = args[:submit_time] if args.key?(:submit_time)
266
+ end
267
+ end
268
+
229
269
  # Logical element on the page.
230
270
  class Block
231
271
  include Google::Apis::Core::Hashable
@@ -1058,6 +1098,11 @@ module Google
1058
1098
  # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p1beta1EntityAnnotation>]
1059
1099
  attr_accessor :logo_annotations
1060
1100
 
1101
+ # Results for a product search request.
1102
+ # Corresponds to the JSON property `productSearchResults`
1103
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p1beta1ProductSearchResults]
1104
+ attr_accessor :product_search_results
1105
+
1061
1106
  # Set of features pertaining to the image, computed by computer vision
1062
1107
  # methods over safe-search verticals (for example, adult, spoof, medical,
1063
1108
  # violence).
@@ -1091,6 +1136,7 @@ module Google
1091
1136
  @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
1092
1137
  @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
1093
1138
  @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
1139
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
1094
1140
  @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
1095
1141
  @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
1096
1142
  @web_detection = args[:web_detection] if args.key?(:web_detection)
@@ -1986,6 +2032,183 @@ module Google
1986
2032
  end
1987
2033
  end
1988
2034
 
2035
+ # A Product contains ReferenceImages.
2036
+ class GoogleCloudVisionV1p1beta1Product
2037
+ include Google::Apis::Core::Hashable
2038
+
2039
+ # User-provided metadata to be stored with this product. Must be at most 4096
2040
+ # characters long.
2041
+ # Corresponds to the JSON property `description`
2042
+ # @return [String]
2043
+ attr_accessor :description
2044
+
2045
+ # The user-provided name for this Product. Must not be empty. Must be at most
2046
+ # 4096 characters long.
2047
+ # Corresponds to the JSON property `displayName`
2048
+ # @return [String]
2049
+ attr_accessor :display_name
2050
+
2051
+ # The resource name of the product.
2052
+ # Format is:
2053
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
2054
+ # This field is ignored when creating a product.
2055
+ # Corresponds to the JSON property `name`
2056
+ # @return [String]
2057
+ attr_accessor :name
2058
+
2059
+ # The category for the product identified by the reference image. This should
2060
+ # be either "homegoods", "apparel", or "toys".
2061
+ # This field is immutable.
2062
+ # Corresponds to the JSON property `productCategory`
2063
+ # @return [String]
2064
+ attr_accessor :product_category
2065
+
2066
+ # Key-value pairs that can be attached to a product. At query time,
2067
+ # constraints can be specified based on the product_labels.
2068
+ # Note that integer values can be provided as strings, e.g. "1199". Only
2069
+ # strings with integer values can match a range-based restriction which is
2070
+ # to be supported soon.
2071
+ # Multiple values can be assigned to the same key. One product may have up to
2072
+ # 100 product_labels.
2073
+ # Corresponds to the JSON property `productLabels`
2074
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p1beta1ProductKeyValue>]
2075
+ attr_accessor :product_labels
2076
+
2077
+ def initialize(**args)
2078
+ update!(**args)
2079
+ end
2080
+
2081
+ # Update properties of this object
2082
+ def update!(**args)
2083
+ @description = args[:description] if args.key?(:description)
2084
+ @display_name = args[:display_name] if args.key?(:display_name)
2085
+ @name = args[:name] if args.key?(:name)
2086
+ @product_category = args[:product_category] if args.key?(:product_category)
2087
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
2088
+ end
2089
+ end
2090
+
2091
+ # A product label represented as a key-value pair.
2092
+ class GoogleCloudVisionV1p1beta1ProductKeyValue
2093
+ include Google::Apis::Core::Hashable
2094
+
2095
+ # The key of the label attached to the product. Cannot be empty and cannot
2096
+ # exceed 128 bytes.
2097
+ # Corresponds to the JSON property `key`
2098
+ # @return [String]
2099
+ attr_accessor :key
2100
+
2101
+ # The value of the label attached to the product. Cannot be empty and
2102
+ # cannot exceed 128 bytes.
2103
+ # Corresponds to the JSON property `value`
2104
+ # @return [String]
2105
+ attr_accessor :value
2106
+
2107
+ def initialize(**args)
2108
+ update!(**args)
2109
+ end
2110
+
2111
+ # Update properties of this object
2112
+ def update!(**args)
2113
+ @key = args[:key] if args.key?(:key)
2114
+ @value = args[:value] if args.key?(:value)
2115
+ end
2116
+ end
2117
+
2118
+ # Results for a product search request.
2119
+ class GoogleCloudVisionV1p1beta1ProductSearchResults
2120
+ include Google::Apis::Core::Hashable
2121
+
2122
+ # Timestamp of the index which provided these results. Changes made after
2123
+ # this time are not reflected in the current results.
2124
+ # Corresponds to the JSON property `indexTime`
2125
+ # @return [String]
2126
+ attr_accessor :index_time
2127
+
2128
+ # List of results grouped by products detected in the query image. Each entry
2129
+ # corresponds to one bounding polygon in the query image, and contains the
2130
+ # matching products specific to that region. There may be duplicate product
2131
+ # matches in the union of all the per-product results.
2132
+ # Corresponds to the JSON property `productGroupedResults`
2133
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult>]
2134
+ attr_accessor :product_grouped_results
2135
+
2136
+ # List of results, one for each product match.
2137
+ # Corresponds to the JSON property `results`
2138
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p1beta1ProductSearchResultsResult>]
2139
+ attr_accessor :results
2140
+
2141
+ def initialize(**args)
2142
+ update!(**args)
2143
+ end
2144
+
2145
+ # Update properties of this object
2146
+ def update!(**args)
2147
+ @index_time = args[:index_time] if args.key?(:index_time)
2148
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
2149
+ @results = args[:results] if args.key?(:results)
2150
+ end
2151
+ end
2152
+
2153
+ # Information about the products similar to a single product in a query
2154
+ # image.
2155
+ class GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult
2156
+ include Google::Apis::Core::Hashable
2157
+
2158
+ # A bounding polygon for the detected image annotation.
2159
+ # Corresponds to the JSON property `boundingPoly`
2160
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p1beta1BoundingPoly]
2161
+ attr_accessor :bounding_poly
2162
+
2163
+ # List of results, one for each product match.
2164
+ # Corresponds to the JSON property `results`
2165
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p1beta1ProductSearchResultsResult>]
2166
+ attr_accessor :results
2167
+
2168
+ def initialize(**args)
2169
+ update!(**args)
2170
+ end
2171
+
2172
+ # Update properties of this object
2173
+ def update!(**args)
2174
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
2175
+ @results = args[:results] if args.key?(:results)
2176
+ end
2177
+ end
2178
+
2179
+ # Information about a product.
2180
+ class GoogleCloudVisionV1p1beta1ProductSearchResultsResult
2181
+ include Google::Apis::Core::Hashable
2182
+
2183
+ # The resource name of the image from the product that is the closest match
2184
+ # to the query.
2185
+ # Corresponds to the JSON property `image`
2186
+ # @return [String]
2187
+ attr_accessor :image
2188
+
2189
+ # A Product contains ReferenceImages.
2190
+ # Corresponds to the JSON property `product`
2191
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p1beta1Product]
2192
+ attr_accessor :product
2193
+
2194
+ # A confidence level on the match, ranging from 0 (no confidence) to
2195
+ # 1 (full confidence).
2196
+ # Corresponds to the JSON property `score`
2197
+ # @return [Float]
2198
+ attr_accessor :score
2199
+
2200
+ def initialize(**args)
2201
+ update!(**args)
2202
+ end
2203
+
2204
+ # Update properties of this object
2205
+ def update!(**args)
2206
+ @image = args[:image] if args.key?(:image)
2207
+ @product = args[:product] if args.key?(:product)
2208
+ @score = args[:score] if args.key?(:score)
2209
+ end
2210
+ end
2211
+
1989
2212
  # A `Property` consists of a user-supplied name/value pair.
1990
2213
  class GoogleCloudVisionV1p1beta1Property
1991
2214
  include Google::Apis::Core::Hashable
@@ -2621,6 +2844,11 @@ module Google
2621
2844
  # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1EntityAnnotation>]
2622
2845
  attr_accessor :logo_annotations
2623
2846
 
2847
+ # Results for a product search request.
2848
+ # Corresponds to the JSON property `productSearchResults`
2849
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1ProductSearchResults]
2850
+ attr_accessor :product_search_results
2851
+
2624
2852
  # Set of features pertaining to the image, computed by computer vision
2625
2853
  # methods over safe-search verticals (for example, adult, spoof, medical,
2626
2854
  # violence).
@@ -2654,6 +2882,7 @@ module Google
2654
2882
  @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
2655
2883
  @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
2656
2884
  @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
2885
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
2657
2886
  @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
2658
2887
  @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
2659
2888
  @web_detection = args[:web_detection] if args.key?(:web_detection)
@@ -3472,6 +3701,11 @@ module Google
3472
3701
  # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1LatLongRect]
3473
3702
  attr_accessor :lat_long_rect
3474
3703
 
3704
+ # Parameters for a product search request.
3705
+ # Corresponds to the JSON property `productSearchParams`
3706
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1ProductSearchParams]
3707
+ attr_accessor :product_search_params
3708
+
3475
3709
  # Parameters for web detection request.
3476
3710
  # Corresponds to the JSON property `webDetectionParams`
3477
3711
  # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1WebDetectionParams]
@@ -3486,6 +3720,7 @@ module Google
3486
3720
  @crop_hints_params = args[:crop_hints_params] if args.key?(:crop_hints_params)
3487
3721
  @language_hints = args[:language_hints] if args.key?(:language_hints)
3488
3722
  @lat_long_rect = args[:lat_long_rect] if args.key?(:lat_long_rect)
3723
+ @product_search_params = args[:product_search_params] if args.key?(:product_search_params)
3489
3724
  @web_detection_params = args[:web_detection_params] if args.key?(:web_detection_params)
3490
3725
  end
3491
3726
  end
@@ -3884,24 +4119,47 @@ module Google
3884
4119
  end
3885
4120
  end
3886
4121
 
3887
- # A `Property` consists of a user-supplied name/value pair.
3888
- class GoogleCloudVisionV1p2beta1Property
4122
+ # A Product contains ReferenceImages.
4123
+ class GoogleCloudVisionV1p2beta1Product
3889
4124
  include Google::Apis::Core::Hashable
3890
4125
 
3891
- # Name of the property.
4126
+ # User-provided metadata to be stored with this product. Must be at most 4096
4127
+ # characters long.
4128
+ # Corresponds to the JSON property `description`
4129
+ # @return [String]
4130
+ attr_accessor :description
4131
+
4132
+ # The user-provided name for this Product. Must not be empty. Must be at most
4133
+ # 4096 characters long.
4134
+ # Corresponds to the JSON property `displayName`
4135
+ # @return [String]
4136
+ attr_accessor :display_name
4137
+
4138
+ # The resource name of the product.
4139
+ # Format is:
4140
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
4141
+ # This field is ignored when creating a product.
3892
4142
  # Corresponds to the JSON property `name`
3893
4143
  # @return [String]
3894
4144
  attr_accessor :name
3895
4145
 
3896
- # Value of numeric properties.
3897
- # Corresponds to the JSON property `uint64Value`
3898
- # @return [Fixnum]
3899
- attr_accessor :uint64_value
3900
-
3901
- # Value of the property.
3902
- # Corresponds to the JSON property `value`
4146
+ # The category for the product identified by the reference image. This should
4147
+ # be either "homegoods", "apparel", or "toys".
4148
+ # This field is immutable.
4149
+ # Corresponds to the JSON property `productCategory`
3903
4150
  # @return [String]
3904
- attr_accessor :value
4151
+ attr_accessor :product_category
4152
+
4153
+ # Key-value pairs that can be attached to a product. At query time,
4154
+ # constraints can be specified based on the product_labels.
4155
+ # Note that integer values can be provided as strings, e.g. "1199". Only
4156
+ # strings with integer values can match a range-based restriction which is
4157
+ # to be supported soon.
4158
+ # Multiple values can be assigned to the same key. One product may have up to
4159
+ # 100 product_labels.
4160
+ # Corresponds to the JSON property `productLabels`
4161
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1ProductKeyValue>]
4162
+ attr_accessor :product_labels
3905
4163
 
3906
4164
  def initialize(**args)
3907
4165
  update!(**args)
@@ -3909,9 +4167,208 @@ module Google
3909
4167
 
3910
4168
  # Update properties of this object
3911
4169
  def update!(**args)
4170
+ @description = args[:description] if args.key?(:description)
4171
+ @display_name = args[:display_name] if args.key?(:display_name)
3912
4172
  @name = args[:name] if args.key?(:name)
3913
- @uint64_value = args[:uint64_value] if args.key?(:uint64_value)
3914
- @value = args[:value] if args.key?(:value)
4173
+ @product_category = args[:product_category] if args.key?(:product_category)
4174
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
4175
+ end
4176
+ end
4177
+
4178
+ # A product label represented as a key-value pair.
4179
+ class GoogleCloudVisionV1p2beta1ProductKeyValue
4180
+ include Google::Apis::Core::Hashable
4181
+
4182
+ # The key of the label attached to the product. Cannot be empty and cannot
4183
+ # exceed 128 bytes.
4184
+ # Corresponds to the JSON property `key`
4185
+ # @return [String]
4186
+ attr_accessor :key
4187
+
4188
+ # The value of the label attached to the product. Cannot be empty and
4189
+ # cannot exceed 128 bytes.
4190
+ # Corresponds to the JSON property `value`
4191
+ # @return [String]
4192
+ attr_accessor :value
4193
+
4194
+ def initialize(**args)
4195
+ update!(**args)
4196
+ end
4197
+
4198
+ # Update properties of this object
4199
+ def update!(**args)
4200
+ @key = args[:key] if args.key?(:key)
4201
+ @value = args[:value] if args.key?(:value)
4202
+ end
4203
+ end
4204
+
4205
+ # Parameters for a product search request.
4206
+ class GoogleCloudVisionV1p2beta1ProductSearchParams
4207
+ include Google::Apis::Core::Hashable
4208
+
4209
+ # A bounding polygon for the detected image annotation.
4210
+ # Corresponds to the JSON property `boundingPoly`
4211
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1BoundingPoly]
4212
+ attr_accessor :bounding_poly
4213
+
4214
+ # The filtering expression. This can be used to restrict search results based
4215
+ # on Product labels. We currently support an AND of OR of key-value
4216
+ # expressions, where each expression within an OR must have the same key.
4217
+ # For example, "(color = red OR color = blue) AND brand = Google" is
4218
+ # acceptable, but not "(color = red OR brand = Google)" or "color: red".
4219
+ # Corresponds to the JSON property `filter`
4220
+ # @return [String]
4221
+ attr_accessor :filter
4222
+
4223
+ # The list of product categories to search in. Currently, we only consider
4224
+ # the first category, and either "homegoods", "apparel", or "toys" should be
4225
+ # specified.
4226
+ # Corresponds to the JSON property `productCategories`
4227
+ # @return [Array<String>]
4228
+ attr_accessor :product_categories
4229
+
4230
+ # The resource name of a ProductSet to be searched for similar images.
4231
+ # Format is:
4232
+ # `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.
4233
+ # Corresponds to the JSON property `productSet`
4234
+ # @return [String]
4235
+ attr_accessor :product_set
4236
+
4237
+ def initialize(**args)
4238
+ update!(**args)
4239
+ end
4240
+
4241
+ # Update properties of this object
4242
+ def update!(**args)
4243
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
4244
+ @filter = args[:filter] if args.key?(:filter)
4245
+ @product_categories = args[:product_categories] if args.key?(:product_categories)
4246
+ @product_set = args[:product_set] if args.key?(:product_set)
4247
+ end
4248
+ end
4249
+
4250
+ # Results for a product search request.
4251
+ class GoogleCloudVisionV1p2beta1ProductSearchResults
4252
+ include Google::Apis::Core::Hashable
4253
+
4254
+ # Timestamp of the index which provided these results. Changes made after
4255
+ # this time are not reflected in the current results.
4256
+ # Corresponds to the JSON property `indexTime`
4257
+ # @return [String]
4258
+ attr_accessor :index_time
4259
+
4260
+ # List of results grouped by products detected in the query image. Each entry
4261
+ # corresponds to one bounding polygon in the query image, and contains the
4262
+ # matching products specific to that region. There may be duplicate product
4263
+ # matches in the union of all the per-product results.
4264
+ # Corresponds to the JSON property `productGroupedResults`
4265
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult>]
4266
+ attr_accessor :product_grouped_results
4267
+
4268
+ # List of results, one for each product match.
4269
+ # Corresponds to the JSON property `results`
4270
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1ProductSearchResultsResult>]
4271
+ attr_accessor :results
4272
+
4273
+ def initialize(**args)
4274
+ update!(**args)
4275
+ end
4276
+
4277
+ # Update properties of this object
4278
+ def update!(**args)
4279
+ @index_time = args[:index_time] if args.key?(:index_time)
4280
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
4281
+ @results = args[:results] if args.key?(:results)
4282
+ end
4283
+ end
4284
+
4285
+ # Information about the products similar to a single product in a query
4286
+ # image.
4287
+ class GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult
4288
+ include Google::Apis::Core::Hashable
4289
+
4290
+ # A bounding polygon for the detected image annotation.
4291
+ # Corresponds to the JSON property `boundingPoly`
4292
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1BoundingPoly]
4293
+ attr_accessor :bounding_poly
4294
+
4295
+ # List of results, one for each product match.
4296
+ # Corresponds to the JSON property `results`
4297
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1ProductSearchResultsResult>]
4298
+ attr_accessor :results
4299
+
4300
+ def initialize(**args)
4301
+ update!(**args)
4302
+ end
4303
+
4304
+ # Update properties of this object
4305
+ def update!(**args)
4306
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
4307
+ @results = args[:results] if args.key?(:results)
4308
+ end
4309
+ end
4310
+
4311
+ # Information about a product.
4312
+ class GoogleCloudVisionV1p2beta1ProductSearchResultsResult
4313
+ include Google::Apis::Core::Hashable
4314
+
4315
+ # The resource name of the image from the product that is the closest match
4316
+ # to the query.
4317
+ # Corresponds to the JSON property `image`
4318
+ # @return [String]
4319
+ attr_accessor :image
4320
+
4321
+ # A Product contains ReferenceImages.
4322
+ # Corresponds to the JSON property `product`
4323
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1Product]
4324
+ attr_accessor :product
4325
+
4326
+ # A confidence level on the match, ranging from 0 (no confidence) to
4327
+ # 1 (full confidence).
4328
+ # Corresponds to the JSON property `score`
4329
+ # @return [Float]
4330
+ attr_accessor :score
4331
+
4332
+ def initialize(**args)
4333
+ update!(**args)
4334
+ end
4335
+
4336
+ # Update properties of this object
4337
+ def update!(**args)
4338
+ @image = args[:image] if args.key?(:image)
4339
+ @product = args[:product] if args.key?(:product)
4340
+ @score = args[:score] if args.key?(:score)
4341
+ end
4342
+ end
4343
+
4344
+ # A `Property` consists of a user-supplied name/value pair.
4345
+ class GoogleCloudVisionV1p2beta1Property
4346
+ include Google::Apis::Core::Hashable
4347
+
4348
+ # Name of the property.
4349
+ # Corresponds to the JSON property `name`
4350
+ # @return [String]
4351
+ attr_accessor :name
4352
+
4353
+ # Value of numeric properties.
4354
+ # Corresponds to the JSON property `uint64Value`
4355
+ # @return [Fixnum]
4356
+ attr_accessor :uint64_value
4357
+
4358
+ # Value of the property.
4359
+ # Corresponds to the JSON property `value`
4360
+ # @return [String]
4361
+ attr_accessor :value
4362
+
4363
+ def initialize(**args)
4364
+ update!(**args)
4365
+ end
4366
+
4367
+ # Update properties of this object
4368
+ def update!(**args)
4369
+ @name = args[:name] if args.key?(:name)
4370
+ @uint64_value = args[:uint64_value] if args.key?(:uint64_value)
4371
+ @value = args[:value] if args.key?(:value)
3915
4372
  end
3916
4373
  end
3917
4374
 
@@ -5633,6 +6090,14 @@ module Google
5633
6090
  # @return [String]
5634
6091
  attr_accessor :index_time
5635
6092
 
6093
+ # List of results grouped by products detected in the query image. Each entry
6094
+ # corresponds to one bounding polygon in the query image, and contains the
6095
+ # matching products specific to that region. There may be duplicate product
6096
+ # matches in the union of all the per-product results.
6097
+ # Corresponds to the JSON property `productGroupedResults`
6098
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult>]
6099
+ attr_accessor :product_grouped_results
6100
+
5636
6101
  # List of results, one for each product match.
5637
6102
  # Corresponds to the JSON property `results`
5638
6103
  # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p3beta1ProductSearchResultsResult>]
@@ -5645,6 +6110,33 @@ module Google
5645
6110
  # Update properties of this object
5646
6111
  def update!(**args)
5647
6112
  @index_time = args[:index_time] if args.key?(:index_time)
6113
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
6114
+ @results = args[:results] if args.key?(:results)
6115
+ end
6116
+ end
6117
+
6118
+ # Information about the products similar to a single product in a query
6119
+ # image.
6120
+ class GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult
6121
+ include Google::Apis::Core::Hashable
6122
+
6123
+ # A bounding polygon for the detected image annotation.
6124
+ # Corresponds to the JSON property `boundingPoly`
6125
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p3beta1BoundingPoly]
6126
+ attr_accessor :bounding_poly
6127
+
6128
+ # List of results, one for each product match.
6129
+ # Corresponds to the JSON property `results`
6130
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p3beta1ProductSearchResultsResult>]
6131
+ attr_accessor :results
6132
+
6133
+ def initialize(**args)
6134
+ update!(**args)
6135
+ end
6136
+
6137
+ # Update properties of this object
6138
+ def update!(**args)
6139
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
5648
6140
  @results = args[:results] if args.key?(:results)
5649
6141
  end
5650
6142
  end
@@ -6203,6 +6695,32 @@ module Google
6203
6695
  end
6204
6696
  end
6205
6697
 
6698
+ # Information about the products similar to a single product in a query
6699
+ # image.
6700
+ class GroupedResult
6701
+ include Google::Apis::Core::Hashable
6702
+
6703
+ # A bounding polygon for the detected image annotation.
6704
+ # Corresponds to the JSON property `boundingPoly`
6705
+ # @return [Google::Apis::VisionV1p2beta1::BoundingPoly]
6706
+ attr_accessor :bounding_poly
6707
+
6708
+ # List of results, one for each product match.
6709
+ # Corresponds to the JSON property `results`
6710
+ # @return [Array<Google::Apis::VisionV1p2beta1::Result>]
6711
+ attr_accessor :results
6712
+
6713
+ def initialize(**args)
6714
+ update!(**args)
6715
+ end
6716
+
6717
+ # Update properties of this object
6718
+ def update!(**args)
6719
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
6720
+ @results = args[:results] if args.key?(:results)
6721
+ end
6722
+ end
6723
+
6206
6724
  # If an image was produced from a file (e.g. a PDF), this message gives
6207
6725
  # information about the source of that image.
6208
6726
  class ImageAnnotationContext
@@ -6249,6 +6767,38 @@ module Google
6249
6767
  end
6250
6768
  end
6251
6769
 
6770
+ # Response message for the `ImportProductSets` method.
6771
+ # This message is returned by the
6772
+ # google.longrunning.Operations.GetOperation method in the returned
6773
+ # google.longrunning.Operation.response field.
6774
+ class ImportProductSetsResponse
6775
+ include Google::Apis::Core::Hashable
6776
+
6777
+ # The list of reference_images that are imported successfully.
6778
+ # Corresponds to the JSON property `referenceImages`
6779
+ # @return [Array<Google::Apis::VisionV1p2beta1::ReferenceImage>]
6780
+ attr_accessor :reference_images
6781
+
6782
+ # The rpc status for each ImportProductSet request, including both successes
6783
+ # and errors.
6784
+ # The number of statuses here matches the number of lines in the csv file,
6785
+ # and statuses[i] stores the success or failure status of processing the i-th
6786
+ # line of the csv, starting from line 0.
6787
+ # Corresponds to the JSON property `statuses`
6788
+ # @return [Array<Google::Apis::VisionV1p2beta1::Status>]
6789
+ attr_accessor :statuses
6790
+
6791
+ def initialize(**args)
6792
+ update!(**args)
6793
+ end
6794
+
6795
+ # Update properties of this object
6796
+ def update!(**args)
6797
+ @reference_images = args[:reference_images] if args.key?(:reference_images)
6798
+ @statuses = args[:statuses] if args.key?(:statuses)
6799
+ end
6800
+ end
6801
+
6252
6802
  # The desired input location and metadata.
6253
6803
  class InputConfig
6254
6804
  include Google::Apis::Core::Hashable
@@ -6275,6 +6825,33 @@ module Google
6275
6825
  end
6276
6826
  end
6277
6827
 
6828
+ # A product label represented as a key-value pair.
6829
+ class KeyValue
6830
+ include Google::Apis::Core::Hashable
6831
+
6832
+ # The key of the label attached to the product. Cannot be empty and cannot
6833
+ # exceed 128 bytes.
6834
+ # Corresponds to the JSON property `key`
6835
+ # @return [String]
6836
+ attr_accessor :key
6837
+
6838
+ # The value of the label attached to the product. Cannot be empty and
6839
+ # cannot exceed 128 bytes.
6840
+ # Corresponds to the JSON property `value`
6841
+ # @return [String]
6842
+ attr_accessor :value
6843
+
6844
+ def initialize(**args)
6845
+ update!(**args)
6846
+ end
6847
+
6848
+ # Update properties of this object
6849
+ def update!(**args)
6850
+ @key = args[:key] if args.key?(:key)
6851
+ @value = args[:value] if args.key?(:value)
6852
+ end
6853
+ end
6854
+
6278
6855
  # A face-specific landmark (for example, a face feature).
6279
6856
  class Landmark
6280
6857
  include Google::Apis::Core::Hashable
@@ -6702,6 +7279,97 @@ module Google
6702
7279
  end
6703
7280
  end
6704
7281
 
7282
+ # A Product contains ReferenceImages.
7283
+ class Product
7284
+ include Google::Apis::Core::Hashable
7285
+
7286
+ # User-provided metadata to be stored with this product. Must be at most 4096
7287
+ # characters long.
7288
+ # Corresponds to the JSON property `description`
7289
+ # @return [String]
7290
+ attr_accessor :description
7291
+
7292
+ # The user-provided name for this Product. Must not be empty. Must be at most
7293
+ # 4096 characters long.
7294
+ # Corresponds to the JSON property `displayName`
7295
+ # @return [String]
7296
+ attr_accessor :display_name
7297
+
7298
+ # The resource name of the product.
7299
+ # Format is:
7300
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
7301
+ # This field is ignored when creating a product.
7302
+ # Corresponds to the JSON property `name`
7303
+ # @return [String]
7304
+ attr_accessor :name
7305
+
7306
+ # The category for the product identified by the reference image. This should
7307
+ # be either "homegoods", "apparel", or "toys".
7308
+ # This field is immutable.
7309
+ # Corresponds to the JSON property `productCategory`
7310
+ # @return [String]
7311
+ attr_accessor :product_category
7312
+
7313
+ # Key-value pairs that can be attached to a product. At query time,
7314
+ # constraints can be specified based on the product_labels.
7315
+ # Note that integer values can be provided as strings, e.g. "1199". Only
7316
+ # strings with integer values can match a range-based restriction which is
7317
+ # to be supported soon.
7318
+ # Multiple values can be assigned to the same key. One product may have up to
7319
+ # 100 product_labels.
7320
+ # Corresponds to the JSON property `productLabels`
7321
+ # @return [Array<Google::Apis::VisionV1p2beta1::KeyValue>]
7322
+ attr_accessor :product_labels
7323
+
7324
+ def initialize(**args)
7325
+ update!(**args)
7326
+ end
7327
+
7328
+ # Update properties of this object
7329
+ def update!(**args)
7330
+ @description = args[:description] if args.key?(:description)
7331
+ @display_name = args[:display_name] if args.key?(:display_name)
7332
+ @name = args[:name] if args.key?(:name)
7333
+ @product_category = args[:product_category] if args.key?(:product_category)
7334
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
7335
+ end
7336
+ end
7337
+
7338
+ # Results for a product search request.
7339
+ class ProductSearchResults
7340
+ include Google::Apis::Core::Hashable
7341
+
7342
+ # Timestamp of the index which provided these results. Changes made after
7343
+ # this time are not reflected in the current results.
7344
+ # Corresponds to the JSON property `indexTime`
7345
+ # @return [String]
7346
+ attr_accessor :index_time
7347
+
7348
+ # List of results grouped by products detected in the query image. Each entry
7349
+ # corresponds to one bounding polygon in the query image, and contains the
7350
+ # matching products specific to that region. There may be duplicate product
7351
+ # matches in the union of all the per-product results.
7352
+ # Corresponds to the JSON property `productGroupedResults`
7353
+ # @return [Array<Google::Apis::VisionV1p2beta1::GroupedResult>]
7354
+ attr_accessor :product_grouped_results
7355
+
7356
+ # List of results, one for each product match.
7357
+ # Corresponds to the JSON property `results`
7358
+ # @return [Array<Google::Apis::VisionV1p2beta1::Result>]
7359
+ attr_accessor :results
7360
+
7361
+ def initialize(**args)
7362
+ update!(**args)
7363
+ end
7364
+
7365
+ # Update properties of this object
7366
+ def update!(**args)
7367
+ @index_time = args[:index_time] if args.key?(:index_time)
7368
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
7369
+ @results = args[:results] if args.key?(:results)
7370
+ end
7371
+ end
7372
+
6705
7373
  # A `Property` consists of a user-supplied name/value pair.
6706
7374
  class Property
6707
7375
  include Google::Apis::Core::Hashable
@@ -6733,6 +7401,83 @@ module Google
6733
7401
  end
6734
7402
  end
6735
7403
 
7404
+ # A `ReferenceImage` represents a product image and its associated metadata,
7405
+ # such as bounding boxes.
7406
+ class ReferenceImage
7407
+ include Google::Apis::Core::Hashable
7408
+
7409
+ # Bounding polygons around the areas of interest in the reference image.
7410
+ # Optional. If this field is empty, the system will try to detect regions of
7411
+ # interest. At most 10 bounding polygons will be used.
7412
+ # The provided shape is converted into a non-rotated rectangle. Once
7413
+ # converted, the small edge of the rectangle must be greater than or equal
7414
+ # to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5
7415
+ # is not).
7416
+ # Corresponds to the JSON property `boundingPolys`
7417
+ # @return [Array<Google::Apis::VisionV1p2beta1::BoundingPoly>]
7418
+ attr_accessor :bounding_polys
7419
+
7420
+ # The resource name of the reference image.
7421
+ # Format is:
7422
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/
7423
+ # IMAGE_ID`.
7424
+ # This field is ignored when creating a reference image.
7425
+ # Corresponds to the JSON property `name`
7426
+ # @return [String]
7427
+ attr_accessor :name
7428
+
7429
+ # The Google Cloud Storage URI of the reference image.
7430
+ # The URI must start with `gs://`.
7431
+ # Required.
7432
+ # Corresponds to the JSON property `uri`
7433
+ # @return [String]
7434
+ attr_accessor :uri
7435
+
7436
+ def initialize(**args)
7437
+ update!(**args)
7438
+ end
7439
+
7440
+ # Update properties of this object
7441
+ def update!(**args)
7442
+ @bounding_polys = args[:bounding_polys] if args.key?(:bounding_polys)
7443
+ @name = args[:name] if args.key?(:name)
7444
+ @uri = args[:uri] if args.key?(:uri)
7445
+ end
7446
+ end
7447
+
7448
+ # Information about a product.
7449
+ class Result
7450
+ include Google::Apis::Core::Hashable
7451
+
7452
+ # The resource name of the image from the product that is the closest match
7453
+ # to the query.
7454
+ # Corresponds to the JSON property `image`
7455
+ # @return [String]
7456
+ attr_accessor :image
7457
+
7458
+ # A Product contains ReferenceImages.
7459
+ # Corresponds to the JSON property `product`
7460
+ # @return [Google::Apis::VisionV1p2beta1::Product]
7461
+ attr_accessor :product
7462
+
7463
+ # A confidence level on the match, ranging from 0 (no confidence) to
7464
+ # 1 (full confidence).
7465
+ # Corresponds to the JSON property `score`
7466
+ # @return [Float]
7467
+ attr_accessor :score
7468
+
7469
+ def initialize(**args)
7470
+ update!(**args)
7471
+ end
7472
+
7473
+ # Update properties of this object
7474
+ def update!(**args)
7475
+ @image = args[:image] if args.key?(:image)
7476
+ @product = args[:product] if args.key?(:product)
7477
+ @score = args[:score] if args.key?(:score)
7478
+ end
7479
+ end
7480
+
6736
7481
  # Set of features pertaining to the image, computed by computer vision
6737
7482
  # methods over safe-search verticals (for example, adult, spoof, medical,
6738
7483
  # violence).