google-api-client 0.28.4 → 0.29.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (750) hide show
  1. checksums.yaml +4 -4
  2. data/.kokoro/build.bat +9 -6
  3. data/.kokoro/build.sh +2 -34
  4. data/.kokoro/continuous/common.cfg +6 -1
  5. data/.kokoro/continuous/linux.cfg +1 -1
  6. data/.kokoro/continuous/windows.cfg +17 -1
  7. data/.kokoro/osx.sh +2 -33
  8. data/.kokoro/presubmit/common.cfg +6 -1
  9. data/.kokoro/presubmit/linux.cfg +1 -1
  10. data/.kokoro/presubmit/windows.cfg +17 -1
  11. data/.kokoro/trampoline.bat +10 -0
  12. data/.kokoro/trampoline.sh +3 -23
  13. data/CHANGELOG.md +460 -0
  14. data/README.md +1 -1
  15. data/Rakefile +31 -0
  16. data/bin/generate-api +4 -2
  17. data/generated/google/apis/abusiveexperiencereport_v1/service.rb +2 -2
  18. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +1 -1
  19. data/generated/google/apis/accessapproval_v1beta1/classes.rb +333 -0
  20. data/generated/google/apis/accessapproval_v1beta1/representations.rb +174 -0
  21. data/generated/google/apis/accessapproval_v1beta1/service.rb +728 -0
  22. data/generated/google/apis/accessapproval_v1beta1.rb +34 -0
  23. data/generated/google/apis/accesscontextmanager_v1/classes.rb +755 -0
  24. data/generated/google/apis/accesscontextmanager_v1/representations.rb +282 -0
  25. data/generated/google/apis/accesscontextmanager_v1/service.rb +788 -0
  26. data/generated/google/apis/accesscontextmanager_v1.rb +34 -0
  27. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +47 -31
  28. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +4 -0
  29. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +16 -16
  30. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  31. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +95 -200
  32. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +0 -32
  33. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +64 -104
  34. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  35. data/generated/google/apis/adexchangebuyer_v1_2/service.rb +7 -7
  36. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +21 -21
  37. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +38 -38
  38. data/generated/google/apis/adexperiencereport_v1/service.rb +2 -2
  39. data/generated/google/apis/admin_datatransfer_v1/service.rb +5 -5
  40. data/generated/google/apis/admin_directory_v1/classes.rb +5 -50
  41. data/generated/google/apis/admin_directory_v1/representations.rb +0 -2
  42. data/generated/google/apis/admin_directory_v1/service.rb +113 -113
  43. data/generated/google/apis/admin_directory_v1.rb +1 -1
  44. data/generated/google/apis/admin_reports_v1/service.rb +6 -6
  45. data/generated/google/apis/admin_reports_v1.rb +1 -1
  46. data/generated/google/apis/adsense_v1_4/service.rb +39 -39
  47. data/generated/google/apis/adsensehost_v4_1/service.rb +26 -26
  48. data/generated/google/apis/alertcenter_v1beta1/classes.rb +101 -2
  49. data/generated/google/apis/alertcenter_v1beta1/representations.rb +25 -0
  50. data/generated/google/apis/alertcenter_v1beta1/service.rb +17 -16
  51. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  52. data/generated/google/apis/analytics_v2_4/service.rb +6 -6
  53. data/generated/google/apis/analytics_v3/service.rb +88 -88
  54. data/generated/google/apis/analyticsreporting_v4/classes.rb +638 -0
  55. data/generated/google/apis/analyticsreporting_v4/representations.rb +248 -0
  56. data/generated/google/apis/analyticsreporting_v4/service.rb +31 -1
  57. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  58. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +51 -11
  59. data/generated/google/apis/androiddeviceprovisioning_v1/representations.rb +6 -0
  60. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +26 -26
  61. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  62. data/generated/google/apis/androidenterprise_v1/classes.rb +26 -30
  63. data/generated/google/apis/androidenterprise_v1/representations.rb +2 -14
  64. data/generated/google/apis/androidenterprise_v1/service.rb +85 -121
  65. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  66. data/generated/google/apis/androidmanagement_v1/classes.rb +358 -4
  67. data/generated/google/apis/androidmanagement_v1/representations.rb +163 -0
  68. data/generated/google/apis/androidmanagement_v1/service.rb +191 -21
  69. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  70. data/generated/google/apis/androidpublisher_v1/service.rb +2 -2
  71. data/generated/google/apis/androidpublisher_v1_1/service.rb +3 -3
  72. data/generated/google/apis/androidpublisher_v2/service.rb +64 -70
  73. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  74. data/generated/google/apis/androidpublisher_v3/classes.rb +113 -0
  75. data/generated/google/apis/androidpublisher_v3/representations.rb +58 -0
  76. data/generated/google/apis/androidpublisher_v3/service.rb +234 -64
  77. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  78. data/generated/google/apis/appengine_v1/classes.rb +45 -100
  79. data/generated/google/apis/appengine_v1/representations.rb +17 -35
  80. data/generated/google/apis/appengine_v1/service.rb +45 -39
  81. data/generated/google/apis/appengine_v1.rb +1 -1
  82. data/generated/google/apis/appengine_v1alpha/classes.rb +2 -99
  83. data/generated/google/apis/appengine_v1alpha/representations.rb +0 -35
  84. data/generated/google/apis/appengine_v1alpha/service.rb +15 -15
  85. data/generated/google/apis/appengine_v1alpha.rb +1 -1
  86. data/generated/google/apis/appengine_v1beta/classes.rb +7 -102
  87. data/generated/google/apis/appengine_v1beta/representations.rb +0 -35
  88. data/generated/google/apis/appengine_v1beta/service.rb +45 -39
  89. data/generated/google/apis/appengine_v1beta.rb +1 -1
  90. data/generated/google/apis/appengine_v1beta4/service.rb +20 -20
  91. data/generated/google/apis/appengine_v1beta5/service.rb +20 -20
  92. data/generated/google/apis/appsactivity_v1/service.rb +5 -4
  93. data/generated/google/apis/appsactivity_v1.rb +1 -1
  94. data/generated/google/apis/appsmarket_v2/service.rb +3 -3
  95. data/generated/google/apis/appstate_v1/service.rb +5 -5
  96. data/generated/google/apis/bigquery_v2/classes.rb +1121 -114
  97. data/generated/google/apis/bigquery_v2/representations.rb +414 -26
  98. data/generated/google/apis/bigquery_v2/service.rb +184 -22
  99. data/generated/google/apis/bigquery_v2.rb +1 -1
  100. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +88 -10
  101. data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +43 -0
  102. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +142 -34
  103. data/generated/google/apis/bigquerydatatransfer_v1.rb +3 -3
  104. data/generated/google/apis/bigtableadmin_v1/service.rb +3 -3
  105. data/generated/google/apis/bigtableadmin_v1.rb +2 -2
  106. data/generated/google/apis/bigtableadmin_v2/classes.rb +14 -14
  107. data/generated/google/apis/bigtableadmin_v2/service.rb +142 -33
  108. data/generated/google/apis/bigtableadmin_v2.rb +2 -2
  109. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +66 -6
  110. data/generated/google/apis/binaryauthorization_v1beta1/representations.rb +17 -0
  111. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +17 -13
  112. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  113. data/generated/google/apis/blogger_v2/service.rb +9 -9
  114. data/generated/google/apis/blogger_v3/service.rb +33 -33
  115. data/generated/google/apis/books_v1/service.rb +51 -51
  116. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  117. data/generated/google/apis/calendar_v3/service.rb +47 -47
  118. data/generated/google/apis/calendar_v3.rb +1 -1
  119. data/generated/google/apis/chat_v1/service.rb +8 -8
  120. data/generated/google/apis/civicinfo_v2/service.rb +5 -5
  121. data/generated/google/apis/classroom_v1/classes.rb +77 -0
  122. data/generated/google/apis/classroom_v1/representations.rb +32 -0
  123. data/generated/google/apis/classroom_v1/service.rb +276 -51
  124. data/generated/google/apis/classroom_v1.rb +7 -1
  125. data/generated/google/apis/cloudasset_v1/classes.rb +818 -0
  126. data/generated/google/apis/cloudasset_v1/representations.rb +264 -0
  127. data/generated/google/apis/cloudasset_v1/service.rb +191 -0
  128. data/generated/google/apis/cloudasset_v1.rb +34 -0
  129. data/generated/google/apis/cloudasset_v1beta1/classes.rb +33 -18
  130. data/generated/google/apis/cloudasset_v1beta1/representations.rb +1 -0
  131. data/generated/google/apis/cloudasset_v1beta1/service.rb +13 -13
  132. data/generated/google/apis/cloudasset_v1beta1.rb +2 -2
  133. data/generated/google/apis/cloudbilling_v1/classes.rb +1 -1
  134. data/generated/google/apis/cloudbilling_v1/service.rb +14 -14
  135. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  136. data/generated/google/apis/cloudbuild_v1/classes.rb +162 -11
  137. data/generated/google/apis/cloudbuild_v1/representations.rb +67 -0
  138. data/generated/google/apis/cloudbuild_v1/service.rb +21 -15
  139. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  140. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +7 -1
  141. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +2 -0
  142. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +6 -6
  143. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  144. data/generated/google/apis/clouddebugger_v2/service.rb +8 -8
  145. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +19 -16
  146. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +12 -11
  147. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  148. data/generated/google/apis/cloudfunctions_v1/classes.rb +21 -17
  149. data/generated/google/apis/cloudfunctions_v1/service.rb +22 -16
  150. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  151. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +20 -16
  152. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +17 -11
  153. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  154. data/generated/google/apis/cloudidentity_v1/classes.rb +14 -14
  155. data/generated/google/apis/cloudidentity_v1/service.rb +18 -27
  156. data/generated/google/apis/cloudidentity_v1.rb +7 -1
  157. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +11 -11
  158. data/generated/google/apis/cloudidentity_v1beta1/service.rb +15 -21
  159. data/generated/google/apis/cloudidentity_v1beta1.rb +7 -1
  160. data/generated/google/apis/cloudiot_v1/classes.rb +11 -11
  161. data/generated/google/apis/cloudiot_v1/service.rb +23 -330
  162. data/generated/google/apis/cloudiot_v1.rb +1 -1
  163. data/generated/google/apis/cloudkms_v1/classes.rb +7 -3
  164. data/generated/google/apis/cloudkms_v1/service.rb +30 -30
  165. data/generated/google/apis/cloudkms_v1.rb +1 -1
  166. data/generated/google/apis/cloudprivatecatalog_v1beta1/classes.rb +358 -0
  167. data/generated/google/apis/cloudprivatecatalog_v1beta1/representations.rb +123 -0
  168. data/generated/google/apis/cloudprivatecatalog_v1beta1/service.rb +486 -0
  169. data/generated/google/apis/cloudprivatecatalog_v1beta1.rb +35 -0
  170. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +1212 -0
  171. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/representations.rb +399 -0
  172. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb +1073 -0
  173. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +35 -0
  174. data/generated/google/apis/cloudprofiler_v2/service.rb +3 -3
  175. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +24 -22
  176. data/generated/google/apis/cloudresourcemanager_v1/service.rb +68 -59
  177. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  178. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +3 -3
  179. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +53 -42
  180. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  181. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +15 -16
  182. data/generated/google/apis/cloudresourcemanager_v2/service.rb +13 -13
  183. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  184. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +15 -16
  185. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +13 -13
  186. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  187. data/generated/google/apis/cloudscheduler_v1/classes.rb +994 -0
  188. data/generated/google/apis/cloudscheduler_v1/representations.rb +297 -0
  189. data/generated/google/apis/cloudscheduler_v1/service.rb +448 -0
  190. data/generated/google/apis/cloudscheduler_v1.rb +34 -0
  191. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +160 -44
  192. data/generated/google/apis/cloudscheduler_v1beta1/representations.rb +33 -0
  193. data/generated/google/apis/cloudscheduler_v1beta1/service.rb +15 -12
  194. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  195. data/generated/google/apis/cloudsearch_v1/classes.rb +245 -59
  196. data/generated/google/apis/cloudsearch_v1/representations.rb +91 -0
  197. data/generated/google/apis/cloudsearch_v1/service.rb +86 -80
  198. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  199. data/generated/google/apis/cloudshell_v1/classes.rb +11 -11
  200. data/generated/google/apis/cloudshell_v1/service.rb +4 -4
  201. data/generated/google/apis/cloudshell_v1.rb +1 -1
  202. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +24 -11
  203. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +2 -0
  204. data/generated/google/apis/cloudshell_v1alpha1/service.rb +11 -10
  205. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  206. data/generated/google/apis/cloudtasks_v2/classes.rb +1436 -0
  207. data/generated/google/apis/cloudtasks_v2/representations.rb +408 -0
  208. data/generated/google/apis/cloudtasks_v2/service.rb +856 -0
  209. data/generated/google/apis/{partners_v2.rb → cloudtasks_v2.rb} +11 -9
  210. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +141 -102
  211. data/generated/google/apis/cloudtasks_v2beta2/service.rb +44 -43
  212. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  213. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +388 -108
  214. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +65 -0
  215. data/generated/google/apis/cloudtasks_v2beta3/service.rb +40 -39
  216. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  217. data/generated/google/apis/cloudtrace_v1/service.rb +3 -3
  218. data/generated/google/apis/cloudtrace_v2/classes.rb +10 -10
  219. data/generated/google/apis/cloudtrace_v2/service.rb +2 -2
  220. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  221. data/generated/google/apis/commentanalyzer_v1alpha1/classes.rb +484 -0
  222. data/generated/google/apis/commentanalyzer_v1alpha1/representations.rb +210 -0
  223. data/generated/google/apis/commentanalyzer_v1alpha1/service.rb +124 -0
  224. data/generated/google/apis/commentanalyzer_v1alpha1.rb +39 -0
  225. data/generated/google/apis/composer_v1/classes.rb +21 -15
  226. data/generated/google/apis/composer_v1/service.rb +9 -9
  227. data/generated/google/apis/composer_v1.rb +1 -1
  228. data/generated/google/apis/composer_v1beta1/classes.rb +175 -36
  229. data/generated/google/apis/composer_v1beta1/representations.rb +50 -0
  230. data/generated/google/apis/composer_v1beta1/service.rb +9 -9
  231. data/generated/google/apis/composer_v1beta1.rb +1 -1
  232. data/generated/google/apis/compute_alpha/classes.rb +10112 -7289
  233. data/generated/google/apis/compute_alpha/representations.rb +1337 -219
  234. data/generated/google/apis/compute_alpha/service.rb +4259 -2728
  235. data/generated/google/apis/compute_alpha.rb +1 -1
  236. data/generated/google/apis/compute_beta/classes.rb +4254 -2781
  237. data/generated/google/apis/compute_beta/representations.rb +853 -283
  238. data/generated/google/apis/compute_beta/service.rb +7077 -5955
  239. data/generated/google/apis/compute_beta.rb +1 -1
  240. data/generated/google/apis/compute_v1/classes.rb +1259 -93
  241. data/generated/google/apis/compute_v1/representations.rb +450 -1
  242. data/generated/google/apis/compute_v1/service.rb +1085 -400
  243. data/generated/google/apis/compute_v1.rb +1 -1
  244. data/generated/google/apis/container_v1/classes.rb +201 -22
  245. data/generated/google/apis/container_v1/representations.rb +69 -0
  246. data/generated/google/apis/container_v1/service.rb +151 -102
  247. data/generated/google/apis/container_v1.rb +1 -1
  248. data/generated/google/apis/container_v1beta1/classes.rb +215 -25
  249. data/generated/google/apis/container_v1beta1/representations.rb +86 -0
  250. data/generated/google/apis/container_v1beta1/service.rb +106 -106
  251. data/generated/google/apis/container_v1beta1.rb +1 -1
  252. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +26 -18
  253. data/generated/google/apis/containeranalysis_v1alpha1/representations.rb +1 -0
  254. data/generated/google/apis/containeranalysis_v1alpha1/service.rb +33 -33
  255. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  256. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +226 -12
  257. data/generated/google/apis/containeranalysis_v1beta1/representations.rb +58 -0
  258. data/generated/google/apis/containeranalysis_v1beta1/service.rb +24 -24
  259. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  260. data/generated/google/apis/content_v2/classes.rb +218 -101
  261. data/generated/google/apis/content_v2/representations.rb +49 -0
  262. data/generated/google/apis/content_v2/service.rb +189 -152
  263. data/generated/google/apis/content_v2.rb +1 -1
  264. data/generated/google/apis/content_v2_1/classes.rb +387 -216
  265. data/generated/google/apis/content_v2_1/representations.rb +131 -56
  266. data/generated/google/apis/content_v2_1/service.rb +190 -107
  267. data/generated/google/apis/content_v2_1.rb +1 -1
  268. data/generated/google/apis/customsearch_v1/service.rb +2 -2
  269. data/generated/google/apis/dataflow_v1b3/classes.rb +148 -31
  270. data/generated/google/apis/dataflow_v1b3/representations.rb +45 -0
  271. data/generated/google/apis/dataflow_v1b3/service.rb +415 -56
  272. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  273. data/generated/google/apis/datafusion_v1beta1/classes.rb +1304 -0
  274. data/generated/google/apis/datafusion_v1beta1/representations.rb +469 -0
  275. data/generated/google/apis/datafusion_v1beta1/service.rb +657 -0
  276. data/generated/google/apis/datafusion_v1beta1.rb +43 -0
  277. data/generated/google/apis/dataproc_v1/classes.rb +27 -22
  278. data/generated/google/apis/dataproc_v1/representations.rb +1 -0
  279. data/generated/google/apis/dataproc_v1/service.rb +261 -45
  280. data/generated/google/apis/dataproc_v1.rb +1 -1
  281. data/generated/google/apis/dataproc_v1beta2/classes.rb +534 -50
  282. data/generated/google/apis/dataproc_v1beta2/representations.rb +185 -7
  283. data/generated/google/apis/dataproc_v1beta2/service.rb +617 -51
  284. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  285. data/generated/google/apis/datastore_v1/classes.rb +20 -16
  286. data/generated/google/apis/datastore_v1/service.rb +15 -15
  287. data/generated/google/apis/datastore_v1.rb +1 -1
  288. data/generated/google/apis/datastore_v1beta1/classes.rb +10 -10
  289. data/generated/google/apis/datastore_v1beta1/service.rb +2 -2
  290. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  291. data/generated/google/apis/datastore_v1beta3/classes.rb +10 -6
  292. data/generated/google/apis/datastore_v1beta3/service.rb +7 -7
  293. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  294. data/generated/google/apis/deploymentmanager_alpha/service.rb +37 -37
  295. data/generated/google/apis/deploymentmanager_v2/service.rb +18 -18
  296. data/generated/google/apis/deploymentmanager_v2beta/service.rb +32 -32
  297. data/generated/google/apis/dfareporting_v3_1/service.rb +206 -206
  298. data/generated/google/apis/dfareporting_v3_2/service.rb +206 -206
  299. data/generated/google/apis/dfareporting_v3_3/classes.rb +3 -3
  300. data/generated/google/apis/dfareporting_v3_3/service.rb +204 -204
  301. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  302. data/generated/google/apis/dialogflow_v2/classes.rb +367 -82
  303. data/generated/google/apis/dialogflow_v2/representations.rb +99 -0
  304. data/generated/google/apis/dialogflow_v2/service.rb +76 -60
  305. data/generated/google/apis/dialogflow_v2.rb +1 -1
  306. data/generated/google/apis/dialogflow_v2beta1/classes.rb +199 -88
  307. data/generated/google/apis/dialogflow_v2beta1/representations.rb +31 -0
  308. data/generated/google/apis/dialogflow_v2beta1/service.rb +154 -94
  309. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  310. data/generated/google/apis/digitalassetlinks_v1/service.rb +7 -6
  311. data/generated/google/apis/digitalassetlinks_v1.rb +1 -1
  312. data/generated/google/apis/discovery_v1/service.rb +2 -2
  313. data/generated/google/apis/dlp_v2/classes.rb +116 -45
  314. data/generated/google/apis/dlp_v2/representations.rb +32 -0
  315. data/generated/google/apis/dlp_v2/service.rb +85 -45
  316. data/generated/google/apis/dlp_v2.rb +1 -1
  317. data/generated/google/apis/dns_v1/classes.rb +83 -1
  318. data/generated/google/apis/dns_v1/representations.rb +34 -0
  319. data/generated/google/apis/dns_v1/service.rb +15 -15
  320. data/generated/google/apis/dns_v1.rb +1 -1
  321. data/generated/google/apis/dns_v1beta2/classes.rb +81 -1
  322. data/generated/google/apis/dns_v1beta2/representations.rb +33 -0
  323. data/generated/google/apis/dns_v1beta2/service.rb +21 -21
  324. data/generated/google/apis/dns_v1beta2.rb +1 -1
  325. data/generated/google/apis/dns_v2beta1/classes.rb +83 -1
  326. data/generated/google/apis/dns_v2beta1/representations.rb +34 -0
  327. data/generated/google/apis/dns_v2beta1/service.rb +16 -16
  328. data/generated/google/apis/dns_v2beta1.rb +1 -1
  329. data/generated/google/apis/docs_v1/classes.rb +265 -47
  330. data/generated/google/apis/docs_v1/representations.rb +96 -0
  331. data/generated/google/apis/docs_v1/service.rb +3 -3
  332. data/generated/google/apis/docs_v1.rb +1 -1
  333. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +6 -4
  334. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +9 -9
  335. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  336. data/generated/google/apis/doubleclicksearch_v2/service.rb +10 -10
  337. data/generated/google/apis/drive_v2/classes.rb +601 -80
  338. data/generated/google/apis/drive_v2/representations.rb +152 -0
  339. data/generated/google/apis/drive_v2/service.rb +574 -164
  340. data/generated/google/apis/drive_v2.rb +1 -1
  341. data/generated/google/apis/drive_v3/classes.rb +591 -75
  342. data/generated/google/apis/drive_v3/representations.rb +151 -0
  343. data/generated/google/apis/drive_v3/service.rb +483 -116
  344. data/generated/google/apis/drive_v3.rb +1 -1
  345. data/generated/google/apis/driveactivity_v2/classes.rb +149 -17
  346. data/generated/google/apis/driveactivity_v2/representations.rb +69 -0
  347. data/generated/google/apis/driveactivity_v2/service.rb +1 -1
  348. data/generated/google/apis/driveactivity_v2.rb +1 -1
  349. data/generated/google/apis/factchecktools_v1alpha1/classes.rb +459 -0
  350. data/generated/google/apis/factchecktools_v1alpha1/representations.rb +207 -0
  351. data/generated/google/apis/factchecktools_v1alpha1/service.rb +300 -0
  352. data/generated/google/apis/factchecktools_v1alpha1.rb +34 -0
  353. data/generated/google/apis/fcm_v1/classes.rb +424 -0
  354. data/generated/google/apis/fcm_v1/representations.rb +167 -0
  355. data/generated/google/apis/fcm_v1/service.rb +97 -0
  356. data/generated/google/apis/fcm_v1.rb +35 -0
  357. data/generated/google/apis/file_v1/classes.rb +646 -11
  358. data/generated/google/apis/file_v1/representations.rb +207 -0
  359. data/generated/google/apis/file_v1/service.rb +196 -6
  360. data/generated/google/apis/file_v1.rb +1 -1
  361. data/generated/google/apis/file_v1beta1/classes.rb +461 -19
  362. data/generated/google/apis/file_v1beta1/representations.rb +137 -0
  363. data/generated/google/apis/file_v1beta1/service.rb +11 -11
  364. data/generated/google/apis/file_v1beta1.rb +1 -1
  365. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +41 -14
  366. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +4 -0
  367. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +5 -5
  368. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  369. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +13 -13
  370. data/generated/google/apis/firebasehosting_v1beta1/service.rb +14 -14
  371. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  372. data/generated/google/apis/firebaserules_v1/classes.rb +10 -2
  373. data/generated/google/apis/firebaserules_v1/service.rb +12 -12
  374. data/generated/google/apis/firebaserules_v1.rb +1 -1
  375. data/generated/google/apis/firestore_v1/classes.rb +15 -15
  376. data/generated/google/apis/firestore_v1/service.rb +28 -28
  377. data/generated/google/apis/firestore_v1.rb +1 -1
  378. data/generated/google/apis/firestore_v1beta1/classes.rb +15 -15
  379. data/generated/google/apis/firestore_v1beta1/service.rb +19 -19
  380. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  381. data/generated/google/apis/firestore_v1beta2/classes.rb +10 -10
  382. data/generated/google/apis/firestore_v1beta2/service.rb +9 -9
  383. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  384. data/generated/google/apis/fitness_v1/classes.rb +4 -1
  385. data/generated/google/apis/fitness_v1/service.rb +14 -58
  386. data/generated/google/apis/fitness_v1.rb +1 -1
  387. data/generated/google/apis/fusiontables_v1/service.rb +32 -32
  388. data/generated/google/apis/fusiontables_v2/service.rb +34 -34
  389. data/generated/google/apis/games_configuration_v1configuration/service.rb +13 -13
  390. data/generated/google/apis/games_management_v1management/service.rb +27 -27
  391. data/generated/google/apis/games_management_v1management.rb +2 -2
  392. data/generated/google/apis/games_v1/service.rb +53 -53
  393. data/generated/google/apis/games_v1.rb +3 -3
  394. data/generated/google/apis/genomics_v1/classes.rb +190 -3321
  395. data/generated/google/apis/genomics_v1/representations.rb +128 -1265
  396. data/generated/google/apis/genomics_v1/service.rb +75 -1982
  397. data/generated/google/apis/genomics_v1.rb +1 -10
  398. data/generated/google/apis/genomics_v1alpha2/classes.rb +13 -53
  399. data/generated/google/apis/genomics_v1alpha2/representations.rb +0 -26
  400. data/generated/google/apis/genomics_v1alpha2/service.rb +11 -12
  401. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  402. data/generated/google/apis/genomics_v2alpha1/classes.rb +26 -58
  403. data/generated/google/apis/genomics_v2alpha1/representations.rb +1 -26
  404. data/generated/google/apis/genomics_v2alpha1/service.rb +6 -7
  405. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  406. data/generated/google/apis/gmail_v1/classes.rb +29 -0
  407. data/generated/google/apis/gmail_v1/representations.rb +13 -0
  408. data/generated/google/apis/gmail_v1/service.rb +142 -66
  409. data/generated/google/apis/gmail_v1.rb +1 -1
  410. data/generated/google/apis/groupsmigration_v1/service.rb +1 -1
  411. data/generated/google/apis/groupssettings_v1/classes.rb +126 -1
  412. data/generated/google/apis/groupssettings_v1/representations.rb +18 -0
  413. data/generated/google/apis/groupssettings_v1/service.rb +4 -4
  414. data/generated/google/apis/groupssettings_v1.rb +2 -2
  415. data/generated/google/apis/healthcare_v1alpha2/classes.rb +2849 -0
  416. data/generated/google/apis/healthcare_v1alpha2/representations.rb +1260 -0
  417. data/generated/google/apis/healthcare_v1alpha2/service.rb +4011 -0
  418. data/generated/google/apis/healthcare_v1alpha2.rb +34 -0
  419. data/generated/google/apis/healthcare_v1beta1/classes.rb +2464 -0
  420. data/generated/google/apis/healthcare_v1beta1/representations.rb +1042 -0
  421. data/generated/google/apis/healthcare_v1beta1/service.rb +3413 -0
  422. data/generated/google/apis/healthcare_v1beta1.rb +34 -0
  423. data/generated/google/apis/iam_v1/classes.rb +171 -1
  424. data/generated/google/apis/iam_v1/representations.rb +95 -0
  425. data/generated/google/apis/iam_v1/service.rb +249 -39
  426. data/generated/google/apis/iam_v1.rb +1 -1
  427. data/generated/google/apis/iamcredentials_v1/classes.rb +8 -4
  428. data/generated/google/apis/iamcredentials_v1/service.rb +15 -10
  429. data/generated/google/apis/iamcredentials_v1.rb +1 -1
  430. data/generated/google/apis/iap_v1/classes.rb +1 -1
  431. data/generated/google/apis/iap_v1/service.rb +3 -3
  432. data/generated/google/apis/iap_v1.rb +1 -1
  433. data/generated/google/apis/iap_v1beta1/classes.rb +1 -1
  434. data/generated/google/apis/iap_v1beta1/service.rb +3 -3
  435. data/generated/google/apis/iap_v1beta1.rb +1 -1
  436. data/generated/google/apis/identitytoolkit_v3/service.rb +20 -20
  437. data/generated/google/apis/indexing_v3/service.rb +2 -2
  438. data/generated/google/apis/jobs_v2/classes.rb +16 -17
  439. data/generated/google/apis/jobs_v2/service.rb +17 -17
  440. data/generated/google/apis/jobs_v2.rb +1 -1
  441. data/generated/google/apis/jobs_v3/classes.rb +14 -8
  442. data/generated/google/apis/jobs_v3/service.rb +16 -17
  443. data/generated/google/apis/jobs_v3.rb +1 -1
  444. data/generated/google/apis/jobs_v3p1beta1/classes.rb +26 -20
  445. data/generated/google/apis/jobs_v3p1beta1/service.rb +17 -18
  446. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  447. data/generated/google/apis/kgsearch_v1/service.rb +1 -1
  448. data/generated/google/apis/language_v1/classes.rb +8 -7
  449. data/generated/google/apis/language_v1/service.rb +6 -6
  450. data/generated/google/apis/language_v1.rb +1 -1
  451. data/generated/google/apis/language_v1beta1/classes.rb +5 -5
  452. data/generated/google/apis/language_v1beta1/service.rb +4 -4
  453. data/generated/google/apis/language_v1beta1.rb +1 -1
  454. data/generated/google/apis/language_v1beta2/classes.rb +8 -7
  455. data/generated/google/apis/language_v1beta2/service.rb +6 -6
  456. data/generated/google/apis/language_v1beta2.rb +1 -1
  457. data/generated/google/apis/libraryagent_v1/service.rb +6 -6
  458. data/generated/google/apis/licensing_v1/service.rb +7 -7
  459. data/generated/google/apis/logging_v2/classes.rb +8 -3
  460. data/generated/google/apis/logging_v2/representations.rb +1 -0
  461. data/generated/google/apis/logging_v2/service.rb +72 -72
  462. data/generated/google/apis/logging_v2.rb +1 -1
  463. data/generated/google/apis/manufacturers_v1/service.rb +4 -4
  464. data/generated/google/apis/mirror_v1/service.rb +24 -24
  465. data/generated/google/apis/ml_v1/classes.rb +240 -52
  466. data/generated/google/apis/ml_v1/representations.rb +25 -2
  467. data/generated/google/apis/ml_v1/service.rb +36 -36
  468. data/generated/google/apis/ml_v1.rb +1 -1
  469. data/generated/google/apis/monitoring_v3/classes.rb +22 -18
  470. data/generated/google/apis/monitoring_v3/representations.rb +2 -1
  471. data/generated/google/apis/monitoring_v3/service.rb +42 -37
  472. data/generated/google/apis/monitoring_v3.rb +1 -1
  473. data/generated/google/apis/oauth2_v1/classes.rb +0 -124
  474. data/generated/google/apis/oauth2_v1/representations.rb +0 -62
  475. data/generated/google/apis/oauth2_v1/service.rb +3 -162
  476. data/generated/google/apis/oauth2_v1.rb +3 -6
  477. data/generated/google/apis/oauth2_v2/service.rb +4 -4
  478. data/generated/google/apis/oauth2_v2.rb +3 -6
  479. data/generated/google/apis/oslogin_v1/service.rb +8 -7
  480. data/generated/google/apis/oslogin_v1.rb +3 -2
  481. data/generated/google/apis/oslogin_v1alpha/service.rb +8 -7
  482. data/generated/google/apis/oslogin_v1alpha.rb +3 -2
  483. data/generated/google/apis/oslogin_v1beta/service.rb +8 -7
  484. data/generated/google/apis/oslogin_v1beta.rb +3 -2
  485. data/generated/google/apis/pagespeedonline_v1/service.rb +1 -1
  486. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -1
  487. data/generated/google/apis/pagespeedonline_v4/service.rb +1 -1
  488. data/generated/google/apis/pagespeedonline_v5/classes.rb +43 -0
  489. data/generated/google/apis/pagespeedonline_v5/representations.rb +18 -0
  490. data/generated/google/apis/pagespeedonline_v5/service.rb +1 -1
  491. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  492. data/generated/google/apis/people_v1/classes.rb +38 -29
  493. data/generated/google/apis/people_v1/representations.rb +1 -0
  494. data/generated/google/apis/people_v1/service.rb +18 -13
  495. data/generated/google/apis/people_v1.rb +2 -5
  496. data/generated/google/apis/playcustomapp_v1/service.rb +1 -1
  497. data/generated/google/apis/plus_domains_v1/service.rb +18 -392
  498. data/generated/google/apis/plus_domains_v1.rb +4 -10
  499. data/generated/google/apis/plus_v1/service.rb +16 -16
  500. data/generated/google/apis/plus_v1.rb +4 -4
  501. data/generated/google/apis/poly_v1/classes.rb +8 -6
  502. data/generated/google/apis/poly_v1/service.rb +15 -12
  503. data/generated/google/apis/poly_v1.rb +1 -1
  504. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +8 -6
  505. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +17 -17
  506. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  507. data/generated/google/apis/pubsub_v1/classes.rb +55 -39
  508. data/generated/google/apis/pubsub_v1/representations.rb +16 -0
  509. data/generated/google/apis/pubsub_v1/service.rb +46 -69
  510. data/generated/google/apis/pubsub_v1.rb +1 -1
  511. data/generated/google/apis/pubsub_v1beta1a/service.rb +15 -15
  512. data/generated/google/apis/pubsub_v1beta2/classes.rb +45 -1
  513. data/generated/google/apis/pubsub_v1beta2/representations.rb +16 -0
  514. data/generated/google/apis/pubsub_v1beta2/service.rb +20 -20
  515. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  516. data/generated/google/apis/redis_v1/classes.rb +30 -10
  517. data/generated/google/apis/redis_v1/representations.rb +13 -0
  518. data/generated/google/apis/redis_v1/service.rb +51 -15
  519. data/generated/google/apis/redis_v1.rb +1 -1
  520. data/generated/google/apis/redis_v1beta1/classes.rb +18 -21
  521. data/generated/google/apis/redis_v1beta1/representations.rb +0 -1
  522. data/generated/google/apis/redis_v1beta1/service.rb +15 -15
  523. data/generated/google/apis/redis_v1beta1.rb +1 -1
  524. data/generated/google/apis/remotebuildexecution_v1/classes.rb +50 -35
  525. data/generated/google/apis/remotebuildexecution_v1/representations.rb +2 -0
  526. data/generated/google/apis/remotebuildexecution_v1/service.rb +7 -7
  527. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  528. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +48 -33
  529. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +2 -0
  530. data/generated/google/apis/remotebuildexecution_v1alpha/service.rb +10 -10
  531. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  532. data/generated/google/apis/remotebuildexecution_v2/classes.rb +58 -43
  533. data/generated/google/apis/remotebuildexecution_v2/representations.rb +2 -0
  534. data/generated/google/apis/remotebuildexecution_v2/service.rb +9 -9
  535. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  536. data/generated/google/apis/replicapool_v1beta1/service.rb +10 -10
  537. data/generated/google/apis/reseller_v1/classes.rb +32 -39
  538. data/generated/google/apis/reseller_v1/service.rb +18 -18
  539. data/generated/google/apis/reseller_v1.rb +1 -1
  540. data/generated/google/apis/run_v1/classes.rb +73 -0
  541. data/generated/google/apis/run_v1/representations.rb +43 -0
  542. data/generated/google/apis/run_v1/service.rb +90 -0
  543. data/generated/google/apis/run_v1.rb +35 -0
  544. data/generated/google/apis/run_v1alpha1/classes.rb +3882 -0
  545. data/generated/google/apis/run_v1alpha1/representations.rb +1425 -0
  546. data/generated/google/apis/run_v1alpha1/service.rb +2071 -0
  547. data/generated/google/apis/run_v1alpha1.rb +35 -0
  548. data/generated/google/apis/runtimeconfig_v1/classes.rb +11 -11
  549. data/generated/google/apis/runtimeconfig_v1/service.rb +3 -3
  550. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  551. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +26 -25
  552. data/generated/google/apis/runtimeconfig_v1beta1/service.rb +22 -22
  553. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  554. data/generated/google/apis/safebrowsing_v4/service.rb +7 -7
  555. data/generated/google/apis/script_v1/classes.rb +167 -6
  556. data/generated/google/apis/script_v1/representations.rb +79 -1
  557. data/generated/google/apis/script_v1/service.rb +16 -16
  558. data/generated/google/apis/script_v1.rb +1 -1
  559. data/generated/google/apis/searchconsole_v1/service.rb +1 -1
  560. data/generated/google/apis/securitycenter_v1/classes.rb +1627 -0
  561. data/generated/google/apis/securitycenter_v1/representations.rb +569 -0
  562. data/generated/google/apis/securitycenter_v1/service.rb +1110 -0
  563. data/generated/google/apis/securitycenter_v1.rb +35 -0
  564. data/generated/google/apis/securitycenter_v1beta1/classes.rb +1514 -0
  565. data/generated/google/apis/securitycenter_v1beta1/representations.rb +548 -0
  566. data/generated/google/apis/securitycenter_v1beta1/service.rb +1035 -0
  567. data/generated/google/apis/securitycenter_v1beta1.rb +35 -0
  568. data/generated/google/apis/servicebroker_v1/classes.rb +1 -1
  569. data/generated/google/apis/servicebroker_v1/service.rb +3 -3
  570. data/generated/google/apis/servicebroker_v1.rb +1 -1
  571. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +1 -1
  572. data/generated/google/apis/servicebroker_v1alpha1/service.rb +16 -16
  573. data/generated/google/apis/servicebroker_v1alpha1.rb +1 -1
  574. data/generated/google/apis/servicebroker_v1beta1/classes.rb +1 -1
  575. data/generated/google/apis/servicebroker_v1beta1/service.rb +21 -21
  576. data/generated/google/apis/servicebroker_v1beta1.rb +1 -1
  577. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +453 -149
  578. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +202 -29
  579. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +148 -62
  580. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  581. data/generated/google/apis/servicecontrol_v1/classes.rb +122 -25
  582. data/generated/google/apis/servicecontrol_v1/representations.rb +47 -0
  583. data/generated/google/apis/servicecontrol_v1/service.rb +3 -3
  584. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  585. data/generated/google/apis/servicemanagement_v1/classes.rb +93 -110
  586. data/generated/google/apis/servicemanagement_v1/representations.rb +13 -26
  587. data/generated/google/apis/servicemanagement_v1/service.rb +30 -27
  588. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  589. data/generated/google/apis/servicenetworking_v1/classes.rb +3626 -0
  590. data/generated/google/apis/servicenetworking_v1/representations.rb +1055 -0
  591. data/generated/google/apis/servicenetworking_v1/service.rb +440 -0
  592. data/generated/google/apis/servicenetworking_v1.rb +38 -0
  593. data/generated/google/apis/servicenetworking_v1beta/classes.rb +65 -108
  594. data/generated/google/apis/servicenetworking_v1beta/representations.rb +2 -29
  595. data/generated/google/apis/servicenetworking_v1beta/service.rb +6 -6
  596. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  597. data/generated/google/apis/serviceusage_v1/classes.rb +160 -109
  598. data/generated/google/apis/serviceusage_v1/representations.rb +42 -26
  599. data/generated/google/apis/serviceusage_v1/service.rb +17 -19
  600. data/generated/google/apis/serviceusage_v1.rb +1 -1
  601. data/generated/google/apis/serviceusage_v1beta1/classes.rb +161 -110
  602. data/generated/google/apis/serviceusage_v1beta1/representations.rb +42 -26
  603. data/generated/google/apis/serviceusage_v1beta1/service.rb +7 -7
  604. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  605. data/generated/google/apis/sheets_v4/classes.rb +115 -26
  606. data/generated/google/apis/sheets_v4/service.rb +17 -17
  607. data/generated/google/apis/sheets_v4.rb +1 -1
  608. data/generated/google/apis/site_verification_v1/service.rb +7 -7
  609. data/generated/google/apis/slides_v1/classes.rb +2 -2
  610. data/generated/google/apis/slides_v1/service.rb +5 -5
  611. data/generated/google/apis/slides_v1.rb +1 -1
  612. data/generated/google/apis/sourcerepo_v1/classes.rb +183 -1
  613. data/generated/google/apis/sourcerepo_v1/representations.rb +45 -0
  614. data/generated/google/apis/sourcerepo_v1/service.rb +45 -10
  615. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  616. data/generated/google/apis/spanner_v1/classes.rb +231 -17
  617. data/generated/google/apis/spanner_v1/representations.rb +66 -0
  618. data/generated/google/apis/spanner_v1/service.rb +92 -42
  619. data/generated/google/apis/spanner_v1.rb +1 -1
  620. data/generated/google/apis/speech_v1/classes.rb +110 -13
  621. data/generated/google/apis/speech_v1/representations.rb +24 -0
  622. data/generated/google/apis/speech_v1/service.rb +9 -7
  623. data/generated/google/apis/speech_v1.rb +1 -1
  624. data/generated/google/apis/speech_v1p1beta1/classes.rb +19 -13
  625. data/generated/google/apis/speech_v1p1beta1/representations.rb +1 -0
  626. data/generated/google/apis/speech_v1p1beta1/service.rb +9 -7
  627. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  628. data/generated/google/apis/sqladmin_v1beta4/classes.rb +94 -17
  629. data/generated/google/apis/sqladmin_v1beta4/representations.rb +36 -0
  630. data/generated/google/apis/sqladmin_v1beta4/service.rb +44 -44
  631. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  632. data/generated/google/apis/storage_v1/classes.rb +201 -4
  633. data/generated/google/apis/storage_v1/representations.rb +76 -1
  634. data/generated/google/apis/storage_v1/service.rb +488 -93
  635. data/generated/google/apis/storage_v1.rb +1 -1
  636. data/generated/google/apis/storage_v1beta1/service.rb +24 -24
  637. data/generated/google/apis/storage_v1beta2/service.rb +34 -34
  638. data/generated/google/apis/storagetransfer_v1/classes.rb +44 -44
  639. data/generated/google/apis/storagetransfer_v1/service.rb +35 -36
  640. data/generated/google/apis/storagetransfer_v1.rb +2 -2
  641. data/generated/google/apis/streetviewpublish_v1/classes.rb +27 -27
  642. data/generated/google/apis/streetviewpublish_v1/service.rb +36 -40
  643. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  644. data/generated/google/apis/surveys_v2/service.rb +8 -8
  645. data/generated/google/apis/tagmanager_v1/service.rb +49 -95
  646. data/generated/google/apis/tagmanager_v1.rb +1 -1
  647. data/generated/google/apis/tagmanager_v2/classes.rb +197 -292
  648. data/generated/google/apis/tagmanager_v2/representations.rb +62 -103
  649. data/generated/google/apis/tagmanager_v2/service.rb +287 -249
  650. data/generated/google/apis/tagmanager_v2.rb +1 -1
  651. data/generated/google/apis/tasks_v1/service.rb +19 -19
  652. data/generated/google/apis/tasks_v1.rb +2 -2
  653. data/generated/google/apis/testing_v1/classes.rb +44 -39
  654. data/generated/google/apis/testing_v1/representations.rb +3 -1
  655. data/generated/google/apis/testing_v1/service.rb +5 -5
  656. data/generated/google/apis/testing_v1.rb +1 -1
  657. data/generated/google/apis/texttospeech_v1/service.rb +2 -2
  658. data/generated/google/apis/texttospeech_v1.rb +1 -1
  659. data/generated/google/apis/texttospeech_v1beta1/service.rb +2 -2
  660. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  661. data/generated/google/apis/toolresults_v1beta3/classes.rb +340 -17
  662. data/generated/google/apis/toolresults_v1beta3/representations.rb +90 -0
  663. data/generated/google/apis/toolresults_v1beta3/service.rb +140 -24
  664. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  665. data/generated/google/apis/tpu_v1/classes.rb +21 -15
  666. data/generated/google/apis/tpu_v1/representations.rb +1 -0
  667. data/generated/google/apis/tpu_v1/service.rb +17 -17
  668. data/generated/google/apis/tpu_v1.rb +1 -1
  669. data/generated/google/apis/tpu_v1alpha1/classes.rb +21 -15
  670. data/generated/google/apis/tpu_v1alpha1/representations.rb +1 -0
  671. data/generated/google/apis/tpu_v1alpha1/service.rb +17 -17
  672. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  673. data/generated/google/apis/translate_v2/service.rb +5 -5
  674. data/generated/google/apis/urlshortener_v1/service.rb +3 -3
  675. data/generated/google/apis/vault_v1/classes.rb +44 -18
  676. data/generated/google/apis/vault_v1/representations.rb +4 -0
  677. data/generated/google/apis/vault_v1/service.rb +28 -28
  678. data/generated/google/apis/vault_v1.rb +1 -1
  679. data/generated/google/apis/videointelligence_v1/classes.rb +2193 -350
  680. data/generated/google/apis/videointelligence_v1/representations.rb +805 -6
  681. data/generated/google/apis/videointelligence_v1/service.rb +7 -6
  682. data/generated/google/apis/videointelligence_v1.rb +3 -2
  683. data/generated/google/apis/videointelligence_v1beta2/classes.rb +2448 -605
  684. data/generated/google/apis/videointelligence_v1beta2/representations.rb +806 -7
  685. data/generated/google/apis/videointelligence_v1beta2/service.rb +3 -2
  686. data/generated/google/apis/videointelligence_v1beta2.rb +3 -2
  687. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +2422 -579
  688. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +806 -7
  689. data/generated/google/apis/videointelligence_v1p1beta1/service.rb +3 -2
  690. data/generated/google/apis/videointelligence_v1p1beta1.rb +3 -2
  691. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +2645 -830
  692. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +796 -12
  693. data/generated/google/apis/videointelligence_v1p2beta1/service.rb +3 -2
  694. data/generated/google/apis/videointelligence_v1p2beta1.rb +3 -2
  695. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +4687 -0
  696. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +2005 -0
  697. data/generated/google/apis/videointelligence_v1p3beta1/service.rb +94 -0
  698. data/generated/google/apis/videointelligence_v1p3beta1.rb +36 -0
  699. data/generated/google/apis/vision_v1/classes.rb +4397 -124
  700. data/generated/google/apis/vision_v1/representations.rb +2366 -541
  701. data/generated/google/apis/vision_v1/service.rb +160 -33
  702. data/generated/google/apis/vision_v1.rb +1 -1
  703. data/generated/google/apis/vision_v1p1beta1/classes.rb +4451 -158
  704. data/generated/google/apis/vision_v1p1beta1/representations.rb +2415 -576
  705. data/generated/google/apis/vision_v1p1beta1/service.rb +73 -2
  706. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  707. data/generated/google/apis/vision_v1p2beta1/classes.rb +4451 -158
  708. data/generated/google/apis/vision_v1p2beta1/representations.rb +2443 -604
  709. data/generated/google/apis/vision_v1p2beta1/service.rb +73 -2
  710. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  711. data/generated/google/apis/webfonts_v1/service.rb +1 -1
  712. data/generated/google/apis/webmasters_v3/classes.rb +0 -166
  713. data/generated/google/apis/webmasters_v3/representations.rb +0 -93
  714. data/generated/google/apis/webmasters_v3/service.rb +9 -180
  715. data/generated/google/apis/webmasters_v3.rb +1 -1
  716. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +13 -13
  717. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +973 -0
  718. data/generated/google/apis/websecurityscanner_v1beta/representations.rb +452 -0
  719. data/generated/google/apis/websecurityscanner_v1beta/service.rb +548 -0
  720. data/generated/google/apis/websecurityscanner_v1beta.rb +34 -0
  721. data/generated/google/apis/youtube_analytics_v1/service.rb +8 -8
  722. data/generated/google/apis/youtube_analytics_v1beta1/service.rb +8 -8
  723. data/generated/google/apis/youtube_analytics_v2/service.rb +8 -8
  724. data/generated/google/apis/youtube_partner_v1/classes.rb +15 -34
  725. data/generated/google/apis/youtube_partner_v1/representations.rb +4 -17
  726. data/generated/google/apis/youtube_partner_v1/service.rb +74 -74
  727. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  728. data/generated/google/apis/youtube_v3/service.rb +71 -71
  729. data/generated/google/apis/youtube_v3.rb +1 -1
  730. data/generated/google/apis/youtubereporting_v1/classes.rb +2 -2
  731. data/generated/google/apis/youtubereporting_v1/service.rb +8 -8
  732. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  733. data/google-api-client.gemspec +2 -2
  734. data/lib/google/apis/core/http_command.rb +1 -0
  735. data/lib/google/apis/core/json_representation.rb +4 -0
  736. data/lib/google/apis/core/upload.rb +3 -3
  737. data/lib/google/apis/generator/model.rb +1 -1
  738. data/lib/google/apis/generator/templates/_method.tmpl +3 -3
  739. data/lib/google/apis/version.rb +1 -1
  740. metadata +86 -17
  741. data/.kokoro/common.cfg +0 -22
  742. data/.kokoro/windows.sh +0 -32
  743. data/generated/google/apis/logging_v2beta1/classes.rb +0 -1765
  744. data/generated/google/apis/logging_v2beta1/representations.rb +0 -537
  745. data/generated/google/apis/logging_v2beta1/service.rb +0 -570
  746. data/generated/google/apis/logging_v2beta1.rb +0 -46
  747. data/generated/google/apis/partners_v2/classes.rb +0 -2260
  748. data/generated/google/apis/partners_v2/representations.rb +0 -905
  749. data/generated/google/apis/partners_v2/service.rb +0 -1077
  750. data/samples/web/.env +0 -2
