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
@@ -70,6 +70,18 @@ module Google
70
70
  include Google::Apis::Core::JsonObjectSupport
71
71
  end
72
72
 
73
+ class GoogleCloudVideointelligenceV1SpeechRecognitionAlternative
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class GoogleCloudVideointelligenceV1SpeechTranscription
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
73
85
  class GoogleCloudVideointelligenceV1VideoAnnotationProgress
74
86
  class Representation < Google::Apis::Core::JsonRepresentation; end
75
87
 
@@ -88,6 +100,12 @@ module Google
88
100
  include Google::Apis::Core::JsonObjectSupport
89
101
  end
90
102
 
103
+ class GoogleCloudVideointelligenceV1WordInfo
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
91
109
  class GoogleCloudVideointelligenceV1beta2AnnotateVideoProgress
92
110
  class Representation < Google::Apis::Core::JsonRepresentation; end
93
111
 
@@ -136,6 +154,18 @@ module Google
136
154
  include Google::Apis::Core::JsonObjectSupport
137
155
  end
138
156
 
157
+ class GoogleCloudVideointelligenceV1beta2SpeechRecognitionAlternative
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
163
+ class GoogleCloudVideointelligenceV1beta2SpeechTranscription
164
+ class Representation < Google::Apis::Core::JsonRepresentation; end
165
+
166
+ include Google::Apis::Core::JsonObjectSupport
167
+ end
168
+
139
169
  class GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress
140
170
  class Representation < Google::Apis::Core::JsonRepresentation; end
141
171
 
@@ -154,6 +184,12 @@ module Google
154
184
  include Google::Apis::Core::JsonObjectSupport
155
185
  end
156
186
 
187
+ class GoogleCloudVideointelligenceV1beta2WordInfo
188
+ class Representation < Google::Apis::Core::JsonRepresentation; end
189
+
190
+ include Google::Apis::Core::JsonObjectSupport
191
+ end
192
+
157
193
  class GoogleCloudVideointelligenceV1p1beta1AnnotateVideoProgress
158
194
  class Representation < Google::Apis::Core::JsonRepresentation; end
159
195
 
@@ -358,6 +394,18 @@ module Google
358
394
  include Google::Apis::Core::JsonObjectSupport
359
395
  end
360
396
 
397
+ class GoogleCloudVideointelligenceV1p2beta1SpeechRecognitionAlternative
398
+ class Representation < Google::Apis::Core::JsonRepresentation; end
399
+
400
+ include Google::Apis::Core::JsonObjectSupport
401
+ end
402
+
403
+ class GoogleCloudVideointelligenceV1p2beta1SpeechTranscription
404
+ class Representation < Google::Apis::Core::JsonRepresentation; end
405
+
406
+ include Google::Apis::Core::JsonObjectSupport
407
+ end
408
+
361
409
  class GoogleCloudVideointelligenceV1p2beta1TextAnnotation
362
410
  class Representation < Google::Apis::Core::JsonRepresentation; end
363
411
 
@@ -394,6 +442,12 @@ module Google
394
442
  include Google::Apis::Core::JsonObjectSupport
395
443
  end
396
444
 
445
+ class GoogleCloudVideointelligenceV1p2beta1WordInfo
446
+ class Representation < Google::Apis::Core::JsonRepresentation; end
447
+
448
+ include Google::Apis::Core::JsonObjectSupport
449
+ end
450
+
397
451
  class GoogleLongrunningOperation
398
452
  class Representation < Google::Apis::Core::JsonRepresentation; end
399
453
 
@@ -478,6 +532,25 @@ module Google
478
532
  end
479
533
  end
480
534
 
535
+ class GoogleCloudVideointelligenceV1SpeechRecognitionAlternative
536
+ # @private
537
+ class Representation < Google::Apis::Core::JsonRepresentation
538
+ property :confidence, as: 'confidence'
539
+ property :transcript, as: 'transcript'
540
+ collection :words, as: 'words', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1WordInfo, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1WordInfo::Representation
541
+
542
+ end
543
+ end
544
+
545
+ class GoogleCloudVideointelligenceV1SpeechTranscription
546
+ # @private
547
+ class Representation < Google::Apis::Core::JsonRepresentation
548
+ collection :alternatives, as: 'alternatives', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1SpeechRecognitionAlternative, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1SpeechRecognitionAlternative::Representation
549
+
550
+ property :language_code, as: 'languageCode'
551
+ end
552
+ end
553
+
481
554
  class GoogleCloudVideointelligenceV1VideoAnnotationProgress
482
555
  # @private
483
556
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -504,6 +577,8 @@ module Google
504
577
 
505
578
  collection :shot_label_annotations, as: 'shotLabelAnnotations', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1LabelAnnotation, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1LabelAnnotation::Representation
506
579
 
580
+ collection :speech_transcriptions, as: 'speechTranscriptions', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1SpeechTranscription, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1SpeechTranscription::Representation
581
+
507
582
  end
508
583
  end
509
584
 
@@ -515,6 +590,17 @@ module Google
515
590
  end
516
591
  end
517
592
 
593
+ class GoogleCloudVideointelligenceV1WordInfo
594
+ # @private
595
+ class Representation < Google::Apis::Core::JsonRepresentation
596
+ property :confidence, as: 'confidence'
597
+ property :end_time, as: 'endTime'
598
+ property :speaker_tag, as: 'speakerTag'
599
+ property :start_time, as: 'startTime'
600
+ property :word, as: 'word'
601
+ end
602
+ end
603
+
518
604
  class GoogleCloudVideointelligenceV1beta2AnnotateVideoProgress
519
605
  # @private
520
606
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -587,6 +673,25 @@ module Google
587
673
  end
588
674
  end
589
675
 
676
+ class GoogleCloudVideointelligenceV1beta2SpeechRecognitionAlternative
677
+ # @private
678
+ class Representation < Google::Apis::Core::JsonRepresentation
679
+ property :confidence, as: 'confidence'
680
+ property :transcript, as: 'transcript'
681
+ collection :words, as: 'words', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1beta2WordInfo, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1beta2WordInfo::Representation
682
+
683
+ end
684
+ end
685
+
686
+ class GoogleCloudVideointelligenceV1beta2SpeechTranscription
687
+ # @private
688
+ class Representation < Google::Apis::Core::JsonRepresentation
689
+ collection :alternatives, as: 'alternatives', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1beta2SpeechRecognitionAlternative, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1beta2SpeechRecognitionAlternative::Representation
690
+
691
+ property :language_code, as: 'languageCode'
692
+ end
693
+ end
694
+
590
695
  class GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress
591
696
  # @private
592
697
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -613,6 +718,8 @@ module Google
613
718
 
614
719
  collection :shot_label_annotations, as: 'shotLabelAnnotations', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1beta2LabelAnnotation, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1beta2LabelAnnotation::Representation
615
720
 
721
+ collection :speech_transcriptions, as: 'speechTranscriptions', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1beta2SpeechTranscription, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1beta2SpeechTranscription::Representation
722
+
616
723
  end
617
724
  end
618
725
 
@@ -624,6 +731,17 @@ module Google
624
731
  end
625
732
  end
626
733
 
734
+ class GoogleCloudVideointelligenceV1beta2WordInfo
735
+ # @private
736
+ class Representation < Google::Apis::Core::JsonRepresentation
737
+ property :confidence, as: 'confidence'
738
+ property :end_time, as: 'endTime'
739
+ property :speaker_tag, as: 'speakerTag'
740
+ property :start_time, as: 'startTime'
741
+ property :word, as: 'word'
742
+ end
743
+ end
744
+
627
745
  class GoogleCloudVideointelligenceV1p1beta1AnnotateVideoProgress
628
746
  # @private
629
747
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -754,6 +872,7 @@ module Google
754
872
  class Representation < Google::Apis::Core::JsonRepresentation
755
873
  collection :alternatives, as: 'alternatives', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p1beta1SpeechRecognitionAlternative, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p1beta1SpeechRecognitionAlternative::Representation
756
874
 
875
+ property :language_code, as: 'languageCode'
757
876
  end
758
877
  end
759
878
 
@@ -959,12 +1078,28 @@ module Google
959
1078
  end
960
1079
  end
961
1080
 
962
- class GoogleCloudVideointelligenceV1p2beta1TextAnnotation
1081
+ class GoogleCloudVideointelligenceV1p2beta1SpeechRecognitionAlternative
963
1082
  # @private
