google-api-client 0.24.3 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (262) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +0 -2
  3. data/CHANGELOG.md +99 -0
  4. data/Gemfile +1 -0
  5. data/generated/google/apis/abusiveexperiencereport_v1.rb +2 -2
  6. data/generated/google/apis/abusiveexperiencereport_v1/classes.rb +0 -1
  7. data/generated/google/apis/abusiveexperiencereport_v1/service.rb +1 -1
  8. data/generated/google/apis/{content_v2sandbox.rb → accesscontextmanager_v1beta.rb} +11 -12
  9. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +697 -0
  10. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +240 -0
  11. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +666 -0
  12. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  13. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +16 -0
  14. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +2 -0
  15. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +2 -2
  16. data/generated/google/apis/adexperiencereport_v1.rb +2 -2
  17. data/generated/google/apis/adexperiencereport_v1/service.rb +1 -1
  18. data/generated/google/apis/alertcenter_v1beta1.rb +4 -3
  19. data/generated/google/apis/alertcenter_v1beta1/classes.rb +9 -2
  20. data/generated/google/apis/alertcenter_v1beta1/representations.rb +1 -0
  21. data/generated/google/apis/alertcenter_v1beta1/service.rb +3 -2
  22. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  23. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +3 -2
  24. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  25. data/generated/google/apis/androidenterprise_v1/classes.rb +68 -6
  26. data/generated/google/apis/androidenterprise_v1/representations.rb +20 -0
  27. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  28. data/generated/google/apis/androidmanagement_v1/classes.rb +92 -0
  29. data/generated/google/apis/androidmanagement_v1/representations.rb +36 -0
  30. data/generated/google/apis/androidpublisher_v1.rb +2 -2
  31. data/generated/google/apis/androidpublisher_v1/service.rb +1 -1
  32. data/generated/google/apis/androidpublisher_v1_1.rb +2 -2
  33. data/generated/google/apis/androidpublisher_v1_1/service.rb +1 -1
  34. data/generated/google/apis/androidpublisher_v2.rb +2 -2
  35. data/generated/google/apis/androidpublisher_v2/service.rb +3 -2
  36. data/generated/google/apis/androidpublisher_v3.rb +2 -2
  37. data/generated/google/apis/androidpublisher_v3/service.rb +3 -2
  38. data/generated/google/apis/appengine_v1.rb +2 -3
  39. data/generated/google/apis/appengine_v1/service.rb +1 -2
  40. data/generated/google/apis/appengine_v1alpha.rb +2 -3
  41. data/generated/google/apis/appengine_v1alpha/service.rb +1 -2
  42. data/generated/google/apis/appengine_v1beta.rb +2 -3
  43. data/generated/google/apis/appengine_v1beta/service.rb +1 -2
  44. data/generated/google/apis/appengine_v1beta4.rb +2 -3
  45. data/generated/google/apis/appengine_v1beta4/service.rb +1 -2
  46. data/generated/google/apis/appengine_v1beta5.rb +2 -3
  47. data/generated/google/apis/appengine_v1beta5/service.rb +1 -2
  48. data/generated/google/apis/bigquery_v2.rb +1 -1
  49. data/generated/google/apis/bigquery_v2/classes.rb +98 -7
  50. data/generated/google/apis/bigquery_v2/representations.rb +35 -0
  51. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  52. data/generated/google/apis/civicinfo_v2.rb +1 -1
  53. data/generated/google/apis/civicinfo_v2/classes.rb +18 -0
  54. data/generated/google/apis/civicinfo_v2/representations.rb +2 -0
  55. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  56. data/generated/google/apis/cloudasset_v1beta1/classes.rb +5 -5
  57. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  58. data/generated/google/apis/cloudbuild_v1/classes.rb +10 -1
  59. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  60. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  61. data/generated/google/apis/cloudfunctions_v1/classes.rb +418 -0
  62. data/generated/google/apis/cloudfunctions_v1/representations.rb +121 -0
  63. data/generated/google/apis/cloudfunctions_v1/service.rb +107 -0
  64. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  65. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +16 -0
  66. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  67. data/generated/google/apis/cloudkms_v1.rb +1 -1
  68. data/generated/google/apis/cloudresourcemanager_v1.rb +3 -3
  69. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +2 -1
  70. data/generated/google/apis/cloudresourcemanager_v1/service.rb +2 -2
  71. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +3 -3
  72. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +2 -1
  73. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +2 -2
  74. data/generated/google/apis/cloudresourcemanager_v2.rb +3 -3
  75. data/generated/google/apis/cloudresourcemanager_v2/service.rb +2 -2
  76. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +3 -3
  77. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +2 -2
  78. data/generated/google/apis/cloudsearch_v1.rb +59 -0
  79. data/generated/google/apis/cloudsearch_v1/classes.rb +4697 -0
  80. data/generated/google/apis/cloudsearch_v1/representations.rb +2151 -0
  81. data/generated/google/apis/cloudsearch_v1/service.rb +1351 -0
  82. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  83. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +34 -0
  84. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  85. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +34 -30
  86. data/generated/google/apis/composer_v1beta1.rb +1 -1
  87. data/generated/google/apis/composer_v1beta1/classes.rb +5 -8
  88. data/generated/google/apis/compute_alpha.rb +1 -1
  89. data/generated/google/apis/compute_beta.rb +1 -1
  90. data/generated/google/apis/compute_v1.rb +1 -1
  91. data/generated/google/apis/content_v2.rb +1 -1
  92. data/generated/google/apis/content_v2/classes.rb +197 -69
  93. data/generated/google/apis/content_v2/representations.rb +64 -33
  94. data/generated/google/apis/content_v2/service.rb +1 -1
  95. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  96. data/generated/google/apis/dataflow_v1b3/classes.rb +42 -0
  97. data/generated/google/apis/dataflow_v1b3/representations.rb +17 -0
  98. data/generated/google/apis/dataproc_v1.rb +1 -1
  99. data/generated/google/apis/dataproc_v1/classes.rb +19 -19
  100. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  101. data/generated/google/apis/dataproc_v1beta2/classes.rb +19 -19
  102. data/generated/google/apis/dialogflow_v2.rb +6 -3
  103. data/generated/google/apis/dialogflow_v2/classes.rb +112 -8
  104. data/generated/google/apis/dialogflow_v2/representations.rb +30 -0
  105. data/generated/google/apis/dialogflow_v2/service.rb +7 -2
  106. data/generated/google/apis/dialogflow_v2beta1.rb +6 -3
  107. data/generated/google/apis/dialogflow_v2beta1/classes.rb +116 -8
  108. data/generated/google/apis/dialogflow_v2beta1/representations.rb +30 -0
  109. data/generated/google/apis/dialogflow_v2beta1/service.rb +19 -8
  110. data/generated/google/apis/digitalassetlinks_v1.rb +2 -3
  111. data/generated/google/apis/digitalassetlinks_v1/service.rb +1 -2
  112. data/generated/google/apis/dlp_v2.rb +1 -1
  113. data/generated/google/apis/dlp_v2/classes.rb +17 -5
  114. data/generated/google/apis/dlp_v2/representations.rb +2 -0
  115. data/generated/google/apis/dns_v1beta2.rb +1 -1
  116. data/generated/google/apis/dns_v1beta2/classes.rb +81 -0
  117. data/generated/google/apis/dns_v1beta2/representations.rb +34 -0
  118. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  119. data/generated/google/apis/doubleclicksearch_v2/classes.rb +1 -1
  120. data/generated/google/apis/drive_v2.rb +1 -1
  121. data/generated/google/apis/drive_v2/classes.rb +3 -1
  122. data/generated/google/apis/firebaserules_v1.rb +1 -1
  123. data/generated/google/apis/firestore_v1.rb +1 -1
  124. data/generated/google/apis/firestore_v1/classes.rb +637 -0
  125. data/generated/google/apis/firestore_v1/representations.rb +260 -0
  126. data/generated/google/apis/firestore_v1/service.rb +377 -0
  127. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  128. data/generated/google/apis/firestore_v1beta2/classes.rb +205 -0
  129. data/generated/google/apis/firestore_v1beta2/representations.rb +83 -0
  130. data/generated/google/apis/firestore_v1beta2/service.rb +79 -0
  131. data/generated/google/apis/genomics_v1.rb +2 -2
  132. data/generated/google/apis/genomics_v1/service.rb +1 -1
  133. data/generated/google/apis/genomics_v1alpha2.rb +2 -2
  134. data/generated/google/apis/genomics_v1alpha2/service.rb +1 -1
  135. data/generated/google/apis/genomics_v2alpha1.rb +2 -2
  136. data/generated/google/apis/genomics_v2alpha1/service.rb +1 -1
  137. data/generated/google/apis/iam_v1.rb +1 -1
  138. data/generated/google/apis/iam_v1/classes.rb +4 -3
  139. data/generated/google/apis/iamcredentials_v1.rb +2 -2
  140. data/generated/google/apis/iamcredentials_v1/service.rb +1 -1
  141. data/generated/google/apis/indexing_v3.rb +2 -3
  142. data/generated/google/apis/indexing_v3/service.rb +1 -2
  143. data/generated/google/apis/jobs_v2.rb +1 -1
  144. data/generated/google/apis/jobs_v2/classes.rb +2 -2
  145. data/generated/google/apis/jobs_v3.rb +1 -1
  146. data/generated/google/apis/jobs_v3/classes.rb +3 -3
  147. data/generated/google/apis/jobs_v3/service.rb +20 -2
  148. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  149. data/generated/google/apis/jobs_v3p1beta1/classes.rb +3 -3
  150. data/generated/google/apis/jobs_v3p1beta1/service.rb +20 -2
  151. data/generated/google/apis/language_v1.rb +4 -4
  152. data/generated/google/apis/language_v1/service.rb +3 -3
  153. data/generated/google/apis/language_v1beta1.rb +4 -4
  154. data/generated/google/apis/language_v1beta1/service.rb +3 -3
  155. data/generated/google/apis/language_v1beta2.rb +4 -4
  156. data/generated/google/apis/language_v1beta2/service.rb +3 -3
  157. data/generated/google/apis/logging_v2.rb +1 -1
  158. data/generated/google/apis/logging_v2/classes.rb +2 -13
  159. data/generated/google/apis/logging_v2/representations.rb +0 -2
  160. data/generated/google/apis/logging_v2beta1.rb +1 -1
  161. data/generated/google/apis/logging_v2beta1/classes.rb +2 -41
  162. data/generated/google/apis/logging_v2beta1/representations.rb +0 -16
  163. data/generated/google/apis/logging_v2beta1/service.rb +0 -255
  164. data/generated/google/apis/monitoring_v3.rb +1 -1
  165. data/generated/google/apis/monitoring_v3/classes.rb +25 -15
  166. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  167. data/generated/google/apis/monitoring_v3/service.rb +366 -1
  168. data/generated/google/apis/oslogin_v1.rb +1 -1
  169. data/generated/google/apis/oslogin_v1/service.rb +7 -1
  170. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  171. data/generated/google/apis/oslogin_v1alpha/service.rb +10 -1
  172. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  173. data/generated/google/apis/oslogin_v1beta/service.rb +7 -1
  174. data/generated/google/apis/redis_v1.rb +1 -1
  175. data/generated/google/apis/redis_v1/classes.rb +6 -0
  176. data/generated/google/apis/redis_v1/representations.rb +1 -0
  177. data/generated/google/apis/redis_v1beta1.rb +1 -1
  178. data/generated/google/apis/redis_v1beta1/classes.rb +6 -0
  179. data/generated/google/apis/redis_v1beta1/representations.rb +1 -0
  180. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  181. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +7 -6
  182. data/generated/google/apis/script_v1.rb +2 -2
  183. data/generated/google/apis/script_v1/service.rb +7 -3
  184. data/generated/google/apis/serviceconsumermanagement_v1.rb +2 -3
  185. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +7 -0
  186. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +1 -0
  187. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +1 -2
  188. data/generated/google/apis/servicecontrol_v1.rb +3 -3
  189. data/generated/google/apis/servicecontrol_v1/classes.rb +18 -230
  190. data/generated/google/apis/servicecontrol_v1/representations.rb +2 -99
  191. data/generated/google/apis/servicecontrol_v1/service.rb +2 -140
  192. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  193. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -1
  194. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  195. data/generated/google/apis/servicenetworking_v1beta/classes.rb +24 -0
  196. data/generated/google/apis/servicenetworking_v1beta/representations.rb +3 -0
  197. data/generated/google/apis/serviceusage_v1.rb +1 -1
  198. data/generated/google/apis/serviceusage_v1/classes.rb +7 -0
  199. data/generated/google/apis/serviceusage_v1/representations.rb +1 -0
  200. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  201. data/generated/google/apis/serviceusage_v1beta1/classes.rb +7 -0
  202. data/generated/google/apis/serviceusage_v1beta1/representations.rb +1 -0
  203. data/generated/google/apis/slides_v1.rb +2 -2
  204. data/generated/google/apis/slides_v1/classes.rb +4 -3
  205. data/generated/google/apis/slides_v1/service.rb +1 -1
  206. data/generated/google/apis/storage_v1.rb +1 -1
  207. data/generated/google/apis/storage_v1/service.rb +2 -3
  208. data/generated/google/apis/testing_v1.rb +1 -1
  209. data/generated/google/apis/testing_v1/classes.rb +9 -0
  210. data/generated/google/apis/testing_v1/representations.rb +1 -0
  211. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  212. data/generated/google/apis/toolresults_v1beta3/service.rb +1 -1
  213. data/generated/google/apis/tpu_v1.rb +1 -1
  214. data/generated/google/apis/tpu_v1/classes.rb +6 -0
  215. data/generated/google/apis/tpu_v1/representations.rb +1 -0
  216. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  217. data/generated/google/apis/tpu_v1alpha1/classes.rb +6 -0
  218. data/generated/google/apis/tpu_v1alpha1/representations.rb +1 -0
  219. data/generated/google/apis/vault_v1.rb +1 -1
  220. data/generated/google/apis/vault_v1/classes.rb +7 -0
  221. data/generated/google/apis/vault_v1/representations.rb +1 -0
  222. data/generated/google/apis/videointelligence_v1.rb +3 -2
  223. data/generated/google/apis/videointelligence_v1/classes.rb +547 -12
  224. data/generated/google/apis/videointelligence_v1/representations.rb +190 -2
  225. data/generated/google/apis/videointelligence_v1/service.rb +2 -1
  226. data/generated/google/apis/videointelligence_v1beta2.rb +3 -2
  227. data/generated/google/apis/videointelligence_v1beta2/classes.rb +547 -12
  228. data/generated/google/apis/videointelligence_v1beta2/representations.rb +190 -2
  229. data/generated/google/apis/videointelligence_v1beta2/service.rb +2 -1
  230. data/generated/google/apis/videointelligence_v1p1beta1.rb +3 -2
  231. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +418 -13
  232. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +153 -2
  233. data/generated/google/apis/videointelligence_v1p1beta1/service.rb +2 -1
  234. data/generated/google/apis/vision_v1.rb +1 -1
  235. data/generated/google/apis/vision_v1/classes.rb +1139 -54
  236. data/generated/google/apis/vision_v1/representations.rb +478 -0
  237. data/generated/google/apis/vision_v1/service.rb +744 -0
  238. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  239. data/generated/google/apis/vision_v1p1beta1/classes.rb +761 -16
  240. data/generated/google/apis/vision_v1p1beta1/representations.rb +333 -0
  241. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  242. data/generated/google/apis/vision_v1p2beta1/classes.rb +758 -13
  243. data/generated/google/apis/vision_v1p2beta1/representations.rb +333 -0
  244. data/generated/google/apis/websecurityscanner_v1alpha.rb +2 -2
  245. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
  246. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  247. data/generated/google/apis/youtube_v3.rb +1 -1
  248. data/lib/google/apis/core/http_command.rb +83 -10
  249. data/lib/google/apis/options.rb +5 -1
  250. data/lib/google/apis/version.rb +1 -1
  251. metadata +10 -14
  252. data/generated/google/apis/content_v2sandbox/classes.rb +0 -4436
  253. data/generated/google/apis/content_v2sandbox/representations.rb +0 -1956
  254. data/generated/google/apis/content_v2sandbox/service.rb +0 -1296
  255. data/generated/google/apis/dfareporting_v2_8.rb +0 -40
  256. data/generated/google/apis/dfareporting_v2_8/classes.rb +0 -12043
  257. data/generated/google/apis/dfareporting_v2_8/representations.rb +0 -4311
  258. data/generated/google/apis/dfareporting_v2_8/service.rb +0 -8727
  259. data/generated/google/apis/serviceuser_v1.rb +0 -42
  260. data/generated/google/apis/serviceuser_v1/classes.rb +0 -3472
  261. data/generated/google/apis/serviceuser_v1/representations.rb +0 -1030
  262. data/generated/google/apis/serviceuser_v1/service.rb +0 -215
@@ -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).