google-api-client 0.24.3 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
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).