964
1083
  class Representation < Google::Apis::Core::JsonRepresentation
965
1084
  property :confidence, as: 'confidence'
966
- collection :frames, as: 'frames', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1TextFrame, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1TextFrame::Representation
1085
+ property :transcript, as: 'transcript'
1086
+ collection :words, as: 'words', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1WordInfo, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1WordInfo::Representation
1087
+
1088
+ end
1089
+ end
967
1090
 
1091
+ class GoogleCloudVideointelligenceV1p2beta1SpeechTranscription
1092
+ # @private
1093
+ class Representation < Google::Apis::Core::JsonRepresentation
1094
+ collection :alternatives, as: 'alternatives', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1SpeechRecognitionAlternative, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1SpeechRecognitionAlternative::Representation
1095
+
1096
+ property :language_code, as: 'languageCode'
1097
+ end
1098
+ end
1099
+
1100
+ class GoogleCloudVideointelligenceV1p2beta1TextAnnotation
1101
+ # @private
1102
+ class Representation < Google::Apis::Core::JsonRepresentation
968
1103
  collection :segments, as: 'segments', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1TextSegment, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1TextSegment::Representation
969
1104
 
970
1105
  property :text, as: 'text'
@@ -983,6 +1118,9 @@ module Google
983
1118
  class GoogleCloudVideointelligenceV1p2beta1TextSegment
984
1119
  # @private
985
1120
  class Representation < Google::Apis::Core::JsonRepresentation
1121
+ property :confidence, as: 'confidence'
1122
+ collection :frames, as: 'frames', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1TextFrame, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1TextFrame::Representation
1123
+
986
1124
  property :segment, as: 'segment', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1VideoSegment, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1VideoSegment::Representation
987
1125
 
988
1126
  end
@@ -1016,6 +1154,8 @@ module Google
1016
1154
 
1017
1155
  collection :shot_label_annotations, as: 'shotLabelAnnotations', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1LabelAnnotation, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1LabelAnnotation::Representation
1018
1156
 
1157
+ collection :speech_transcriptions, as: 'speechTranscriptions', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1SpeechTranscription, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1SpeechTranscription::Representation
1158
+
1019
1159
  collection :text_annotations, as: 'textAnnotations', class: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1TextAnnotation, decorator: Google::Apis::VideointelligenceV1p1beta1::GoogleCloudVideointelligenceV1p2beta1TextAnnotation::Representation
1020
1160
 
1021
1161
  end
@@ -1029,6 +1169,17 @@ module Google
1029
1169
  end
1030
1170
  end
1031
1171
 
1172
+ class GoogleCloudVideointelligenceV1p2beta1WordInfo
1173
+ # @private
1174
+ class Representation < Google::Apis::Core::JsonRepresentation
1175
+ property :confidence, as: 'confidence'
1176
+ property :end_time, as: 'endTime'
1177
+ property :speaker_tag, as: 'speakerTag'
1178
+ property :start_time, as: 'startTime'
1179
+ property :word, as: 'word'
1180
+ end
1181
+ end
1182
+
1032
1183
  class GoogleLongrunningOperation
1033
1184
  # @private
1034
1185
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -22,7 +22,8 @@ module Google
22
22
  module VideointelligenceV1p1beta1
23
23
  # Cloud Video Intelligence API
24
24
  #
25
- # Cloud Video Intelligence API.
25
+ # Detects objects, explicit content, and scene changes in videos. It also
26
+ # specifies the region for annotation and transcribes speech to text.
26
27
  #
27
28
  # @example
28
29
  # require 'google/apis/videointelligence_v1p1beta1'
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/vision/
28
28
  module VisionV1
29
29
  VERSION = 'V1'
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'
@@ -22,6 +22,27 @@ module Google
22
22
  module Apis
23
23
  module VisionV1
24
24
 