@@ -37,6 +37,11 @@ module Google
37
37
  # @return [Array<Google::Apis::VisionV1p2beta1::AnnotateImageResponse>]
38
38
  attr_accessor :responses
39
39
 
40
+ # This field gives the total number of pages in the file.
41
+ # Corresponds to the JSON property `totalPages`
42
+ # @return [Fixnum]
43
+ attr_accessor :total_pages
44
+
40
45
  def initialize(**args)
41
46
  update!(**args)
42
47
  end
@@ -45,6 +50,7 @@ module Google
45
50
  def update!(**args)
46
51
  @input_config = args[:input_config] if args.key?(:input_config)
47
52
  @responses = args[:responses] if args.key?(:responses)
53
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
48
54
  end
49
55
  end
50
56
 
@@ -63,14 +69,14 @@ module Google
63
69
  # @return [Google::Apis::VisionV1p2beta1::CropHintsAnnotation]
64
70
  attr_accessor :crop_hints_annotation
65
71
 
66
- # The `Status` type defines a logical error model that is suitable for different
67
- # programming environments, including REST APIs and RPC APIs. It is used by
68
- # [gRPC](https://github.com/grpc). The error model is designed to be:
72
+ # The `Status` type defines a logical error model that is suitable for
73
+ # different programming environments, including REST APIs and RPC APIs. It is
74
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
69
75
  # - Simple to use and understand for most users
70
76
  # - Flexible enough to meet unexpected needs
71
77
  # # Overview
72
- # The `Status` message contains three pieces of data: error code, error message,
73
- # and error details. The error code should be an enum value of
78
+ # The `Status` message contains three pieces of data: error code, error
79
+ # message, and error details. The error code should be an enum value of
74
80
  # google.rpc.Code, but it may accept additional error codes if needed. The
75
81
  # error message should be a developer-facing English message that helps
76
82
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -232,6 +238,45 @@ module Google
232
238
  end
233
239
  end
234
240
 
241
+ # Response to an async batch image annotation request.
242
+ class AsyncBatchAnnotateImagesResponse
243
+ include Google::Apis::Core::Hashable
244
+
245
+ # The desired output location and metadata.
246
+ # Corresponds to the JSON property `outputConfig`
247
+ # @return [Google::Apis::VisionV1p2beta1::OutputConfig]
248
+ attr_accessor :output_config
249
+
250
+ def initialize(**args)
251
+ update!(**args)
252
+ end
253
+
254
+ # Update properties of this object
255
+ def update!(**args)
256
+ @output_config = args[:output_config] if args.key?(:output_config)
257
+ end
258
+ end
259
+
260
+ # A list of file annotation responses.
261
+ class BatchAnnotateFilesResponse
262
+ include Google::Apis::Core::Hashable
263
+
264
+ # The list of file annotation responses, each response corresponding to each
265
+ # AnnotateFileRequest in BatchAnnotateFilesRequest.
266
+ # Corresponds to the JSON property `responses`
267
+ # @return [Array<Google::Apis::VisionV1p2beta1::AnnotateFileResponse>]
268
+ attr_accessor :responses
269
+
270
+ def initialize(**args)
271
+ update!(**args)
272
+ end
273
+
274
+ # Update properties of this object
275
+ def update!(**args)
276
+ @responses = args[:responses] if args.key?(:responses)
277
+ end
278
+ end
279
+
235
280
  # Metadata for the batch operations such as the current state.
236
281
  # This is included in the `metadata` field of the `Operation` returned by the
237
282
  # `GetOperation` call of the `google::longrunning::Operations` service.
@@ -340,7 +385,11 @@ module Google
340
385
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
341
386
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
342
387
  # method in iOS; and, with just a little work, it can be easily formatted into
343
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
388
+ # a CSS "rgba()" string in JavaScript, as well.
389
+ # Note: this proto does not carry information about the absolute color space
390
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
391
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
392
+ # space.
344
393
  # Example (Java):
345
394
  # import com.google.type.Color;
346
395
  # // ...
@@ -488,7 +537,11 @@ module Google
488
537
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
489
538
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
490
539
  # method in iOS; and, with just a little work, it can be easily formatted into
491
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
540
+ # a CSS "rgba()" string in JavaScript, as well.
541
+ # Note: this proto does not carry information about the absolute color space
542
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
543
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
544
+ # space.
492
545
  # Example (Java):
493
546
  # import com.google.type.Color;
494
547
  # // ...
@@ -926,14 +979,20 @@ module Google
926
979
  class GcsDestination
927
980
  include Google::Apis::Core::Hashable
928
981
 
929
- # Google Cloud Storage URI where the results will be stored. Results will
930
- # be in JSON format and preceded by its corresponding input URI. This field
931
- # can either represent a single file, or a prefix for multiple outputs.
932
- # Prefixes must end in a `/`.
982
+ # Google Cloud Storage URI prefix where the results will be stored. Results
983
+ # will be in JSON format and preceded by its corresponding input URI prefix.
984
+ # This field can either represent a gcs file prefix or gcs directory. In
985
+ # either case, the uri should be unique because in order to get all of the
986
+ # output files, you will need to do a wildcard gcs search on the uri prefix
987
+ # you provide.
933
988
  # Examples:
934
- # * File: gs://bucket-name/filename.json
935
- # * Prefix: gs://bucket-name/prefix/here/
936
- # * File: gs://bucket-name/prefix/here
989
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
990
+ # will be created in gs://bucket-name/here/ and the names of the
991
+ # output files will begin with "filenameprefix".
992
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
993
+ # will be created in gs://bucket-name/some/location/ and the names of the
994
+ # output files could be anything because there was no filename prefix
995
+ # specified.
937
996
  # If multiple outputs, each response is still AnnotateFileResponse, each of
938
997
  # which contains some subset of the full list of AnnotateImageResponse.
939
998
  # Multiple outputs can happen if, for example, the output JSON is too large
@@ -987,6 +1046,11 @@ module Google
987
1046
  # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p1beta1AnnotateImageResponse>]
988
1047
  attr_accessor :responses
989
1048
 
1049
+ # This field gives the total number of pages in the file.
1050
+ # Corresponds to the JSON property `totalPages`
1051
+ # @return [Fixnum]
1052
+ attr_accessor :total_pages
1053
+
990
1054
  def initialize(**args)
991
1055
  update!(**args)
992
1056
  end
@@ -995,6 +1059,7 @@ module Google
995
1059
  def update!(**args)
996
1060
  @input_config = args[:input_config] if args.key?(:input_config)
997
1061
  @responses = args[:responses] if args.key?(:responses)
1062
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
998
1063
  end
999
1064
  end
1000
1065
 
@@ -1013,14 +1078,14 @@ module Google
1013
1078
  # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p1beta1CropHintsAnnotation]
1014
1079
  attr_accessor :crop_hints_annotation
1015
1080
 
1016
- # The `Status` type defines a logical error model that is suitable for different
1017
- # programming environments, including REST APIs and RPC APIs. It is used by
1018
- # [gRPC](https://github.com/grpc). The error model is designed to be:
1081
+ # The `Status` type defines a logical error model that is suitable for
1082
+ # different programming environments, including REST APIs and RPC APIs. It is
1083
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
1019
1084
  # - Simple to use and understand for most users
1020
1085
  # - Flexible enough to meet unexpected needs
1021
1086
  # # Overview
1022
- # The `Status` message contains three pieces of data: error code, error message,
1023
- # and error details. The error code should be an enum value of
1087
+ # The `Status` message contains three pieces of data: error code, error
1088
+ # message, and error details. The error code should be an enum value of
1024
1089
  # google.rpc.Code, but it may accept additional error codes if needed. The
1025
1090
  # error message should be a developer-facing English message that helps
1026
1091
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -1261,7 +1326,11 @@ module Google
1261
1326
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
1262
1327
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
1263
1328
  # method in iOS; and, with just a little work, it can be easily formatted into
1264
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
1329
+ # a CSS "rgba()" string in JavaScript, as well.
1330
+ # Note: this proto does not carry information about the absolute color space
1331
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
1332
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
1333
+ # space.
1265
1334
  # Example (Java):
1266
1335
  # import com.google.type.Color;
1267
1336
  # // ...
@@ -1673,14 +1742,20 @@ module Google
1673
1742
  class GoogleCloudVisionV1p1beta1GcsDestination
1674
1743
  include Google::Apis::Core::Hashable
1675
1744
 
1676
- # Google Cloud Storage URI where the results will be stored. Results will
1677
- # be in JSON format and preceded by its corresponding input URI. This field
1678
- # can either represent a single file, or a prefix for multiple outputs.
1679
- # Prefixes must end in a `/`.
1745
+ # Google Cloud Storage URI prefix where the results will be stored. Results
1746
+ # will be in JSON format and preceded by its corresponding input URI prefix.
1747
+ # This field can either represent a gcs file prefix or gcs directory. In
1748
+ # either case, the uri should be unique because in order to get all of the
1749
+ # output files, you will need to do a wildcard gcs search on the uri prefix
1750
+ # you provide.
1680
1751
  # Examples:
1681
- # * File: gs://bucket-name/filename.json
1682
- # * Prefix: gs://bucket-name/prefix/here/
1683
- # * File: gs://bucket-name/prefix/here
1752
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
1753
+ # will be created in gs://bucket-name/here/ and the names of the
1754
+ # output files will begin with "filenameprefix".
1755
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
1756
+ # will be created in gs://bucket-name/some/location/ and the names of the
1757
+ # output files could be anything because there was no filename prefix
1758
+ # specified.
1684
1759
  # If multiple outputs, each response is still AnnotateFileResponse, each of
1685
1760
  # which contains some subset of the full list of AnnotateImageResponse.
1686
1761
  # Multiple outputs can happen if, for example, the output JSON is too large
@@ -1769,6 +1844,16 @@ module Google
1769
1844
  class GoogleCloudVisionV1p1beta1InputConfig
1770
1845
  include Google::Apis::Core::Hashable
1771
1846
 
1847
+ # File content, represented as a stream of bytes.
1848
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
1849
+ # representation, whereas JSON representations use base64.
1850
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
1851
+ # not work for AsyncBatchAnnotateFiles requests.
1852
+ # Corresponds to the JSON property `content`
1853
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1854
+ # @return [String]
1855
+ attr_accessor :content
1856
+
1772
1857
  # The Google Cloud Storage location where the input will be read from.
1773
1858
  # Corresponds to the JSON property `gcsSource`
1774
1859
  # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p1beta1GcsSource]
@@ -1786,6 +1871,7 @@ module Google
1786
1871
 
1787
1872
  # Update properties of this object
1788
1873
  def update!(**args)
1874
+ @content = args[:content] if args.key?(:content)
1789
1875
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
1790
1876
  @mime_type = args[:mime_type] if args.key?(:mime_type)
1791
1877
  end
@@ -2152,8 +2238,9 @@ module Google
2152
2238
  class GoogleCloudVisionV1p1beta1ProductSearchResults
2153
2239
  include Google::Apis::Core::Hashable
2154
2240
 
2155
- # Timestamp of the index which provided these results. Changes made after
2156
- # this time are not reflected in the current results.
2241
+ # Timestamp of the index which provided these results. Products added to the
2242
+ # product set and products removed from the product set after this time are
2243
+ # not reflected in the current results.
2157
2244
  # Corresponds to the JSON property `indexTime`
2158
2245
  # @return [String]
2159
2246
  attr_accessor :index_time
@@ -2719,6 +2806,52 @@ module Google
2719
2806
  end
2720
2807
  end
2721
2808
 
