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 VisionV1p1beta1
29
29
  VERSION = 'V1p1beta1'
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::VisionV1p1beta1::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::VisionV1p1beta1::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
@@ -1090,6 +1130,11 @@ module Google
1090
1130
  # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1EntityAnnotation>]
1091
1131
  attr_accessor :logo_annotations
1092
1132
 
1133
+ # Results for a product search request.
1134
+ # Corresponds to the JSON property `productSearchResults`
1135
+ # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1ProductSearchResults]
1136
+ attr_accessor :product_search_results
1137
+
1093
1138
  # Set of features pertaining to the image, computed by computer vision
1094
1139
  # methods over safe-search verticals (for example, adult, spoof, medical,
1095
1140
  # violence).
@@ -1123,6 +1168,7 @@ module Google
1123
1168
  @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
1124
1169
  @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
1125
1170
  @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
1171
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
1126
1172
  @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
1127
1173
  @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
1128
1174
  @web_detection = args[:web_detection] if args.key?(:web_detection)
@@ -1935,6 +1981,11 @@ module Google
1935
1981
  # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1LatLongRect]
1936
1982
  attr_accessor :lat_long_rect
1937
1983
 
1984
+ # Parameters for a product search request.
1985
+ # Corresponds to the JSON property `productSearchParams`
1986
+ # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1ProductSearchParams]
1987
+ attr_accessor :product_search_params
1988
+
1938
1989
  # Parameters for web detection request.
1939
1990
  # Corresponds to the JSON property `webDetectionParams`
1940
1991
  # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1WebDetectionParams]
@@ -1949,6 +2000,7 @@ module Google
1949
2000
  @crop_hints_params = args[:crop_hints_params] if args.key?(:crop_hints_params)
1950
2001
  @language_hints = args[:language_hints] if args.key?(:language_hints)
1951
2002
  @lat_long_rect = args[:lat_long_rect] if args.key?(:lat_long_rect)
2003
+ @product_search_params = args[:product_search_params] if args.key?(:product_search_params)
1952
2004
  @web_detection_params = args[:web_detection_params] if args.key?(:web_detection_params)
1953
2005
  end
1954
2006
  end
@@ -2320,6 +2372,228 @@ module Google
2320
2372
  end
2321
2373
  end
2322
2374
 