25
+ # Request message for the `AddProductToProductSet` method.
26
+ class AddProductToProductSetRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The resource name for the Product to be added to this ProductSet.
30
+ # Format is:
31
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`
32
+ # Corresponds to the JSON property `product`
33
+ # @return [String]
34
+ attr_accessor :product
35
+
36
+ def initialize(**args)
37
+ update!(**args)
38
+ end
39
+
40
+ # Update properties of this object
41
+ def update!(**args)
42
+ @product = args[:product] if args.key?(:product)
43
+ end
44
+ end
45
+
25
46
  # Response to a single file annotation request. A file may contain one or more
26
47
  # images, which individually have their own responses.
27
48
  class AnnotateFileResponse
@@ -180,6 +201,11 @@ module Google
180
201
  # @return [Array<Google::Apis::VisionV1::EntityAnnotation>]
181
202
  attr_accessor :logo_annotations
182
203
 
204
+ # Results for a product search request.
205
+ # Corresponds to the JSON property `productSearchResults`
206
+ # @return [Google::Apis::VisionV1::ProductSearchResults]
207
+ attr_accessor :product_search_results
208
+
183
209
  # Set of features pertaining to the image, computed by computer vision
184
210
  # methods over safe-search verticals (for example, adult, spoof, medical,
185
211
  # violence).
@@ -213,6 +239,7 @@ module Google
213
239
  @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
214
240
  @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
215
241
  @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
242
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
216
243
  @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
217
244
  @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
218
245
  @web_detection = args[:web_detection] if args.key?(:web_detection)
@@ -353,6 +380,40 @@ module Google
353
380
  end
354
381
  end
355
382
 
383
+ # Metadata for the batch operations such as the current state.
384
+ # This is included in the `metadata` field of the `Operation` returned by the
385
+ # `GetOperation` call of the `google::longrunning::Operations` service.
386
+ class BatchOperationMetadata
387
+ include Google::Apis::Core::Hashable
388
+
389
+ # The time when the batch request is finished and
390
+ # google.longrunning.Operation.done is set to true.
391
+ # Corresponds to the JSON property `endTime`
392
+ # @return [String]
393
+ attr_accessor :end_time
394
+
395
+ # The current state of the batch operation.
396
+ # Corresponds to the JSON property `state`
397
+ # @return [String]
398
+ attr_accessor :state
399
+
400
+ # The time when the batch request was submitted to the server.
401
+ # Corresponds to the JSON property `submitTime`
402
+ # @return [String]
403
+ attr_accessor :submit_time
404
+
405
+ def initialize(**args)
406
+ update!(**args)
407
+ end
408
+
409
+ # Update properties of this object
410
+ def update!(**args)
411
+ @end_time = args[:end_time] if args.key?(:end_time)
412
+ @state = args[:state] if args.key?(:state)
413
+ @submit_time = args[:submit_time] if args.key?(:submit_time)
414
+ end
415
+ end
416
+
356
417
  # Logical element on the page.
357
418
  class Block
358
419
  include Google::Apis::Core::Hashable
@@ -1277,6 +1338,11 @@ module Google
1277
1338
  # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1EntityAnnotation>]
1278
1339
  attr_accessor :logo_annotations
1279
1340
 
1341
+ # Results for a product search request.
1342
+ # Corresponds to the JSON property `productSearchResults`
1343
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1ProductSearchResults]
1344
+ attr_accessor :product_search_results
1345
+
1280
1346
  # Set of features pertaining to the image, computed by computer vision
1281
1347
  # methods over safe-search verticals (for example, adult, spoof, medical,
1282
1348
  # violence).
@@ -1310,6 +1376,7 @@ module Google
1310
1376
  @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
1311
1377
  @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
1312
1378
  @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
1379
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
1313
1380
  @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
1314
1381
  @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
1315
1382
  @web_detection = args[:web_detection] if args.key?(:web_detection)
@@ -2205,6 +2272,183 @@ module Google
2205
2272
  end
2206
2273
  end
2207
2274
 
2275
+ # A Product contains ReferenceImages.
2276
+ class GoogleCloudVisionV1p1beta1Product
2277
+ include Google::Apis::Core::Hashable
2278
+
2279
+ # User-provided metadata to be stored with this product. Must be at most 4096
2280
+ # characters long.
2281
+ # Corresponds to the JSON property `description`
2282
+ # @return [String]
2283
+ attr_accessor :description
2284
+
2285
+ # The user-provided name for this Product. Must not be empty. Must be at most
2286
+ # 4096 characters long.
2287
+ # Corresponds to the JSON property `displayName`
2288
+ # @return [String]
2289
+ attr_accessor :display_name
2290
+
2291
+ # The resource name of the product.
2292
+ # Format is:
2293
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
2294
+ # This field is ignored when creating a product.
2295
+ # Corresponds to the JSON property `name`
2296
+ # @return [String]
2297
+ attr_accessor :name
2298
+
2299
+ # The category for the product identified by the reference image. This should
2300
+ # be either "homegoods", "apparel", or "toys".
2301
+ # This field is immutable.
2302
+ # Corresponds to the JSON property `productCategory`
2303
+ # @return [String]
2304
+ attr_accessor :product_category
2305
+
2306
+ # Key-value pairs that can be attached to a product. At query time,
2307
+ # constraints can be specified based on the product_labels.
2308
+ # Note that integer values can be provided as strings, e.g. "1199". Only
2309
+ # strings with integer values can match a range-based restriction which is
2310
+ # to be supported soon.
2311
+ # Multiple values can be assigned to the same key. One product may have up to
2312
+ # 100 product_labels.
2313
+ # Corresponds to the JSON property `productLabels`
2314
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1ProductKeyValue>]
2315
+ attr_accessor :product_labels
2316
+
2317
+ def initialize(**args)
2318
+ update!(**args)
2319
+ end
2320
+
2321
+ # Update properties of this object
2322
+ def update!(**args)
2323
+ @description = args[:description] if args.key?(:description)
2324
+ @display_name = args[:display_name] if args.key?(:display_name)
2325
+ @name = args[:name] if args.key?(:name)
2326
+ @product_category = args[:product_category] if args.key?(:product_category)
2327
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
2328
+ end
2329
+ end
2330
+
2331
+ # A product label represented as a key-value pair.
2332
+ class GoogleCloudVisionV1p1beta1ProductKeyValue
2333
+ include Google::Apis::Core::Hashable
2334
+
2335
+ # The key of the label attached to the product. Cannot be empty and cannot
2336
+ # exceed 128 bytes.
2337
+ # Corresponds to the JSON property `key`
2338
+ # @return [String]
2339
+ attr_accessor :key
2340
+
2341
+ # The value of the label attached to the product. Cannot be empty and
2342
+ # cannot exceed 128 bytes.
2343
+ # Corresponds to the JSON property `value`
2344
+ # @return [String]
2345
+ attr_accessor :value
2346
+
2347
+ def initialize(**args)
2348
+ update!(**args)
2349
+ end
2350
+
2351
+ # Update properties of this object
2352
+ def update!(**args)
2353
+ @key = args[:key] if args.key?(:key)
2354
+ @value = args[:value] if args.key?(:value)
2355
+ end
2356
+ end
2357
+
2358
+ # Results for a product search request.
2359
+ class GoogleCloudVisionV1p1beta1ProductSearchResults
2360
+ include Google::Apis::Core::Hashable
2361
+
2362
+ # Timestamp of the index which provided these results. Changes made after
2363
+ # this time are not reflected in the current results.
2364
+ # Corresponds to the JSON property `indexTime`
2365
+ # @return [String]
2366
+ attr_accessor :index_time
2367
+
2368
+ # List of results grouped by products detected in the query image. Each entry
2369
+ # corresponds to one bounding polygon in the query image, and contains the
2370
+ # matching products specific to that region. There may be duplicate product
2371
+ # matches in the union of all the per-product results.
2372
+ # Corresponds to the JSON property `productGroupedResults`
2373
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult>]
2374
+ attr_accessor :product_grouped_results
2375
+
2376
+ # List of results, one for each product match.
2377
+ # Corresponds to the JSON property `results`
2378
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1ProductSearchResultsResult>]
2379
+ attr_accessor :results
2380
+
2381
+ def initialize(**args)
2382
+ update!(**args)
2383
+ end
2384
+
2385
+ # Update properties of this object
2386
+ def update!(**args)
2387
+ @index_time = args[:index_time] if args.key?(:index_time)
2388
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
2389
+ @results = args[:results] if args.key?(:results)
2390
+ end
2391
+ end
2392
+
2393
+ # Information about the products similar to a single product in a query
2394
+ # image.
2395
+ class GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult
2396
+ include Google::Apis::Core::Hashable
2397
+
2398
+ # A bounding polygon for the detected image annotation.
2399
+ # Corresponds to the JSON property `boundingPoly`
2400
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1BoundingPoly]
2401
+ attr_accessor :bounding_poly
2402
+
2403
+ # List of results, one for each product match.
2404
+ # Corresponds to the JSON property `results`
2405
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1ProductSearchResultsResult>]
2406
+ attr_accessor :results
2407
+
2408
+ def initialize(**args)
2409
+ update!(**args)
2410
+ end
2411
+
2412
+ # Update properties of this object
2413
+ def update!(**args)
2414
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
2415
+ @results = args[:results] if args.key?(:results)
2416
+ end
2417
+ end
2418
+
2419
+ # Information about a product.
2420
+ class GoogleCloudVisionV1p1beta1ProductSearchResultsResult
2421
+ include Google::Apis::Core::Hashable
2422
+
2423
+ # The resource name of the image from the product that is the closest match
2424
+ # to the query.
2425
+ # Corresponds to the JSON property `image`
2426
+ # @return [String]
2427
+ attr_accessor :image
2428
+
2429
+ # A Product contains ReferenceImages.
2430
+ # Corresponds to the JSON property `product`
2431
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1Product]
2432
+ attr_accessor :product
2433
+
2434
+ # A confidence level on the match, ranging from 0 (no confidence) to
2435
+ # 1 (full confidence).
2436
+ # Corresponds to the JSON property `score`
2437
+ # @return [Float]
2438
+ attr_accessor :score
2439
+
2440
+ def initialize(**args)
2441
+ update!(**args)
2442
+ end
2443
+
2444
+ # Update properties of this object
2445
+ def update!(**args)
2446
+ @image = args[:image] if args.key?(:image)
2447
+ @product = args[:product] if args.key?(:product)
2448
+ @score = args[:score] if args.key?(:score)
2449
+ end
2450
+ end
2451
+
2208
2452
  # A `Property` consists of a user-supplied name/value pair.
2209
2453
  class GoogleCloudVisionV1p1beta1Property
2210
2454
  include Google::Apis::Core::Hashable
@@ -2808,6 +3052,11 @@ module Google
2808
3052
  # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1EntityAnnotation>]
2809
3053
  attr_accessor :logo_annotations
2810
3054
 
3055
+ # Results for a product search request.
3056
+ # Corresponds to the JSON property `productSearchResults`
3057
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1ProductSearchResults]
3058
+ attr_accessor :product_search_results
3059
+
2811
3060
  # Set of features pertaining to the image, computed by computer vision
2812
3061
  # methods over safe-search verticals (for example, adult, spoof, medical,
2813
3062
  # violence).
@@ -2841,6 +3090,7 @@ module Google
2841
3090
  @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
2842
3091
  @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
2843
3092
  @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
3093
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
2844
3094
  @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
2845
3095
  @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
2846
3096
  @web_detection = args[:web_detection] if args.key?(:web_detection)
@@ -3769,24 +4019,201 @@ module Google
3769
4019
  end
3770
4020
  end
3771
4021
 
3772
- # A `Property` consists of a user-supplied name/value pair.
3773
- class GoogleCloudVisionV1p2beta1Property
4022
+ # A Product contains ReferenceImages.
4023
+ class GoogleCloudVisionV1p2beta1Product
3774
4024
  include Google::Apis::Core::Hashable
3775
4025
 
3776
- # Name of the property.
4026
+ # User-provided metadata to be stored with this product. Must be at most 4096
4027
+ # characters long.
4028
+ # Corresponds to the JSON property `description`
4029
+ # @return [String]
4030
+ attr_accessor :description
4031
+
4032
+ # The user-provided name for this Product. Must not be empty. Must be at most
4033
+ # 4096 characters long.
4034
+ # Corresponds to the JSON property `displayName`
4035
+ # @return [String]
4036
+ attr_accessor :display_name
4037
+
4038
+ # The resource name of the product.
4039
+ # Format is:
4040
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
4041
+ # This field is ignored when creating a product.
3777
4042
  # Corresponds to the JSON property `name`
3778
4043
  # @return [String]
3779
4044
  attr_accessor :name
3780
4045
 
3781
- # Value of numeric properties.
3782
- # Corresponds to the JSON property `uint64Value`
3783
- # @return [Fixnum]
3784
- attr_accessor :uint64_value
3785
-
3786
- # Value of the property.
3787
- # Corresponds to the JSON property `value`
4046
+ # The category for the product identified by the reference image. This should
4047
+ # be either "homegoods", "apparel", or "toys".
4048
+ # This field is immutable.
4049
+ # Corresponds to the JSON property `productCategory`
3788
4050
  # @return [String]
3789
- attr_accessor :value
4051
+ attr_accessor :product_category
4052
+
4053
+ # Key-value pairs that can be attached to a product. At query time,
4054
+ # constraints can be specified based on the product_labels.
4055
+ # Note that integer values can be provided as strings, e.g. "1199". Only
4056
+ # strings with integer values can match a range-based restriction which is
4057
+ # to be supported soon.
4058
+ # Multiple values can be assigned to the same key. One product may have up to
4059
+ # 100 product_labels.
4060
+ # Corresponds to the JSON property `productLabels`
4061
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1ProductKeyValue>]
4062
+ attr_accessor :product_labels
4063
+
4064
+ def initialize(**args)
4065
+ update!(**args)
4066
+ end
4067
+
4068
+ # Update properties of this object
4069
+ def update!(**args)
4070
+ @description = args[:description] if args.key?(:description)
4071
+ @display_name = args[:display_name] if args.key?(:display_name)
4072
+ @name = args[:name] if args.key?(:name)
4073
+ @product_category = args[:product_category] if args.key?(:product_category)
4074
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
4075
+ end
4076
+ end
4077
+
4078
+ # A product label represented as a key-value pair.
4079
+ class GoogleCloudVisionV1p2beta1ProductKeyValue
4080
+ include Google::Apis::Core::Hashable
4081
+
4082
+ # The key of the label attached to the product. Cannot be empty and cannot
4083
+ # exceed 128 bytes.
4084
+ # Corresponds to the JSON property `key`
4085
+ # @return [String]
4086
+ attr_accessor :key
4087
+
4088
+ # The value of the label attached to the product. Cannot be empty and
4089
+ # cannot exceed 128 bytes.
4090
+ # Corresponds to the JSON property `value`
4091
+ # @return [String]
4092
+ attr_accessor :value
4093
+
4094
+ def initialize(**args)
4095
+ update!(**args)
4096
+ end
4097
+
4098
+ # Update properties of this object
4099
+ def update!(**args)
4100
+ @key = args[:key] if args.key?(:key)
4101
+ @value = args[:value] if args.key?(:value)
4102
+ end
4103
+ end
4104
+
4105
+ # Results for a product search request.
4106
+ class GoogleCloudVisionV1p2beta1ProductSearchResults
4107
+ include Google::Apis::Core::Hashable
4108
+
4109
+ # Timestamp of the index which provided these results. Changes made after
4110
+ # this time are not reflected in the current results.
4111
+ # Corresponds to the JSON property `indexTime`
4112
+ # @return [String]
4113
+ attr_accessor :index_time
4114
+
4115
+ # List of results grouped by products detected in the query image. Each entry
4116
+ # corresponds to one bounding polygon in the query image, and contains the
4117
+ # matching products specific to that region. There may be duplicate product
4118
+ # matches in the union of all the per-product results.
4119
+ # Corresponds to the JSON property `productGroupedResults`
4120
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult>]
4121
+ attr_accessor :product_grouped_results
4122
+
4123
+ # List of results, one for each product match.
4124
+ # Corresponds to the JSON property `results`
4125
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1ProductSearchResultsResult>]
4126
+ attr_accessor :results
4127
+
4128
+ def initialize(**args)
4129
+ update!(**args)
4130
+ end
4131
+
4132
+ # Update properties of this object
4133
+ def update!(**args)
4134
+ @index_time = args[:index_time] if args.key?(:index_time)
4135
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
4136
+ @results = args[:results] if args.key?(:results)
4137
+ end
4138
+ end
4139
+
4140
+ # Information about the products similar to a single product in a query
4141
+ # image.
4142
+ class GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult
4143
+ include Google::Apis::Core::Hashable
4144
+
4145
+ # A bounding polygon for the detected image annotation.
4146
+ # Corresponds to the JSON property `boundingPoly`
4147
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1BoundingPoly]
4148
+ attr_accessor :bounding_poly
4149
+
4150
+ # List of results, one for each product match.
4151
+ # Corresponds to the JSON property `results`
4152
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1ProductSearchResultsResult>]
4153
+ attr_accessor :results
4154
+
4155
+ def initialize(**args)
4156
+ update!(**args)
4157
+ end
4158
+
4159
+ # Update properties of this object
4160
+ def update!(**args)
4161
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
4162
+ @results = args[:results] if args.key?(:results)
4163
+ end
4164
+ end
4165
+
4166
+ # Information about a product.
4167
+ class GoogleCloudVisionV1p2beta1ProductSearchResultsResult
4168
+ include Google::Apis::Core::Hashable
4169
+
4170
+ # The resource name of the image from the product that is the closest match
4171
+ # to the query.
4172
+ # Corresponds to the JSON property `image`
4173
+ # @return [String]
4174
+ attr_accessor :image
4175
+
4176
+ # A Product contains ReferenceImages.
4177
+ # Corresponds to the JSON property `product`
4178
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1Product]
4179
+ attr_accessor :product
4180
+
4181
+ # A confidence level on the match, ranging from 0 (no confidence) to
4182
+ # 1 (full confidence).
4183
+ # Corresponds to the JSON property `score`
4184
+ # @return [Float]
4185
+ attr_accessor :score
4186
+
4187
+ def initialize(**args)
4188
+ update!(**args)
4189
+ end
4190
+
4191
+ # Update properties of this object
4192
+ def update!(**args)
4193
+ @image = args[:image] if args.key?(:image)
4194
+ @product = args[:product] if args.key?(:product)
4195
+ @score = args[:score] if args.key?(:score)
4196
+ end
4197
+ end
4198
+
4199
+ # A `Property` consists of a user-supplied name/value pair.
4200
+ class GoogleCloudVisionV1p2beta1Property
4201
+ include Google::Apis::Core::Hashable
4202
+
4203
+ # Name of the property.
4204
+ # Corresponds to the JSON property `name`
4205
+ # @return [String]
4206
+ attr_accessor :name
4207
+
4208
+ # Value of numeric properties.
4209
+ # Corresponds to the JSON property `uint64Value`
4210
+ # @return [Fixnum]
4211
+ attr_accessor :uint64_value
4212
+
4213
+ # Value of the property.
4214
+ # Corresponds to the JSON property `value`
4215
+ # @return [String]
4216
+ attr_accessor :value
3790
4217
 
3791
4218
  def initialize(**args)
3792
4219
  update!(**args)
@@ -5498,6 +5925,14 @@ module Google
5498
5925
  # @return [String]
5499
5926
  attr_accessor :index_time
5500
5927
 
5928
+ # List of results grouped by products detected in the query image. Each entry
5929
+ # corresponds to one bounding polygon in the query image, and contains the
5930
+ # matching products specific to that region. There may be duplicate product
5931
+ # matches in the union of all the per-product results.
5932
+ # Corresponds to the JSON property `productGroupedResults`
5933
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult>]
5934
+ attr_accessor :product_grouped_results
5935
+
5501
5936
  # List of results, one for each product match.
5502
5937
  # Corresponds to the JSON property `results`
5503
5938
  # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p3beta1ProductSearchResultsResult>]
@@ -5510,6 +5945,33 @@ module Google
5510
5945
  # Update properties of this object
5511
5946
  def update!(**args)
5512
5947
  @index_time = args[:index_time] if args.key?(:index_time)
5948
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
5949
+ @results = args[:results] if args.key?(:results)
5950
+ end
5951
+ end
5952
+
5953
+ # Information about the products similar to a single product in a query
5954
+ # image.
5955
+ class GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult
5956
+ include Google::Apis::Core::Hashable
5957
+
5958
+ # A bounding polygon for the detected image annotation.
5959
+ # Corresponds to the JSON property `boundingPoly`
5960
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p3beta1BoundingPoly]
5961
+ attr_accessor :bounding_poly
5962
+
5963
+ # List of results, one for each product match.
5964
+ # Corresponds to the JSON property `results`
5965
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p3beta1ProductSearchResultsResult>]
5966
+ attr_accessor :results
5967
+
5968
+ def initialize(**args)
5969
+ update!(**args)
5970
+ end
5971
+
5972
+ # Update properties of this object
5973
+ def update!(**args)
5974
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
5513
5975
  @results = args[:results] if args.key?(:results)
5514
5976
  end
5515
5977
  end
@@ -6068,6 +6530,32 @@ module Google
6068
6530
  end
6069
6531
  end
6070
6532
 
6533
+ # Information about the products similar to a single product in a query
6534
+ # image.
6535
+ class GroupedResult
6536
+ include Google::Apis::Core::Hashable
6537
+
6538
+ # A bounding polygon for the detected image annotation.
6539
+ # Corresponds to the JSON property `boundingPoly`
6540
+ # @return [Google::Apis::VisionV1::BoundingPoly]
6541
+ attr_accessor :bounding_poly
6542
+
6543
+ # List of results, one for each product match.
6544
+ # Corresponds to the JSON property `results`
6545
+ # @return [Array<Google::Apis::VisionV1::Result>]
6546
+ attr_accessor :results
6547
+
6548
+ def initialize(**args)
6549
+ update!(**args)
6550
+ end
6551
+
6552
+ # Update properties of this object
6553
+ def update!(**args)
6554
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
6555
+ @results = args[:results] if args.key?(:results)
6556
+ end
6557
+ end
6558
+
6071
6559
  # Client image to perform Google Cloud Vision API tasks over.
6072
6560
  class Image
6073
6561
  include Google::Apis::Core::Hashable
@@ -6149,6 +6637,11 @@ module Google
6149
6637
  # @return [Google::Apis::VisionV1::LatLongRect]
6150
6638
  attr_accessor :lat_long_rect
6151
6639
 
6640
+ # Parameters for a product search request.
6641
+ # Corresponds to the JSON property `productSearchParams`
6642
+ # @return [Google::Apis::VisionV1::ProductSearchParams]
6643
+ attr_accessor :product_search_params
6644
+
6152
6645
  # Parameters for web detection request.
6153
6646
  # Corresponds to the JSON property `webDetectionParams`
6154
6647
  # @return [Google::Apis::VisionV1::WebDetectionParams]
@@ -6163,6 +6656,7 @@ module Google
6163
6656
  @crop_hints_params = args[:crop_hints_params] if args.key?(:crop_hints_params)
6164
6657
  @language_hints = args[:language_hints] if args.key?(:language_hints)
6165
6658
  @lat_long_rect = args[:lat_long_rect] if args.key?(:lat_long_rect)
6659
+ @product_search_params = args[:product_search_params] if args.key?(:product_search_params)
6166
6660
  @web_detection_params = args[:web_detection_params] if args.key?(:web_detection_params)
6167
6661
  end
6168
6662
  end
@@ -6228,21 +6722,82 @@ module Google
6228
6722
  end
6229
6723
  end
6230
6724
 
6231
- # The desired input location and metadata.
6232
- class InputConfig
6725
+ # The Google Cloud Storage location for a csv file which preserves a list of
6726
+ # ImportProductSetRequests in each line.
6727
+ class ImportProductSetsGcsSource
6233
6728
  include Google::Apis::Core::Hashable
6234
6729
 
6235
- # The Google Cloud Storage location where the input will be read from.
6730
+ # The Google Cloud Storage URI of the input csv file.
6731
+ # The URI must start with `gs://`.
6732
+ # The format of the input csv file should be one image per line.
6733
+ # In each line, there are 8 columns.
6734
+ # 1. image-uri
6735
+ # 2. image-id
6736
+ # 3. product-set-id
6737
+ # 4. product-id
6738
+ # 5. product-category
6739
+ # 6. product-display-name
6740
+ # 7. labels
6741
+ # 8. bounding-poly
6742
+ # The `image-uri`, `product-set-id`, `product-id`, and `product-category`
6743
+ # columns are required. All other columns are optional.
6744
+ # If the `ProductSet` or `Product` specified by the `product-set-id` and
6745
+ # `product-id` values does not exist, then the system will create a new
6746
+ # `ProductSet` or `Product` for the image. In this case, the
6747
+ # `product-display-name` column refers to
6748
+ # display_name, the
6749
+ # `product-category` column refers to
6750
+ # product_category, and the
6751
+ # `labels` column refers to product_labels.
6752
+ # The `image-id` column is optional but must be unique if provided. If it is
6753
+ # empty, the system will automatically assign a unique id to the image.
6754
+ # The `product-display-name` column is optional. If it is empty, the system
6755
+ # sets the display_name field for the product to a
6756
+ # space (" "). You can update the `display_name` later by using the API.
6757
+ # If a `Product` with the specified `product-id` already exists, then the
6758
+ # system ignores the `product-display-name`, `product-category`, and `labels`
6759
+ # columns.
6760
+ # The `labels` column (optional) is a line containing a list of
6761
+ # comma-separated key-value pairs, in the following format:
6762
+ # "key_1=value_1,key_2=value_2,...,key_n=value_n"
6763
+ # The `bounding-poly` column (optional) identifies one region of
6764
+ # interest from the image in the same manner as `CreateReferenceImage`. If
6765
+ # you do not specify the `bounding-poly` column, then the system will try to
6766
+ # detect regions of interest automatically.
6767
+ # At most one `bounding-poly` column is allowed per line. If the image
6768
+ # contains multiple regions of interest, add a line to the CSV file that
6769
+ # includes the same product information, and the `bounding-poly` values for
6770
+ # each region of interest.
6771
+ # The `bounding-poly` column must contain an even number of comma-separated
6772
+ # numbers, in the format "p1_x,p1_y,p2_x,p2_y,...,pn_x,pn_y". Use
6773
+ # non-negative integers for absolute bounding polygons, and float values
6774
+ # in [0, 1] for normalized bounding polygons.
6775
+ # The system will resize the image if the image resolution is too
6776
+ # large to process (larger than 20MP).
6777
+ # Corresponds to the JSON property `csvFileUri`
6778
+ # @return [String]
6779
+ attr_accessor :csv_file_uri
6780
+
6781
+ def initialize(**args)
6782
+ update!(**args)
6783
+ end
6784
+
6785
+ # Update properties of this object
6786
+ def update!(**args)
6787
+ @csv_file_uri = args[:csv_file_uri] if args.key?(:csv_file_uri)
6788
+ end
6789
+ end
6790
+
6791
+ # The input content for the `ImportProductSets` method.
6792
+ class ImportProductSetsInputConfig
6793
+ include Google::Apis::Core::Hashable
6794
+
6795
+ # The Google Cloud Storage location for a csv file which preserves a list of
6796
+ # ImportProductSetRequests in each line.
6236
6797
  # Corresponds to the JSON property `gcsSource`