2809
+ # A request to annotate one single file, e.g. a PDF, TIFF or GIF file.
2810
+ class GoogleCloudVisionV1p2beta1AnnotateFileRequest
2811
+ include Google::Apis::Core::Hashable
2812
+
2813
+ # Required. Requested features.
2814
+ # Corresponds to the JSON property `features`
2815
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1Feature>]
2816
+ attr_accessor :features
2817
+
2818
+ # Image context and/or feature-specific parameters.
2819
+ # Corresponds to the JSON property `imageContext`
2820
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1ImageContext]
2821
+ attr_accessor :image_context
2822
+
2823
+ # The desired input location and metadata.
2824
+ # Corresponds to the JSON property `inputConfig`
2825
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1InputConfig]
2826
+ attr_accessor :input_config
2827
+
2828
+ # Pages of the file to perform image annotation.
2829
+ # Pages starts from 1, we assume the first page of the file is page 1.
2830
+ # At most 5 pages are supported per request. Pages can be negative.
2831
+ # Page 1 means the first page.
2832
+ # Page 2 means the second page.
2833
+ # Page -1 means the last page.
2834
+ # Page -2 means the second to the last page.
2835
+ # If the file is GIF instead of PDF or TIFF, page refers to GIF frames.
2836
+ # If this field is empty, by default the service performs image annotation
2837
+ # for the first 5 pages of the file.
2838
+ # Corresponds to the JSON property `pages`
2839
+ # @return [Array<Fixnum>]
2840
+ attr_accessor :pages
2841
+
2842
+ def initialize(**args)
2843
+ update!(**args)
2844
+ end
2845
+
2846
+ # Update properties of this object
2847
+ def update!(**args)
2848
+ @features = args[:features] if args.key?(:features)
2849
+ @image_context = args[:image_context] if args.key?(:image_context)
2850
+ @input_config = args[:input_config] if args.key?(:input_config)
2851
+ @pages = args[:pages] if args.key?(:pages)
2852
+ end
2853
+ end
2854
+
2722
2855
  # Response to a single file annotation request. A file may contain one or more
2723
2856
  # images, which individually have their own responses.
2724
2857
  class GoogleCloudVisionV1p2beta1AnnotateFileResponse
@@ -2734,6 +2867,11 @@ module Google
2734
2867
  # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1AnnotateImageResponse>]
2735
2868
  attr_accessor :responses
2736
2869
 
2870
+ # This field gives the total number of pages in the file.
2871
+ # Corresponds to the JSON property `totalPages`
2872
+ # @return [Fixnum]
2873
+ attr_accessor :total_pages
2874
+
2737
2875
  def initialize(**args)
2738
2876
  update!(**args)
2739
2877
  end
@@ -2742,6 +2880,7 @@ module Google
2742
2880
  def update!(**args)
2743
2881
  @input_config = args[:input_config] if args.key?(:input_config)
2744
2882
  @responses = args[:responses] if args.key?(:responses)
2883
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
2745
2884
  end
2746
2885
  end
2747
2886
 
@@ -2792,14 +2931,14 @@ module Google
2792
2931
  # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1CropHintsAnnotation]
2793
2932
  attr_accessor :crop_hints_annotation
2794
2933
 
2795
- # The `Status` type defines a logical error model that is suitable for different
2796
- # programming environments, including REST APIs and RPC APIs. It is used by
2797
- # [gRPC](https://github.com/grpc). The error model is designed to be:
2934
+ # The `Status` type defines a logical error model that is suitable for
2935
+ # different programming environments, including REST APIs and RPC APIs. It is
2936
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
2798
2937
  # - Simple to use and understand for most users
2799
2938
  # - Flexible enough to meet unexpected needs
2800
2939
  # # Overview
2801
- # The `Status` message contains three pieces of data: error code, error message,
2802
- # and error details. The error code should be an enum value of
2940
+ # The `Status` message contains three pieces of data: error code, error
2941
+ # message, and error details. The error code should be an enum value of
2803
2942
  # google.rpc.Code, but it may accept additional error codes if needed. The
2804
2943
  # error message should be a developer-facing English message that helps
2805
2944
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -3018,6 +3157,71 @@ module Google
3018
3157
  end
3019
3158
  end
3020
3159
 
3160
+ # Request for async image annotation for a list of images.
3161
+ class GoogleCloudVisionV1p2beta1AsyncBatchAnnotateImagesRequest
3162
+ include Google::Apis::Core::Hashable
3163
+
3164
+ # The desired output location and metadata.
3165
+ # Corresponds to the JSON property `outputConfig`
3166
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1OutputConfig]
3167
+ attr_accessor :output_config
3168
+
3169
+ # Individual image annotation requests for this batch.
3170
+ # Corresponds to the JSON property `requests`
3171
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1AnnotateImageRequest>]
3172
+ attr_accessor :requests
3173
+
3174
+ def initialize(**args)
3175
+ update!(**args)
3176
+ end
3177
+
3178
+ # Update properties of this object
3179
+ def update!(**args)
3180
+ @output_config = args[:output_config] if args.key?(:output_config)
3181
+ @requests = args[:requests] if args.key?(:requests)
3182
+ end
3183
+ end
3184
+
3185
+ # A list of requests to annotate files using the BatchAnnotateFiles API.
3186
+ class GoogleCloudVisionV1p2beta1BatchAnnotateFilesRequest
3187
+ include Google::Apis::Core::Hashable
3188
+
3189
+ # The list of file annotation requests. Right now we support only one
3190
+ # AnnotateFileRequest in BatchAnnotateFilesRequest.
3191
+ # Corresponds to the JSON property `requests`
3192
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1AnnotateFileRequest>]
3193
+ attr_accessor :requests
3194
+
3195
+ def initialize(**args)
3196
+ update!(**args)
3197
+ end
3198
+
3199
+ # Update properties of this object
3200
+ def update!(**args)
3201
+ @requests = args[:requests] if args.key?(:requests)
3202
+ end
3203
+ end
3204
+
3205
+ # A list of file annotation responses.
3206
+ class GoogleCloudVisionV1p2beta1BatchAnnotateFilesResponse
3207
+ include Google::Apis::Core::Hashable
3208
+
3209
+ # The list of file annotation responses, each response corresponding to each
3210
+ # AnnotateFileRequest in BatchAnnotateFilesRequest.
3211
+ # Corresponds to the JSON property `responses`
3212
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1AnnotateFileResponse>]
3213
+ attr_accessor :responses
3214
+
3215
+ def initialize(**args)
3216
+ update!(**args)
3217
+ end
3218
+
3219
+ # Update properties of this object
3220
+ def update!(**args)
3221
+ @responses = args[:responses] if args.key?(:responses)
3222
+ end
3223
+ end
3224
+
3021
3225
  # Multiple image annotation requests are batched into a single service call.
3022
3226
  class GoogleCloudVisionV1p2beta1BatchAnnotateImagesRequest
3023
3227
  include Google::Apis::Core::Hashable
@@ -3135,7 +3339,11 @@ module Google
3135
3339
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
3136
3340
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
3137
3341
  # method in iOS; and, with just a little work, it can be easily formatted into
3138
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
3342
+ # a CSS "rgba()" string in JavaScript, as well.
3343
+ # Note: this proto does not carry information about the absolute color space
3344
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
3345
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
3346
+ # space.
3139
3347
  # Example (Java):
3140
3348
  # import com.google.type.Color;
3141
3349
  # // ...
@@ -3607,14 +3815,20 @@ module Google
3607
3815
  class GoogleCloudVisionV1p2beta1GcsDestination
3608
3816
  include Google::Apis::Core::Hashable
3609
3817
 
3610
- # Google Cloud Storage URI where the results will be stored. Results will
3611
- # be in JSON format and preceded by its corresponding input URI. This field
3612
- # can either represent a single file, or a prefix for multiple outputs.
3613
- # Prefixes must end in a `/`.
3818
+ # Google Cloud Storage URI prefix where the results will be stored. Results
3819
+ # will be in JSON format and preceded by its corresponding input URI prefix.
3820
+ # This field can either represent a gcs file prefix or gcs directory. In
3821
+ # either case, the uri should be unique because in order to get all of the
3822
+ # output files, you will need to do a wildcard gcs search on the uri prefix
3823
+ # you provide.
3614
3824
  # Examples:
3615
- # * File: gs://bucket-name/filename.json
3616
- # * Prefix: gs://bucket-name/prefix/here/
3617
- # * File: gs://bucket-name/prefix/here
3825
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
3826
+ # will be created in gs://bucket-name/here/ and the names of the
3827
+ # output files will begin with "filenameprefix".
3828
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
3829
+ # will be created in gs://bucket-name/some/location/ and the names of the
3830
+ # output files could be anything because there was no filename prefix
3831
+ # specified.
3618
3832
  # If multiple outputs, each response is still AnnotateFileResponse, each of
3619
3833
  # which contains some subset of the full list of AnnotateImageResponse.
3620
3834
  # Multiple outputs can happen if, for example, the output JSON is too large
@@ -3823,6 +4037,16 @@ module Google
3823
4037
  class GoogleCloudVisionV1p2beta1InputConfig
3824
4038
  include Google::Apis::Core::Hashable
3825
4039
 
4040
+ # File content, represented as a stream of bytes.
4041
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
4042
+ # representation, whereas JSON representations use base64.
4043
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
4044
+ # not work for AsyncBatchAnnotateFiles requests.
4045
+ # Corresponds to the JSON property `content`
4046
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
4047
+ # @return [String]
4048
+ attr_accessor :content
4049
+
3826
4050
  # The Google Cloud Storage location where the input will be read from.
3827
4051
  # Corresponds to the JSON property `gcsSource`
3828
4052
  # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p2beta1GcsSource]
@@ -3840,6 +4064,7 @@ module Google
3840
4064
 
3841
4065
  # Update properties of this object
3842
4066
  def update!(**args)
4067
+ @content = args[:content] if args.key?(:content)
3843
4068
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
3844
4069
  @mime_type = args[:mime_type] if args.key?(:mime_type)
3845
4070
  end
@@ -4246,9 +4471,11 @@ module Google
4246
4471
 
4247
4472
  # The filtering expression. This can be used to restrict search results based
4248
4473
  # on Product labels. We currently support an AND of OR of key-value
4249
- # expressions, where each expression within an OR must have the same key.
4474
+ # expressions, where each expression within an OR must have the same key. An
4475
+ # '=' should be used to connect the key and value.
4250
4476
  # For example, "(color = red OR color = blue) AND brand = Google" is
4251
- # acceptable, but not "(color = red OR brand = Google)" or "color: red".
4477
+ # acceptable, but "(color = red OR brand = Google)" is not acceptable.
4478
+ # "color: red" is not acceptable because it uses a ':' instead of an '='.
4252
4479
  # Corresponds to the JSON property `filter`
4253
4480
  # @return [String]
4254
4481
  attr_accessor :filter
@@ -4284,8 +4511,9 @@ module Google
4284
4511
  class GoogleCloudVisionV1p2beta1ProductSearchResults
4285
4512
  include Google::Apis::Core::Hashable
4286
4513
 
4287
- # Timestamp of the index which provided these results. Changes made after
4288
- # this time are not reflected in the current results.
4514
+ # Timestamp of the index which provided these results. Products added to the
4515
+ # product set and products removed from the product set after this time are
4516
+ # not reflected in the current results.
4289
4517
  # Corresponds to the JSON property `indexTime`
4290
4518
  # @return [String]
4291
4519
  attr_accessor :index_time
@@ -4886,6 +5114,11 @@ module Google
4886
5114
  # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p3beta1AnnotateImageResponse>]
4887
5115
  attr_accessor :responses
4888
5116
 
5117
+ # This field gives the total number of pages in the file.
5118
+ # Corresponds to the JSON property `totalPages`
5119
+ # @return [Fixnum]
5120
+ attr_accessor :total_pages
5121
+
4889
5122
  def initialize(**args)
4890
5123
  update!(**args)
4891
5124
  end
@@ -4894,6 +5127,7 @@ module Google
4894
5127
  def update!(**args)
4895
5128
  @input_config = args[:input_config] if args.key?(:input_config)
4896
5129
  @responses = args[:responses] if args.key?(:responses)
5130
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
4897
5131
  end
4898
5132
  end
4899
5133
 
@@ -4912,14 +5146,14 @@ module Google
4912
5146
  # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p3beta1CropHintsAnnotation]
4913
5147
  attr_accessor :crop_hints_annotation
4914
5148
 
4915
- # The `Status` type defines a logical error model that is suitable for different
4916
- # programming environments, including REST APIs and RPC APIs. It is used by
4917
- # [gRPC](https://github.com/grpc). The error model is designed to be:
5149
+ # The `Status` type defines a logical error model that is suitable for
5150
+ # different programming environments, including REST APIs and RPC APIs. It is
5151
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
4918
5152
  # - Simple to use and understand for most users
4919
5153
  # - Flexible enough to meet unexpected needs
4920
5154
  # # Overview
4921
- # The `Status` message contains three pieces of data: error code, error message,
4922
- # and error details. The error code should be an enum value of
5155
+ # The `Status` message contains three pieces of data: error code, error
5156
+ # message, and error details. The error code should be an enum value of
4923
5157
  # google.rpc.Code, but it may accept additional error codes if needed. The
4924
5158
  # error message should be a developer-facing English message that helps
4925
5159
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -5194,7 +5428,11 @@ module Google
5194
5428
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
5195
5429
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
5196
5430
  # method in iOS; and, with just a little work, it can be easily formatted into
5197
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
5431
+ # a CSS "rgba()" string in JavaScript, as well.
5432
+ # Note: this proto does not carry information about the absolute color space
5433
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
5434
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
5435
+ # space.
5198
5436
  # Example (Java):
5199
5437
  # import com.google.type.Color;
5200
5438
  # // ...
@@ -5606,14 +5844,20 @@ module Google
5606
5844
  class GoogleCloudVisionV1p3beta1GcsDestination
5607
5845
  include Google::Apis::Core::Hashable
5608
5846
 
5609
- # Google Cloud Storage URI where the results will be stored. Results will
5610
- # be in JSON format and preceded by its corresponding input URI. This field
5611
- # can either represent a single file, or a prefix for multiple outputs.
5612
- # Prefixes must end in a `/`.
5847
+ # Google Cloud Storage URI prefix where the results will be stored. Results
5848
+ # will be in JSON format and preceded by its corresponding input URI prefix.
5849
+ # This field can either represent a gcs file prefix or gcs directory. In
5850
+ # either case, the uri should be unique because in order to get all of the
5851
+ # output files, you will need to do a wildcard gcs search on the uri prefix
5852
+ # you provide.
5613
5853
  # Examples:
5614
- # * File: gs://bucket-name/filename.json
5615
- # * Prefix: gs://bucket-name/prefix/here/
5616
- # * File: gs://bucket-name/prefix/here
5854
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
5855
+ # will be created in gs://bucket-name/here/ and the names of the
5856
+ # output files will begin with "filenameprefix".
5857
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
5858
+ # will be created in gs://bucket-name/some/location/ and the names of the
5859
+ # output files could be anything because there was no filename prefix
5860
+ # specified.
5617
5861
  # If multiple outputs, each response is still AnnotateFileResponse, each of
5618
5862
  # which contains some subset of the full list of AnnotateImageResponse.
5619
5863
  # Multiple outputs can happen if, for example, the output JSON is too large
@@ -5734,6 +5978,16 @@ module Google
5734
5978
  class GoogleCloudVisionV1p3beta1InputConfig
5735
5979
  include Google::Apis::Core::Hashable
5736
5980
 
5981
+ # File content, represented as a stream of bytes.
5982
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
5983
+ # representation, whereas JSON representations use base64.
5984
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
5985
+ # not work for AsyncBatchAnnotateFiles requests.
5986
+ # Corresponds to the JSON property `content`
5987
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
5988
+ # @return [String]
5989
+ attr_accessor :content
5990
+
5737
5991
  # The Google Cloud Storage location where the input will be read from.
5738
5992
  # Corresponds to the JSON property `gcsSource`
5739
5993
  # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p3beta1GcsSource]
@@ -5751,6 +6005,7 @@ module Google
5751
6005
 
5752
6006
  # Update properties of this object
5753
6007
  def update!(**args)
6008
+ @content = args[:content] if args.key?(:content)
5754
6009
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
5755
6010
  @mime_type = args[:mime_type] if args.key?(:mime_type)
5756
6011
  end
@@ -6117,8 +6372,9 @@ module Google
6117
6372
  class GoogleCloudVisionV1p3beta1ProductSearchResults
6118
6373
  include Google::Apis::Core::Hashable
6119
6374
 
6120
- # Timestamp of the index which provided these results. Changes made after
6121
- # this time are not reflected in the current results.
6375
+ # Timestamp of the index which provided these results. Products added to the
6376
+ # product set and products removed from the product set after this time are
6377
+ # not reflected in the current results.
6122
6378
  # Corresponds to the JSON property `indexTime`
6123
6379
  # @return [String]
6124
6380
  attr_accessor :index_time
@@ -6728,67 +6984,25 @@ module Google
6728
6984
  end
6729
6985
  end
6730
6986
 
6731
- # Information about the products similar to a single product in a query
6732
- # image.
6733
- class GroupedResult
6987
+ # Response to a single file annotation request. A file may contain one or more
6988
+ # images, which individually have their own responses.
6989
+ class GoogleCloudVisionV1p4beta1AnnotateFileResponse
6734
6990
  include Google::Apis::Core::Hashable
6735
6991
 
6736
- # A bounding polygon for the detected image annotation.
6737
- # Corresponds to the JSON property `boundingPoly`
6738
- # @return [Google::Apis::VisionV1p2beta1::BoundingPoly]
6739
- attr_accessor :bounding_poly
6740
-
6741
- # List of results, one for each product match.
6742
- # Corresponds to the JSON property `results`
6743
- # @return [Array<Google::Apis::VisionV1p2beta1::Result>]
6744
- attr_accessor :results
6745
-
6746
- def initialize(**args)
6747
- update!(**args)
6748
- end
6749
-
6750
- # Update properties of this object
6751
- def update!(**args)
6752
- @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
6753
- @results = args[:results] if args.key?(:results)
6754
- end
6755
- end
6992
+ # The desired input location and metadata.
6993
+ # Corresponds to the JSON property `inputConfig`
6994
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1InputConfig]
6995
+ attr_accessor :input_config
6756
6996
 
6757
- # If an image was produced from a file (e.g. a PDF), this message gives
6758
- # information about the source of that image.
6759
- class ImageAnnotationContext
6760
- include Google::Apis::Core::Hashable
6997
+ # Individual responses to images found within the file.
6998
+ # Corresponds to the JSON property `responses`
6999
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1AnnotateImageResponse>]
7000
+ attr_accessor :responses
6761
7001
 
6762
- # If the file was a PDF or TIFF, this field gives the page number within
6763
- # the file used to produce the image.
6764
- # Corresponds to the JSON property `pageNumber`
7002
+ # This field gives the total number of pages in the file.
7003
+ # Corresponds to the JSON property `totalPages`
6765
7004
  # @return [Fixnum]
6766
- attr_accessor :page_number
6767
-
6768
- # The URI of the file used to produce the image.
6769
- # Corresponds to the JSON property `uri`
6770
- # @return [String]
6771
- attr_accessor :uri
6772
-
6773
- def initialize(**args)
6774
- update!(**args)
6775
- end
6776
-
6777
- # Update properties of this object
6778
- def update!(**args)
6779
- @page_number = args[:page_number] if args.key?(:page_number)
6780
- @uri = args[:uri] if args.key?(:uri)
6781
- end
6782
- end
6783
-
6784
- # Stores image properties, such as dominant colors.
6785
- class ImageProperties
6786
- include Google::Apis::Core::Hashable
6787
-
6788
- # Set of dominant colors and their corresponding scores.
6789
- # Corresponds to the JSON property `dominantColors`
6790
- # @return [Google::Apis::VisionV1p2beta1::DominantColorsAnnotation]
6791
- attr_accessor :dominant_colors
7005
+ attr_accessor :total_pages
6792
7006
 
6793
7007
  def initialize(**args)
6794
7008
  update!(**args)
@@ -6796,46 +7010,4123 @@ module Google
6796
7010
 
6797
7011
  # Update properties of this object
6798
7012
  def update!(**args)
6799
- @dominant_colors = args[:dominant_colors] if args.key?(:dominant_colors)
7013
+ @input_config = args[:input_config] if args.key?(:input_config)
7014
+ @responses = args[:responses] if args.key?(:responses)
7015
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
6800
7016
  end
6801
7017
  end
6802
7018
 
6803
- # Response message for the `ImportProductSets` method.
6804
- # This message is returned by the
6805
- # google.longrunning.Operations.GetOperation method in the returned
6806
- # google.longrunning.Operation.response field.
6807
- class ImportProductSetsResponse
7019
+ # Response to an image annotation request.
7020
+ class GoogleCloudVisionV1p4beta1AnnotateImageResponse
6808
7021
  include Google::Apis::Core::Hashable
6809
7022
 
6810
- # The list of reference_images that are imported successfully.
6811
- # Corresponds to the JSON property `referenceImages`
6812
- # @return [Array<Google::Apis::VisionV1p2beta1::ReferenceImage>]
6813
- attr_accessor :reference_images
6814
-
6815
- # The rpc status for each ImportProductSet request, including both successes
6816
- # and errors.
6817
- # The number of statuses here matches the number of lines in the csv file,
6818
- # and statuses[i] stores the success or failure status of processing the i-th
6819
- # line of the csv, starting from line 0.
6820
- # Corresponds to the JSON property `statuses`
6821
- # @return [Array<Google::Apis::VisionV1p2beta1::Status>]
6822
- attr_accessor :statuses
7023
+ # If an image was produced from a file (e.g. a PDF), this message gives
7024
+ # information about the source of that image.
7025
+ # Corresponds to the JSON property `context`
7026
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1ImageAnnotationContext]
7027
+ attr_accessor :context
6823
7028
 
6824
- def initialize(**args)
6825
- update!(**args)
6826
- end
7029
+ # Set of crop hints that are used to generate new crops when serving images.
7030
+ # Corresponds to the JSON property `cropHintsAnnotation`
7031
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1CropHintsAnnotation]
7032
+ attr_accessor :crop_hints_annotation
6827
7033
 