2375
+ # A Product contains ReferenceImages.
2376
+ class GoogleCloudVisionV1p1beta1Product
2377
+ include Google::Apis::Core::Hashable
2378
+
2379
+ # User-provided metadata to be stored with this product. Must be at most 4096
2380
+ # characters long.
2381
+ # Corresponds to the JSON property `description`
2382
+ # @return [String]
2383
+ attr_accessor :description
2384
+
2385
+ # The user-provided name for this Product. Must not be empty. Must be at most
2386
+ # 4096 characters long.
2387
+ # Corresponds to the JSON property `displayName`
2388
+ # @return [String]
2389
+ attr_accessor :display_name
2390
+
2391
+ # The resource name of the product.
2392
+ # Format is:
2393
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
2394
+ # This field is ignored when creating a product.
2395
+ # Corresponds to the JSON property `name`
2396
+ # @return [String]
2397
+ attr_accessor :name
2398
+
2399
+ # The category for the product identified by the reference image. This should
2400
+ # be either "homegoods", "apparel", or "toys".
2401
+ # This field is immutable.
2402
+ # Corresponds to the JSON property `productCategory`
2403
+ # @return [String]
2404
+ attr_accessor :product_category
2405
+
2406
+ # Key-value pairs that can be attached to a product. At query time,
2407
+ # constraints can be specified based on the product_labels.
2408
+ # Note that integer values can be provided as strings, e.g. "1199". Only
2409
+ # strings with integer values can match a range-based restriction which is
2410
+ # to be supported soon.
2411
+ # Multiple values can be assigned to the same key. One product may have up to
2412
+ # 100 product_labels.
2413
+ # Corresponds to the JSON property `productLabels`
2414
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1ProductKeyValue>]
2415
+ attr_accessor :product_labels
2416
+
2417
+ def initialize(**args)
2418
+ update!(**args)
2419
+ end
2420
+
2421
+ # Update properties of this object
2422
+ def update!(**args)
2423
+ @description = args[:description] if args.key?(:description)
2424
+ @display_name = args[:display_name] if args.key?(:display_name)
2425
+ @name = args[:name] if args.key?(:name)
2426
+ @product_category = args[:product_category] if args.key?(:product_category)
2427
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
2428
+ end
2429
+ end
2430
+
2431
+ # A product label represented as a key-value pair.
2432
+ class GoogleCloudVisionV1p1beta1ProductKeyValue
2433
+ include Google::Apis::Core::Hashable
2434
+
2435
+ # The key of the label attached to the product. Cannot be empty and cannot
2436
+ # exceed 128 bytes.
2437
+ # Corresponds to the JSON property `key`
2438
+ # @return [String]
2439
+ attr_accessor :key
2440
+
2441
+ # The value of the label attached to the product. Cannot be empty and
2442
+ # cannot exceed 128 bytes.
2443
+ # Corresponds to the JSON property `value`
2444
+ # @return [String]
2445
+ attr_accessor :value
2446
+
2447
+ def initialize(**args)
2448
+ update!(**args)
2449
+ end
2450
+
2451
+ # Update properties of this object
2452
+ def update!(**args)
2453
+ @key = args[:key] if args.key?(:key)
2454
+ @value = args[:value] if args.key?(:value)
2455
+ end
2456
+ end
2457
+
2458
+ # Parameters for a product search request.
2459
+ class GoogleCloudVisionV1p1beta1ProductSearchParams
2460
+ include Google::Apis::Core::Hashable
2461
+
2462
+ # A bounding polygon for the detected image annotation.
2463
+ # Corresponds to the JSON property `boundingPoly`
2464
+ # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BoundingPoly]
2465
+ attr_accessor :bounding_poly
2466
+
2467
+ # The filtering expression. This can be used to restrict search results based
2468
+ # on Product labels. We currently support an AND of OR of key-value
2469
+ # expressions, where each expression within an OR must have the same key.
2470
+ # For example, "(color = red OR color = blue) AND brand = Google" is
2471
+ # acceptable, but not "(color = red OR brand = Google)" or "color: red".
2472
+ # Corresponds to the JSON property `filter`
2473
+ # @return [String]
2474
+ attr_accessor :filter
2475
+
2476
+ # The list of product categories to search in. Currently, we only consider
2477
+ # the first category, and either "homegoods", "apparel", or "toys" should be
2478
+ # specified.
2479
+ # Corresponds to the JSON property `productCategories`
2480
+ # @return [Array<String>]
2481
+ attr_accessor :product_categories
2482
+
2483
+ # The resource name of a ProductSet to be searched for similar images.
2484
+ # Format is:
2485
+ # `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.
2486
+ # Corresponds to the JSON property `productSet`
2487
+ # @return [String]
2488
+ attr_accessor :product_set
2489
+
2490
+ def initialize(**args)
2491
+ update!(**args)
2492
+ end
2493
+
2494
+ # Update properties of this object
2495
+ def update!(**args)
2496
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
2497
+ @filter = args[:filter] if args.key?(:filter)
2498
+ @product_categories = args[:product_categories] if args.key?(:product_categories)
2499
+ @product_set = args[:product_set] if args.key?(:product_set)
2500
+ end
2501
+ end
2502
+
2503
+ # Results for a product search request.
2504
+ class GoogleCloudVisionV1p1beta1ProductSearchResults
2505
+ include Google::Apis::Core::Hashable
2506
+
2507
+ # Timestamp of the index which provided these results. Changes made after
2508
+ # this time are not reflected in the current results.
2509
+ # Corresponds to the JSON property `indexTime`
2510
+ # @return [String]
2511
+ attr_accessor :index_time
2512
+
2513
+ # List of results grouped by products detected in the query image. Each entry
2514
+ # corresponds to one bounding polygon in the query image, and contains the
2515
+ # matching products specific to that region. There may be duplicate product
2516
+ # matches in the union of all the per-product results.
2517
+ # Corresponds to the JSON property `productGroupedResults`
2518
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult>]
2519
+ attr_accessor :product_grouped_results
2520
+
2521
+ # List of results, one for each product match.
2522
+ # Corresponds to the JSON property `results`
2523
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1ProductSearchResultsResult>]
2524
+ attr_accessor :results
2525
+
2526
+ def initialize(**args)
2527
+ update!(**args)
2528
+ end
2529
+
2530
+ # Update properties of this object
2531
+ def update!(**args)
2532
+ @index_time = args[:index_time] if args.key?(:index_time)
2533
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
2534
+ @results = args[:results] if args.key?(:results)
2535
+ end
2536
+ end
2537
+
2538
+ # Information about the products similar to a single product in a query
2539
+ # image.
2540
+ class GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult
2541
+ include Google::Apis::Core::Hashable
2542
+
2543
+ # A bounding polygon for the detected image annotation.
2544
+ # Corresponds to the JSON property `boundingPoly`
2545
+ # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BoundingPoly]
2546
+ attr_accessor :bounding_poly
2547
+
2548
+ # List of results, one for each product match.
2549
+ # Corresponds to the JSON property `results`
2550
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1ProductSearchResultsResult>]
2551
+ attr_accessor :results
2552
+
2553
+ def initialize(**args)
2554
+ update!(**args)
2555
+ end
2556
+
2557
+ # Update properties of this object
2558
+ def update!(**args)
2559
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
2560
+ @results = args[:results] if args.key?(:results)
2561
+ end
2562
+ end
2563
+
2564
+ # Information about a product.
2565
+ class GoogleCloudVisionV1p1beta1ProductSearchResultsResult
2566
+ include Google::Apis::Core::Hashable
2567
+
2568
+ # The resource name of the image from the product that is the closest match
2569
+ # to the query.
2570
+ # Corresponds to the JSON property `image`
2571
+ # @return [String]
2572
+ attr_accessor :image
2573
+
2574
+ # A Product contains ReferenceImages.
2575
+ # Corresponds to the JSON property `product`
2576
+ # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1Product]
2577
+ attr_accessor :product
2578
+
2579
+ # A confidence level on the match, ranging from 0 (no confidence) to
2580
+ # 1 (full confidence).
2581
+ # Corresponds to the JSON property `score`
2582
+ # @return [Float]
2583
+ attr_accessor :score
2584
+
2585
+ def initialize(**args)
2586
+ update!(**args)
2587
+ end
2588
+
2589
+ # Update properties of this object
2590
+ def update!(**args)
2591
+ @image = args[:image] if args.key?(:image)
2592
+ @product = args[:product] if args.key?(:product)
2593
+ @score = args[:score] if args.key?(:score)
2594
+ end
2595
+ end
2596
+
2323
2597
  # A `Property` consists of a user-supplied name/value pair.