6237
- # @return [Google::Apis::VisionV1::GcsSource]
6798
+ # @return [Google::Apis::VisionV1::ImportProductSetsGcsSource]
6238
6799
  attr_accessor :gcs_source
6239
6800
 
6240
- # The type of the file. Currently only "application/pdf" and "image/tiff"
6241
- # are supported. Wildcards are not supported.
6242
- # Corresponds to the JSON property `mimeType`
6243
- # @return [String]
6244
- attr_accessor :mime_type
6245
-
6246
6801
  def initialize(**args)
6247
6802
  update!(**args)
6248
6803
  end
@@ -6250,25 +6805,17 @@ module Google
6250
6805
  # Update properties of this object
6251
6806
  def update!(**args)
6252
6807
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
6253
- @mime_type = args[:mime_type] if args.key?(:mime_type)
6254
6808
  end
6255
6809
  end
6256
6810
 
6257
- # A face-specific landmark (for example, a face feature).
6258
- class Landmark
6811
+ # Request message for the `ImportProductSets` method.
6812
+ class ImportProductSetsRequest
6259
6813
  include Google::Apis::Core::Hashable
6260
6814
 
6261
- # A 3D position in the image, used primarily for Face detection landmarks.
6262
- # A valid Position must have both x and y coordinates.
6263
- # The position coordinates are in the same scale as the original image.
6264
- # Corresponds to the JSON property `position`
6265
- # @return [Google::Apis::VisionV1::Position]
6266
- attr_accessor :position
6267
-
6268
- # Face landmark type.
6269
- # Corresponds to the JSON property `type`
6270
- # @return [String]
6271
- attr_accessor :type
6815
+ # The input content for the `ImportProductSets` method.
6816
+ # Corresponds to the JSON property `inputConfig`
6817
+ # @return [Google::Apis::VisionV1::ImportProductSetsInputConfig]
6818
+ attr_accessor :input_config
6272
6819
 