6828
- # Update properties of this object
6829
- def update!(**args)
6830
- @reference_images = args[:reference_images] if args.key?(:reference_images)
6831
- @statuses = args[:statuses] if args.key?(:statuses)
6832
- end
6833
- end
7034
+ # The `Status` type defines a logical error model that is suitable for
7035
+ # different programming environments, including REST APIs and RPC APIs. It is
7036
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
7037
+ # - Simple to use and understand for most users
7038
+ # - Flexible enough to meet unexpected needs
7039
+ # # Overview
7040
+ # The `Status` message contains three pieces of data: error code, error
7041
+ # message, and error details. The error code should be an enum value of
7042
+ # google.rpc.Code, but it may accept additional error codes if needed. The
7043
+ # error message should be a developer-facing English message that helps
7044
+ # developers *understand* and *resolve* the error. If a localized user-facing
7045
+ # error message is needed, put the localized message in the error details or
7046
+ # localize it in the client. The optional error details may contain arbitrary
7047
+ # information about the error. There is a predefined set of error detail types
7048
+ # in the package `google.rpc` that can be used for common error conditions.
7049
+ # # Language mapping
7050
+ # The `Status` message is the logical representation of the error model, but it
7051
+ # is not necessarily the actual wire format. When the `Status` message is
7052
+ # exposed in different client libraries and different wire protocols, it can be
7053
+ # mapped differently. For example, it will likely be mapped to some exceptions
7054
+ # in Java, but more likely mapped to some error codes in C.
7055
+ # # Other uses
7056
+ # The error model and the `Status` message can be used in a variety of
7057
+ # environments, either with or without APIs, to provide a
7058
+ # consistent developer experience across different environments.
7059
+ # Example uses of this error model include:
7060
+ # - Partial errors. If a service needs to return partial errors to the client,
7061
+ # it may embed the `Status` in the normal response to indicate the partial
7062
+ # errors.
7063
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
7064
+ # have a `Status` message for error reporting.
7065
+ # - Batch operations. If a client uses batch request and batch response, the
7066
+ # `Status` message should be used directly inside batch response, one for
7067
+ # each error sub-response.
7068
+ # - Asynchronous operations. If an API call embeds asynchronous operation
7069
+ # results in its response, the status of those operations should be
7070
+ # represented directly using the `Status` message.
7071
+ # - Logging. If some API errors are stored in logs, the message `Status` could
7072
+ # be used directly after any stripping needed for security/privacy reasons.
7073
+ # Corresponds to the JSON property `error`
7074
+ # @return [Google::Apis::VisionV1p2beta1::Status]
7075
+ attr_accessor :error
7076
+
7077
+ # If present, face detection has completed successfully.
7078
+ # Corresponds to the JSON property `faceAnnotations`
7079
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1FaceAnnotation>]
7080
+ attr_accessor :face_annotations
7081
+
7082
+ # TextAnnotation contains a structured representation of OCR extracted text.
7083
+ # The hierarchy of an OCR extracted text structure is like this:
7084
+ # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol
7085
+ # Each structural component, starting from Page, may further have their own
7086
+ # properties. Properties describe detected languages, breaks etc.. Please refer
7087
+ # to the TextAnnotation.TextProperty message definition below for more
7088
+ # detail.
7089
+ # Corresponds to the JSON property `fullTextAnnotation`
7090
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1TextAnnotation]
7091
+ attr_accessor :full_text_annotation
7092
+
7093
+ # Stores image properties, such as dominant colors.
7094
+ # Corresponds to the JSON property `imagePropertiesAnnotation`
7095
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1ImageProperties]
7096
+ attr_accessor :image_properties_annotation
7097
+
7098
+ # If present, label detection has completed successfully.
7099
+ # Corresponds to the JSON property `labelAnnotations`
7100
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1EntityAnnotation>]
7101
+ attr_accessor :label_annotations
7102
+
7103
+ # If present, landmark detection has completed successfully.
7104
+ # Corresponds to the JSON property `landmarkAnnotations`
7105
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1EntityAnnotation>]
7106
+ attr_accessor :landmark_annotations
7107
+
7108
+ # If present, localized object detection has completed successfully.
7109
+ # This will be sorted descending by confidence score.
7110
+ # Corresponds to the JSON property `localizedObjectAnnotations`
7111
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation>]
7112
+ attr_accessor :localized_object_annotations
7113
+
7114
+ # If present, logo detection has completed successfully.
7115
+ # Corresponds to the JSON property `logoAnnotations`
7116
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1EntityAnnotation>]
7117
+ attr_accessor :logo_annotations
7118
+
7119
+ # Results for a product search request.
7120
+ # Corresponds to the JSON property `productSearchResults`
7121
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1ProductSearchResults]
7122
+ attr_accessor :product_search_results
7123
+
7124
+ # Set of features pertaining to the image, computed by computer vision
7125
+ # methods over safe-search verticals (for example, adult, spoof, medical,
7126
+ # violence).
7127
+ # Corresponds to the JSON property `safeSearchAnnotation`
7128
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1SafeSearchAnnotation]
7129
+ attr_accessor :safe_search_annotation
7130
+
7131
+ # If present, text (OCR) detection has completed successfully.
7132
+ # Corresponds to the JSON property `textAnnotations`
7133
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1EntityAnnotation>]
7134
+ attr_accessor :text_annotations
7135
+
7136
+ # Relevant information for the image from the Internet.
7137
+ # Corresponds to the JSON property `webDetection`
7138
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1WebDetection]
7139
+ attr_accessor :web_detection
7140
+
7141
+ def initialize(**args)
7142
+ update!(**args)
7143
+ end
7144
+
7145
+ # Update properties of this object
7146
+ def update!(**args)
7147
+ @context = args[:context] if args.key?(:context)
7148
+ @crop_hints_annotation = args[:crop_hints_annotation] if args.key?(:crop_hints_annotation)
7149
+ @error = args[:error] if args.key?(:error)
7150
+ @face_annotations = args[:face_annotations] if args.key?(:face_annotations)
7151
+ @full_text_annotation = args[:full_text_annotation] if args.key?(:full_text_annotation)
7152
+ @image_properties_annotation = args[:image_properties_annotation] if args.key?(:image_properties_annotation)
7153
+ @label_annotations = args[:label_annotations] if args.key?(:label_annotations)
7154
+ @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
7155
+ @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
7156
+ @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
7157
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
7158
+ @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
7159
+ @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
7160
+ @web_detection = args[:web_detection] if args.key?(:web_detection)
7161
+ end
7162
+ end
7163
+
7164
+ # The response for a single offline file annotation request.
7165
+ class GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse
7166
+ include Google::Apis::Core::Hashable
7167
+
7168
+ # The desired output location and metadata.
7169
+ # Corresponds to the JSON property `outputConfig`
7170
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1OutputConfig]
7171
+ attr_accessor :output_config
7172
+
7173
+ def initialize(**args)
7174
+ update!(**args)
7175
+ end
7176
+
7177
+ # Update properties of this object
7178
+ def update!(**args)
7179
+ @output_config = args[:output_config] if args.key?(:output_config)
7180
+ end
7181
+ end
7182
+
7183
+ # Response to an async batch file annotation request.
7184
+ class GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse
7185
+ include Google::Apis::Core::Hashable
7186
+
7187
+ # The list of file annotation responses, one for each request in
7188
+ # AsyncBatchAnnotateFilesRequest.
7189
+ # Corresponds to the JSON property `responses`
7190
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse>]
7191
+ attr_accessor :responses
7192
+
7193
+ def initialize(**args)
7194
+ update!(**args)
7195
+ end
7196
+
7197
+ # Update properties of this object
7198
+ def update!(**args)
7199
+ @responses = args[:responses] if args.key?(:responses)
7200
+ end
7201
+ end
7202
+
7203
+ # Response to an async batch image annotation request.
7204
+ class GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse
7205
+ include Google::Apis::Core::Hashable
7206
+
7207
+ # The desired output location and metadata.
7208
+ # Corresponds to the JSON property `outputConfig`
7209
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1OutputConfig]
7210
+ attr_accessor :output_config
7211
+
7212
+ def initialize(**args)
7213
+ update!(**args)
7214
+ end
7215
+
7216
+ # Update properties of this object
7217
+ def update!(**args)
7218
+ @output_config = args[:output_config] if args.key?(:output_config)
7219
+ end
7220
+ end
7221
+
7222
+ # A list of file annotation responses.
7223
+ class GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse
7224
+ include Google::Apis::Core::Hashable
7225
+
7226
+ # The list of file annotation responses, each response corresponding to each
7227
+ # AnnotateFileRequest in BatchAnnotateFilesRequest.
7228
+ # Corresponds to the JSON property `responses`
7229
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1AnnotateFileResponse>]
7230
+ attr_accessor :responses
7231
+
7232
+ def initialize(**args)
7233
+ update!(**args)
7234
+ end
7235
+
7236
+ # Update properties of this object
7237
+ def update!(**args)
7238
+ @responses = args[:responses] if args.key?(:responses)
7239
+ end
7240
+ end
7241
+
7242
+ # Metadata for the batch operations such as the current state.
7243
+ # This is included in the `metadata` field of the `Operation` returned by the
7244
+ # `GetOperation` call of the `google::longrunning::Operations` service.
7245
+ class GoogleCloudVisionV1p4beta1BatchOperationMetadata
7246
+ include Google::Apis::Core::Hashable
7247
+
7248
+ # The time when the batch request is finished and
7249
+ # google.longrunning.Operation.done is set to true.
7250
+ # Corresponds to the JSON property `endTime`
7251
+ # @return [String]
7252
+ attr_accessor :end_time
7253
+
7254
+ # The current state of the batch operation.
7255
+ # Corresponds to the JSON property `state`
7256
+ # @return [String]
7257
+ attr_accessor :state
7258
+
7259
+ # The time when the batch request was submitted to the server.
7260
+ # Corresponds to the JSON property `submitTime`
7261
+ # @return [String]
7262
+ attr_accessor :submit_time
7263
+
7264
+ def initialize(**args)
7265
+ update!(**args)
7266
+ end
7267
+
7268
+ # Update properties of this object
7269
+ def update!(**args)
7270
+ @end_time = args[:end_time] if args.key?(:end_time)
7271
+ @state = args[:state] if args.key?(:state)
7272
+ @submit_time = args[:submit_time] if args.key?(:submit_time)
7273
+ end
7274
+ end
7275
+
7276
+ # Logical element on the page.
7277
+ class GoogleCloudVisionV1p4beta1Block
7278
+ include Google::Apis::Core::Hashable
7279
+
7280
+ # Detected block type (text, image etc) for this block.
7281
+ # Corresponds to the JSON property `blockType`
7282
+ # @return [String]
7283
+ attr_accessor :block_type
7284
+
7285
+ # A bounding polygon for the detected image annotation.
7286
+ # Corresponds to the JSON property `boundingBox`
7287
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1BoundingPoly]
7288
+ attr_accessor :bounding_box
7289
+
7290
+ # Confidence of the OCR results on the block. Range [0, 1].
7291
+ # Corresponds to the JSON property `confidence`
7292
+ # @return [Float]
7293
+ attr_accessor :confidence
7294
+
7295
+ # List of paragraphs in this block (if this blocks is of type text).
7296
+ # Corresponds to the JSON property `paragraphs`
7297
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1Paragraph>]
7298
+ attr_accessor :paragraphs
7299
+
7300
+ # Additional information detected on the structural component.
7301
+ # Corresponds to the JSON property `property`
7302
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1TextAnnotationTextProperty]
7303
+ attr_accessor :property
7304
+
7305
+ def initialize(**args)
7306
+ update!(**args)
7307
+ end
7308
+
7309
+ # Update properties of this object
7310
+ def update!(**args)
7311
+ @block_type = args[:block_type] if args.key?(:block_type)
7312
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
7313
+ @confidence = args[:confidence] if args.key?(:confidence)
7314
+ @paragraphs = args[:paragraphs] if args.key?(:paragraphs)
7315
+ @property = args[:property] if args.key?(:property)
7316
+ end
7317
+ end
7318
+
7319
+ # A bounding polygon for the detected image annotation.
7320
+ class GoogleCloudVisionV1p4beta1BoundingPoly
7321
+ include Google::Apis::Core::Hashable
7322
+
7323
+ # The bounding polygon normalized vertices.
7324
+ # Corresponds to the JSON property `normalizedVertices`
7325
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1NormalizedVertex>]
7326
+ attr_accessor :normalized_vertices
7327
+
7328
+ # The bounding polygon vertices.
7329
+ # Corresponds to the JSON property `vertices`
7330
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1Vertex>]
7331
+ attr_accessor :vertices
7332
+
7333
+ def initialize(**args)
7334
+ update!(**args)
7335
+ end
7336
+
7337
+ # Update properties of this object
7338
+ def update!(**args)
7339
+ @normalized_vertices = args[:normalized_vertices] if args.key?(:normalized_vertices)
7340
+ @vertices = args[:vertices] if args.key?(:vertices)
7341
+ end
7342
+ end
7343
+
7344
+ # Color information consists of RGB channels, score, and the fraction of
7345
+ # the image that the color occupies in the image.
7346
+ class GoogleCloudVisionV1p4beta1ColorInfo
7347
+ include Google::Apis::Core::Hashable
7348
+
7349
+ # Represents a color in the RGBA color space. This representation is designed
7350
+ # for simplicity of conversion to/from color representations in various
7351
+ # languages over compactness; for example, the fields of this representation
7352
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
7353
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
7354
+ # method in iOS; and, with just a little work, it can be easily formatted into
7355
+ # a CSS "rgba()" string in JavaScript, as well.
7356
+ # Note: this proto does not carry information about the absolute color space
7357
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
7358
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
7359
+ # space.
7360
+ # Example (Java):
7361
+ # import com.google.type.Color;
7362
+ # // ...
7363
+ # public static java.awt.Color fromProto(Color protocolor) `
7364
+ # float alpha = protocolor.hasAlpha()
7365
+ # ? protocolor.getAlpha().getValue()
7366
+ # : 1.0;
7367
+ # return new java.awt.Color(
7368
+ # protocolor.getRed(),
7369
+ # protocolor.getGreen(),
7370
+ # protocolor.getBlue(),
7371
+ # alpha);
7372
+ # `
7373
+ # public static Color toProto(java.awt.Color color) `
7374
+ # float red = (float) color.getRed();
7375
+ # float green = (float) color.getGreen();
7376
+ # float blue = (float) color.getBlue();
7377
+ # float denominator = 255.0;
7378
+ # Color.Builder resultBuilder =
7379
+ # Color
7380
+ # .newBuilder()
7381
+ # .setRed(red / denominator)
7382
+ # .setGreen(green / denominator)
7383
+ # .setBlue(blue / denominator);
7384
+ # int alpha = color.getAlpha();
7385
+ # if (alpha != 255) `
7386
+ # result.setAlpha(
7387
+ # FloatValue
7388
+ # .newBuilder()
7389
+ # .setValue(((float) alpha) / denominator)
7390
+ # .build());
7391
+ # `
7392
+ # return resultBuilder.build();
7393
+ # `
7394
+ # // ...
7395
+ # Example (iOS / Obj-C):
7396
+ # // ...
7397
+ # static UIColor* fromProto(Color* protocolor) `
7398
+ # float red = [protocolor red];
7399
+ # float green = [protocolor green];
7400
+ # float blue = [protocolor blue];
7401
+ # FloatValue* alpha_wrapper = [protocolor alpha];
7402
+ # float alpha = 1.0;
7403
+ # if (alpha_wrapper != nil) `
7404
+ # alpha = [alpha_wrapper value];
7405
+ # `
7406
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
7407
+ # `
7408
+ # static Color* toProto(UIColor* color) `
7409
+ # CGFloat red, green, blue, alpha;
7410
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
7411
+ # return nil;
7412
+ # `
7413
+ # Color* result = [[Color alloc] init];
7414
+ # [result setRed:red];
7415
+ # [result setGreen:green];
7416
+ # [result setBlue:blue];
7417
+ # if (alpha <= 0.9999) `
7418
+ # [result setAlpha:floatWrapperWithValue(alpha)];
7419
+ # `
7420
+ # [result autorelease];
7421
+ # return result;
7422
+ # `
7423
+ # // ...
7424
+ # Example (JavaScript):
7425
+ # // ...
7426
+ # var protoToCssColor = function(rgb_color) `
7427
+ # var redFrac = rgb_color.red || 0.0;
7428
+ # var greenFrac = rgb_color.green || 0.0;
7429
+ # var blueFrac = rgb_color.blue || 0.0;
7430
+ # var red = Math.floor(redFrac * 255);
7431
+ # var green = Math.floor(greenFrac * 255);
7432
+ # var blue = Math.floor(blueFrac * 255);
7433
+ # if (!('alpha' in rgb_color)) `
7434
+ # return rgbToCssColor_(red, green, blue);
7435
+ # `
7436
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
7437
+ # var rgbParams = [red, green, blue].join(',');
7438
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
7439
+ # `;
7440
+ # var rgbToCssColor_ = function(red, green, blue) `
7441
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
7442
+ # var hexString = rgbNumber.toString(16);
7443
+ # var missingZeros = 6 - hexString.length;
7444
+ # var resultBuilder = ['#'];
7445
+ # for (var i = 0; i < missingZeros; i++) `
7446
+ # resultBuilder.push('0');
7447
+ # `
7448
+ # resultBuilder.push(hexString);
7449
+ # return resultBuilder.join('');
7450
+ # `;
7451
+ # // ...
7452
+ # Corresponds to the JSON property `color`
7453
+ # @return [Google::Apis::VisionV1p2beta1::Color]
7454
+ attr_accessor :color
7455
+
7456
+ # The fraction of pixels the color occupies in the image.
7457
+ # Value in range [0, 1].
7458
+ # Corresponds to the JSON property `pixelFraction`
7459
+ # @return [Float]
7460
+ attr_accessor :pixel_fraction
7461
+
7462
+ # Image-specific score for this color. Value in range [0, 1].
7463
+ # Corresponds to the JSON property `score`
7464
+ # @return [Float]
7465
+ attr_accessor :score
7466
+
7467
+ def initialize(**args)
7468
+ update!(**args)
7469
+ end
7470
+
7471
+ # Update properties of this object
7472
+ def update!(**args)
7473
+ @color = args[:color] if args.key?(:color)
7474
+ @pixel_fraction = args[:pixel_fraction] if args.key?(:pixel_fraction)
7475
+ @score = args[:score] if args.key?(:score)
7476
+ end
7477
+ end
7478
+
7479
+ # Single crop hint that is used to generate a new crop when serving an image.
7480
+ class GoogleCloudVisionV1p4beta1CropHint
7481
+ include Google::Apis::Core::Hashable
7482
+
7483
+ # A bounding polygon for the detected image annotation.
7484
+ # Corresponds to the JSON property `boundingPoly`
7485
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1BoundingPoly]
7486
+ attr_accessor :bounding_poly
7487
+
7488
+ # Confidence of this being a salient region. Range [0, 1].
7489
+ # Corresponds to the JSON property `confidence`
7490
+ # @return [Float]
7491
+ attr_accessor :confidence
7492
+
7493
+ # Fraction of importance of this salient region with respect to the original
7494
+ # image.
7495
+ # Corresponds to the JSON property `importanceFraction`
7496
+ # @return [Float]
7497
+ attr_accessor :importance_fraction
7498
+
7499
+ def initialize(**args)
7500
+ update!(**args)
7501
+ end
7502
+
7503
+ # Update properties of this object
7504
+ def update!(**args)
7505
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
7506
+ @confidence = args[:confidence] if args.key?(:confidence)
7507
+ @importance_fraction = args[:importance_fraction] if args.key?(:importance_fraction)
7508
+ end
7509
+ end
7510
+
7511
+ # Set of crop hints that are used to generate new crops when serving images.
7512
+ class GoogleCloudVisionV1p4beta1CropHintsAnnotation
7513
+ include Google::Apis::Core::Hashable
7514
+
7515
+ # Crop hint results.
7516
+ # Corresponds to the JSON property `cropHints`
7517
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1CropHint>]
7518
+ attr_accessor :crop_hints
7519
+
7520
+ def initialize(**args)
7521
+ update!(**args)
7522
+ end
7523
+
7524
+ # Update properties of this object
7525
+ def update!(**args)
7526
+ @crop_hints = args[:crop_hints] if args.key?(:crop_hints)
7527
+ end
7528
+ end
7529
+
7530
+ # Set of dominant colors and their corresponding scores.
7531
+ class GoogleCloudVisionV1p4beta1DominantColorsAnnotation
7532
+ include Google::Apis::Core::Hashable
7533
+
7534
+ # RGB color values with their score and pixel fraction.
7535
+ # Corresponds to the JSON property `colors`
7536
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1ColorInfo>]
7537
+ attr_accessor :colors
7538
+
7539
+ def initialize(**args)
7540
+ update!(**args)
7541
+ end
7542
+
7543
+ # Update properties of this object
7544
+ def update!(**args)
7545
+ @colors = args[:colors] if args.key?(:colors)
7546
+ end
7547
+ end
7548
+
7549
+ # Set of detected entity features.
7550
+ class GoogleCloudVisionV1p4beta1EntityAnnotation
7551
+ include Google::Apis::Core::Hashable
7552
+
7553
+ # A bounding polygon for the detected image annotation.
7554
+ # Corresponds to the JSON property `boundingPoly`
7555
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1BoundingPoly]
7556
+ attr_accessor :bounding_poly
7557
+
7558
+ # **Deprecated. Use `score` instead.**
7559
+ # The accuracy of the entity detection in an image.
7560
+ # For example, for an image in which the "Eiffel Tower" entity is detected,
7561
+ # this field represents the confidence that there is a tower in the query
7562
+ # image. Range [0, 1].
7563
+ # Corresponds to the JSON property `confidence`
7564
+ # @return [Float]
7565
+ attr_accessor :confidence
7566
+
7567
+ # Entity textual description, expressed in its `locale` language.
7568
+ # Corresponds to the JSON property `description`
7569
+ # @return [String]
7570
+ attr_accessor :description
7571
+
7572
+ # The language code for the locale in which the entity textual
7573
+ # `description` is expressed.
7574
+ # Corresponds to the JSON property `locale`
7575
+ # @return [String]
7576
+ attr_accessor :locale
7577
+
7578
+ # The location information for the detected entity. Multiple
7579
+ # `LocationInfo` elements can be present because one location may
7580
+ # indicate the location of the scene in the image, and another location
7581
+ # may indicate the location of the place where the image was taken.
7582
+ # Location information is usually present for landmarks.
7583
+ # Corresponds to the JSON property `locations`
7584
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1LocationInfo>]
7585
+ attr_accessor :locations
7586
+
7587
+ # Opaque entity ID. Some IDs may be available in
7588
+ # [Google Knowledge Graph Search
7589
+ # API](https://developers.google.com/knowledge-graph/).
7590
+ # Corresponds to the JSON property `mid`
7591
+ # @return [String]
7592
+ attr_accessor :mid
7593
+
7594
+ # Some entities may have optional user-supplied `Property` (name/value)
7595
+ # fields, such a score or string that qualifies the entity.
7596
+ # Corresponds to the JSON property `properties`
7597
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1Property>]
7598
+ attr_accessor :properties
7599
+
7600
+ # Overall score of the result. Range [0, 1].
7601
+ # Corresponds to the JSON property `score`
7602
+ # @return [Float]
7603
+ attr_accessor :score
7604
+
7605
+ # The relevancy of the ICA (Image Content Annotation) label to the
7606
+ # image. For example, the relevancy of "tower" is likely higher to an image
7607
+ # containing the detected "Eiffel Tower" than to an image containing a
7608
+ # detected distant towering building, even though the confidence that
7609
+ # there is a tower in each image may be the same. Range [0, 1].
7610
+ # Corresponds to the JSON property `topicality`
7611
+ # @return [Float]
7612
+ attr_accessor :topicality
7613
+
7614
+ def initialize(**args)
7615
+ update!(**args)
7616
+ end
7617
+
7618
+ # Update properties of this object
7619
+ def update!(**args)
7620
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
7621
+ @confidence = args[:confidence] if args.key?(:confidence)
7622
+ @description = args[:description] if args.key?(:description)
7623
+ @locale = args[:locale] if args.key?(:locale)
7624
+ @locations = args[:locations] if args.key?(:locations)
7625
+ @mid = args[:mid] if args.key?(:mid)
7626
+ @properties = args[:properties] if args.key?(:properties)
7627
+ @score = args[:score] if args.key?(:score)
7628
+ @topicality = args[:topicality] if args.key?(:topicality)
7629
+ end
7630
+ end
7631
+
7632
+ # A face annotation object contains the results of face detection.
7633
+ class GoogleCloudVisionV1p4beta1FaceAnnotation
7634
+ include Google::Apis::Core::Hashable
7635
+
7636
+ # Anger likelihood.
7637
+ # Corresponds to the JSON property `angerLikelihood`
7638
+ # @return [String]
7639
+ attr_accessor :anger_likelihood
7640
+
7641
+ # Blurred likelihood.
7642
+ # Corresponds to the JSON property `blurredLikelihood`
7643
+ # @return [String]
7644
+ attr_accessor :blurred_likelihood
7645
+
7646
+ # A bounding polygon for the detected image annotation.
7647
+ # Corresponds to the JSON property `boundingPoly`
7648
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1BoundingPoly]
7649
+ attr_accessor :bounding_poly
7650
+
7651
+ # Detection confidence. Range [0, 1].
7652
+ # Corresponds to the JSON property `detectionConfidence`
7653
+ # @return [Float]
7654
+ attr_accessor :detection_confidence
7655
+
7656
+ # A bounding polygon for the detected image annotation.
7657
+ # Corresponds to the JSON property `fdBoundingPoly`
7658
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1BoundingPoly]
7659
+ attr_accessor :fd_bounding_poly
7660
+
7661
+ # Headwear likelihood.
7662
+ # Corresponds to the JSON property `headwearLikelihood`
7663
+ # @return [String]
7664
+ attr_accessor :headwear_likelihood
7665
+
7666
+ # Joy likelihood.
7667
+ # Corresponds to the JSON property `joyLikelihood`
7668
+ # @return [String]
7669
+ attr_accessor :joy_likelihood
7670
+
7671
+ # Face landmarking confidence. Range [0, 1].
7672
+ # Corresponds to the JSON property `landmarkingConfidence`
7673
+ # @return [Float]
7674
+ attr_accessor :landmarking_confidence
7675
+
7676
+ # Detected face landmarks.
7677
+ # Corresponds to the JSON property `landmarks`
7678
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1FaceAnnotationLandmark>]
7679
+ attr_accessor :landmarks
7680
+
7681
+ # Yaw angle, which indicates the leftward/rightward angle that the face is
7682
+ # pointing relative to the vertical plane perpendicular to the image. Range
7683
+ # [-180,180].
7684
+ # Corresponds to the JSON property `panAngle`
7685
+ # @return [Float]
7686
+ attr_accessor :pan_angle
7687
+
7688
+ # Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
7689
+ # of the face relative to the image vertical about the axis perpendicular to
7690
+ # the face. Range [-180,180].
7691
+ # Corresponds to the JSON property `rollAngle`
7692
+ # @return [Float]
7693
+ attr_accessor :roll_angle
7694
+
7695
+ # Sorrow likelihood.
7696
+ # Corresponds to the JSON property `sorrowLikelihood`
7697
+ # @return [String]
7698
+ attr_accessor :sorrow_likelihood
7699
+
7700
+ # Surprise likelihood.
7701
+ # Corresponds to the JSON property `surpriseLikelihood`
7702
+ # @return [String]
7703
+ attr_accessor :surprise_likelihood
7704
+
7705
+ # Pitch angle, which indicates the upwards/downwards angle that the face is
7706
+ # pointing relative to the image's horizontal plane. Range [-180,180].
7707
+ # Corresponds to the JSON property `tiltAngle`
7708
+ # @return [Float]
7709
+ attr_accessor :tilt_angle
7710
+
7711
+ # Under-exposed likelihood.
7712
+ # Corresponds to the JSON property `underExposedLikelihood`
7713
+ # @return [String]
7714
+ attr_accessor :under_exposed_likelihood
7715
+
7716
+ def initialize(**args)
7717
+ update!(**args)
7718
+ end
7719
+
7720
+ # Update properties of this object
7721
+ def update!(**args)
7722
+ @anger_likelihood = args[:anger_likelihood] if args.key?(:anger_likelihood)
7723
+ @blurred_likelihood = args[:blurred_likelihood] if args.key?(:blurred_likelihood)
7724
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
7725
+ @detection_confidence = args[:detection_confidence] if args.key?(:detection_confidence)
7726
+ @fd_bounding_poly = args[:fd_bounding_poly] if args.key?(:fd_bounding_poly)
7727
+ @headwear_likelihood = args[:headwear_likelihood] if args.key?(:headwear_likelihood)
7728
+ @joy_likelihood = args[:joy_likelihood] if args.key?(:joy_likelihood)
7729
+ @landmarking_confidence = args[:landmarking_confidence] if args.key?(:landmarking_confidence)
7730
+ @landmarks = args[:landmarks] if args.key?(:landmarks)
7731
+ @pan_angle = args[:pan_angle] if args.key?(:pan_angle)
7732
+ @roll_angle = args[:roll_angle] if args.key?(:roll_angle)
7733
+ @sorrow_likelihood = args[:sorrow_likelihood] if args.key?(:sorrow_likelihood)
7734
+ @surprise_likelihood = args[:surprise_likelihood] if args.key?(:surprise_likelihood)
7735
+ @tilt_angle = args[:tilt_angle] if args.key?(:tilt_angle)
7736
+ @under_exposed_likelihood = args[:under_exposed_likelihood] if args.key?(:under_exposed_likelihood)
7737
+ end
7738
+ end
7739
+
7740
+ # A face-specific landmark (for example, a face feature).
7741
+ class GoogleCloudVisionV1p4beta1FaceAnnotationLandmark
7742
+ include Google::Apis::Core::Hashable
7743
+
7744
+ # A 3D position in the image, used primarily for Face detection landmarks.
7745
+ # A valid Position must have both x and y coordinates.
7746
+ # The position coordinates are in the same scale as the original image.
7747
+ # Corresponds to the JSON property `position`
7748
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1Position]
7749
+ attr_accessor :position
7750
+
7751
+ # Face landmark type.
7752
+ # Corresponds to the JSON property `type`
7753
+ # @return [String]
7754
+ attr_accessor :type
7755
+
7756
+ def initialize(**args)
7757
+ update!(**args)
7758
+ end
7759
+
7760
+ # Update properties of this object
7761
+ def update!(**args)
7762
+ @position = args[:position] if args.key?(:position)
7763
+ @type = args[:type] if args.key?(:type)
7764
+ end
7765
+ end
7766
+
7767
+ # The Google Cloud Storage location where the output will be written to.
7768
+ class GoogleCloudVisionV1p4beta1GcsDestination
7769
+ include Google::Apis::Core::Hashable
7770
+
7771
+ # Google Cloud Storage URI prefix where the results will be stored. Results
7772
+ # will be in JSON format and preceded by its corresponding input URI prefix.
7773
+ # This field can either represent a gcs file prefix or gcs directory. In
7774
+ # either case, the uri should be unique because in order to get all of the
7775
+ # output files, you will need to do a wildcard gcs search on the uri prefix
7776
+ # you provide.
7777
+ # Examples:
7778
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
7779
+ # will be created in gs://bucket-name/here/ and the names of the
7780
+ # output files will begin with "filenameprefix".
7781
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
7782
+ # will be created in gs://bucket-name/some/location/ and the names of the
7783
+ # output files could be anything because there was no filename prefix
7784
+ # specified.
7785
+ # If multiple outputs, each response is still AnnotateFileResponse, each of
7786
+ # which contains some subset of the full list of AnnotateImageResponse.
7787
+ # Multiple outputs can happen if, for example, the output JSON is too large
7788
+ # and overflows into multiple sharded files.
7789
+ # Corresponds to the JSON property `uri`
7790
+ # @return [String]
7791
+ attr_accessor :uri
7792
+
7793
+ def initialize(**args)
7794
+ update!(**args)
7795
+ end
7796
+
7797
+ # Update properties of this object
7798
+ def update!(**args)
7799
+ @uri = args[:uri] if args.key?(:uri)
7800
+ end
7801
+ end
7802
+
7803
+ # The Google Cloud Storage location where the input will be read from.
7804
+ class GoogleCloudVisionV1p4beta1GcsSource
7805
+ include Google::Apis::Core::Hashable
7806
+
7807
+ # Google Cloud Storage URI for the input file. This must only be a
7808
+ # Google Cloud Storage object. Wildcards are not currently supported.
7809
+ # Corresponds to the JSON property `uri`
7810
+ # @return [String]
7811
+ attr_accessor :uri
7812
+
7813
+ def initialize(**args)
7814
+ update!(**args)
7815
+ end
7816
+
7817
+ # Update properties of this object
7818
+ def update!(**args)
7819
+ @uri = args[:uri] if args.key?(:uri)
7820
+ end
7821
+ end
7822
+
7823
+ # If an image was produced from a file (e.g. a PDF), this message gives
7824
+ # information about the source of that image.
7825
+ class GoogleCloudVisionV1p4beta1ImageAnnotationContext
7826
+ include Google::Apis::Core::Hashable
7827
+
7828
+ # If the file was a PDF or TIFF, this field gives the page number within
7829
+ # the file used to produce the image.
7830
+ # Corresponds to the JSON property `pageNumber`
7831
+ # @return [Fixnum]
7832
+ attr_accessor :page_number
7833
+
7834
+ # The URI of the file used to produce the image.
7835
+ # Corresponds to the JSON property `uri`
7836
+ # @return [String]
7837
+ attr_accessor :uri
7838
+
7839
+ def initialize(**args)
7840
+ update!(**args)
7841
+ end
7842
+
7843
+ # Update properties of this object
7844
+ def update!(**args)
7845
+ @page_number = args[:page_number] if args.key?(:page_number)
7846
+ @uri = args[:uri] if args.key?(:uri)
7847
+ end
7848
+ end
7849
+
7850
+ # Stores image properties, such as dominant colors.
7851
+ class GoogleCloudVisionV1p4beta1ImageProperties
7852
+ include Google::Apis::Core::Hashable
7853
+
7854
+ # Set of dominant colors and their corresponding scores.
7855
+ # Corresponds to the JSON property `dominantColors`
7856
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1DominantColorsAnnotation]
7857
+ attr_accessor :dominant_colors
7858
+
7859
+ def initialize(**args)
7860
+ update!(**args)
7861
+ end
7862
+
7863
+ # Update properties of this object
7864
+ def update!(**args)
7865
+ @dominant_colors = args[:dominant_colors] if args.key?(:dominant_colors)
7866
+ end
7867
+ end
7868
+
7869
+ # Response message for the `ImportProductSets` method.
7870
+ # This message is returned by the
7871
+ # google.longrunning.Operations.GetOperation method in the returned
7872
+ # google.longrunning.Operation.response field.
7873
+ class GoogleCloudVisionV1p4beta1ImportProductSetsResponse
7874
+ include Google::Apis::Core::Hashable
7875
+
7876
+ # The list of reference_images that are imported successfully.
7877
+ # Corresponds to the JSON property `referenceImages`
7878
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1ReferenceImage>]
7879
+ attr_accessor :reference_images
7880
+
7881
+ # The rpc status for each ImportProductSet request, including both successes
7882
+ # and errors.
7883
+ # The number of statuses here matches the number of lines in the csv file,
7884
+ # and statuses[i] stores the success or failure status of processing the i-th
7885
+ # line of the csv, starting from line 0.
7886
+ # Corresponds to the JSON property `statuses`
7887
+ # @return [Array<Google::Apis::VisionV1p2beta1::Status>]
7888
+ attr_accessor :statuses
7889
+
7890
+ def initialize(**args)
7891
+ update!(**args)
7892
+ end
7893
+
7894
+ # Update properties of this object
7895
+ def update!(**args)
7896
+ @reference_images = args[:reference_images] if args.key?(:reference_images)
7897
+ @statuses = args[:statuses] if args.key?(:statuses)
7898
+ end
7899
+ end
7900
+
7901
+ # The desired input location and metadata.
7902
+ class GoogleCloudVisionV1p4beta1InputConfig
7903
+ include Google::Apis::Core::Hashable
7904
+
7905
+ # File content, represented as a stream of bytes.
7906
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
7907
+ # representation, whereas JSON representations use base64.
7908
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
7909
+ # not work for AsyncBatchAnnotateFiles requests.
7910
+ # Corresponds to the JSON property `content`
7911
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
7912
+ # @return [String]
7913
+ attr_accessor :content
7914
+
7915
+ # The Google Cloud Storage location where the input will be read from.
7916
+ # Corresponds to the JSON property `gcsSource`
7917
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1GcsSource]
7918
+ attr_accessor :gcs_source
7919
+
7920
+ # The type of the file. Currently only "application/pdf" and "image/tiff"
7921
+ # are supported. Wildcards are not supported.
7922
+ # Corresponds to the JSON property `mimeType`
7923
+ # @return [String]
7924
+ attr_accessor :mime_type
7925
+
7926
+ def initialize(**args)
7927
+ update!(**args)
7928
+ end
7929
+
7930
+ # Update properties of this object
7931
+ def update!(**args)
7932
+ @content = args[:content] if args.key?(:content)
7933
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
7934
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
7935
+ end
7936
+ end
7937
+
7938
+ # Set of detected objects with bounding boxes.
7939
+ class GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation
7940
+ include Google::Apis::Core::Hashable
7941
+
7942
+ # A bounding polygon for the detected image annotation.
7943
+ # Corresponds to the JSON property `boundingPoly`
7944
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1BoundingPoly]
7945
+ attr_accessor :bounding_poly
7946
+
7947
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
7948
+ # information, see
7949
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
7950
+ # Corresponds to the JSON property `languageCode`
7951
+ # @return [String]
7952
+ attr_accessor :language_code
7953
+
7954
+ # Object ID that should align with EntityAnnotation mid.
7955
+ # Corresponds to the JSON property `mid`
7956
+ # @return [String]
7957
+ attr_accessor :mid
7958
+
7959
+ # Object name, expressed in its `language_code` language.
7960
+ # Corresponds to the JSON property `name`
7961
+ # @return [String]
7962
+ attr_accessor :name
7963
+
7964
+ # Score of the result. Range [0, 1].
7965
+ # Corresponds to the JSON property `score`
7966
+ # @return [Float]
7967
+ attr_accessor :score
7968
+
7969
+ def initialize(**args)
7970
+ update!(**args)
7971
+ end
7972
+
7973
+ # Update properties of this object
7974
+ def update!(**args)
7975
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
7976
+ @language_code = args[:language_code] if args.key?(:language_code)
7977
+ @mid = args[:mid] if args.key?(:mid)
7978
+ @name = args[:name] if args.key?(:name)
7979
+ @score = args[:score] if args.key?(:score)
7980
+ end
7981
+ end
7982
+
7983
+ # Detected entity location information.
7984
+ class GoogleCloudVisionV1p4beta1LocationInfo
7985
+ include Google::Apis::Core::Hashable
7986
+
7987
+ # An object representing a latitude/longitude pair. This is expressed as a pair
7988
+ # of doubles representing degrees latitude and degrees longitude. Unless
7989
+ # specified otherwise, this must conform to the
7990
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
7991
+ # standard</a>. Values must be within normalized ranges.
7992
+ # Corresponds to the JSON property `latLng`
7993
+ # @return [Google::Apis::VisionV1p2beta1::LatLng]
7994
+ attr_accessor :lat_lng
7995
+
7996
+ def initialize(**args)
7997
+ update!(**args)
7998
+ end
7999
+
8000
+ # Update properties of this object
8001
+ def update!(**args)
8002
+ @lat_lng = args[:lat_lng] if args.key?(:lat_lng)
8003
+ end
8004
+ end
8005
+
8006
+ # A vertex represents a 2D point in the image.
8007
+ # NOTE: the normalized vertex coordinates are relative to the original image
8008
+ # and range from 0 to 1.
8009
+ class GoogleCloudVisionV1p4beta1NormalizedVertex
8010
+ include Google::Apis::Core::Hashable
8011
+
8012
+ # X coordinate.
8013
+ # Corresponds to the JSON property `x`
8014
+ # @return [Float]
8015
+ attr_accessor :x
8016
+
8017
+ # Y coordinate.
8018
+ # Corresponds to the JSON property `y`
8019
+ # @return [Float]
8020
+ attr_accessor :y
8021
+
8022
+ def initialize(**args)
8023
+ update!(**args)
8024
+ end
8025
+
8026
+ # Update properties of this object
8027
+ def update!(**args)
8028
+ @x = args[:x] if args.key?(:x)
8029
+ @y = args[:y] if args.key?(:y)
8030
+ end
8031
+ end
8032
+
8033
+ # Contains metadata for the BatchAnnotateImages operation.
8034
+ class GoogleCloudVisionV1p4beta1OperationMetadata
8035
+ include Google::Apis::Core::Hashable
8036
+
8037
+ # The time when the batch request was received.
8038
+ # Corresponds to the JSON property `createTime`
8039
+ # @return [String]
8040
+ attr_accessor :create_time
8041
+
8042
+ # Current state of the batch operation.
8043
+ # Corresponds to the JSON property `state`
8044
+ # @return [String]
8045
+ attr_accessor :state
8046
+
8047
+ # The time when the operation result was last updated.
8048
+ # Corresponds to the JSON property `updateTime`
8049
+ # @return [String]
8050
+ attr_accessor :update_time
8051
+
8052
+ def initialize(**args)
8053
+ update!(**args)
8054
+ end
8055
+
8056
+ # Update properties of this object
8057
+ def update!(**args)
8058
+ @create_time = args[:create_time] if args.key?(:create_time)
8059
+ @state = args[:state] if args.key?(:state)
8060
+ @update_time = args[:update_time] if args.key?(:update_time)
8061
+ end
8062
+ end
8063
+
8064
+ # The desired output location and metadata.
8065
+ class GoogleCloudVisionV1p4beta1OutputConfig
8066
+ include Google::Apis::Core::Hashable
8067
+
8068
+ # The max number of response protos to put into each output JSON file on
8069
+ # Google Cloud Storage.
8070
+ # The valid range is [1, 100]. If not specified, the default value is 20.
8071
+ # For example, for one pdf file with 100 pages, 100 response protos will
8072
+ # be generated. If `batch_size` = 20, then 5 json files each
8073
+ # containing 20 response protos will be written under the prefix
8074
+ # `gcs_destination`.`uri`.
8075
+ # Currently, batch_size only applies to GcsDestination, with potential future
8076
+ # support for other output configurations.
8077
+ # Corresponds to the JSON property `batchSize`
8078
+ # @return [Fixnum]
8079
+ attr_accessor :batch_size
8080
+
8081
+ # The Google Cloud Storage location where the output will be written to.
8082
+ # Corresponds to the JSON property `gcsDestination`
8083
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1GcsDestination]
8084
+ attr_accessor :gcs_destination
8085
+
8086
+ def initialize(**args)
8087
+ update!(**args)
8088
+ end
8089
+
8090
+ # Update properties of this object
8091
+ def update!(**args)
8092
+ @batch_size = args[:batch_size] if args.key?(:batch_size)
8093
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
8094
+ end
8095
+ end
8096
+
8097
+ # Detected page from OCR.
8098
+ class GoogleCloudVisionV1p4beta1Page
8099
+ include Google::Apis::Core::Hashable
8100
+
8101
+ # List of blocks of text, images etc on this page.
8102
+ # Corresponds to the JSON property `blocks`
8103
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1Block>]
8104
+ attr_accessor :blocks
8105
+
8106
+ # Confidence of the OCR results on the page. Range [0, 1].
8107
+ # Corresponds to the JSON property `confidence`
8108
+ # @return [Float]
8109
+ attr_accessor :confidence
8110
+
8111
+ # Page height. For PDFs the unit is points. For images (including
8112
+ # TIFFs) the unit is pixels.
8113
+ # Corresponds to the JSON property `height`
8114
+ # @return [Fixnum]
8115
+ attr_accessor :height
8116
+
8117
+ # Additional information detected on the structural component.
8118
+ # Corresponds to the JSON property `property`
8119
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1TextAnnotationTextProperty]
8120
+ attr_accessor :property
8121
+
8122
+ # Page width. For PDFs the unit is points. For images (including
8123
+ # TIFFs) the unit is pixels.
8124
+ # Corresponds to the JSON property `width`
8125
+ # @return [Fixnum]
8126
+ attr_accessor :width
8127
+
8128
+ def initialize(**args)
8129
+ update!(**args)
8130
+ end
8131
+
8132
+ # Update properties of this object
8133
+ def update!(**args)
8134
+ @blocks = args[:blocks] if args.key?(:blocks)
8135
+ @confidence = args[:confidence] if args.key?(:confidence)
8136
+ @height = args[:height] if args.key?(:height)
8137
+ @property = args[:property] if args.key?(:property)
8138
+ @width = args[:width] if args.key?(:width)
8139
+ end
8140
+ end
8141
+
8142
+ # Structural unit of text representing a number of words in certain order.
8143
+ class GoogleCloudVisionV1p4beta1Paragraph
8144
+ include Google::Apis::Core::Hashable
8145
+
8146
+ # A bounding polygon for the detected image annotation.
8147
+ # Corresponds to the JSON property `boundingBox`
8148
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1BoundingPoly]
8149
+ attr_accessor :bounding_box
8150
+
8151
+ # Confidence of the OCR results for the paragraph. Range [0, 1].
8152
+ # Corresponds to the JSON property `confidence`
8153
+ # @return [Float]
8154
+ attr_accessor :confidence
8155
+
8156
+ # Additional information detected on the structural component.
8157
+ # Corresponds to the JSON property `property`
8158
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1TextAnnotationTextProperty]
8159
+ attr_accessor :property
8160
+
8161
+ # List of words in this paragraph.
8162
+ # Corresponds to the JSON property `words`
8163
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1Word>]
8164
+ attr_accessor :words
8165
+
8166
+ def initialize(**args)
8167
+ update!(**args)
8168
+ end
8169
+
8170
+ # Update properties of this object
8171
+ def update!(**args)
8172
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
8173
+ @confidence = args[:confidence] if args.key?(:confidence)
8174
+ @property = args[:property] if args.key?(:property)
8175
+ @words = args[:words] if args.key?(:words)
8176
+ end
8177
+ end
8178
+
8179
+ # A 3D position in the image, used primarily for Face detection landmarks.
8180
+ # A valid Position must have both x and y coordinates.
8181
+ # The position coordinates are in the same scale as the original image.
8182
+ class GoogleCloudVisionV1p4beta1Position
8183
+ include Google::Apis::Core::Hashable
8184
+
8185
+ # X coordinate.
8186
+ # Corresponds to the JSON property `x`
8187
+ # @return [Float]
8188
+ attr_accessor :x
8189
+
8190
+ # Y coordinate.
8191
+ # Corresponds to the JSON property `y`
8192
+ # @return [Float]
8193
+ attr_accessor :y
8194
+
8195
+ # Z coordinate (or depth).
8196
+ # Corresponds to the JSON property `z`
8197
+ # @return [Float]
8198
+ attr_accessor :z
8199
+
8200
+ def initialize(**args)
8201
+ update!(**args)
8202
+ end
8203
+
8204
+ # Update properties of this object
8205
+ def update!(**args)
8206
+ @x = args[:x] if args.key?(:x)
8207
+ @y = args[:y] if args.key?(:y)
8208
+ @z = args[:z] if args.key?(:z)
8209
+ end
8210
+ end
8211
+
8212
+ # A Product contains ReferenceImages.
8213
+ class GoogleCloudVisionV1p4beta1Product
8214
+ include Google::Apis::Core::Hashable
8215
+
8216
+ # User-provided metadata to be stored with this product. Must be at most 4096
8217
+ # characters long.
8218
+ # Corresponds to the JSON property `description`
8219
+ # @return [String]
8220
+ attr_accessor :description
8221
+
8222
+ # The user-provided name for this Product. Must not be empty. Must be at most
8223
+ # 4096 characters long.
8224
+ # Corresponds to the JSON property `displayName`
8225
+ # @return [String]
8226
+ attr_accessor :display_name
8227
+
8228
+ # The resource name of the product.
8229
+ # Format is:
8230
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
8231
+ # This field is ignored when creating a product.
8232
+ # Corresponds to the JSON property `name`
8233
+ # @return [String]
8234
+ attr_accessor :name
8235
+
8236
+ # The category for the product identified by the reference image. This should
8237
+ # be either "homegoods", "apparel", or "toys".
8238
+ # This field is immutable.
8239
+ # Corresponds to the JSON property `productCategory`
8240
+ # @return [String]
8241
+ attr_accessor :product_category
8242
+
8243
+ # Key-value pairs that can be attached to a product. At query time,
8244
+ # constraints can be specified based on the product_labels.
8245
+ # Note that integer values can be provided as strings, e.g. "1199". Only
8246
+ # strings with integer values can match a range-based restriction which is
8247
+ # to be supported soon.
8248
+ # Multiple values can be assigned to the same key. One product may have up to
8249
+ # 100 product_labels.
8250
+ # Corresponds to the JSON property `productLabels`
8251
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1ProductKeyValue>]
8252
+ attr_accessor :product_labels
8253
+
8254
+ def initialize(**args)
8255
+ update!(**args)
8256
+ end
8257
+
8258
+ # Update properties of this object
8259
+ def update!(**args)
8260
+ @description = args[:description] if args.key?(:description)
8261
+ @display_name = args[:display_name] if args.key?(:display_name)
8262
+ @name = args[:name] if args.key?(:name)
8263
+ @product_category = args[:product_category] if args.key?(:product_category)
8264
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
8265
+ end
8266
+ end
8267
+
8268
+ # A product label represented as a key-value pair.
8269
+ class GoogleCloudVisionV1p4beta1ProductKeyValue
8270
+ include Google::Apis::Core::Hashable
8271
+
8272
+ # The key of the label attached to the product. Cannot be empty and cannot
8273
+ # exceed 128 bytes.
8274
+ # Corresponds to the JSON property `key`
8275
+ # @return [String]
8276
+ attr_accessor :key
8277
+
8278
+ # The value of the label attached to the product. Cannot be empty and
8279
+ # cannot exceed 128 bytes.
8280
+ # Corresponds to the JSON property `value`
8281
+ # @return [String]
8282
+ attr_accessor :value
8283
+
8284
+ def initialize(**args)
8285
+ update!(**args)
8286
+ end
8287
+
8288
+ # Update properties of this object
8289
+ def update!(**args)
8290
+ @key = args[:key] if args.key?(:key)
8291
+ @value = args[:value] if args.key?(:value)
8292
+ end
8293
+ end
8294
+
8295
+ # Results for a product search request.
8296
+ class GoogleCloudVisionV1p4beta1ProductSearchResults
8297
+ include Google::Apis::Core::Hashable
8298
+
8299
+ # Timestamp of the index which provided these results. Products added to the
8300
+ # product set and products removed from the product set after this time are
8301
+ # not reflected in the current results.
8302
+ # Corresponds to the JSON property `indexTime`
8303
+ # @return [String]
8304
+ attr_accessor :index_time
8305
+
8306
+ # List of results grouped by products detected in the query image. Each entry
8307
+ # corresponds to one bounding polygon in the query image, and contains the
8308
+ # matching products specific to that region. There may be duplicate product
8309
+ # matches in the union of all the per-product results.
8310
+ # Corresponds to the JSON property `productGroupedResults`
8311
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult>]
8312
+ attr_accessor :product_grouped_results
8313
+
8314
+ # List of results, one for each product match.
8315
+ # Corresponds to the JSON property `results`
8316
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1ProductSearchResultsResult>]
8317
+ attr_accessor :results
8318
+
8319
+ def initialize(**args)
8320
+ update!(**args)
8321
+ end
8322
+
8323
+ # Update properties of this object
8324
+ def update!(**args)
8325
+ @index_time = args[:index_time] if args.key?(:index_time)
8326
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
8327
+ @results = args[:results] if args.key?(:results)
8328
+ end
8329
+ end
8330
+
8331
+ # Information about the products similar to a single product in a query
8332
+ # image.
8333
+ class GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult
8334
+ include Google::Apis::Core::Hashable
8335
+
8336
+ # A bounding polygon for the detected image annotation.
8337
+ # Corresponds to the JSON property `boundingPoly`
8338
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1BoundingPoly]
8339
+ attr_accessor :bounding_poly
8340
+
8341
+ # List of results, one for each product match.
8342
+ # Corresponds to the JSON property `results`
8343
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1ProductSearchResultsResult>]
8344
+ attr_accessor :results
8345
+
8346
+ def initialize(**args)
8347
+ update!(**args)
8348
+ end
8349
+
8350
+ # Update properties of this object
8351
+ def update!(**args)
8352
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
8353
+ @results = args[:results] if args.key?(:results)
8354
+ end
8355
+ end
8356
+
8357
+ # Information about a product.
8358
+ class GoogleCloudVisionV1p4beta1ProductSearchResultsResult
8359
+ include Google::Apis::Core::Hashable
8360
+
8361
+ # The resource name of the image from the product that is the closest match
8362
+ # to the query.
8363
+ # Corresponds to the JSON property `image`
8364
+ # @return [String]
8365
+ attr_accessor :image
8366
+
8367
+ # A Product contains ReferenceImages.
8368
+ # Corresponds to the JSON property `product`
8369
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1Product]
8370
+ attr_accessor :product
8371
+
8372
+ # A confidence level on the match, ranging from 0 (no confidence) to
8373
+ # 1 (full confidence).
8374
+ # Corresponds to the JSON property `score`
8375
+ # @return [Float]
8376
+ attr_accessor :score
8377
+
8378
+ def initialize(**args)
8379
+ update!(**args)
8380
+ end
8381
+
8382
+ # Update properties of this object
8383
+ def update!(**args)
8384
+ @image = args[:image] if args.key?(:image)
8385
+ @product = args[:product] if args.key?(:product)
8386
+ @score = args[:score] if args.key?(:score)
8387
+ end
8388
+ end
8389
+
8390
+ # A `Property` consists of a user-supplied name/value pair.
8391
+ class GoogleCloudVisionV1p4beta1Property
8392
+ include Google::Apis::Core::Hashable
8393
+
8394
+ # Name of the property.
8395
+ # Corresponds to the JSON property `name`
8396
+ # @return [String]
8397
+ attr_accessor :name
8398
+
8399
+ # Value of numeric properties.
8400
+ # Corresponds to the JSON property `uint64Value`
8401
+ # @return [Fixnum]
8402
+ attr_accessor :uint64_value
8403
+
8404
+ # Value of the property.
8405
+ # Corresponds to the JSON property `value`
8406
+ # @return [String]
8407
+ attr_accessor :value
8408
+
8409
+ def initialize(**args)
8410
+ update!(**args)
8411
+ end
8412
+
8413
+ # Update properties of this object
8414
+ def update!(**args)
8415
+ @name = args[:name] if args.key?(:name)
8416
+ @uint64_value = args[:uint64_value] if args.key?(:uint64_value)
8417
+ @value = args[:value] if args.key?(:value)
8418
+ end
8419
+ end
8420
+
8421
+ # A `ReferenceImage` represents a product image and its associated metadata,
8422
+ # such as bounding boxes.
8423
+ class GoogleCloudVisionV1p4beta1ReferenceImage
8424
+ include Google::Apis::Core::Hashable
8425
+
8426
+ # Bounding polygons around the areas of interest in the reference image.
8427
+ # Optional. If this field is empty, the system will try to detect regions of
8428
+ # interest. At most 10 bounding polygons will be used.
8429
+ # The provided shape is converted into a non-rotated rectangle. Once
8430
+ # converted, the small edge of the rectangle must be greater than or equal
8431
+ # to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5
8432
+ # is not).
8433
+ # Corresponds to the JSON property `boundingPolys`
8434
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1BoundingPoly>]
8435
+ attr_accessor :bounding_polys
8436
+
8437
+ # The resource name of the reference image.
8438
+ # Format is:
8439
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/
8440
+ # IMAGE_ID`.
8441
+ # This field is ignored when creating a reference image.
8442
+ # Corresponds to the JSON property `name`
8443
+ # @return [String]
8444
+ attr_accessor :name
8445
+
8446
+ # The Google Cloud Storage URI of the reference image.
8447
+ # The URI must start with `gs://`.
8448
+ # Required.
8449
+ # Corresponds to the JSON property `uri`
8450
+ # @return [String]
8451
+ attr_accessor :uri
8452
+
8453
+ def initialize(**args)
8454
+ update!(**args)
8455
+ end
8456
+
8457
+ # Update properties of this object
8458
+ def update!(**args)
8459
+ @bounding_polys = args[:bounding_polys] if args.key?(:bounding_polys)
8460
+ @name = args[:name] if args.key?(:name)
8461
+ @uri = args[:uri] if args.key?(:uri)
8462
+ end
8463
+ end
8464
+
8465
+ # Set of features pertaining to the image, computed by computer vision
8466
+ # methods over safe-search verticals (for example, adult, spoof, medical,
8467
+ # violence).
8468
+ class GoogleCloudVisionV1p4beta1SafeSearchAnnotation
8469
+ include Google::Apis::Core::Hashable
8470
+
8471
+ # Represents the adult content likelihood for the image. Adult content may
8472
+ # contain elements such as nudity, pornographic images or cartoons, or
8473
+ # sexual activities.
8474
+ # Corresponds to the JSON property `adult`
8475
+ # @return [String]
8476
+ attr_accessor :adult
8477
+
8478
+ # Likelihood that this is a medical image.
8479
+ # Corresponds to the JSON property `medical`
8480
+ # @return [String]
8481
+ attr_accessor :medical
8482
+
8483
+ # Likelihood that the request image contains racy content. Racy content may
8484
+ # include (but is not limited to) skimpy or sheer clothing, strategically
8485
+ # covered nudity, lewd or provocative poses, or close-ups of sensitive
8486
+ # body areas.
8487
+ # Corresponds to the JSON property `racy`
8488
+ # @return [String]
8489
+ attr_accessor :racy
8490
+
8491
+ # Spoof likelihood. The likelihood that an modification
8492
+ # was made to the image's canonical version to make it appear
8493
+ # funny or offensive.
8494
+ # Corresponds to the JSON property `spoof`
8495
+ # @return [String]
8496
+ attr_accessor :spoof
8497
+
8498
+ # Likelihood that this image contains violent content.
8499
+ # Corresponds to the JSON property `violence`
8500
+ # @return [String]
8501
+ attr_accessor :violence
8502
+
8503
+ def initialize(**args)
8504
+ update!(**args)
8505
+ end
8506
+
8507
+ # Update properties of this object
8508
+ def update!(**args)
8509
+ @adult = args[:adult] if args.key?(:adult)
8510
+ @medical = args[:medical] if args.key?(:medical)
8511
+ @racy = args[:racy] if args.key?(:racy)
8512
+ @spoof = args[:spoof] if args.key?(:spoof)
8513
+ @violence = args[:violence] if args.key?(:violence)
8514
+ end
8515
+ end
8516
+
8517
+ # A single symbol representation.
8518
+ class GoogleCloudVisionV1p4beta1Symbol
8519
+ include Google::Apis::Core::Hashable
8520
+
8521
+ # A bounding polygon for the detected image annotation.
8522
+ # Corresponds to the JSON property `boundingBox`
8523
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1BoundingPoly]
8524
+ attr_accessor :bounding_box
8525
+
8526
+ # Confidence of the OCR results for the symbol. Range [0, 1].
8527
+ # Corresponds to the JSON property `confidence`
8528
+ # @return [Float]
8529
+ attr_accessor :confidence
8530
+
8531
+ # Additional information detected on the structural component.
8532
+ # Corresponds to the JSON property `property`
8533
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1TextAnnotationTextProperty]
8534
+ attr_accessor :property
8535
+
8536
+ # The actual UTF-8 representation of the symbol.
8537
+ # Corresponds to the JSON property `text`
8538
+ # @return [String]
8539
+ attr_accessor :text
8540
+
8541
+ def initialize(**args)
8542
+ update!(**args)
8543
+ end
8544
+
8545
+ # Update properties of this object
8546
+ def update!(**args)
8547
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
8548
+ @confidence = args[:confidence] if args.key?(:confidence)
8549
+ @property = args[:property] if args.key?(:property)
8550
+ @text = args[:text] if args.key?(:text)
8551
+ end
8552
+ end
8553
+
8554
+ # TextAnnotation contains a structured representation of OCR extracted text.
8555
+ # The hierarchy of an OCR extracted text structure is like this:
8556
+ # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol
8557
+ # Each structural component, starting from Page, may further have their own
8558
+ # properties. Properties describe detected languages, breaks etc.. Please refer
8559
+ # to the TextAnnotation.TextProperty message definition below for more
8560
+ # detail.
8561
+ class GoogleCloudVisionV1p4beta1TextAnnotation
8562
+ include Google::Apis::Core::Hashable
8563
+
8564
+ # List of pages detected by OCR.
8565
+ # Corresponds to the JSON property `pages`
8566
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1Page>]
8567
+ attr_accessor :pages
8568
+
8569
+ # UTF-8 text detected on the pages.
8570
+ # Corresponds to the JSON property `text`
8571
+ # @return [String]
8572
+ attr_accessor :text
8573
+
8574
+ def initialize(**args)
8575
+ update!(**args)
8576
+ end
8577
+
8578
+ # Update properties of this object
8579
+ def update!(**args)
8580
+ @pages = args[:pages] if args.key?(:pages)
8581
+ @text = args[:text] if args.key?(:text)
8582
+ end
8583
+ end
8584
+
8585
+ # Detected start or end of a structural component.
8586
+ class GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak
8587
+ include Google::Apis::Core::Hashable
8588
+
8589
+ # True if break prepends the element.
8590
+ # Corresponds to the JSON property `isPrefix`
8591
+ # @return [Boolean]
8592
+ attr_accessor :is_prefix
8593
+ alias_method :is_prefix?, :is_prefix
8594
+
8595
+ # Detected break type.
8596
+ # Corresponds to the JSON property `type`
8597
+ # @return [String]
8598
+ attr_accessor :type
8599
+
8600
+ def initialize(**args)
8601
+ update!(**args)
8602
+ end
8603
+
8604
+ # Update properties of this object
8605
+ def update!(**args)
8606
+ @is_prefix = args[:is_prefix] if args.key?(:is_prefix)
8607
+ @type = args[:type] if args.key?(:type)
8608
+ end
8609
+ end
8610
+
8611
+ # Detected language for a structural component.
8612
+ class GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage
8613
+ include Google::Apis::Core::Hashable
8614
+
8615
+ # Confidence of detected language. Range [0, 1].
8616
+ # Corresponds to the JSON property `confidence`
8617
+ # @return [Float]
8618
+ attr_accessor :confidence
8619
+
8620
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
8621
+ # information, see
8622
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
8623
+ # Corresponds to the JSON property `languageCode`
8624
+ # @return [String]
8625
+ attr_accessor :language_code
8626
+
8627
+ def initialize(**args)
8628
+ update!(**args)
8629
+ end
8630
+
8631
+ # Update properties of this object
8632
+ def update!(**args)
8633
+ @confidence = args[:confidence] if args.key?(:confidence)
8634
+ @language_code = args[:language_code] if args.key?(:language_code)
8635
+ end
8636
+ end
8637
+
8638
+ # Additional information detected on the structural component.
8639
+ class GoogleCloudVisionV1p4beta1TextAnnotationTextProperty
8640
+ include Google::Apis::Core::Hashable
8641
+
8642
+ # Detected start or end of a structural component.
8643
+ # Corresponds to the JSON property `detectedBreak`
8644
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak]
8645
+ attr_accessor :detected_break
8646
+
8647
+ # A list of detected languages together with confidence.
8648
+ # Corresponds to the JSON property `detectedLanguages`
8649
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage>]
8650
+ attr_accessor :detected_languages
8651
+
8652
+ def initialize(**args)
8653
+ update!(**args)
8654
+ end
8655
+
8656
+ # Update properties of this object
8657
+ def update!(**args)
8658
+ @detected_break = args[:detected_break] if args.key?(:detected_break)
8659
+ @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
8660
+ end
8661
+ end
8662
+
8663
+ # A vertex represents a 2D point in the image.
8664
+ # NOTE: the vertex coordinates are in the same scale as the original image.
8665
+ class GoogleCloudVisionV1p4beta1Vertex
8666
+ include Google::Apis::Core::Hashable
8667
+
8668
+ # X coordinate.
8669
+ # Corresponds to the JSON property `x`
8670
+ # @return [Fixnum]
8671
+ attr_accessor :x
8672
+
8673
+ # Y coordinate.
8674
+ # Corresponds to the JSON property `y`
8675
+ # @return [Fixnum]
8676
+ attr_accessor :y
8677
+
8678
+ def initialize(**args)
8679
+ update!(**args)
8680
+ end
8681
+
8682
+ # Update properties of this object
8683
+ def update!(**args)
8684
+ @x = args[:x] if args.key?(:x)
8685
+ @y = args[:y] if args.key?(:y)
8686
+ end
8687
+ end
8688
+
8689
+ # Relevant information for the image from the Internet.
8690
+ class GoogleCloudVisionV1p4beta1WebDetection
8691
+ include Google::Apis::Core::Hashable
8692
+
8693
+ # The service's best guess as to the topic of the request image.
8694
+ # Inferred from similar images on the open web.
8695
+ # Corresponds to the JSON property `bestGuessLabels`
8696
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1WebDetectionWebLabel>]
8697
+ attr_accessor :best_guess_labels
8698
+
8699
+ # Fully matching images from the Internet.
8700
+ # Can include resized copies of the query image.
8701
+ # Corresponds to the JSON property `fullMatchingImages`
8702
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1WebDetectionWebImage>]
8703
+ attr_accessor :full_matching_images
8704
+
8705
+ # Web pages containing the matching images from the Internet.
8706
+ # Corresponds to the JSON property `pagesWithMatchingImages`
8707
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1WebDetectionWebPage>]
8708
+ attr_accessor :pages_with_matching_images
8709
+
8710
+ # Partial matching images from the Internet.
8711
+ # Those images are similar enough to share some key-point features. For
8712
+ # example an original image will likely have partial matching for its crops.
8713
+ # Corresponds to the JSON property `partialMatchingImages`
8714
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1WebDetectionWebImage>]
8715
+ attr_accessor :partial_matching_images
8716
+
8717
+ # The visually similar image results.
8718
+ # Corresponds to the JSON property `visuallySimilarImages`
8719
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1WebDetectionWebImage>]
8720
+ attr_accessor :visually_similar_images
8721
+
8722
+ # Deduced entities from similar images on the Internet.
8723
+ # Corresponds to the JSON property `webEntities`
8724
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1WebDetectionWebEntity>]
8725
+ attr_accessor :web_entities
8726
+
8727
+ def initialize(**args)
8728
+ update!(**args)
8729
+ end
8730
+
8731
+ # Update properties of this object
8732
+ def update!(**args)
8733
+ @best_guess_labels = args[:best_guess_labels] if args.key?(:best_guess_labels)
8734
+ @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images)
8735
+ @pages_with_matching_images = args[:pages_with_matching_images] if args.key?(:pages_with_matching_images)
8736
+ @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images)
8737
+ @visually_similar_images = args[:visually_similar_images] if args.key?(:visually_similar_images)
8738
+ @web_entities = args[:web_entities] if args.key?(:web_entities)
8739
+ end
8740
+ end
8741
+
8742
+ # Entity deduced from similar images on the Internet.
8743
+ class GoogleCloudVisionV1p4beta1WebDetectionWebEntity
8744
+ include Google::Apis::Core::Hashable
8745
+
8746
+ # Canonical description of the entity, in English.
8747
+ # Corresponds to the JSON property `description`
8748
+ # @return [String]
8749
+ attr_accessor :description
8750
+
8751
+ # Opaque entity ID.
8752
+ # Corresponds to the JSON property `entityId`
8753
+ # @return [String]
8754
+ attr_accessor :entity_id
8755
+
8756
+ # Overall relevancy score for the entity.
8757
+ # Not normalized and not comparable across different image queries.
8758
+ # Corresponds to the JSON property `score`
8759
+ # @return [Float]
8760
+ attr_accessor :score
8761
+
8762
+ def initialize(**args)
8763
+ update!(**args)
8764
+ end
8765
+
8766
+ # Update properties of this object
8767
+ def update!(**args)
8768
+ @description = args[:description] if args.key?(:description)
8769
+ @entity_id = args[:entity_id] if args.key?(:entity_id)
8770
+ @score = args[:score] if args.key?(:score)
8771
+ end
8772
+ end
8773
+
8774
+ # Metadata for online images.
8775
+ class GoogleCloudVisionV1p4beta1WebDetectionWebImage
8776
+ include Google::Apis::Core::Hashable
8777
+
8778
+ # (Deprecated) Overall relevancy score for the image.
8779
+ # Corresponds to the JSON property `score`
8780
+ # @return [Float]
8781
+ attr_accessor :score
8782
+
8783
+ # The result image URL.
8784
+ # Corresponds to the JSON property `url`
8785
+ # @return [String]
8786
+ attr_accessor :url
8787
+
8788
+ def initialize(**args)
8789
+ update!(**args)
8790
+ end
8791
+
8792
+ # Update properties of this object
8793
+ def update!(**args)
8794
+ @score = args[:score] if args.key?(:score)
8795
+ @url = args[:url] if args.key?(:url)
8796
+ end
8797
+ end
8798
+
8799
+ # Label to provide extra metadata for the web detection.
8800
+ class GoogleCloudVisionV1p4beta1WebDetectionWebLabel
8801
+ include Google::Apis::Core::Hashable
8802
+
8803
+ # Label for extra metadata.
8804
+ # Corresponds to the JSON property `label`
8805
+ # @return [String]
8806
+ attr_accessor :label
8807
+
8808
+ # The BCP-47 language code for `label`, such as "en-US" or "sr-Latn".
8809
+ # For more information, see
8810
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
8811
+ # Corresponds to the JSON property `languageCode`
8812
+ # @return [String]
8813
+ attr_accessor :language_code
8814
+
8815
+ def initialize(**args)
8816
+ update!(**args)
8817
+ end
8818
+
8819
+ # Update properties of this object
8820
+ def update!(**args)
8821
+ @label = args[:label] if args.key?(:label)
8822
+ @language_code = args[:language_code] if args.key?(:language_code)
8823
+ end
8824
+ end
8825
+
8826
+ # Metadata for web pages.
8827
+ class GoogleCloudVisionV1p4beta1WebDetectionWebPage
8828
+ include Google::Apis::Core::Hashable
8829
+
8830
+ # Fully matching images on the page.
8831
+ # Can include resized copies of the query image.
8832
+ # Corresponds to the JSON property `fullMatchingImages`
8833
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1WebDetectionWebImage>]
8834
+ attr_accessor :full_matching_images
8835
+
8836
+ # Title for the web page, may contain HTML markups.
8837
+ # Corresponds to the JSON property `pageTitle`
8838
+ # @return [String]
8839
+ attr_accessor :page_title
8840
+
8841
+ # Partial matching images on the page.
8842
+ # Those images are similar enough to share some key-point features. For
8843
+ # example an original image will likely have partial matching for its
8844
+ # crops.
8845
+ # Corresponds to the JSON property `partialMatchingImages`
8846
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1WebDetectionWebImage>]
8847
+ attr_accessor :partial_matching_images
8848
+
8849
+ # (Deprecated) Overall relevancy score for the web page.
8850
+ # Corresponds to the JSON property `score`
8851
+ # @return [Float]
8852
+ attr_accessor :score
8853
+
8854
+ # The result web page URL.
8855
+ # Corresponds to the JSON property `url`
8856
+ # @return [String]
8857
+ attr_accessor :url
8858
+
8859
+ def initialize(**args)
8860
+ update!(**args)
8861
+ end
8862
+
8863
+ # Update properties of this object
8864
+ def update!(**args)
8865
+ @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images)
8866
+ @page_title = args[:page_title] if args.key?(:page_title)
8867
+ @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images)
8868
+ @score = args[:score] if args.key?(:score)
8869
+ @url = args[:url] if args.key?(:url)
8870
+ end
8871
+ end
8872
+
8873
+ # A word representation.
8874
+ class GoogleCloudVisionV1p4beta1Word
8875
+ include Google::Apis::Core::Hashable
8876
+
8877
+ # A bounding polygon for the detected image annotation.
8878
+ # Corresponds to the JSON property `boundingBox`
8879
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1BoundingPoly]
8880
+ attr_accessor :bounding_box
8881
+
8882
+ # Confidence of the OCR results for the word. Range [0, 1].
8883
+ # Corresponds to the JSON property `confidence`
8884
+ # @return [Float]
8885
+ attr_accessor :confidence
8886
+
8887
+ # Additional information detected on the structural component.
8888
+ # Corresponds to the JSON property `property`
8889
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1TextAnnotationTextProperty]
8890
+ attr_accessor :property
8891
+
8892
+ # List of symbols in the word.
8893
+ # The order of the symbols follows the natural reading order.
8894
+ # Corresponds to the JSON property `symbols`
8895
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p4beta1Symbol>]
8896
+ attr_accessor :symbols
8897
+
8898
+ def initialize(**args)
8899
+ update!(**args)
8900
+ end
8901
+
8902
+ # Update properties of this object
8903
+ def update!(**args)
8904
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
8905
+ @confidence = args[:confidence] if args.key?(:confidence)
8906
+ @property = args[:property] if args.key?(:property)
8907
+ @symbols = args[:symbols] if args.key?(:symbols)
8908
+ end
8909
+ end
8910
+
8911
+ # Response to a single file annotation request. A file may contain one or more
8912
+ # images, which individually have their own responses.
8913
+ class GoogleCloudVisionV1p5beta1AnnotateFileResponse
8914
+ include Google::Apis::Core::Hashable
8915
+
8916
+ # The desired input location and metadata.
8917
+ # Corresponds to the JSON property `inputConfig`
8918
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1InputConfig]
8919
+ attr_accessor :input_config
8920
+
8921
+ # Individual responses to images found within the file.
8922
+ # Corresponds to the JSON property `responses`
8923
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1AnnotateImageResponse>]
8924
+ attr_accessor :responses
8925
+
8926
+ # This field gives the total number of pages in the file.
8927
+ # Corresponds to the JSON property `totalPages`
8928
+ # @return [Fixnum]
8929
+ attr_accessor :total_pages
8930
+
8931
+ def initialize(**args)
8932
+ update!(**args)
8933
+ end
8934
+
8935
+ # Update properties of this object
8936
+ def update!(**args)
8937
+ @input_config = args[:input_config] if args.key?(:input_config)
8938
+ @responses = args[:responses] if args.key?(:responses)
8939
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
8940
+ end
8941
+ end
8942
+
8943
+ # Response to an image annotation request.
8944
+ class GoogleCloudVisionV1p5beta1AnnotateImageResponse
8945
+ include Google::Apis::Core::Hashable
8946
+
8947
+ # If an image was produced from a file (e.g. a PDF), this message gives
8948
+ # information about the source of that image.
8949
+ # Corresponds to the JSON property `context`
8950
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1ImageAnnotationContext]
8951
+ attr_accessor :context
8952
+
8953
+ # Set of crop hints that are used to generate new crops when serving images.
8954
+ # Corresponds to the JSON property `cropHintsAnnotation`
8955
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1CropHintsAnnotation]
8956
+ attr_accessor :crop_hints_annotation
8957
+
8958
+ # The `Status` type defines a logical error model that is suitable for
8959
+ # different programming environments, including REST APIs and RPC APIs. It is
8960
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
8961
+ # - Simple to use and understand for most users
8962
+ # - Flexible enough to meet unexpected needs
8963
+ # # Overview
8964
+ # The `Status` message contains three pieces of data: error code, error
8965
+ # message, and error details. The error code should be an enum value of
8966
+ # google.rpc.Code, but it may accept additional error codes if needed. The
8967
+ # error message should be a developer-facing English message that helps
8968
+ # developers *understand* and *resolve* the error. If a localized user-facing
8969
+ # error message is needed, put the localized message in the error details or
8970
+ # localize it in the client. The optional error details may contain arbitrary
8971
+ # information about the error. There is a predefined set of error detail types
8972
+ # in the package `google.rpc` that can be used for common error conditions.
8973
+ # # Language mapping
8974
+ # The `Status` message is the logical representation of the error model, but it
8975
+ # is not necessarily the actual wire format. When the `Status` message is
8976
+ # exposed in different client libraries and different wire protocols, it can be
8977
+ # mapped differently. For example, it will likely be mapped to some exceptions
8978
+ # in Java, but more likely mapped to some error codes in C.
8979
+ # # Other uses
8980
+ # The error model and the `Status` message can be used in a variety of
8981
+ # environments, either with or without APIs, to provide a
8982
+ # consistent developer experience across different environments.
8983
+ # Example uses of this error model include:
8984
+ # - Partial errors. If a service needs to return partial errors to the client,
8985
+ # it may embed the `Status` in the normal response to indicate the partial
8986
+ # errors.
8987
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
8988
+ # have a `Status` message for error reporting.
8989
+ # - Batch operations. If a client uses batch request and batch response, the
8990
+ # `Status` message should be used directly inside batch response, one for
8991
+ # each error sub-response.
8992
+ # - Asynchronous operations. If an API call embeds asynchronous operation
8993
+ # results in its response, the status of those operations should be
8994
+ # represented directly using the `Status` message.
8995
+ # - Logging. If some API errors are stored in logs, the message `Status` could
8996
+ # be used directly after any stripping needed for security/privacy reasons.
8997
+ # Corresponds to the JSON property `error`
8998
+ # @return [Google::Apis::VisionV1p2beta1::Status]
8999
+ attr_accessor :error
9000
+
9001
+ # If present, face detection has completed successfully.
9002
+ # Corresponds to the JSON property `faceAnnotations`
9003
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1FaceAnnotation>]
9004
+ attr_accessor :face_annotations
9005
+
9006
+ # TextAnnotation contains a structured representation of OCR extracted text.
9007
+ # The hierarchy of an OCR extracted text structure is like this:
9008
+ # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol
9009
+ # Each structural component, starting from Page, may further have their own
9010
+ # properties. Properties describe detected languages, breaks etc.. Please refer
9011
+ # to the TextAnnotation.TextProperty message definition below for more
9012
+ # detail.
9013
+ # Corresponds to the JSON property `fullTextAnnotation`
9014
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1TextAnnotation]
9015
+ attr_accessor :full_text_annotation
9016
+
9017
+ # Stores image properties, such as dominant colors.
9018
+ # Corresponds to the JSON property `imagePropertiesAnnotation`
9019
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1ImageProperties]
9020
+ attr_accessor :image_properties_annotation
9021
+
9022
+ # If present, label detection has completed successfully.
9023
+ # Corresponds to the JSON property `labelAnnotations`
9024
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1EntityAnnotation>]
9025
+ attr_accessor :label_annotations
9026
+
9027
+ # If present, landmark detection has completed successfully.
9028
+ # Corresponds to the JSON property `landmarkAnnotations`
9029
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1EntityAnnotation>]
9030
+ attr_accessor :landmark_annotations
9031
+
9032
+ # If present, localized object detection has completed successfully.
9033
+ # This will be sorted descending by confidence score.
9034
+ # Corresponds to the JSON property `localizedObjectAnnotations`
9035
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1LocalizedObjectAnnotation>]
9036
+ attr_accessor :localized_object_annotations
9037
+
9038
+ # If present, logo detection has completed successfully.
9039
+ # Corresponds to the JSON property `logoAnnotations`
9040
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1EntityAnnotation>]
9041
+ attr_accessor :logo_annotations
9042
+
9043
+ # Results for a product search request.
9044
+ # Corresponds to the JSON property `productSearchResults`
9045
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1ProductSearchResults]
9046
+ attr_accessor :product_search_results
9047
+
9048
+ # Set of features pertaining to the image, computed by computer vision
9049
+ # methods over safe-search verticals (for example, adult, spoof, medical,
9050
+ # violence).
9051
+ # Corresponds to the JSON property `safeSearchAnnotation`
9052
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1SafeSearchAnnotation]
9053
+ attr_accessor :safe_search_annotation
9054
+
9055
+ # If present, text (OCR) detection has completed successfully.
9056
+ # Corresponds to the JSON property `textAnnotations`
9057
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1EntityAnnotation>]
9058
+ attr_accessor :text_annotations
9059
+
9060
+ # Relevant information for the image from the Internet.
9061
+ # Corresponds to the JSON property `webDetection`
9062
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1WebDetection]
9063
+ attr_accessor :web_detection
9064
+
9065
+ def initialize(**args)
9066
+ update!(**args)
9067
+ end
9068
+
9069
+ # Update properties of this object
9070
+ def update!(**args)
9071
+ @context = args[:context] if args.key?(:context)
9072
+ @crop_hints_annotation = args[:crop_hints_annotation] if args.key?(:crop_hints_annotation)
9073
+ @error = args[:error] if args.key?(:error)
9074
+ @face_annotations = args[:face_annotations] if args.key?(:face_annotations)
9075
+ @full_text_annotation = args[:full_text_annotation] if args.key?(:full_text_annotation)
9076
+ @image_properties_annotation = args[:image_properties_annotation] if args.key?(:image_properties_annotation)
9077
+ @label_annotations = args[:label_annotations] if args.key?(:label_annotations)
9078
+ @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
9079
+ @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
9080
+ @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
9081
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
9082
+ @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
9083
+ @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
9084
+ @web_detection = args[:web_detection] if args.key?(:web_detection)
9085
+ end
9086
+ end
9087
+
9088
+ # The response for a single offline file annotation request.
9089
+ class GoogleCloudVisionV1p5beta1AsyncAnnotateFileResponse
9090
+ include Google::Apis::Core::Hashable
9091
+
9092
+ # The desired output location and metadata.
9093
+ # Corresponds to the JSON property `outputConfig`
9094
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1OutputConfig]
9095
+ attr_accessor :output_config
9096
+
9097
+ def initialize(**args)
9098
+ update!(**args)
9099
+ end
9100
+
9101
+ # Update properties of this object
9102
+ def update!(**args)
9103
+ @output_config = args[:output_config] if args.key?(:output_config)
9104
+ end
9105
+ end
9106
+
9107
+ # Response to an async batch file annotation request.
9108
+ class GoogleCloudVisionV1p5beta1AsyncBatchAnnotateFilesResponse
9109
+ include Google::Apis::Core::Hashable
9110
+
9111
+ # The list of file annotation responses, one for each request in
9112
+ # AsyncBatchAnnotateFilesRequest.
9113
+ # Corresponds to the JSON property `responses`
9114
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1AsyncAnnotateFileResponse>]
9115
+ attr_accessor :responses
9116
+
9117
+ def initialize(**args)
9118
+ update!(**args)
9119
+ end
9120
+
9121
+ # Update properties of this object
9122
+ def update!(**args)
9123
+ @responses = args[:responses] if args.key?(:responses)
9124
+ end
9125
+ end
9126
+
9127
+ # Response to an async batch image annotation request.
9128
+ class GoogleCloudVisionV1p5beta1AsyncBatchAnnotateImagesResponse
9129
+ include Google::Apis::Core::Hashable
9130
+
9131
+ # The desired output location and metadata.
9132
+ # Corresponds to the JSON property `outputConfig`
9133
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1OutputConfig]
9134
+ attr_accessor :output_config
9135
+
9136
+ def initialize(**args)
9137
+ update!(**args)
9138
+ end
9139
+
9140
+ # Update properties of this object
9141
+ def update!(**args)
9142
+ @output_config = args[:output_config] if args.key?(:output_config)
9143
+ end
9144
+ end
9145
+
9146
+ # A list of file annotation responses.
9147
+ class GoogleCloudVisionV1p5beta1BatchAnnotateFilesResponse
9148
+ include Google::Apis::Core::Hashable
9149
+
9150
+ # The list of file annotation responses, each response corresponding to each
9151
+ # AnnotateFileRequest in BatchAnnotateFilesRequest.
9152
+ # Corresponds to the JSON property `responses`
9153
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1AnnotateFileResponse>]
9154
+ attr_accessor :responses
9155
+
9156
+ def initialize(**args)
9157
+ update!(**args)
9158
+ end
9159
+
9160
+ # Update properties of this object
9161
+ def update!(**args)
9162
+ @responses = args[:responses] if args.key?(:responses)
9163
+ end
9164
+ end
9165
+
9166
+ # Metadata for the batch operations such as the current state.
9167
+ # This is included in the `metadata` field of the `Operation` returned by the
9168
+ # `GetOperation` call of the `google::longrunning::Operations` service.
9169
+ class GoogleCloudVisionV1p5beta1BatchOperationMetadata
9170
+ include Google::Apis::Core::Hashable
9171
+
9172
+ # The time when the batch request is finished and
9173
+ # google.longrunning.Operation.done is set to true.
9174
+ # Corresponds to the JSON property `endTime`
9175
+ # @return [String]
9176
+ attr_accessor :end_time
9177
+
9178
+ # The current state of the batch operation.
9179
+ # Corresponds to the JSON property `state`
9180
+ # @return [String]
9181
+ attr_accessor :state
9182
+
9183
+ # The time when the batch request was submitted to the server.
9184
+ # Corresponds to the JSON property `submitTime`
9185
+ # @return [String]
9186
+ attr_accessor :submit_time
9187
+
9188
+ def initialize(**args)
9189
+ update!(**args)
9190
+ end
9191
+
9192
+ # Update properties of this object
9193
+ def update!(**args)
9194
+ @end_time = args[:end_time] if args.key?(:end_time)
9195
+ @state = args[:state] if args.key?(:state)
9196
+ @submit_time = args[:submit_time] if args.key?(:submit_time)
9197
+ end
9198
+ end
9199
+
9200
+ # Logical element on the page.
9201
+ class GoogleCloudVisionV1p5beta1Block
9202
+ include Google::Apis::Core::Hashable
9203
+
9204
+ # Detected block type (text, image etc) for this block.
9205
+ # Corresponds to the JSON property `blockType`
9206
+ # @return [String]
9207
+ attr_accessor :block_type
9208
+
9209
+ # A bounding polygon for the detected image annotation.
9210
+ # Corresponds to the JSON property `boundingBox`
9211
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1BoundingPoly]
9212
+ attr_accessor :bounding_box
9213
+
9214
+ # Confidence of the OCR results on the block. Range [0, 1].
9215
+ # Corresponds to the JSON property `confidence`
9216
+ # @return [Float]
9217
+ attr_accessor :confidence
9218
+
9219
+ # Proto for a key value pair.
9220
+ # Corresponds to the JSON property `keyValuePair`
9221
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1KeyValuePair]
9222
+ attr_accessor :key_value_pair
9223
+
9224
+ # All UTF-8 text detected in this block. This field is by default not
9225
+ # returned unless specified in TextDetectionParams.block_filter or
9226
+ # DocumentParsingParams.block_filter.
9227
+ # Corresponds to the JSON property `mergedText`
9228
+ # @return [String]
9229
+ attr_accessor :merged_text
9230
+
9231
+ # List of paragraphs in this block (if this blocks is of type text).
9232
+ # Corresponds to the JSON property `paragraphs`
9233
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Paragraph>]
9234
+ attr_accessor :paragraphs
9235
+
9236
+ # Additional information detected on the structural component.
9237
+ # Corresponds to the JSON property `property`
9238
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1TextAnnotationTextProperty]
9239
+ attr_accessor :property
9240
+
9241
+ # A table representation similar to HTML table structure.
9242
+ # Corresponds to the JSON property `table`
9243
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Table]
9244
+ attr_accessor :table
9245
+
9246
+ def initialize(**args)
9247
+ update!(**args)
9248
+ end
9249
+
9250
+ # Update properties of this object
9251
+ def update!(**args)
9252
+ @block_type = args[:block_type] if args.key?(:block_type)
9253
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
9254
+ @confidence = args[:confidence] if args.key?(:confidence)
9255
+ @key_value_pair = args[:key_value_pair] if args.key?(:key_value_pair)
9256
+ @merged_text = args[:merged_text] if args.key?(:merged_text)
9257
+ @paragraphs = args[:paragraphs] if args.key?(:paragraphs)
9258
+ @property = args[:property] if args.key?(:property)
9259
+ @table = args[:table] if args.key?(:table)
9260
+ end
9261
+ end
9262
+
9263
+ # A bounding polygon for the detected image annotation.
9264
+ class GoogleCloudVisionV1p5beta1BoundingPoly
9265
+ include Google::Apis::Core::Hashable
9266
+
9267
+ # The bounding polygon normalized vertices.
9268
+ # Corresponds to the JSON property `normalizedVertices`
9269
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1NormalizedVertex>]
9270
+ attr_accessor :normalized_vertices
9271
+
9272
+ # The bounding polygon vertices.
9273
+ # Corresponds to the JSON property `vertices`
9274
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Vertex>]
9275
+ attr_accessor :vertices
9276
+
9277
+ def initialize(**args)
9278
+ update!(**args)
9279
+ end
9280
+
9281
+ # Update properties of this object
9282
+ def update!(**args)
9283
+ @normalized_vertices = args[:normalized_vertices] if args.key?(:normalized_vertices)
9284
+ @vertices = args[:vertices] if args.key?(:vertices)
9285
+ end
9286
+ end
9287
+
9288
+ # Color information consists of RGB channels, score, and the fraction of
9289
+ # the image that the color occupies in the image.
9290
+ class GoogleCloudVisionV1p5beta1ColorInfo
9291
+ include Google::Apis::Core::Hashable
9292
+
9293
+ # Represents a color in the RGBA color space. This representation is designed
9294
+ # for simplicity of conversion to/from color representations in various
9295
+ # languages over compactness; for example, the fields of this representation
9296
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
9297
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
9298
+ # method in iOS; and, with just a little work, it can be easily formatted into
9299
+ # a CSS "rgba()" string in JavaScript, as well.
9300
+ # Note: this proto does not carry information about the absolute color space
9301
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
9302
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
9303
+ # space.
9304
+ # Example (Java):
9305
+ # import com.google.type.Color;
9306
+ # // ...
9307
+ # public static java.awt.Color fromProto(Color protocolor) `
9308
+ # float alpha = protocolor.hasAlpha()
9309
+ # ? protocolor.getAlpha().getValue()
9310
+ # : 1.0;
9311
+ # return new java.awt.Color(
9312
+ # protocolor.getRed(),
9313
+ # protocolor.getGreen(),
9314
+ # protocolor.getBlue(),
9315
+ # alpha);
9316
+ # `
9317
+ # public static Color toProto(java.awt.Color color) `
9318
+ # float red = (float) color.getRed();
9319
+ # float green = (float) color.getGreen();
9320
+ # float blue = (float) color.getBlue();
9321
+ # float denominator = 255.0;
9322
+ # Color.Builder resultBuilder =
9323
+ # Color
9324
+ # .newBuilder()
9325
+ # .setRed(red / denominator)
9326
+ # .setGreen(green / denominator)
9327
+ # .setBlue(blue / denominator);
9328
+ # int alpha = color.getAlpha();
9329
+ # if (alpha != 255) `
9330
+ # result.setAlpha(
9331
+ # FloatValue
9332
+ # .newBuilder()
9333
+ # .setValue(((float) alpha) / denominator)
9334
+ # .build());
9335
+ # `
9336
+ # return resultBuilder.build();
9337
+ # `
9338
+ # // ...
9339
+ # Example (iOS / Obj-C):
9340
+ # // ...
9341
+ # static UIColor* fromProto(Color* protocolor) `
9342
+ # float red = [protocolor red];
9343
+ # float green = [protocolor green];
9344
+ # float blue = [protocolor blue];
9345
+ # FloatValue* alpha_wrapper = [protocolor alpha];
9346
+ # float alpha = 1.0;
9347
+ # if (alpha_wrapper != nil) `
9348
+ # alpha = [alpha_wrapper value];
9349
+ # `
9350
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
9351
+ # `
9352
+ # static Color* toProto(UIColor* color) `
9353
+ # CGFloat red, green, blue, alpha;
9354
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
9355
+ # return nil;
9356
+ # `
9357
+ # Color* result = [[Color alloc] init];
9358
+ # [result setRed:red];
9359
+ # [result setGreen:green];
9360
+ # [result setBlue:blue];
9361
+ # if (alpha <= 0.9999) `
9362
+ # [result setAlpha:floatWrapperWithValue(alpha)];
9363
+ # `
9364
+ # [result autorelease];
9365
+ # return result;
9366
+ # `
9367
+ # // ...
9368
+ # Example (JavaScript):
9369
+ # // ...
9370
+ # var protoToCssColor = function(rgb_color) `
9371
+ # var redFrac = rgb_color.red || 0.0;
9372
+ # var greenFrac = rgb_color.green || 0.0;
9373
+ # var blueFrac = rgb_color.blue || 0.0;
9374
+ # var red = Math.floor(redFrac * 255);
9375
+ # var green = Math.floor(greenFrac * 255);
9376
+ # var blue = Math.floor(blueFrac * 255);
9377
+ # if (!('alpha' in rgb_color)) `
9378
+ # return rgbToCssColor_(red, green, blue);
9379
+ # `
9380
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
9381
+ # var rgbParams = [red, green, blue].join(',');
9382
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
9383
+ # `;
9384
+ # var rgbToCssColor_ = function(red, green, blue) `
9385
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
9386
+ # var hexString = rgbNumber.toString(16);
9387
+ # var missingZeros = 6 - hexString.length;
9388
+ # var resultBuilder = ['#'];
9389
+ # for (var i = 0; i < missingZeros; i++) `
9390
+ # resultBuilder.push('0');
9391
+ # `
9392
+ # resultBuilder.push(hexString);
9393
+ # return resultBuilder.join('');
9394
+ # `;
9395
+ # // ...
9396
+ # Corresponds to the JSON property `color`
9397
+ # @return [Google::Apis::VisionV1p2beta1::Color]
9398
+ attr_accessor :color
9399
+
9400
+ # The fraction of pixels the color occupies in the image.
9401
+ # Value in range [0, 1].
9402
+ # Corresponds to the JSON property `pixelFraction`
9403
+ # @return [Float]
9404
+ attr_accessor :pixel_fraction
9405
+
9406
+ # Image-specific score for this color. Value in range [0, 1].
9407
+ # Corresponds to the JSON property `score`
9408
+ # @return [Float]
9409
+ attr_accessor :score
9410
+
9411
+ def initialize(**args)
9412
+ update!(**args)
9413
+ end
9414
+
9415
+ # Update properties of this object
9416
+ def update!(**args)
9417
+ @color = args[:color] if args.key?(:color)
9418
+ @pixel_fraction = args[:pixel_fraction] if args.key?(:pixel_fraction)
9419
+ @score = args[:score] if args.key?(:score)
9420
+ end
9421
+ end
9422
+
9423
+ # Single crop hint that is used to generate a new crop when serving an image.
9424
+ class GoogleCloudVisionV1p5beta1CropHint
9425
+ include Google::Apis::Core::Hashable
9426
+
9427
+ # A bounding polygon for the detected image annotation.
9428
+ # Corresponds to the JSON property `boundingPoly`
9429
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1BoundingPoly]
9430
+ attr_accessor :bounding_poly
9431
+
9432
+ # Confidence of this being a salient region. Range [0, 1].
9433
+ # Corresponds to the JSON property `confidence`
9434
+ # @return [Float]
9435
+ attr_accessor :confidence
9436
+
9437
+ # Fraction of importance of this salient region with respect to the original
9438
+ # image.
9439
+ # Corresponds to the JSON property `importanceFraction`
9440
+ # @return [Float]
9441
+ attr_accessor :importance_fraction
9442
+
9443
+ def initialize(**args)
9444
+ update!(**args)
9445
+ end
9446
+
9447
+ # Update properties of this object
9448
+ def update!(**args)
9449
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
9450
+ @confidence = args[:confidence] if args.key?(:confidence)
9451
+ @importance_fraction = args[:importance_fraction] if args.key?(:importance_fraction)
9452
+ end
9453
+ end
9454
+
9455
+ # Set of crop hints that are used to generate new crops when serving images.
9456
+ class GoogleCloudVisionV1p5beta1CropHintsAnnotation
9457
+ include Google::Apis::Core::Hashable
9458
+
9459
+ # Crop hint results.
9460
+ # Corresponds to the JSON property `cropHints`
9461
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1CropHint>]
9462
+ attr_accessor :crop_hints
9463
+
9464
+ def initialize(**args)
9465
+ update!(**args)
9466
+ end
9467
+
9468
+ # Update properties of this object
9469
+ def update!(**args)
9470
+ @crop_hints = args[:crop_hints] if args.key?(:crop_hints)
9471
+ end
9472
+ end
9473
+
9474
+ # Set of dominant colors and their corresponding scores.
9475
+ class GoogleCloudVisionV1p5beta1DominantColorsAnnotation
9476
+ include Google::Apis::Core::Hashable
9477
+
9478
+ # RGB color values with their score and pixel fraction.
9479
+ # Corresponds to the JSON property `colors`
9480
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1ColorInfo>]
9481
+ attr_accessor :colors
9482
+
9483
+ def initialize(**args)
9484
+ update!(**args)
9485
+ end
9486
+
9487
+ # Update properties of this object
9488
+ def update!(**args)
9489
+ @colors = args[:colors] if args.key?(:colors)
9490
+ end
9491
+ end
9492
+
9493
+ # Set of detected entity features.
9494
+ class GoogleCloudVisionV1p5beta1EntityAnnotation
9495
+ include Google::Apis::Core::Hashable
9496
+
9497
+ # A bounding polygon for the detected image annotation.
9498
+ # Corresponds to the JSON property `boundingPoly`
9499
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1BoundingPoly]
9500
+ attr_accessor :bounding_poly
9501
+
9502
+ # **Deprecated. Use `score` instead.**
9503
+ # The accuracy of the entity detection in an image.
9504
+ # For example, for an image in which the "Eiffel Tower" entity is detected,
9505
+ # this field represents the confidence that there is a tower in the query
9506
+ # image. Range [0, 1].
9507
+ # Corresponds to the JSON property `confidence`
9508
+ # @return [Float]
9509
+ attr_accessor :confidence
9510
+
9511
+ # Entity textual description, expressed in its `locale` language.
9512
+ # Corresponds to the JSON property `description`
9513
+ # @return [String]
9514
+ attr_accessor :description
9515
+
9516
+ # The language code for the locale in which the entity textual
9517
+ # `description` is expressed.
9518
+ # Corresponds to the JSON property `locale`
9519
+ # @return [String]
9520
+ attr_accessor :locale
9521
+
9522
+ # The location information for the detected entity. Multiple
9523
+ # `LocationInfo` elements can be present because one location may
9524
+ # indicate the location of the scene in the image, and another location
9525
+ # may indicate the location of the place where the image was taken.
9526
+ # Location information is usually present for landmarks.
9527
+ # Corresponds to the JSON property `locations`
9528
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1LocationInfo>]
9529
+ attr_accessor :locations
9530
+
9531
+ # Opaque entity ID. Some IDs may be available in
9532
+ # [Google Knowledge Graph Search
9533
+ # API](https://developers.google.com/knowledge-graph/).
9534
+ # Corresponds to the JSON property `mid`
9535
+ # @return [String]
9536
+ attr_accessor :mid
9537
+
9538
+ # Some entities may have optional user-supplied `Property` (name/value)
9539
+ # fields, such a score or string that qualifies the entity.
9540
+ # Corresponds to the JSON property `properties`
9541
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Property>]
9542
+ attr_accessor :properties
9543
+
9544
+ # Overall score of the result. Range [0, 1].
9545
+ # Corresponds to the JSON property `score`
9546
+ # @return [Float]
9547
+ attr_accessor :score
9548
+
9549
+ # The relevancy of the ICA (Image Content Annotation) label to the
9550
+ # image. For example, the relevancy of "tower" is likely higher to an image
9551
+ # containing the detected "Eiffel Tower" than to an image containing a
9552
+ # detected distant towering building, even though the confidence that
9553
+ # there is a tower in each image may be the same. Range [0, 1].
9554
+ # Corresponds to the JSON property `topicality`
9555
+ # @return [Float]
9556
+ attr_accessor :topicality
9557
+
9558
+ def initialize(**args)
9559
+ update!(**args)
9560
+ end
9561
+
9562
+ # Update properties of this object
9563
+ def update!(**args)
9564
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
9565
+ @confidence = args[:confidence] if args.key?(:confidence)
9566
+ @description = args[:description] if args.key?(:description)
9567
+ @locale = args[:locale] if args.key?(:locale)
9568
+ @locations = args[:locations] if args.key?(:locations)
9569
+ @mid = args[:mid] if args.key?(:mid)
9570
+ @properties = args[:properties] if args.key?(:properties)
9571
+ @score = args[:score] if args.key?(:score)
9572
+ @topicality = args[:topicality] if args.key?(:topicality)
9573
+ end
9574
+ end
9575
+
9576
+ # A face annotation object contains the results of face detection.
9577
+ class GoogleCloudVisionV1p5beta1FaceAnnotation
9578
+ include Google::Apis::Core::Hashable
9579
+
9580
+ # Anger likelihood.
9581
+ # Corresponds to the JSON property `angerLikelihood`
9582
+ # @return [String]
9583
+ attr_accessor :anger_likelihood
9584
+
9585
+ # Blurred likelihood.
9586
+ # Corresponds to the JSON property `blurredLikelihood`
9587
+ # @return [String]
9588
+ attr_accessor :blurred_likelihood
9589
+
9590
+ # A bounding polygon for the detected image annotation.
9591
+ # Corresponds to the JSON property `boundingPoly`
9592
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1BoundingPoly]
9593
+ attr_accessor :bounding_poly
9594
+
9595
+ # Detection confidence. Range [0, 1].
9596
+ # Corresponds to the JSON property `detectionConfidence`
9597
+ # @return [Float]
9598
+ attr_accessor :detection_confidence
9599
+
9600
+ # A bounding polygon for the detected image annotation.
9601
+ # Corresponds to the JSON property `fdBoundingPoly`
9602
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1BoundingPoly]
9603
+ attr_accessor :fd_bounding_poly
9604
+
9605
+ # Headwear likelihood.
9606
+ # Corresponds to the JSON property `headwearLikelihood`
9607
+ # @return [String]
9608
+ attr_accessor :headwear_likelihood
9609
+
9610
+ # Joy likelihood.
9611
+ # Corresponds to the JSON property `joyLikelihood`
9612
+ # @return [String]
9613
+ attr_accessor :joy_likelihood
9614
+
9615
+ # Face landmarking confidence. Range [0, 1].
9616
+ # Corresponds to the JSON property `landmarkingConfidence`
9617
+ # @return [Float]
9618
+ attr_accessor :landmarking_confidence
9619
+
9620
+ # Detected face landmarks.
9621
+ # Corresponds to the JSON property `landmarks`
9622
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1FaceAnnotationLandmark>]
9623
+ attr_accessor :landmarks
9624
+
9625
+ # Yaw angle, which indicates the leftward/rightward angle that the face is
9626
+ # pointing relative to the vertical plane perpendicular to the image. Range
9627
+ # [-180,180].
9628
+ # Corresponds to the JSON property `panAngle`
9629
+ # @return [Float]
9630
+ attr_accessor :pan_angle
9631
+
9632
+ # Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
9633
+ # of the face relative to the image vertical about the axis perpendicular to
9634
+ # the face. Range [-180,180].
9635
+ # Corresponds to the JSON property `rollAngle`
9636
+ # @return [Float]
9637
+ attr_accessor :roll_angle
9638
+
9639
+ # Sorrow likelihood.
9640
+ # Corresponds to the JSON property `sorrowLikelihood`
9641
+ # @return [String]
9642
+ attr_accessor :sorrow_likelihood
9643
+
9644
+ # Surprise likelihood.
9645
+ # Corresponds to the JSON property `surpriseLikelihood`
9646
+ # @return [String]
9647
+ attr_accessor :surprise_likelihood
9648
+
9649
+ # Pitch angle, which indicates the upwards/downwards angle that the face is
9650
+ # pointing relative to the image's horizontal plane. Range [-180,180].
9651
+ # Corresponds to the JSON property `tiltAngle`
9652
+ # @return [Float]
9653
+ attr_accessor :tilt_angle
9654
+
9655
+ # Under-exposed likelihood.
9656
+ # Corresponds to the JSON property `underExposedLikelihood`
9657
+ # @return [String]
9658
+ attr_accessor :under_exposed_likelihood
9659
+
9660
+ def initialize(**args)
9661
+ update!(**args)
9662
+ end
9663
+
9664
+ # Update properties of this object
9665
+ def update!(**args)
9666
+ @anger_likelihood = args[:anger_likelihood] if args.key?(:anger_likelihood)
9667
+ @blurred_likelihood = args[:blurred_likelihood] if args.key?(:blurred_likelihood)
9668
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
9669
+ @detection_confidence = args[:detection_confidence] if args.key?(:detection_confidence)
9670
+ @fd_bounding_poly = args[:fd_bounding_poly] if args.key?(:fd_bounding_poly)
9671
+ @headwear_likelihood = args[:headwear_likelihood] if args.key?(:headwear_likelihood)
9672
+ @joy_likelihood = args[:joy_likelihood] if args.key?(:joy_likelihood)
9673
+ @landmarking_confidence = args[:landmarking_confidence] if args.key?(:landmarking_confidence)
9674
+ @landmarks = args[:landmarks] if args.key?(:landmarks)
9675
+ @pan_angle = args[:pan_angle] if args.key?(:pan_angle)
9676
+ @roll_angle = args[:roll_angle] if args.key?(:roll_angle)
9677
+ @sorrow_likelihood = args[:sorrow_likelihood] if args.key?(:sorrow_likelihood)
9678
+ @surprise_likelihood = args[:surprise_likelihood] if args.key?(:surprise_likelihood)
9679
+ @tilt_angle = args[:tilt_angle] if args.key?(:tilt_angle)
9680
+ @under_exposed_likelihood = args[:under_exposed_likelihood] if args.key?(:under_exposed_likelihood)
9681
+ end
9682
+ end
9683
+
9684
+ # A face-specific landmark (for example, a face feature).
9685
+ class GoogleCloudVisionV1p5beta1FaceAnnotationLandmark
9686
+ include Google::Apis::Core::Hashable
9687
+
9688
+ # A 3D position in the image, used primarily for Face detection landmarks.
9689
+ # A valid Position must have both x and y coordinates.
9690
+ # The position coordinates are in the same scale as the original image.
9691
+ # Corresponds to the JSON property `position`
9692
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Position]
9693
+ attr_accessor :position
9694
+
9695
+ # Face landmark type.
9696
+ # Corresponds to the JSON property `type`
9697
+ # @return [String]
9698
+ attr_accessor :type
9699
+
9700
+ def initialize(**args)
9701
+ update!(**args)
9702
+ end
9703
+
9704
+ # Update properties of this object
9705
+ def update!(**args)
9706
+ @position = args[:position] if args.key?(:position)
9707
+ @type = args[:type] if args.key?(:type)
9708
+ end
9709
+ end
9710
+
9711
+ # The Google Cloud Storage location where the output will be written to.
9712
+ class GoogleCloudVisionV1p5beta1GcsDestination
9713
+ include Google::Apis::Core::Hashable
9714
+
9715
+ # Google Cloud Storage URI prefix where the results will be stored. Results
9716
+ # will be in JSON format and preceded by its corresponding input URI prefix.
9717
+ # This field can either represent a gcs file prefix or gcs directory. In
9718
+ # either case, the uri should be unique because in order to get all of the
9719
+ # output files, you will need to do a wildcard gcs search on the uri prefix
9720
+ # you provide.
9721
+ # Examples:
9722
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
9723
+ # will be created in gs://bucket-name/here/ and the names of the
9724
+ # output files will begin with "filenameprefix".
9725
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
9726
+ # will be created in gs://bucket-name/some/location/ and the names of the
9727
+ # output files could be anything because there was no filename prefix
9728
+ # specified.
9729
+ # If multiple outputs, each response is still AnnotateFileResponse, each of
9730
+ # which contains some subset of the full list of AnnotateImageResponse.
9731
+ # Multiple outputs can happen if, for example, the output JSON is too large
9732
+ # and overflows into multiple sharded files.
9733
+ # Corresponds to the JSON property `uri`
9734
+ # @return [String]
9735
+ attr_accessor :uri
9736
+
9737
+ def initialize(**args)
9738
+ update!(**args)
9739
+ end
9740
+
9741
+ # Update properties of this object
9742
+ def update!(**args)
9743
+ @uri = args[:uri] if args.key?(:uri)
9744
+ end
9745
+ end
9746
+
9747
+ # The Google Cloud Storage location where the input will be read from.
9748
+ class GoogleCloudVisionV1p5beta1GcsSource
9749
+ include Google::Apis::Core::Hashable
9750
+
9751
+ # Google Cloud Storage URI for the input file. This must only be a
9752
+ # Google Cloud Storage object. Wildcards are not currently supported.
9753
+ # Corresponds to the JSON property `uri`
9754
+ # @return [String]
9755
+ attr_accessor :uri
9756
+
9757
+ def initialize(**args)
9758
+ update!(**args)
9759
+ end
9760
+
9761
+ # Update properties of this object
9762
+ def update!(**args)
9763
+ @uri = args[:uri] if args.key?(:uri)
9764
+ end
9765
+ end
9766
+
9767
+ # If an image was produced from a file (e.g. a PDF), this message gives
9768
+ # information about the source of that image.
9769
+ class GoogleCloudVisionV1p5beta1ImageAnnotationContext
9770
+ include Google::Apis::Core::Hashable
9771
+
9772
+ # If the file was a PDF or TIFF, this field gives the page number within
9773
+ # the file used to produce the image.
9774
+ # Corresponds to the JSON property `pageNumber`
9775
+ # @return [Fixnum]
9776
+ attr_accessor :page_number
9777
+
9778
+ # The URI of the file used to produce the image.
9779
+ # Corresponds to the JSON property `uri`
9780
+ # @return [String]
9781
+ attr_accessor :uri
9782
+
9783
+ def initialize(**args)
9784
+ update!(**args)
9785
+ end
9786
+
9787
+ # Update properties of this object
9788
+ def update!(**args)
9789
+ @page_number = args[:page_number] if args.key?(:page_number)
9790
+ @uri = args[:uri] if args.key?(:uri)
9791
+ end
9792
+ end
9793
+
9794
+ # Stores image properties, such as dominant colors.
9795
+ class GoogleCloudVisionV1p5beta1ImageProperties
9796
+ include Google::Apis::Core::Hashable
9797
+
9798
+ # Set of dominant colors and their corresponding scores.
9799
+ # Corresponds to the JSON property `dominantColors`
9800
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1DominantColorsAnnotation]
9801
+ attr_accessor :dominant_colors
9802
+
9803
+ def initialize(**args)
9804
+ update!(**args)
9805
+ end
9806
+
9807
+ # Update properties of this object
9808
+ def update!(**args)
9809
+ @dominant_colors = args[:dominant_colors] if args.key?(:dominant_colors)
9810
+ end
9811
+ end
9812
+
9813
+ # Response message for the `ImportProductSets` method.
9814
+ # This message is returned by the
9815
+ # google.longrunning.Operations.GetOperation method in the returned
9816
+ # google.longrunning.Operation.response field.
9817
+ class GoogleCloudVisionV1p5beta1ImportProductSetsResponse
9818
+ include Google::Apis::Core::Hashable
9819
+
9820
+ # The list of reference_images that are imported successfully.
9821
+ # Corresponds to the JSON property `referenceImages`
9822
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1ReferenceImage>]
9823
+ attr_accessor :reference_images
9824
+
9825
+ # The rpc status for each ImportProductSet request, including both successes
9826
+ # and errors.
9827
+ # The number of statuses here matches the number of lines in the csv file,
9828
+ # and statuses[i] stores the success or failure status of processing the i-th
9829
+ # line of the csv, starting from line 0.
9830
+ # Corresponds to the JSON property `statuses`
9831
+ # @return [Array<Google::Apis::VisionV1p2beta1::Status>]
9832
+ attr_accessor :statuses
9833
+
9834
+ def initialize(**args)
9835
+ update!(**args)
9836
+ end
9837
+
9838
+ # Update properties of this object
9839
+ def update!(**args)
9840
+ @reference_images = args[:reference_images] if args.key?(:reference_images)
9841
+ @statuses = args[:statuses] if args.key?(:statuses)
9842
+ end
9843
+ end
9844
+
9845
+ # The desired input location and metadata.
9846
+ class GoogleCloudVisionV1p5beta1InputConfig
9847
+ include Google::Apis::Core::Hashable
9848
+
9849
+ # File content, represented as a stream of bytes.
9850
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
9851
+ # representation, whereas JSON representations use base64.
9852
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
9853
+ # not work for AsyncBatchAnnotateFiles requests.
9854
+ # Corresponds to the JSON property `content`
9855
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
9856
+ # @return [String]
9857
+ attr_accessor :content
9858
+
9859
+ # The Google Cloud Storage location where the input will be read from.
9860
+ # Corresponds to the JSON property `gcsSource`
9861
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1GcsSource]
9862
+ attr_accessor :gcs_source
9863
+
9864
+ # The type of the file. Currently only "application/pdf" and "image/tiff"
9865
+ # are supported. Wildcards are not supported.
9866
+ # Corresponds to the JSON property `mimeType`
9867
+ # @return [String]
9868
+ attr_accessor :mime_type
9869
+
9870
+ def initialize(**args)
9871
+ update!(**args)
9872
+ end
9873
+
9874
+ # Update properties of this object
9875
+ def update!(**args)
9876
+ @content = args[:content] if args.key?(:content)
9877
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
9878
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
9879
+ end
9880
+ end
9881
+
9882
+ # Proto for a key value pair.
9883
+ class GoogleCloudVisionV1p5beta1KeyValuePair
9884
+ include Google::Apis::Core::Hashable
9885
+
9886
+ # The key string value.
9887
+ # Corresponds to the JSON property `key`
9888
+ # @return [String]
9889
+ attr_accessor :key
9890
+
9891
+ # Logical element on the page.
9892
+ # Corresponds to the JSON property `keyBlock`
9893
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Block]
9894
+ attr_accessor :key_block
9895
+
9896
+ # Optional. The translation of key text if the text is not in English.
9897
+ # Corresponds to the JSON property `normalizedKey`
9898
+ # @return [String]
9899
+ attr_accessor :normalized_key
9900
+
9901
+ # Logical element on the page.
9902
+ # Corresponds to the JSON property `valueBlock`
9903
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Block]
9904
+ attr_accessor :value_block
9905
+
9906
+ # Type of the value. Valid strings are the following:
9907
+ # "generic" - For generic text that is mapped to a value.
9908
+ # "number" - for numeric types
9909
+ # "id" - for generic identifiers.
9910
+ # "currency" - for currency values.
9911
+ # "date" - for dates.
9912
+ # "time" - for time and duration values.
9913
+ # "date_range" - for date ranges.
9914
+ # "address" - for address values (can be long).
9915
+ # "person" - for names of people or other personal identifiers.
9916
+ # "phone" - for phone numbers.
9917
+ # Corresponds to the JSON property `valueType`
9918
+ # @return [String]
9919
+ attr_accessor :value_type
9920
+
9921
+ def initialize(**args)
9922
+ update!(**args)
9923
+ end
9924
+
9925
+ # Update properties of this object
9926
+ def update!(**args)
9927
+ @key = args[:key] if args.key?(:key)
9928
+ @key_block = args[:key_block] if args.key?(:key_block)
9929
+ @normalized_key = args[:normalized_key] if args.key?(:normalized_key)
9930
+ @value_block = args[:value_block] if args.key?(:value_block)
9931
+ @value_type = args[:value_type] if args.key?(:value_type)
9932
+ end
9933
+ end
9934
+
9935
+ # Set of detected objects with bounding boxes.
9936
+ class GoogleCloudVisionV1p5beta1LocalizedObjectAnnotation
9937
+ include Google::Apis::Core::Hashable
9938
+
9939
+ # A bounding polygon for the detected image annotation.
9940
+ # Corresponds to the JSON property `boundingPoly`
9941
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1BoundingPoly]
9942
+ attr_accessor :bounding_poly
9943
+
9944
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
9945
+ # information, see
9946
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
9947
+ # Corresponds to the JSON property `languageCode`
9948
+ # @return [String]
9949
+ attr_accessor :language_code
9950
+
9951
+ # Object ID that should align with EntityAnnotation mid.
9952
+ # Corresponds to the JSON property `mid`
9953
+ # @return [String]
9954
+ attr_accessor :mid
9955
+
9956
+ # Object name, expressed in its `language_code` language.
9957
+ # Corresponds to the JSON property `name`
9958
+ # @return [String]
9959
+ attr_accessor :name
9960
+
9961
+ # Score of the result. Range [0, 1].
9962
+ # Corresponds to the JSON property `score`
9963
+ # @return [Float]
9964
+ attr_accessor :score
9965
+
9966
+ def initialize(**args)
9967
+ update!(**args)
9968
+ end
9969
+
9970
+ # Update properties of this object
9971
+ def update!(**args)
9972
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
9973
+ @language_code = args[:language_code] if args.key?(:language_code)
9974
+ @mid = args[:mid] if args.key?(:mid)
9975
+ @name = args[:name] if args.key?(:name)
9976
+ @score = args[:score] if args.key?(:score)
9977
+ end
9978
+ end
9979
+
9980
+ # Detected entity location information.
9981
+ class GoogleCloudVisionV1p5beta1LocationInfo
9982
+ include Google::Apis::Core::Hashable
9983
+
9984
+ # An object representing a latitude/longitude pair. This is expressed as a pair
9985
+ # of doubles representing degrees latitude and degrees longitude. Unless
9986
+ # specified otherwise, this must conform to the
9987
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
9988
+ # standard</a>. Values must be within normalized ranges.
9989
+ # Corresponds to the JSON property `latLng`
9990
+ # @return [Google::Apis::VisionV1p2beta1::LatLng]
9991
+ attr_accessor :lat_lng
9992
+
9993
+ def initialize(**args)
9994
+ update!(**args)
9995
+ end
9996
+
9997
+ # Update properties of this object
9998
+ def update!(**args)
9999
+ @lat_lng = args[:lat_lng] if args.key?(:lat_lng)
10000
+ end
10001
+ end
10002
+
10003
+ # A vertex represents a 2D point in the image.
10004
+ # NOTE: the normalized vertex coordinates are relative to the original image
10005
+ # and range from 0 to 1.
10006
+ class GoogleCloudVisionV1p5beta1NormalizedVertex
10007
+ include Google::Apis::Core::Hashable
10008
+
10009
+ # X coordinate.
10010
+ # Corresponds to the JSON property `x`
10011
+ # @return [Float]
10012
+ attr_accessor :x
10013
+
10014
+ # Y coordinate.
10015
+ # Corresponds to the JSON property `y`
10016
+ # @return [Float]
10017
+ attr_accessor :y
10018
+
10019
+ def initialize(**args)
10020
+ update!(**args)
10021
+ end
10022
+
10023
+ # Update properties of this object
10024
+ def update!(**args)
10025
+ @x = args[:x] if args.key?(:x)
10026
+ @y = args[:y] if args.key?(:y)
10027
+ end
10028
+ end
10029
+
10030
+ # Contains metadata for the BatchAnnotateImages operation.
10031
+ class GoogleCloudVisionV1p5beta1OperationMetadata
10032
+ include Google::Apis::Core::Hashable
10033
+
10034
+ # The time when the batch request was received.
10035
+ # Corresponds to the JSON property `createTime`
10036
+ # @return [String]
10037
+ attr_accessor :create_time
10038
+
10039
+ # Current state of the batch operation.
10040
+ # Corresponds to the JSON property `state`
10041
+ # @return [String]
10042
+ attr_accessor :state
10043
+
10044
+ # The time when the operation result was last updated.
10045
+ # Corresponds to the JSON property `updateTime`
10046
+ # @return [String]
10047
+ attr_accessor :update_time
10048
+
10049
+ def initialize(**args)
10050
+ update!(**args)
10051
+ end
10052
+
10053
+ # Update properties of this object
10054
+ def update!(**args)
10055
+ @create_time = args[:create_time] if args.key?(:create_time)
10056
+ @state = args[:state] if args.key?(:state)
10057
+ @update_time = args[:update_time] if args.key?(:update_time)
10058
+ end
10059
+ end
10060
+
10061
+ # The desired output location and metadata.
10062
+ class GoogleCloudVisionV1p5beta1OutputConfig
10063
+ include Google::Apis::Core::Hashable
10064
+
10065
+ # The max number of response protos to put into each output JSON file on
10066
+ # Google Cloud Storage.
10067
+ # The valid range is [1, 100]. If not specified, the default value is 20.
10068
+ # For example, for one pdf file with 100 pages, 100 response protos will
10069
+ # be generated. If `batch_size` = 20, then 5 json files each
10070
+ # containing 20 response protos will be written under the prefix
10071
+ # `gcs_destination`.`uri`.
10072
+ # Currently, batch_size only applies to GcsDestination, with potential future
10073
+ # support for other output configurations.
10074
+ # Corresponds to the JSON property `batchSize`
10075
+ # @return [Fixnum]
10076
+ attr_accessor :batch_size
10077
+
10078
+ # The Google Cloud Storage location where the output will be written to.
10079
+ # Corresponds to the JSON property `gcsDestination`
10080
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1GcsDestination]
10081
+ attr_accessor :gcs_destination
10082
+
10083
+ def initialize(**args)
10084
+ update!(**args)
10085
+ end
10086
+
10087
+ # Update properties of this object
10088
+ def update!(**args)
10089
+ @batch_size = args[:batch_size] if args.key?(:batch_size)
10090
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
10091
+ end
10092
+ end
10093
+
10094
+ # Detected page from OCR.
10095
+ class GoogleCloudVisionV1p5beta1Page
10096
+ include Google::Apis::Core::Hashable
10097
+
10098
+ # List of blocks of text, images etc on this page.
10099
+ # Corresponds to the JSON property `blocks`
10100
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Block>]
10101
+ attr_accessor :blocks
10102
+
10103
+ # Confidence of the OCR results on the page. Range [0, 1].
10104
+ # Corresponds to the JSON property `confidence`
10105
+ # @return [Float]
10106
+ attr_accessor :confidence
10107
+
10108
+ # Page height. For PDFs the unit is points. For images (including
10109
+ # TIFFs) the unit is pixels.
10110
+ # Corresponds to the JSON property `height`
10111
+ # @return [Fixnum]
10112
+ attr_accessor :height
10113
+
10114
+ # All UTF-8 text detected in this page. This field is by default not
10115
+ # returned unless specified in TextDetectionParams.page_filter.
10116
+ # Corresponds to the JSON property `mergedText`
10117
+ # @return [String]
10118
+ attr_accessor :merged_text
10119
+
10120
+ # Additional information detected on the structural component.
10121
+ # Corresponds to the JSON property `property`
10122
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1TextAnnotationTextProperty]
10123
+ attr_accessor :property
10124
+
10125
+ # Page width. For PDFs the unit is points. For images (including
10126
+ # TIFFs) the unit is pixels.
10127
+ # Corresponds to the JSON property `width`
10128
+ # @return [Fixnum]
10129
+ attr_accessor :width
10130
+
10131
+ def initialize(**args)
10132
+ update!(**args)
10133
+ end
10134
+
10135
+ # Update properties of this object
10136
+ def update!(**args)
10137
+ @blocks = args[:blocks] if args.key?(:blocks)
10138
+ @confidence = args[:confidence] if args.key?(:confidence)
10139
+ @height = args[:height] if args.key?(:height)
10140
+ @merged_text = args[:merged_text] if args.key?(:merged_text)
10141
+ @property = args[:property] if args.key?(:property)
10142
+ @width = args[:width] if args.key?(:width)
10143
+ end
10144
+ end
10145
+
10146
+ # Structural unit of text representing a number of words in certain order.
10147
+ class GoogleCloudVisionV1p5beta1Paragraph
10148
+ include Google::Apis::Core::Hashable
10149
+
10150
+ # A bounding polygon for the detected image annotation.
10151
+ # Corresponds to the JSON property `boundingBox`
10152
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1BoundingPoly]
10153
+ attr_accessor :bounding_box
10154
+
10155
+ # Confidence of the OCR results for the paragraph. Range [0, 1].
10156
+ # Corresponds to the JSON property `confidence`
10157
+ # @return [Float]
10158
+ attr_accessor :confidence
10159
+
10160
+ # All UTF-8 text detected in this paragraph. This field is by default not
10161
+ # returned unless specified in
10162
+ # TextDetectionParams.paragraph_filter.
10163
+ # Corresponds to the JSON property `mergedText`
10164
+ # @return [String]
10165
+ attr_accessor :merged_text
10166
+
10167
+ # Additional information detected on the structural component.
10168
+ # Corresponds to the JSON property `property`
10169
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1TextAnnotationTextProperty]
10170
+ attr_accessor :property
10171
+
10172
+ # List of words in this paragraph.
10173
+ # Corresponds to the JSON property `words`
10174
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Word>]
10175
+ attr_accessor :words
10176
+
10177
+ def initialize(**args)
10178
+ update!(**args)
10179
+ end
10180
+
10181
+ # Update properties of this object
10182
+ def update!(**args)
10183
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
10184
+ @confidence = args[:confidence] if args.key?(:confidence)
10185
+ @merged_text = args[:merged_text] if args.key?(:merged_text)
10186
+ @property = args[:property] if args.key?(:property)
10187
+ @words = args[:words] if args.key?(:words)
10188
+ end
10189
+ end
10190
+
10191
+ # A 3D position in the image, used primarily for Face detection landmarks.
10192
+ # A valid Position must have both x and y coordinates.
10193
+ # The position coordinates are in the same scale as the original image.
10194
+ class GoogleCloudVisionV1p5beta1Position
10195
+ include Google::Apis::Core::Hashable
10196
+
10197
+ # X coordinate.
10198
+ # Corresponds to the JSON property `x`
10199
+ # @return [Float]
10200
+ attr_accessor :x
10201
+
10202
+ # Y coordinate.
10203
+ # Corresponds to the JSON property `y`
10204
+ # @return [Float]
10205
+ attr_accessor :y
10206
+
10207
+ # Z coordinate (or depth).
10208
+ # Corresponds to the JSON property `z`
10209
+ # @return [Float]
10210
+ attr_accessor :z
10211
+
10212
+ def initialize(**args)
10213
+ update!(**args)
10214
+ end
10215
+
10216
+ # Update properties of this object
10217
+ def update!(**args)
10218
+ @x = args[:x] if args.key?(:x)
10219
+ @y = args[:y] if args.key?(:y)
10220
+ @z = args[:z] if args.key?(:z)
10221
+ end
10222
+ end
10223
+
10224
+ # A Product contains ReferenceImages.
10225
+ class GoogleCloudVisionV1p5beta1Product
10226
+ include Google::Apis::Core::Hashable
10227
+
10228
+ # User-provided metadata to be stored with this product. Must be at most 4096
10229
+ # characters long.
10230
+ # Corresponds to the JSON property `description`
10231
+ # @return [String]
10232
+ attr_accessor :description
10233
+
10234
+ # The user-provided name for this Product. Must not be empty. Must be at most
10235
+ # 4096 characters long.
10236
+ # Corresponds to the JSON property `displayName`
10237
+ # @return [String]
10238
+ attr_accessor :display_name
10239
+
10240
+ # The resource name of the product.
10241
+ # Format is:
10242
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
10243
+ # This field is ignored when creating a product.
10244
+ # Corresponds to the JSON property `name`
10245
+ # @return [String]
10246
+ attr_accessor :name
10247
+
10248
+ # The category for the product identified by the reference image. This should
10249
+ # be either "homegoods", "apparel", or "toys".
10250
+ # This field is immutable.
10251
+ # Corresponds to the JSON property `productCategory`
10252
+ # @return [String]
10253
+ attr_accessor :product_category
10254
+
10255
+ # Key-value pairs that can be attached to a product. At query time,
10256
+ # constraints can be specified based on the product_labels.
10257
+ # Note that integer values can be provided as strings, e.g. "1199". Only
10258
+ # strings with integer values can match a range-based restriction which is
10259
+ # to be supported soon.
10260
+ # Multiple values can be assigned to the same key. One product may have up to
10261
+ # 100 product_labels.
10262
+ # Corresponds to the JSON property `productLabels`
10263
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1ProductKeyValue>]
10264
+ attr_accessor :product_labels
10265
+
10266
+ def initialize(**args)
10267
+ update!(**args)
10268
+ end
10269
+
10270
+ # Update properties of this object
10271
+ def update!(**args)
10272
+ @description = args[:description] if args.key?(:description)
10273
+ @display_name = args[:display_name] if args.key?(:display_name)
10274
+ @name = args[:name] if args.key?(:name)
10275
+ @product_category = args[:product_category] if args.key?(:product_category)
10276
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
10277
+ end
10278
+ end
10279
+
10280
+ # A product label represented as a key-value pair.
10281
+ class GoogleCloudVisionV1p5beta1ProductKeyValue
10282
+ include Google::Apis::Core::Hashable
10283
+
10284
+ # The key of the label attached to the product. Cannot be empty and cannot
10285
+ # exceed 128 bytes.
10286
+ # Corresponds to the JSON property `key`
10287
+ # @return [String]
10288
+ attr_accessor :key
10289
+
10290
+ # The value of the label attached to the product. Cannot be empty and
10291
+ # cannot exceed 128 bytes.
10292
+ # Corresponds to the JSON property `value`
10293
+ # @return [String]
10294
+ attr_accessor :value
10295
+
10296
+ def initialize(**args)
10297
+ update!(**args)
10298
+ end
10299
+
10300
+ # Update properties of this object
10301
+ def update!(**args)
10302
+ @key = args[:key] if args.key?(:key)
10303
+ @value = args[:value] if args.key?(:value)
10304
+ end
10305
+ end
10306
+
10307
+ # Results for a product search request.
10308
+ class GoogleCloudVisionV1p5beta1ProductSearchResults
10309
+ include Google::Apis::Core::Hashable
10310
+
10311
+ # Timestamp of the index which provided these results. Products added to the
10312
+ # product set and products removed from the product set after this time are
10313
+ # not reflected in the current results.
10314
+ # Corresponds to the JSON property `indexTime`
10315
+ # @return [String]
10316
+ attr_accessor :index_time
10317
+
10318
+ # List of results grouped by products detected in the query image. Each entry
10319
+ # corresponds to one bounding polygon in the query image, and contains the
10320
+ # matching products specific to that region. There may be duplicate product
10321
+ # matches in the union of all the per-product results.
10322
+ # Corresponds to the JSON property `productGroupedResults`
10323
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1ProductSearchResultsGroupedResult>]
10324
+ attr_accessor :product_grouped_results
10325
+
10326
+ # List of results, one for each product match.
10327
+ # Corresponds to the JSON property `results`
10328
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1ProductSearchResultsResult>]
10329
+ attr_accessor :results
10330
+
10331
+ def initialize(**args)
10332
+ update!(**args)
10333
+ end
10334
+
10335
+ # Update properties of this object
10336
+ def update!(**args)
10337
+ @index_time = args[:index_time] if args.key?(:index_time)
10338
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
10339
+ @results = args[:results] if args.key?(:results)
10340
+ end
10341
+ end
10342
+
10343
+ # Information about the products similar to a single product in a query
10344
+ # image.
10345
+ class GoogleCloudVisionV1p5beta1ProductSearchResultsGroupedResult
10346
+ include Google::Apis::Core::Hashable
10347
+
10348
+ # A bounding polygon for the detected image annotation.
10349
+ # Corresponds to the JSON property `boundingPoly`
10350
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1BoundingPoly]
10351
+ attr_accessor :bounding_poly
10352
+
10353
+ # List of results, one for each product match.
10354
+ # Corresponds to the JSON property `results`
10355
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1ProductSearchResultsResult>]
10356
+ attr_accessor :results
10357
+
10358
+ def initialize(**args)
10359
+ update!(**args)
10360
+ end
10361
+
10362
+ # Update properties of this object
10363
+ def update!(**args)
10364
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
10365
+ @results = args[:results] if args.key?(:results)
10366
+ end
10367
+ end
10368
+
10369
+ # Information about a product.
10370
+ class GoogleCloudVisionV1p5beta1ProductSearchResultsResult
10371
+ include Google::Apis::Core::Hashable
10372
+
10373
+ # The resource name of the image from the product that is the closest match
10374
+ # to the query.
10375
+ # Corresponds to the JSON property `image`
10376
+ # @return [String]
10377
+ attr_accessor :image
10378
+
10379
+ # A Product contains ReferenceImages.
10380
+ # Corresponds to the JSON property `product`
10381
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Product]
10382
+ attr_accessor :product
10383
+
10384
+ # A confidence level on the match, ranging from 0 (no confidence) to
10385
+ # 1 (full confidence).
10386
+ # Corresponds to the JSON property `score`
10387
+ # @return [Float]
10388
+ attr_accessor :score
10389
+
10390
+ def initialize(**args)
10391
+ update!(**args)
10392
+ end
10393
+
10394
+ # Update properties of this object
10395
+ def update!(**args)
10396
+ @image = args[:image] if args.key?(:image)
10397
+ @product = args[:product] if args.key?(:product)
10398
+ @score = args[:score] if args.key?(:score)
10399
+ end
10400
+ end
10401
+
10402
+ # A `Property` consists of a user-supplied name/value pair.
10403
+ class GoogleCloudVisionV1p5beta1Property
10404
+ include Google::Apis::Core::Hashable
10405
+
10406
+ # Name of the property.
10407
+ # Corresponds to the JSON property `name`
10408
+ # @return [String]
10409
+ attr_accessor :name
10410
+
10411
+ # Value of numeric properties.
10412
+ # Corresponds to the JSON property `uint64Value`
10413
+ # @return [Fixnum]
10414
+ attr_accessor :uint64_value
10415
+
10416
+ # Value of the property.
10417
+ # Corresponds to the JSON property `value`
10418
+ # @return [String]
10419
+ attr_accessor :value
10420
+
10421
+ def initialize(**args)
10422
+ update!(**args)
10423
+ end
10424
+
10425
+ # Update properties of this object
10426
+ def update!(**args)
10427
+ @name = args[:name] if args.key?(:name)
10428
+ @uint64_value = args[:uint64_value] if args.key?(:uint64_value)
10429
+ @value = args[:value] if args.key?(:value)
10430
+ end
10431
+ end
10432
+
10433
+ # A `ReferenceImage` represents a product image and its associated metadata,
10434
+ # such as bounding boxes.
10435
+ class GoogleCloudVisionV1p5beta1ReferenceImage
10436
+ include Google::Apis::Core::Hashable
10437
+
10438
+ # Bounding polygons around the areas of interest in the reference image.
10439
+ # Optional. If this field is empty, the system will try to detect regions of
10440
+ # interest. At most 10 bounding polygons will be used.
10441
+ # The provided shape is converted into a non-rotated rectangle. Once
10442
+ # converted, the small edge of the rectangle must be greater than or equal
10443
+ # to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5
10444
+ # is not).
10445
+ # Corresponds to the JSON property `boundingPolys`
10446
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1BoundingPoly>]
10447
+ attr_accessor :bounding_polys
10448
+
10449
+ # The resource name of the reference image.
10450
+ # Format is:
10451
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/
10452
+ # IMAGE_ID`.
10453
+ # This field is ignored when creating a reference image.
10454
+ # Corresponds to the JSON property `name`
10455
+ # @return [String]
10456
+ attr_accessor :name
10457
+
10458
+ # The Google Cloud Storage URI of the reference image.
10459
+ # The URI must start with `gs://`.
10460
+ # Required.
10461
+ # Corresponds to the JSON property `uri`
10462
+ # @return [String]
10463
+ attr_accessor :uri
10464
+
10465
+ def initialize(**args)
10466
+ update!(**args)
10467
+ end
10468
+
10469
+ # Update properties of this object
10470
+ def update!(**args)
10471
+ @bounding_polys = args[:bounding_polys] if args.key?(:bounding_polys)
10472
+ @name = args[:name] if args.key?(:name)
10473
+ @uri = args[:uri] if args.key?(:uri)
10474
+ end
10475
+ end
10476
+
10477
+ # Set of features pertaining to the image, computed by computer vision
10478
+ # methods over safe-search verticals (for example, adult, spoof, medical,
10479
+ # violence).
10480
+ class GoogleCloudVisionV1p5beta1SafeSearchAnnotation
10481
+ include Google::Apis::Core::Hashable
10482
+
10483
+ # Represents the adult content likelihood for the image. Adult content may
10484
+ # contain elements such as nudity, pornographic images or cartoons, or
10485
+ # sexual activities.
10486
+ # Corresponds to the JSON property `adult`
10487
+ # @return [String]
10488
+ attr_accessor :adult
10489
+
10490
+ # Likelihood that this is a medical image.
10491
+ # Corresponds to the JSON property `medical`
10492
+ # @return [String]
10493
+ attr_accessor :medical
10494
+
10495
+ # Likelihood that the request image contains racy content. Racy content may
10496
+ # include (but is not limited to) skimpy or sheer clothing, strategically
10497
+ # covered nudity, lewd or provocative poses, or close-ups of sensitive
10498
+ # body areas.
10499
+ # Corresponds to the JSON property `racy`
10500
+ # @return [String]
10501
+ attr_accessor :racy
10502
+
10503
+ # Spoof likelihood. The likelihood that an modification
10504
+ # was made to the image's canonical version to make it appear
10505
+ # funny or offensive.
10506
+ # Corresponds to the JSON property `spoof`
10507
+ # @return [String]
10508
+ attr_accessor :spoof
10509
+
10510
+ # Likelihood that this image contains violent content.
10511
+ # Corresponds to the JSON property `violence`
10512
+ # @return [String]
10513
+ attr_accessor :violence
10514
+
10515
+ def initialize(**args)
10516
+ update!(**args)
10517
+ end
10518
+
10519
+ # Update properties of this object
10520
+ def update!(**args)
10521
+ @adult = args[:adult] if args.key?(:adult)
10522
+ @medical = args[:medical] if args.key?(:medical)
10523
+ @racy = args[:racy] if args.key?(:racy)
10524
+ @spoof = args[:spoof] if args.key?(:spoof)
10525
+ @violence = args[:violence] if args.key?(:violence)
10526
+ end
10527
+ end
10528
+
10529
+ # A single symbol representation.
10530
+ class GoogleCloudVisionV1p5beta1Symbol
10531
+ include Google::Apis::Core::Hashable
10532
+
10533
+ # A bounding polygon for the detected image annotation.
10534
+ # Corresponds to the JSON property `boundingBox`
10535
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1BoundingPoly]
10536
+ attr_accessor :bounding_box
10537
+
10538
+ # Confidence of the OCR results for the symbol. Range [0, 1].
10539
+ # Corresponds to the JSON property `confidence`
10540
+ # @return [Float]
10541
+ attr_accessor :confidence
10542
+
10543
+ # Additional information detected on the structural component.
10544
+ # Corresponds to the JSON property `property`
10545
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1TextAnnotationTextProperty]
10546
+ attr_accessor :property
10547
+
10548
+ # The actual UTF-8 representation of the symbol.
10549
+ # Corresponds to the JSON property `text`
10550
+ # @return [String]
10551
+ attr_accessor :text
10552
+
10553
+ def initialize(**args)
10554
+ update!(**args)
10555
+ end
10556
+
10557
+ # Update properties of this object
10558
+ def update!(**args)
10559
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
10560
+ @confidence = args[:confidence] if args.key?(:confidence)
10561
+ @property = args[:property] if args.key?(:property)
10562
+ @text = args[:text] if args.key?(:text)
10563
+ end
10564
+ end
10565
+
10566
+ # A table representation similar to HTML table structure.
10567
+ class GoogleCloudVisionV1p5beta1Table
10568
+ include Google::Apis::Core::Hashable
10569
+
10570
+ # Body rows of the table
10571
+ # Corresponds to the JSON property `bodyRows`
10572
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1TableTableRow>]
10573
+ attr_accessor :body_rows
10574
+
10575
+ # Header rows of the table
10576
+ # Corresponds to the JSON property `headerRows`
10577
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1TableTableRow>]
10578
+ attr_accessor :header_rows
10579
+
10580
+ def initialize(**args)
10581
+ update!(**args)
10582
+ end
10583
+
10584
+ # Update properties of this object
10585
+ def update!(**args)
10586
+ @body_rows = args[:body_rows] if args.key?(:body_rows)
10587
+ @header_rows = args[:header_rows] if args.key?(:header_rows)
10588
+ end
10589
+ end
10590
+
10591
+ # A cell representation inside of tables.
10592
+ class GoogleCloudVisionV1p5beta1TableTableCell
10593
+ include Google::Apis::Core::Hashable
10594
+
10595
+ # How many columns this cell spans.
10596
+ # Corresponds to the JSON property `colSpan`
10597
+ # @return [Fixnum]
10598
+ attr_accessor :col_span
10599
+
10600
+ # How many rows this cell spans.
10601
+ # Corresponds to the JSON property `rowSpan`
10602
+ # @return [Fixnum]
10603
+ attr_accessor :row_span
10604
+
10605
+ # The merged text value of this cell, omitting any deeper structural
10606
+ # information unlike `text_block`. This is useful for simple cells.
10607
+ # Corresponds to the JSON property `text`
10608
+ # @return [String]
10609
+ attr_accessor :text
10610
+
10611
+ # Logical element on the page.
10612
+ # Corresponds to the JSON property `textBlock`
10613
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Block]
10614
+ attr_accessor :text_block
10615
+
10616
+ def initialize(**args)
10617
+ update!(**args)
10618
+ end
10619
+
10620
+ # Update properties of this object
10621
+ def update!(**args)
10622
+ @col_span = args[:col_span] if args.key?(:col_span)
10623
+ @row_span = args[:row_span] if args.key?(:row_span)
10624
+ @text = args[:text] if args.key?(:text)
10625
+ @text_block = args[:text_block] if args.key?(:text_block)
10626
+ end
10627
+ end
10628
+
10629
+ # A row of table cells.
10630
+ class GoogleCloudVisionV1p5beta1TableTableRow
10631
+ include Google::Apis::Core::Hashable
10632
+
10633
+ # Cells that make up this row.
10634
+ # Corresponds to the JSON property `cells`
10635
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1TableTableCell>]
10636
+ attr_accessor :cells
10637
+
10638
+ def initialize(**args)
10639
+ update!(**args)
10640
+ end
10641
+
10642
+ # Update properties of this object
10643
+ def update!(**args)
10644
+ @cells = args[:cells] if args.key?(:cells)
10645
+ end
10646
+ end
10647
+
10648
+ # TextAnnotation contains a structured representation of OCR extracted text.
10649
+ # The hierarchy of an OCR extracted text structure is like this:
10650
+ # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol
10651
+ # Each structural component, starting from Page, may further have their own
10652
+ # properties. Properties describe detected languages, breaks etc.. Please refer
10653
+ # to the TextAnnotation.TextProperty message definition below for more
10654
+ # detail.
10655
+ class GoogleCloudVisionV1p5beta1TextAnnotation
10656
+ include Google::Apis::Core::Hashable
10657
+
10658
+ # List of pages detected by OCR.
10659
+ # Corresponds to the JSON property `pages`
10660
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Page>]
10661
+ attr_accessor :pages
10662
+
10663
+ # UTF-8 text detected on the pages.
10664
+ # Corresponds to the JSON property `text`
10665
+ # @return [String]
10666
+ attr_accessor :text
10667
+
10668
+ def initialize(**args)
10669
+ update!(**args)
10670
+ end
10671
+
10672
+ # Update properties of this object
10673
+ def update!(**args)
10674
+ @pages = args[:pages] if args.key?(:pages)
10675
+ @text = args[:text] if args.key?(:text)
10676
+ end
10677
+ end
10678
+
10679
+ # Detected start or end of a structural component.
10680
+ class GoogleCloudVisionV1p5beta1TextAnnotationDetectedBreak
10681
+ include Google::Apis::Core::Hashable
10682
+
10683
+ # True if break prepends the element.
10684
+ # Corresponds to the JSON property `isPrefix`
10685
+ # @return [Boolean]
10686
+ attr_accessor :is_prefix
10687
+ alias_method :is_prefix?, :is_prefix
10688
+
10689
+ # Detected break type.
10690
+ # Corresponds to the JSON property `type`
10691
+ # @return [String]
10692
+ attr_accessor :type
10693
+
10694
+ def initialize(**args)
10695
+ update!(**args)
10696
+ end
10697
+
10698
+ # Update properties of this object
10699
+ def update!(**args)
10700
+ @is_prefix = args[:is_prefix] if args.key?(:is_prefix)
10701
+ @type = args[:type] if args.key?(:type)
10702
+ end
10703
+ end
10704
+
10705
+ # Detected language for a structural component.
10706
+ class GoogleCloudVisionV1p5beta1TextAnnotationDetectedLanguage
10707
+ include Google::Apis::Core::Hashable
10708
+
10709
+ # Confidence of detected language. Range [0, 1].
10710
+ # Corresponds to the JSON property `confidence`
10711
+ # @return [Float]
10712
+ attr_accessor :confidence
10713
+
10714
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
10715
+ # information, see
10716
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
10717
+ # Corresponds to the JSON property `languageCode`
10718
+ # @return [String]
10719
+ attr_accessor :language_code
10720
+
10721
+ def initialize(**args)
10722
+ update!(**args)
10723
+ end
10724
+
10725
+ # Update properties of this object
10726
+ def update!(**args)
10727
+ @confidence = args[:confidence] if args.key?(:confidence)
10728
+ @language_code = args[:language_code] if args.key?(:language_code)
10729
+ end
10730
+ end
10731
+
10732
+ # Additional information detected on the structural component.
10733
+ class GoogleCloudVisionV1p5beta1TextAnnotationTextProperty
10734
+ include Google::Apis::Core::Hashable
10735
+
10736
+ # Detected start or end of a structural component.
10737
+ # Corresponds to the JSON property `detectedBreak`
10738
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1TextAnnotationDetectedBreak]
10739
+ attr_accessor :detected_break
10740
+
10741
+ # A list of detected languages together with confidence.
10742
+ # Corresponds to the JSON property `detectedLanguages`
10743
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1TextAnnotationDetectedLanguage>]
10744
+ attr_accessor :detected_languages
10745
+
10746
+ def initialize(**args)
10747
+ update!(**args)
10748
+ end
10749
+
10750
+ # Update properties of this object
10751
+ def update!(**args)
10752
+ @detected_break = args[:detected_break] if args.key?(:detected_break)
10753
+ @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
10754
+ end
10755
+ end
10756
+
10757
+ # A vertex represents a 2D point in the image.
10758
+ # NOTE: the vertex coordinates are in the same scale as the original image.
10759
+ class GoogleCloudVisionV1p5beta1Vertex
10760
+ include Google::Apis::Core::Hashable
10761
+
10762
+ # X coordinate.
10763
+ # Corresponds to the JSON property `x`
10764
+ # @return [Fixnum]
10765
+ attr_accessor :x
10766
+
10767
+ # Y coordinate.
10768
+ # Corresponds to the JSON property `y`
10769
+ # @return [Fixnum]
10770
+ attr_accessor :y
10771
+
10772
+ def initialize(**args)
10773
+ update!(**args)
10774
+ end
10775
+
10776
+ # Update properties of this object
10777
+ def update!(**args)
10778
+ @x = args[:x] if args.key?(:x)
10779
+ @y = args[:y] if args.key?(:y)
10780
+ end
10781
+ end
10782
+
10783
+ # Relevant information for the image from the Internet.
10784
+ class GoogleCloudVisionV1p5beta1WebDetection
10785
+ include Google::Apis::Core::Hashable
10786
+
10787
+ # The service's best guess as to the topic of the request image.
10788
+ # Inferred from similar images on the open web.
10789
+ # Corresponds to the JSON property `bestGuessLabels`
10790
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1WebDetectionWebLabel>]
10791
+ attr_accessor :best_guess_labels
10792
+
10793
+ # Fully matching images from the Internet.
10794
+ # Can include resized copies of the query image.
10795
+ # Corresponds to the JSON property `fullMatchingImages`
10796
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1WebDetectionWebImage>]
10797
+ attr_accessor :full_matching_images
10798
+
10799
+ # Web pages containing the matching images from the Internet.
10800
+ # Corresponds to the JSON property `pagesWithMatchingImages`
10801
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1WebDetectionWebPage>]
10802
+ attr_accessor :pages_with_matching_images
10803
+
10804
+ # Partial matching images from the Internet.
10805
+ # Those images are similar enough to share some key-point features. For
10806
+ # example an original image will likely have partial matching for its crops.
10807
+ # Corresponds to the JSON property `partialMatchingImages`
10808
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1WebDetectionWebImage>]
10809
+ attr_accessor :partial_matching_images
10810
+
10811
+ # The visually similar image results.
10812
+ # Corresponds to the JSON property `visuallySimilarImages`
10813
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1WebDetectionWebImage>]
10814
+ attr_accessor :visually_similar_images
10815
+
10816
+ # Deduced entities from similar images on the Internet.
10817
+ # Corresponds to the JSON property `webEntities`
10818
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1WebDetectionWebEntity>]
10819
+ attr_accessor :web_entities
10820
+
10821
+ def initialize(**args)
10822
+ update!(**args)
10823
+ end
10824
+
10825
+ # Update properties of this object
10826
+ def update!(**args)
10827
+ @best_guess_labels = args[:best_guess_labels] if args.key?(:best_guess_labels)
10828
+ @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images)
10829
+ @pages_with_matching_images = args[:pages_with_matching_images] if args.key?(:pages_with_matching_images)
10830
+ @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images)
10831
+ @visually_similar_images = args[:visually_similar_images] if args.key?(:visually_similar_images)
10832
+ @web_entities = args[:web_entities] if args.key?(:web_entities)
10833
+ end
10834
+ end
10835
+
10836
+ # Entity deduced from similar images on the Internet.
10837
+ class GoogleCloudVisionV1p5beta1WebDetectionWebEntity
10838
+ include Google::Apis::Core::Hashable
10839
+
10840
+ # Canonical description of the entity, in English.
10841
+ # Corresponds to the JSON property `description`
10842
+ # @return [String]
10843
+ attr_accessor :description
10844
+
10845
+ # Opaque entity ID.
10846
+ # Corresponds to the JSON property `entityId`
10847
+ # @return [String]
10848
+ attr_accessor :entity_id
10849
+
10850
+ # Overall relevancy score for the entity.
10851
+ # Not normalized and not comparable across different image queries.
10852
+ # Corresponds to the JSON property `score`
10853
+ # @return [Float]
10854
+ attr_accessor :score
10855
+
10856
+ def initialize(**args)
10857
+ update!(**args)
10858
+ end
10859
+
10860
+ # Update properties of this object
10861
+ def update!(**args)
10862
+ @description = args[:description] if args.key?(:description)
10863
+ @entity_id = args[:entity_id] if args.key?(:entity_id)
10864
+ @score = args[:score] if args.key?(:score)
10865
+ end
10866
+ end
10867
+
10868
+ # Metadata for online images.
10869
+ class GoogleCloudVisionV1p5beta1WebDetectionWebImage
10870
+ include Google::Apis::Core::Hashable
10871
+
10872
+ # (Deprecated) Overall relevancy score for the image.
10873
+ # Corresponds to the JSON property `score`
10874
+ # @return [Float]
10875
+ attr_accessor :score
10876
+
10877
+ # The result image URL.
10878
+ # Corresponds to the JSON property `url`
10879
+ # @return [String]
10880
+ attr_accessor :url
10881
+
10882
+ def initialize(**args)
10883
+ update!(**args)
10884
+ end
10885
+
10886
+ # Update properties of this object
10887
+ def update!(**args)
10888
+ @score = args[:score] if args.key?(:score)
10889
+ @url = args[:url] if args.key?(:url)
10890
+ end
10891
+ end
10892
+
10893
+ # Label to provide extra metadata for the web detection.
10894
+ class GoogleCloudVisionV1p5beta1WebDetectionWebLabel
10895
+ include Google::Apis::Core::Hashable
10896
+
10897
+ # Label for extra metadata.
10898
+ # Corresponds to the JSON property `label`
10899
+ # @return [String]
10900
+ attr_accessor :label
10901
+
10902
+ # The BCP-47 language code for `label`, such as "en-US" or "sr-Latn".
10903
+ # For more information, see
10904
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
10905
+ # Corresponds to the JSON property `languageCode`
10906
+ # @return [String]
10907
+ attr_accessor :language_code
10908
+
10909
+ def initialize(**args)
10910
+ update!(**args)
10911
+ end
10912
+
10913
+ # Update properties of this object
10914
+ def update!(**args)
10915
+ @label = args[:label] if args.key?(:label)
10916
+ @language_code = args[:language_code] if args.key?(:language_code)
10917
+ end
10918
+ end
10919
+
10920
+ # Metadata for web pages.
10921
+ class GoogleCloudVisionV1p5beta1WebDetectionWebPage
10922
+ include Google::Apis::Core::Hashable
10923
+
10924
+ # Fully matching images on the page.
10925
+ # Can include resized copies of the query image.
10926
+ # Corresponds to the JSON property `fullMatchingImages`
10927
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1WebDetectionWebImage>]
10928
+ attr_accessor :full_matching_images
10929
+
10930
+ # Title for the web page, may contain HTML markups.
10931
+ # Corresponds to the JSON property `pageTitle`
10932
+ # @return [String]
10933
+ attr_accessor :page_title
10934
+
10935
+ # Partial matching images on the page.
10936
+ # Those images are similar enough to share some key-point features. For
10937
+ # example an original image will likely have partial matching for its
10938
+ # crops.
10939
+ # Corresponds to the JSON property `partialMatchingImages`
10940
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1WebDetectionWebImage>]
10941
+ attr_accessor :partial_matching_images
10942
+
10943
+ # (Deprecated) Overall relevancy score for the web page.
10944
+ # Corresponds to the JSON property `score`
10945
+ # @return [Float]
10946
+ attr_accessor :score
10947
+
10948
+ # The result web page URL.
10949
+ # Corresponds to the JSON property `url`
10950
+ # @return [String]
10951
+ attr_accessor :url
10952
+
10953
+ def initialize(**args)
10954
+ update!(**args)
10955
+ end
10956
+
10957
+ # Update properties of this object
10958
+ def update!(**args)
10959
+ @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images)
10960
+ @page_title = args[:page_title] if args.key?(:page_title)
10961
+ @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images)
10962
+ @score = args[:score] if args.key?(:score)
10963
+ @url = args[:url] if args.key?(:url)
10964
+ end
10965
+ end
10966
+
10967
+ # A word representation.
10968
+ class GoogleCloudVisionV1p5beta1Word
10969
+ include Google::Apis::Core::Hashable
10970
+
10971
+ # A bounding polygon for the detected image annotation.
10972
+ # Corresponds to the JSON property `boundingBox`
10973
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1BoundingPoly]
10974
+ attr_accessor :bounding_box
10975
+
10976
+ # Confidence of the OCR results for the word. Range [0, 1].
10977
+ # Corresponds to the JSON property `confidence`
10978
+ # @return [Float]
10979
+ attr_accessor :confidence
10980
+
10981
+ # All UTF-8 text detected in this word. This field is by default not
10982
+ # returned unless specified in TextDetectionParams.word_filter.
10983
+ # Corresponds to the JSON property `mergedText`
10984
+ # @return [String]
10985
+ attr_accessor :merged_text
10986
+
10987
+ # Additional information detected on the structural component.
10988
+ # Corresponds to the JSON property `property`
10989
+ # @return [Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1TextAnnotationTextProperty]
10990
+ attr_accessor :property
10991
+
10992
+ # List of symbols in the word.
10993
+ # The order of the symbols follows the natural reading order.
10994
+ # Corresponds to the JSON property `symbols`
10995
+ # @return [Array<Google::Apis::VisionV1p2beta1::GoogleCloudVisionV1p5beta1Symbol>]
10996
+ attr_accessor :symbols
10997
+
10998
+ def initialize(**args)
10999
+ update!(**args)
11000
+ end
11001
+
11002
+ # Update properties of this object
11003
+ def update!(**args)
11004
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
11005
+ @confidence = args[:confidence] if args.key?(:confidence)
11006
+ @merged_text = args[:merged_text] if args.key?(:merged_text)
11007
+ @property = args[:property] if args.key?(:property)
11008
+ @symbols = args[:symbols] if args.key?(:symbols)
11009
+ end
11010
+ end
11011
+
11012
+ # Information about the products similar to a single product in a query
11013
+ # image.
11014
+ class GroupedResult
11015
+ include Google::Apis::Core::Hashable
11016
+
11017
+ # A bounding polygon for the detected image annotation.
11018
+ # Corresponds to the JSON property `boundingPoly`
11019
+ # @return [Google::Apis::VisionV1p2beta1::BoundingPoly]
11020
+ attr_accessor :bounding_poly
11021
+
11022
+ # List of results, one for each product match.
11023
+ # Corresponds to the JSON property `results`
11024
+ # @return [Array<Google::Apis::VisionV1p2beta1::Result>]
11025
+ attr_accessor :results
11026
+
11027
+ def initialize(**args)
11028
+ update!(**args)
11029
+ end
11030
+
11031
+ # Update properties of this object
11032
+ def update!(**args)
11033
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
11034
+ @results = args[:results] if args.key?(:results)
11035
+ end
11036
+ end
11037
+
11038
+ # If an image was produced from a file (e.g. a PDF), this message gives
11039
+ # information about the source of that image.
11040
+ class ImageAnnotationContext
11041
+ include Google::Apis::Core::Hashable
11042
+
11043
+ # If the file was a PDF or TIFF, this field gives the page number within
11044
+ # the file used to produce the image.
11045
+ # Corresponds to the JSON property `pageNumber`
11046
+ # @return [Fixnum]
11047
+ attr_accessor :page_number
11048
+
11049
+ # The URI of the file used to produce the image.
11050
+ # Corresponds to the JSON property `uri`
11051
+ # @return [String]
11052
+ attr_accessor :uri
11053
+
11054
+ def initialize(**args)
11055
+ update!(**args)
11056
+ end
11057
+
11058
+ # Update properties of this object
11059
+ def update!(**args)
11060
+ @page_number = args[:page_number] if args.key?(:page_number)
11061
+ @uri = args[:uri] if args.key?(:uri)
11062
+ end
11063
+ end
11064
+
11065
+ # Stores image properties, such as dominant colors.
11066
+ class ImageProperties
11067
+ include Google::Apis::Core::Hashable
11068
+
11069
+ # Set of dominant colors and their corresponding scores.
11070
+ # Corresponds to the JSON property `dominantColors`
11071
+ # @return [Google::Apis::VisionV1p2beta1::DominantColorsAnnotation]
11072
+ attr_accessor :dominant_colors
11073
+
11074
+ def initialize(**args)
11075
+ update!(**args)
11076
+ end
11077
+
11078
+ # Update properties of this object
11079
+ def update!(**args)
11080
+ @dominant_colors = args[:dominant_colors] if args.key?(:dominant_colors)
11081
+ end
11082
+ end
11083
+
11084
+ # Response message for the `ImportProductSets` method.
11085
+ # This message is returned by the
11086
+ # google.longrunning.Operations.GetOperation method in the returned
11087
+ # google.longrunning.Operation.response field.
11088
+ class ImportProductSetsResponse
11089
+ include Google::Apis::Core::Hashable
11090
+
11091
+ # The list of reference_images that are imported successfully.
11092
+ # Corresponds to the JSON property `referenceImages`
11093
+ # @return [Array<Google::Apis::VisionV1p2beta1::ReferenceImage>]
11094
+ attr_accessor :reference_images
11095
+
11096
+ # The rpc status for each ImportProductSet request, including both successes
11097
+ # and errors.
11098
+ # The number of statuses here matches the number of lines in the csv file,
11099
+ # and statuses[i] stores the success or failure status of processing the i-th
11100
+ # line of the csv, starting from line 0.
11101
+ # Corresponds to the JSON property `statuses`
11102
+ # @return [Array<Google::Apis::VisionV1p2beta1::Status>]
11103
+ attr_accessor :statuses
11104
+
11105
+ def initialize(**args)
11106
+ update!(**args)
11107
+ end
11108
+
11109
+ # Update properties of this object
11110
+ def update!(**args)
11111
+ @reference_images = args[:reference_images] if args.key?(:reference_images)
11112
+ @statuses = args[:statuses] if args.key?(:statuses)
11113
+ end
11114
+ end
6834
11115
 