2324
2598
  class GoogleCloudVisionV1p1beta1Property
2325
2599
  include Google::Apis::Core::Hashable
@@ -2943,6 +3217,11 @@ module Google
2943
3217
  # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p2beta1EntityAnnotation>]
2944
3218
  attr_accessor :logo_annotations
2945
3219
 
3220
+ # Results for a product search request.
3221
+ # Corresponds to the JSON property `productSearchResults`
3222
+ # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p2beta1ProductSearchResults]
3223
+ attr_accessor :product_search_results
3224
+
2946
3225
  # Set of features pertaining to the image, computed by computer vision
2947
3226
  # methods over safe-search verticals (for example, adult, spoof, medical,
2948
3227
  # violence).
@@ -2976,6 +3255,7 @@ module Google
2976
3255
  @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
2977
3256
  @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
2978
3257
  @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
3258
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
2979
3259
  @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
2980
3260
  @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
2981
3261
  @web_detection = args[:web_detection] if args.key?(:web_detection)
@@ -3904,28 +4184,205 @@ module Google
3904
4184
  end
3905
4185
  end
3906
4186
 
3907
- # A `Property` consists of a user-supplied name/value pair.
3908
- class GoogleCloudVisionV1p2beta1Property
4187
+ # A Product contains ReferenceImages.
4188
+ class GoogleCloudVisionV1p2beta1Product
3909
4189
  include Google::Apis::Core::Hashable