6273
6820
  def initialize(**args)
6274
6821
  update!(**args)
@@ -6276,28 +6823,30 @@ module Google
6276
6823
 
6277
6824
  # Update properties of this object
6278
6825
  def update!(**args)
6279
- @position = args[:position] if args.key?(:position)
6280
- @type = args[:type] if args.key?(:type)
6826
+ @input_config = args[:input_config] if args.key?(:input_config)
6281
6827
  end
6282
6828
  end
6283
6829
 
6284
- # An object representing a latitude/longitude pair. This is expressed as a pair
6285
- # of doubles representing degrees latitude and degrees longitude. Unless
6286
- # specified otherwise, this must conform to the
6287
- # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
6288
- # standard</a>. Values must be within normalized ranges.
6289
- class LatLng
6830
+ # Response message for the `ImportProductSets` method.
6831
+ # This message is returned by the
6832
+ # google.longrunning.Operations.GetOperation method in the returned
6833
+ # google.longrunning.Operation.response field.
6834
+ class ImportProductSetsResponse
6290
6835
  include Google::Apis::Core::Hashable
6291
6836
 
6292
- # The latitude in degrees. It must be in the range [-90.0, +90.0].
6293
- # Corresponds to the JSON property `latitude`
6294
- # @return [Float]
6295
- attr_accessor :latitude
6837
+ # The list of reference_images that are imported successfully.
6838
+ # Corresponds to the JSON property `referenceImages`
6839
+ # @return [Array<Google::Apis::VisionV1::ReferenceImage>]
6840
+ attr_accessor :reference_images
6296
6841
 