6835
11116
  # The desired input location and metadata.
6836
11117
  class InputConfig
6837
11118
  include Google::Apis::Core::Hashable
6838
11119
 
11120
+ # File content, represented as a stream of bytes.
11121
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
11122
+ # representation, whereas JSON representations use base64.
11123
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
11124
+ # not work for AsyncBatchAnnotateFiles requests.
11125
+ # Corresponds to the JSON property `content`
11126
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
11127
+ # @return [String]
11128
+ attr_accessor :content
11129
+
6839
11130
  # The Google Cloud Storage location where the input will be read from.
6840
11131
  # Corresponds to the JSON property `gcsSource`
6841
11132
  # @return [Google::Apis::VisionV1p2beta1::GcsSource]
@@ -6853,6 +11144,7 @@ module Google
6853
11144
 
6854
11145
  # Update properties of this object
6855
11146
  def update!(**args)
11147
+ @content = args[:content] if args.key?(:content)
6856
11148
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
6857
11149
  @mime_type = args[:mime_type] if args.key?(:mime_type)
6858
11150
  end
@@ -7049,14 +11341,14 @@ module Google
7049
11341
  attr_accessor :done
7050
11342
  alias_method :done?, :done
7051
11343
 
7052
- # The `Status` type defines a logical error model that is suitable for different
7053
- # programming environments, including REST APIs and RPC APIs. It is used by
7054
- # [gRPC](https://github.com/grpc). The error model is designed to be:
11344
+ # The `Status` type defines a logical error model that is suitable for
11345
+ # different programming environments, including REST APIs and RPC APIs. It is
11346
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
7055
11347
  # - Simple to use and understand for most users