3910
4190
 
3911
- # Name of the property.
3912
- # Corresponds to the JSON property `name`
4191
+ # User-provided metadata to be stored with this product. Must be at most 4096
4192
+ # characters long.
4193
+ # Corresponds to the JSON property `description`
3913
4194
  # @return [String]
3914
- attr_accessor :name
3915
-
3916
- # Value of numeric properties.
3917
- # Corresponds to the JSON property `uint64Value`
3918
- # @return [Fixnum]
3919
- attr_accessor :uint64_value
4195
+ attr_accessor :description
3920
4196
 
3921
- # Value of the property.
3922
- # Corresponds to the JSON property `value`
4197
+ # The user-provided name for this Product. Must not be empty. Must be at most
4198
+ # 4096 characters long.
4199
+ # Corresponds to the JSON property `displayName`
3923
4200
  # @return [String]
3924
- attr_accessor :value
4201
+ attr_accessor :display_name
3925
4202
 
3926
- def initialize(**args)
3927
- update!(**args)
3928
- end
4203
+ # The resource name of the product.
4204
+ # Format is:
4205
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
4206
+ # This field is ignored when creating a product.
4207
+ # Corresponds to the JSON property `name`
4208
+ # @return [String]
4209
+ attr_accessor :name
4210
+
4211
+ # The category for the product identified by the reference image. This should
4212
+ # be either "homegoods", "apparel", or "toys".
4213
+ # This field is immutable.
4214
+ # Corresponds to the JSON property `productCategory`
4215
+ # @return [String]
4216
+ attr_accessor :product_category
4217
+
4218
+ # Key-value pairs that can be attached to a product. At query time,
4219
+ # constraints can be specified based on the product_labels.
4220
+ # Note that integer values can be provided as strings, e.g. "1199". Only
4221
+ # strings with integer values can match a range-based restriction which is
4222
+ # to be supported soon.
4223
+ # Multiple values can be assigned to the same key. One product may have up to
4224
+ # 100 product_labels.
4225
+ # Corresponds to the JSON property `productLabels`
4226
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p2beta1ProductKeyValue>]
4227
+ attr_accessor :product_labels
4228
+
4229
+ def initialize(**args)
4230
+ update!(**args)
4231
+ end
4232
+
4233
+ # Update properties of this object
4234
+ def update!(**args)
4235
+ @description = args[:description] if args.key?(:description)
4236
+ @display_name = args[:display_name] if args.key?(:display_name)
4237
+ @name = args[:name] if args.key?(:name)
4238
+ @product_category = args[:product_category] if args.key?(:product_category)
4239
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
4240
+ end
4241
+ end
4242
+
4243
+ # A product label represented as a key-value pair.
4244
+ class GoogleCloudVisionV1p2beta1ProductKeyValue
4245
+ include Google::Apis::Core::Hashable
4246
+
4247
+ # The key of the label attached to the product. Cannot be empty and cannot
4248
+ # exceed 128 bytes.
4249
+ # Corresponds to the JSON property `key`
4250
+ # @return [String]
4251
+ attr_accessor :key
4252
+
4253
+ # The value of the label attached to the product. Cannot be empty and
4254
+ # cannot exceed 128 bytes.
4255
+ # Corresponds to the JSON property `value`
4256
+ # @return [String]
4257
+ attr_accessor :value
4258
+
4259
+ def initialize(**args)
4260
+ update!(**args)
4261
+ end
4262
+
4263
+ # Update properties of this object
4264
+ def update!(**args)
4265
+ @key = args[:key] if args.key?(:key)
4266
+ @value = args[:value] if args.key?(:value)
4267
+ end
4268
+ end
4269
+
4270
+ # Results for a product search request.
4271
+ class GoogleCloudVisionV1p2beta1ProductSearchResults
4272
+ include Google::Apis::Core::Hashable
4273
+
4274
+ # Timestamp of the index which provided these results. Changes made after
4275
+ # this time are not reflected in the current results.
4276
+ # Corresponds to the JSON property `indexTime`
4277
+ # @return [String]
4278
+ attr_accessor :index_time
4279
+
4280
+ # List of results grouped by products detected in the query image. Each entry
4281
+ # corresponds to one bounding polygon in the query image, and contains the
4282
+ # matching products specific to that region. There may be duplicate product
4283
+ # matches in the union of all the per-product results.
4284
+ # Corresponds to the JSON property `productGroupedResults`
4285
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult>]
4286
+ attr_accessor :product_grouped_results
4287
+
4288
+ # List of results, one for each product match.
4289
+ # Corresponds to the JSON property `results`
4290
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p2beta1ProductSearchResultsResult>]
4291
+ attr_accessor :results
4292
+
4293
+ def initialize(**args)
4294
+ update!(**args)
4295
+ end
4296
+
4297
+ # Update properties of this object
4298
+ def update!(**args)
4299
+ @index_time = args[:index_time] if args.key?(:index_time)
4300
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
4301
+ @results = args[:results] if args.key?(:results)
4302
+ end
4303
+ end
4304
+
4305
+ # Information about the products similar to a single product in a query
4306
+ # image.
4307
+ class GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult
4308
+ include Google::Apis::Core::Hashable
4309
+
4310
+ # A bounding polygon for the detected image annotation.
4311
+ # Corresponds to the JSON property `boundingPoly`
4312
+ # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p2beta1BoundingPoly]
4313
+ attr_accessor :bounding_poly
4314
+
4315
+ # List of results, one for each product match.
4316
+ # Corresponds to the JSON property `results`
4317
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p2beta1ProductSearchResultsResult>]
4318
+ attr_accessor :results
4319
+
4320
+ def initialize(**args)
4321
+ update!(**args)
4322
+ end
4323
+
4324
+ # Update properties of this object
4325
+ def update!(**args)
4326
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
4327
+ @results = args[:results] if args.key?(:results)
4328
+ end
4329
+ end
4330
+
4331
+ # Information about a product.
4332
+ class GoogleCloudVisionV1p2beta1ProductSearchResultsResult
4333
+ include Google::Apis::Core::Hashable
4334
+
4335
+ # The resource name of the image from the product that is the closest match
4336
+ # to the query.
4337
+ # Corresponds to the JSON property `image`
4338
+ # @return [String]
4339
+ attr_accessor :image
4340
+
4341
+ # A Product contains ReferenceImages.
4342
+ # Corresponds to the JSON property `product`
4343
+ # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p2beta1Product]
4344
+ attr_accessor :product
4345
+
4346
+ # A confidence level on the match, ranging from 0 (no confidence) to
4347
+ # 1 (full confidence).
4348
+ # Corresponds to the JSON property `score`
4349
+ # @return [Float]
4350
+ attr_accessor :score
4351
+
4352
+ def initialize(**args)
4353
+ update!(**args)
4354
+ end
4355
+
4356
+ # Update properties of this object
4357
+ def update!(**args)
4358
+ @image = args[:image] if args.key?(:image)
4359
+ @product = args[:product] if args.key?(:product)
4360
+ @score = args[:score] if args.key?(:score)
4361
+ end
4362
+ end
4363
+
4364
+ # A `Property` consists of a user-supplied name/value pair.
4365
+ class GoogleCloudVisionV1p2beta1Property
4366
+ include Google::Apis::Core::Hashable
4367
+
4368
+ # Name of the property.
4369
+ # Corresponds to the JSON property `name`
4370
+ # @return [String]
4371
+ attr_accessor :name
4372
+
4373
+ # Value of numeric properties.
4374
+ # Corresponds to the JSON property `uint64Value`
4375
+ # @return [Fixnum]
4376
+ attr_accessor :uint64_value
4377
+
4378
+ # Value of the property.
4379
+ # Corresponds to the JSON property `value`
4380
+ # @return [String]
4381
+ attr_accessor :value
4382
+
4383
+ def initialize(**args)
4384
+ update!(**args)
4385
+ end
3929
4386
 
3930
4387
  # Update properties of this object
3931
4388
  def update!(**args)
@@ -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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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).