6297
- # The longitude in degrees. It must be in the range [-180.0, +180.0].
6298
- # Corresponds to the JSON property `longitude`
6299
- # @return [Float]
6300
- attr_accessor :longitude
6842
+ # The rpc status for each ImportProductSet request, including both successes
6843
+ # and errors.
6844
+ # The number of statuses here matches the number of lines in the csv file,
6845
+ # and statuses[i] stores the success or failure status of processing the i-th
6846
+ # line of the csv, starting from line 0.
6847
+ # Corresponds to the JSON property `statuses`
6848
+ # @return [Array<Google::Apis::VisionV1::Status>]
6849
+ attr_accessor :statuses
6301
6850
 
6302
6851
  def initialize(**args)
6303
6852
  update!(**args)
@@ -6305,9 +6854,118 @@ module Google
6305
6854
 
6306
6855
  # Update properties of this object
6307
6856
  def update!(**args)
6308
- @latitude = args[:latitude] if args.key?(:latitude)
6309
- @longitude = args[:longitude] if args.key?(:longitude)
6310
- end
6857
+ @reference_images = args[:reference_images] if args.key?(:reference_images)
6858
+ @statuses = args[:statuses] if args.key?(:statuses)
6859
+ end
6860
+ end
6861
+
6862
+ # The desired input location and metadata.
6863
+ class InputConfig
6864
+ include Google::Apis::Core::Hashable
6865
+
6866
+ # The Google Cloud Storage location where the input will be read from.
6867
+ # Corresponds to the JSON property `gcsSource`
6868
+ # @return [Google::Apis::VisionV1::GcsSource]
6869
+ attr_accessor :gcs_source
6870
+
6871
+ # The type of the file. Currently only "application/pdf" and "image/tiff"
6872
+ # are supported. Wildcards are not supported.
6873
+ # Corresponds to the JSON property `mimeType`
6874
+ # @return [String]
6875
+ attr_accessor :mime_type
6876
+
6877
+ def initialize(**args)
6878
+ update!(**args)
6879
+ end
6880
+
6881
+ # Update properties of this object
6882
+ def update!(**args)
6883
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
6884
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
6885
+ end
6886
+ end
6887
+
6888
+ # A product label represented as a key-value pair.
6889
+ class KeyValue
6890
+ include Google::Apis::Core::Hashable
6891
+
6892
+ # The key of the label attached to the product. Cannot be empty and cannot
6893
+ # exceed 128 bytes.
6894
+ # Corresponds to the JSON property `key`
6895
+ # @return [String]
6896
+ attr_accessor :key
6897
+
6898
+ # The value of the label attached to the product. Cannot be empty and
6899
+ # cannot exceed 128 bytes.
6900
+ # Corresponds to the JSON property `value`
6901
+ # @return [String]
6902
+ attr_accessor :value
6903
+
6904
+ def initialize(**args)
6905
+ update!(**args)
6906
+ end
6907
+
6908
+ # Update properties of this object
6909
+ def update!(**args)
6910
+ @key = args[:key] if args.key?(:key)
6911
+ @value = args[:value] if args.key?(:value)
6912
+ end
6913
+ end
6914
+
6915
+ # A face-specific landmark (for example, a face feature).
6916
+ class Landmark
6917
+ include Google::Apis::Core::Hashable
6918
+
6919
+ # A 3D position in the image, used primarily for Face detection landmarks.
6920
+ # A valid Position must have both x and y coordinates.
6921
+ # The position coordinates are in the same scale as the original image.
6922
+ # Corresponds to the JSON property `position`
6923
+ # @return [Google::Apis::VisionV1::Position]
6924
+ attr_accessor :position
6925
+
6926
+ # Face landmark type.
6927
+ # Corresponds to the JSON property `type`
6928
+ # @return [String]
6929
+ attr_accessor :type
6930
+
6931
+ def initialize(**args)
6932
+ update!(**args)
6933
+ end
6934
+
6935
+ # Update properties of this object
6936
+ def update!(**args)
6937
+ @position = args[:position] if args.key?(:position)
6938
+ @type = args[:type] if args.key?(:type)
6939
+ end
6940
+ end
6941
+
6942
+ # An object representing a latitude/longitude pair. This is expressed as a pair
6943
+ # of doubles representing degrees latitude and degrees longitude. Unless
6944
+ # specified otherwise, this must conform to the
6945
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
6946
+ # standard</a>. Values must be within normalized ranges.
6947
+ class LatLng
6948
+ include Google::Apis::Core::Hashable
6949
+
6950
+ # The latitude in degrees. It must be in the range [-90.0, +90.0].
6951
+ # Corresponds to the JSON property `latitude`
6952
+ # @return [Float]
6953
+ attr_accessor :latitude
6954
+
6955
+ # The longitude in degrees. It must be in the range [-180.0, +180.0].
6956
+ # Corresponds to the JSON property `longitude`
6957
+ # @return [Float]
6958
+ attr_accessor :longitude
6959
+
6960
+ def initialize(**args)
6961
+ update!(**args)
6962
+ end
6963
+
6964
+ # Update properties of this object
6965
+ def update!(**args)
6966
+ @latitude = args[:latitude] if args.key?(:latitude)
6967
+ @longitude = args[:longitude] if args.key?(:longitude)
6968
+ end
6311
6969
  end
6312
6970
 
6313
6971
  # Rectangle determined by min and max `LatLng` pairs.
@@ -6368,6 +7026,115 @@ module Google
6368
7026
  end
6369
7027
  end
6370
7028
 