7056
11348
  # - Flexible enough to meet unexpected needs
7057
11349
  # # Overview
7058
- # The `Status` message contains three pieces of data: error code, error message,
7059
- # and error details. The error code should be an enum value of
11350
+ # The `Status` message contains three pieces of data: error code, error
11351
+ # message, and error details. The error code should be an enum value of
7060
11352
  # google.rpc.Code, but it may accept additional error codes if needed. The
7061
11353
  # error message should be a developer-facing English message that helps
7062
11354
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -7102,7 +11394,7 @@ module Google
7102
11394
 
7103
11395
  # The server-assigned name, which is only unique within the same service that
7104
11396
  # originally returns it. If you use the default HTTP mapping, the
7105
- # `name` should have the format of `operations/some/unique/name`.
11397
+ # `name` should be a resource name ending with `operations/`unique_id``.
7106
11398
  # Corresponds to the JSON property `name`
7107
11399
  # @return [String]
7108
11400
  attr_accessor :name
@@ -7372,8 +11664,9 @@ module Google
7372
11664
  class ProductSearchResults
7373
11665
  include Google::Apis::Core::Hashable
7374
11666
 
7375
- # Timestamp of the index which provided these results. Changes made after
7376
- # this time are not reflected in the current results.
11667
+ # Timestamp of the index which provided these results. Products added to the
11668
+ # product set and products removed from the product set after this time are
11669
+ # not reflected in the current results.
7377
11670
  # Corresponds to the JSON property `indexTime`
7378
11671
  # @return [String]
7379
11672
  attr_accessor :index_time
@@ -7563,14 +11856,14 @@ module Google
7563
11856
  end
7564
11857
  end
7565
11858
 
7566
- # The `Status` type defines a logical error model that is suitable for different
7567
- # programming environments, including REST APIs and RPC APIs. It is used by
7568
- # [gRPC](https://github.com/grpc). The error model is designed to be:
11859
+ # The `Status` type defines a logical error model that is suitable for
11860
+ # different programming environments, including REST APIs and RPC APIs. It is
11861
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
7569
11862
  # - Simple to use and understand for most users
7570
11863
  # - Flexible enough to meet unexpected needs
7571
11864
  # # Overview
7572
- # The `Status` message contains three pieces of data: error code, error message,
7573
- # and error details. The error code should be an enum value of
11865
+ # The `Status` message contains three pieces of data: error code, error
11866
+ # message, and error details. The error code should be an enum value of
7574
11867
  # google.rpc.Code, but it may accept additional error codes if needed. The
7575
11868
  # error message should be a developer-facing English message that helps
7576
11869
  # developers *understand* and *resolve* the error. If a localized user-facing