7029
+ # Response message for the `ListProductSets` method.
7030
+ class ListProductSetsResponse
7031
+ include Google::Apis::Core::Hashable
7032
+
7033
+ # Token to retrieve the next page of results, or empty if there are no more
7034
+ # results in the list.
7035
+ # Corresponds to the JSON property `nextPageToken`
7036
+ # @return [String]
7037
+ attr_accessor :next_page_token
7038
+
7039
+ # List of ProductSets.
7040
+ # Corresponds to the JSON property `productSets`
7041
+ # @return [Array<Google::Apis::VisionV1::ProductSet>]
7042
+ attr_accessor :product_sets
7043
+
7044
+ def initialize(**args)
7045
+ update!(**args)
7046
+ end
7047
+
7048
+ # Update properties of this object
7049
+ def update!(**args)
7050
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7051
+ @product_sets = args[:product_sets] if args.key?(:product_sets)
7052
+ end
7053
+ end
7054
+
7055
+ # Response message for the `ListProductsInProductSet` method.
7056
+ class ListProductsInProductSetResponse
7057
+ include Google::Apis::Core::Hashable
7058
+
7059
+ # Token to retrieve the next page of results, or empty if there are no more
7060
+ # results in the list.
7061
+ # Corresponds to the JSON property `nextPageToken`
7062
+ # @return [String]
7063
+ attr_accessor :next_page_token
7064
+
7065
+ # The list of Products.
7066
+ # Corresponds to the JSON property `products`
7067
+ # @return [Array<Google::Apis::VisionV1::Product>]
7068
+ attr_accessor :products
7069
+
7070
+ def initialize(**args)
7071
+ update!(**args)
7072
+ end
7073
+
7074
+ # Update properties of this object
7075
+ def update!(**args)
7076
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7077
+ @products = args[:products] if args.key?(:products)
7078
+ end
7079
+ end
7080
+
7081
+ # Response message for the `ListProducts` method.
7082
+ class ListProductsResponse
7083
+ include Google::Apis::Core::Hashable
7084
+
7085
+ # Token to retrieve the next page of results, or empty if there are no more
7086
+ # results in the list.
7087
+ # Corresponds to the JSON property `nextPageToken`
7088
+ # @return [String]
7089
+ attr_accessor :next_page_token
7090
+
7091
+ # List of products.
7092
+ # Corresponds to the JSON property `products`
7093
+ # @return [Array<Google::Apis::VisionV1::Product>]
7094
+ attr_accessor :products
7095
+
7096
+ def initialize(**args)
7097
+ update!(**args)
7098
+ end
7099
+
7100
+ # Update properties of this object
7101
+ def update!(**args)
7102
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7103
+ @products = args[:products] if args.key?(:products)
7104
+ end
7105
+ end
7106
+
7107
+ # Response message for the `ListReferenceImages` method.
7108
+ class ListReferenceImagesResponse
7109
+ include Google::Apis::Core::Hashable
7110
+
7111
+ # The next_page_token returned from a previous List request, if any.
7112
+ # Corresponds to the JSON property `nextPageToken`
7113
+ # @return [String]
7114
+ attr_accessor :next_page_token
7115
+
7116
+ # The maximum number of items to return. Default 10, maximum 100.
7117
+ # Corresponds to the JSON property `pageSize`
7118
+ # @return [Fixnum]
7119
+ attr_accessor :page_size
7120
+
7121
+ # The list of reference images.
7122
+ # Corresponds to the JSON property `referenceImages`
7123
+ # @return [Array<Google::Apis::VisionV1::ReferenceImage>]
7124
+ attr_accessor :reference_images
7125
+
7126
+ def initialize(**args)
7127
+ update!(**args)
7128
+ end
7129
+
7130
+ # Update properties of this object
7131
+ def update!(**args)
7132
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7133
+ @page_size = args[:page_size] if args.key?(:page_size)
7134
+ @reference_images = args[:reference_images] if args.key?(:reference_images)
7135
+ end
7136
+ end
7137
+
6371
7138
  # Set of detected objects with bounding boxes.
6372
7139
  class LocalizedObjectAnnotation
6373
7140
  include Google::Apis::Core::Hashable
@@ -6739,6 +7506,226 @@ module Google
6739
7506
  end
6740
7507
  end
6741
7508
 
7509
+ # A Product contains ReferenceImages.
7510
+ class Product
7511
+ include Google::Apis::Core::Hashable
7512
+
7513
+ # User-provided metadata to be stored with this product. Must be at most 4096
7514
+ # characters long.
7515
+ # Corresponds to the JSON property `description`
7516
+ # @return [String]
7517
+ attr_accessor :description
7518
+
7519
+ # The user-provided name for this Product. Must not be empty. Must be at most
7520
+ # 4096 characters long.
7521
+ # Corresponds to the JSON property `displayName`
7522
+ # @return [String]
7523
+ attr_accessor :display_name
7524
+
7525
+ # The resource name of the product.
7526
+ # Format is:
7527
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
7528
+ # This field is ignored when creating a product.
7529
+ # Corresponds to the JSON property `name`
7530
+ # @return [String]
7531
+ attr_accessor :name
7532
+
7533
+ # The category for the product identified by the reference image. This should
7534
+ # be either "homegoods", "apparel", or "toys".
7535
+ # This field is immutable.
7536
+ # Corresponds to the JSON property `productCategory`
7537
+ # @return [String]
7538
+ attr_accessor :product_category
7539
+
7540
+ # Key-value pairs that can be attached to a product. At query time,
7541
+ # constraints can be specified based on the product_labels.
7542
+ # Note that integer values can be provided as strings, e.g. "1199". Only
7543
+ # strings with integer values can match a range-based restriction which is
7544
+ # to be supported soon.
7545
+ # Multiple values can be assigned to the same key. One product may have up to
7546
+ # 100 product_labels.
7547
+ # Corresponds to the JSON property `productLabels`
7548
+ # @return [Array<Google::Apis::VisionV1::KeyValue>]
7549
+ attr_accessor :product_labels
7550
+
7551
+ def initialize(**args)
7552
+ update!(**args)
7553
+ end
7554
+
7555
+ # Update properties of this object
7556
+ def update!(**args)
7557
+ @description = args[:description] if args.key?(:description)
7558
+ @display_name = args[:display_name] if args.key?(:display_name)
7559
+ @name = args[:name] if args.key?(:name)
7560
+ @product_category = args[:product_category] if args.key?(:product_category)
7561
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
7562
+ end
7563
+ end
7564
+
7565
+ # Parameters for a product search request.
7566
+ class ProductSearchParams
7567
+ include Google::Apis::Core::Hashable
7568
+
7569
+ # A bounding polygon for the detected image annotation.
7570
+ # Corresponds to the JSON property `boundingPoly`
7571
+ # @return [Google::Apis::VisionV1::BoundingPoly]
7572
+ attr_accessor :bounding_poly
7573
+
7574
+ # The filtering expression. This can be used to restrict search results based
7575
+ # on Product labels. We currently support an AND of OR of key-value
7576
+ # expressions, where each expression within an OR must have the same key.
7577
+ # For example, "(color = red OR color = blue) AND brand = Google" is
7578
+ # acceptable, but not "(color = red OR brand = Google)" or "color: red".
7579
+ # Corresponds to the JSON property `filter`
7580
+ # @return [String]
7581
+ attr_accessor :filter
7582
+
7583
+ # The list of product categories to search in. Currently, we only consider
7584
+ # the first category, and either "homegoods", "apparel", or "toys" should be
7585
+ # specified.
7586
+ # Corresponds to the JSON property `productCategories`
7587
+ # @return [Array<String>]
7588
+ attr_accessor :product_categories
7589
+
7590
+ # The resource name of a ProductSet to be searched for similar images.
7591
+ # Format is:
7592
+ # `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.
7593
+ # Corresponds to the JSON property `productSet`
7594
+ # @return [String]
7595
+ attr_accessor :product_set
7596
+
7597
+ def initialize(**args)
7598
+ update!(**args)
7599
+ end
7600
+
7601
+ # Update properties of this object
7602
+ def update!(**args)
7603
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
7604
+ @filter = args[:filter] if args.key?(:filter)
7605
+ @product_categories = args[:product_categories] if args.key?(:product_categories)
7606
+ @product_set = args[:product_set] if args.key?(:product_set)
7607
+ end
7608
+ end
7609
+
7610
+ # Results for a product search request.
7611
+ class ProductSearchResults
7612
+ include Google::Apis::Core::Hashable
7613
+
7614
+ # Timestamp of the index which provided these results. Changes made after
7615
+ # this time are not reflected in the current results.
7616
+ # Corresponds to the JSON property `indexTime`
7617
+ # @return [String]
7618
+ attr_accessor :index_time
7619
+
7620
+ # List of results grouped by products detected in the query image. Each entry
7621
+ # corresponds to one bounding polygon in the query image, and contains the
7622
+ # matching products specific to that region. There may be duplicate product
7623
+ # matches in the union of all the per-product results.
7624
+ # Corresponds to the JSON property `productGroupedResults`
7625
+ # @return [Array<Google::Apis::VisionV1::GroupedResult>]
7626
+ attr_accessor :product_grouped_results
7627
+
7628
+ # List of results, one for each product match.
7629
+ # Corresponds to the JSON property `results`
7630
+ # @return [Array<Google::Apis::VisionV1::Result>]
7631
+ attr_accessor :results
7632
+
7633
+ def initialize(**args)
7634
+ update!(**args)
7635
+ end
7636
+
7637
+ # Update properties of this object
7638
+ def update!(**args)
7639
+ @index_time = args[:index_time] if args.key?(:index_time)
7640
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
7641
+ @results = args[:results] if args.key?(:results)
7642
+ end
7643
+ end
7644
+
7645
+ # A ProductSet contains Products. A ProductSet can contain a maximum of 1
7646
+ # million reference images. If the limit is exceeded, periodic indexing will
7647
+ # fail.
7648
+ class ProductSet
7649
+ include Google::Apis::Core::Hashable
7650
+
7651
+ # The user-provided name for this ProductSet. Must not be empty. Must be at
7652
+ # most 4096 characters long.
7653
+ # Corresponds to the JSON property `displayName`
7654
+ # @return [String]
7655
+ attr_accessor :display_name
7656
+
7657
+ # The `Status` type defines a logical error model that is suitable for different
7658
+ # programming environments, including REST APIs and RPC APIs. It is used by
7659
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
7660
+ # - Simple to use and understand for most users
7661
+ # - Flexible enough to meet unexpected needs
7662
+ # # Overview
7663
+ # The `Status` message contains three pieces of data: error code, error message,
7664
+ # and error details. The error code should be an enum value of
7665
+ # google.rpc.Code, but it may accept additional error codes if needed. The
7666
+ # error message should be a developer-facing English message that helps
7667
+ # developers *understand* and *resolve* the error. If a localized user-facing
7668
+ # error message is needed, put the localized message in the error details or
7669
+ # localize it in the client. The optional error details may contain arbitrary
7670
+ # information about the error. There is a predefined set of error detail types
7671
+ # in the package `google.rpc` that can be used for common error conditions.
7672
+ # # Language mapping
7673
+ # The `Status` message is the logical representation of the error model, but it
7674
+ # is not necessarily the actual wire format. When the `Status` message is
7675
+ # exposed in different client libraries and different wire protocols, it can be
7676
+ # mapped differently. For example, it will likely be mapped to some exceptions
7677
+ # in Java, but more likely mapped to some error codes in C.
7678
+ # # Other uses
7679
+ # The error model and the `Status` message can be used in a variety of
7680
+ # environments, either with or without APIs, to provide a
7681
+ # consistent developer experience across different environments.
7682
+ # Example uses of this error model include:
7683
+ # - Partial errors. If a service needs to return partial errors to the client,
7684
+ # it may embed the `Status` in the normal response to indicate the partial
7685
+ # errors.
7686
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
7687
+ # have a `Status` message for error reporting.
7688
+ # - Batch operations. If a client uses batch request and batch response, the
7689
+ # `Status` message should be used directly inside batch response, one for
7690
+ # each error sub-response.
7691
+ # - Asynchronous operations. If an API call embeds asynchronous operation
7692
+ # results in its response, the status of those operations should be
7693
+ # represented directly using the `Status` message.
7694
+ # - Logging. If some API errors are stored in logs, the message `Status` could
7695
+ # be used directly after any stripping needed for security/privacy reasons.
7696
+ # Corresponds to the JSON property `indexError`
7697
+ # @return [Google::Apis::VisionV1::Status]
7698
+ attr_accessor :index_error
7699
+
7700
+ # Output only. The time at which this ProductSet was last indexed. Query
7701
+ # results will reflect all updates before this time. If this ProductSet has
7702
+ # never been indexed, this field is 0.
7703
+ # This field is ignored when creating a ProductSet.
7704
+ # Corresponds to the JSON property `indexTime`
7705
+ # @return [String]
7706
+ attr_accessor :index_time
7707
+
7708
+ # The resource name of the ProductSet.
7709
+ # Format is:
7710
+ # `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.
7711
+ # This field is ignored when creating a ProductSet.
7712
+ # Corresponds to the JSON property `name`
7713
+ # @return [String]
7714
+ attr_accessor :name
7715
+
7716
+ def initialize(**args)
7717
+ update!(**args)
7718
+ end
7719
+
7720
+ # Update properties of this object
7721
+ def update!(**args)
7722
+ @display_name = args[:display_name] if args.key?(:display_name)
7723
+ @index_error = args[:index_error] if args.key?(:index_error)
7724
+ @index_time = args[:index_time] if args.key?(:index_time)
7725
+ @name = args[:name] if args.key?(:name)
7726
+ end
7727
+ end
7728
+
6742
7729
  # A `Property` consists of a user-supplied name/value pair.
6743
7730
  class Property
6744
7731
  include Google::Apis::Core::Hashable
@@ -6770,6 +7757,104 @@ module Google
6770
7757
  end
6771
7758
  end
6772
7759
 
7760
+ # A `ReferenceImage` represents a product image and its associated metadata,
7761
+ # such as bounding boxes.
7762
+ class ReferenceImage
7763
+ include Google::Apis::Core::Hashable
7764
+
7765
+ # Bounding polygons around the areas of interest in the reference image.
7766
+ # Optional. If this field is empty, the system will try to detect regions of
7767
+ # interest. At most 10 bounding polygons will be used.
7768
+ # The provided shape is converted into a non-rotated rectangle. Once
7769
+ # converted, the small edge of the rectangle must be greater than or equal
7770
+ # to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5
7771
+ # is not).
7772
+ # Corresponds to the JSON property `boundingPolys`
7773
+ # @return [Array<Google::Apis::VisionV1::BoundingPoly>]
7774
+ attr_accessor :bounding_polys
7775
+
7776
+ # The resource name of the reference image.
7777
+ # Format is:
7778
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/
7779
+ # IMAGE_ID`.
7780
+ # This field is ignored when creating a reference image.
7781
+ # Corresponds to the JSON property `name`
7782
+ # @return [String]
7783
+ attr_accessor :name
7784
+
7785
+ # The Google Cloud Storage URI of the reference image.
7786
+ # The URI must start with `gs://`.
7787
+ # Required.
7788
+ # Corresponds to the JSON property `uri`
7789
+ # @return [String]
7790
+ attr_accessor :uri
7791
+
7792
+ def initialize(**args)
7793
+ update!(**args)
7794
+ end
7795
+
7796
+ # Update properties of this object
7797
+ def update!(**args)
7798
+ @bounding_polys = args[:bounding_polys] if args.key?(:bounding_polys)
7799
+ @name = args[:name] if args.key?(:name)
7800
+ @uri = args[:uri] if args.key?(:uri)
7801
+ end
7802
+ end
7803
+
7804
+ # Request message for the `RemoveProductFromProductSet` method.
7805
+ class RemoveProductFromProductSetRequest
7806
+ include Google::Apis::Core::Hashable
7807
+
7808
+ # The resource name for the Product to be removed from this ProductSet.
7809
+ # Format is:
7810
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`
7811
+ # Corresponds to the JSON property `product`
7812
+ # @return [String]
7813
+ attr_accessor :product
7814
+
7815
+ def initialize(**args)
7816
+ update!(**args)
7817
+ end
7818
+
7819
+ # Update properties of this object
7820
+ def update!(**args)
7821
+ @product = args[:product] if args.key?(:product)
7822
+ end
7823
+ end
7824
+
7825
+ # Information about a product.
7826
+ class Result
7827
+ include Google::Apis::Core::Hashable
7828
+
7829
+ # The resource name of the image from the product that is the closest match
7830
+ # to the query.
7831
+ # Corresponds to the JSON property `image`
7832
+ # @return [String]
7833
+ attr_accessor :image
7834
+
7835
+ # A Product contains ReferenceImages.
7836
+ # Corresponds to the JSON property `product`
7837
+ # @return [Google::Apis::VisionV1::Product]
7838
+ attr_accessor :product
7839
+
7840
+ # A confidence level on the match, ranging from 0 (no confidence) to
7841
+ # 1 (full confidence).
7842
+ # Corresponds to the JSON property `score`
7843
+ # @return [Float]
7844
+ attr_accessor :score
7845
+
7846
+ def initialize(**args)
7847
+ update!(**args)
7848
+ end
7849
+
7850
+ # Update properties of this object
7851
+ def update!(**args)
7852
+ @image = args[:image] if args.key?(:image)
7853
+ @product = args[:product] if args.key?(:product)
7854
+ @score = args[:score] if args.key?(:score)
7855
+ end
7856
+ end
7857
+
6773
7858
  # Set of features pertaining to the image, computed by computer vision
6774
7859
  # methods over safe-search verticals (for example, adult, spoof, medical,
6775
7860
  # violence).