google-api-client 0.28.4 → 0.29.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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
@@ -972,6 +1031,52 @@ module Google
972
1031
  end
973
1032
  end
974
1033
 
1034
+ # A request to annotate one single file, e.g. a PDF, TIFF or GIF file.
1035
+ class GoogleCloudVisionV1p1beta1AnnotateFileRequest
1036
+ include Google::Apis::Core::Hashable
1037
+
1038
+ # Required. Requested features.
1039
+ # Corresponds to the JSON property `features`
1040
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1Feature>]
1041
+ attr_accessor :features
1042
+
1043
+ # Image context and/or feature-specific parameters.
1044
+ # Corresponds to the JSON property `imageContext`
1045
+ # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1ImageContext]
1046
+ attr_accessor :image_context
1047
+
1048
+ # The desired input location and metadata.
1049
+ # Corresponds to the JSON property `inputConfig`
1050
+ # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1InputConfig]
1051
+ attr_accessor :input_config
1052
+
1053
+ # Pages of the file to perform image annotation.
1054
+ # Pages starts from 1, we assume the first page of the file is page 1.
1055
+ # At most 5 pages are supported per request. Pages can be negative.
1056
+ # Page 1 means the first page.
1057
+ # Page 2 means the second page.
1058
+ # Page -1 means the last page.
1059
+ # Page -2 means the second to the last page.
1060
+ # If the file is GIF instead of PDF or TIFF, page refers to GIF frames.
1061
+ # If this field is empty, by default the service performs image annotation
1062
+ # for the first 5 pages of the file.
1063
+ # Corresponds to the JSON property `pages`
1064
+ # @return [Array<Fixnum>]
1065
+ attr_accessor :pages
1066
+
1067
+ def initialize(**args)
1068
+ update!(**args)
1069
+ end
1070
+
1071
+ # Update properties of this object
1072
+ def update!(**args)
1073
+ @features = args[:features] if args.key?(:features)
1074
+ @image_context = args[:image_context] if args.key?(:image_context)
1075
+ @input_config = args[:input_config] if args.key?(:input_config)
1076
+ @pages = args[:pages] if args.key?(:pages)
1077
+ end
1078
+ end
1079
+
975
1080
  # Response to a single file annotation request. A file may contain one or more
976
1081
  # images, which individually have their own responses.
977
1082
  class GoogleCloudVisionV1p1beta1AnnotateFileResponse
@@ -987,6 +1092,11 @@ module Google
987
1092
  # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1AnnotateImageResponse>]
988
1093
  attr_accessor :responses
989
1094
 
1095
+ # This field gives the total number of pages in the file.
1096
+ # Corresponds to the JSON property `totalPages`
1097
+ # @return [Fixnum]
1098
+ attr_accessor :total_pages
1099
+
990
1100
  def initialize(**args)
991
1101
  update!(**args)
992
1102
  end
@@ -995,6 +1105,7 @@ module Google
995
1105
  def update!(**args)
996
1106
  @input_config = args[:input_config] if args.key?(:input_config)
997
1107
  @responses = args[:responses] if args.key?(:responses)
1108
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
998
1109
  end
999
1110
  end
1000
1111
 
@@ -1045,14 +1156,14 @@ module Google
1045
1156
  # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1CropHintsAnnotation]
1046
1157
  attr_accessor :crop_hints_annotation
1047
1158
 
1048
- # The `Status` type defines a logical error model that is suitable for different
1049
- # programming environments, including REST APIs and RPC APIs. It is used by
1050
- # [gRPC](https://github.com/grpc). The error model is designed to be:
1159
+ # The `Status` type defines a logical error model that is suitable for
1160
+ # different programming environments, including REST APIs and RPC APIs. It is
1161
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
1051
1162
  # - Simple to use and understand for most users
1052
1163
  # - Flexible enough to meet unexpected needs
1053
1164
  # # Overview
1054
- # The `Status` message contains three pieces of data: error code, error message,
1055
- # and error details. The error code should be an enum value of
1165
+ # The `Status` message contains three pieces of data: error code, error
1166
+ # message, and error details. The error code should be an enum value of
1056
1167
  # google.rpc.Code, but it may accept additional error codes if needed. The
1057
1168
  # error message should be a developer-facing English message that helps
1058
1169
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -1271,6 +1382,71 @@ module Google
1271
1382
  end
1272
1383
  end
1273
1384
 
1385
+ # Request for async image annotation for a list of images.
1386
+ class GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest
1387
+ include Google::Apis::Core::Hashable
1388
+
1389
+ # The desired output location and metadata.
1390
+ # Corresponds to the JSON property `outputConfig`
1391
+ # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1OutputConfig]
1392
+ attr_accessor :output_config
1393
+
1394
+ # Individual image annotation requests for this batch.
1395
+ # Corresponds to the JSON property `requests`
1396
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1AnnotateImageRequest>]
1397
+ attr_accessor :requests
1398
+
1399
+ def initialize(**args)
1400
+ update!(**args)
1401
+ end
1402
+
1403
+ # Update properties of this object
1404
+ def update!(**args)
1405
+ @output_config = args[:output_config] if args.key?(:output_config)
1406
+ @requests = args[:requests] if args.key?(:requests)
1407
+ end
1408
+ end
1409
+
1410
+ # A list of requests to annotate files using the BatchAnnotateFiles API.
1411
+ class GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest
1412
+ include Google::Apis::Core::Hashable
1413
+
1414
+ # The list of file annotation requests. Right now we support only one
1415
+ # AnnotateFileRequest in BatchAnnotateFilesRequest.
1416
+ # Corresponds to the JSON property `requests`
1417
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1AnnotateFileRequest>]
1418
+ attr_accessor :requests
1419
+
1420
+ def initialize(**args)
1421
+ update!(**args)
1422
+ end
1423
+
1424
+ # Update properties of this object
1425
+ def update!(**args)
1426
+ @requests = args[:requests] if args.key?(:requests)
1427
+ end
1428
+ end
1429
+
1430
+ # A list of file annotation responses.
1431
+ class GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse
1432
+ include Google::Apis::Core::Hashable
1433
+
1434
+ # The list of file annotation responses, each response corresponding to each
1435
+ # AnnotateFileRequest in BatchAnnotateFilesRequest.
1436
+ # Corresponds to the JSON property `responses`
1437
+ # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1AnnotateFileResponse>]
1438
+ attr_accessor :responses
1439
+
1440
+ def initialize(**args)
1441
+ update!(**args)
1442
+ end
1443
+
1444
+ # Update properties of this object
1445
+ def update!(**args)
1446
+ @responses = args[:responses] if args.key?(:responses)
1447
+ end
1448
+ end
1449
+
1274
1450
  # Multiple image annotation requests are batched into a single service call.
1275
1451
  class GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest
1276
1452
  include Google::Apis::Core::Hashable
@@ -1388,7 +1564,11 @@ module Google
1388
1564
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
1389
1565
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
1390
1566
  # method in iOS; and, with just a little work, it can be easily formatted into
1391
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
1567
+ # a CSS "rgba()" string in JavaScript, as well.
1568
+ # Note: this proto does not carry information about the absolute color space
1569
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
1570
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
1571
+ # space.
1392
1572
  # Example (Java):
1393
1573
  # import com.google.type.Color;
1394
1574
  # // ...
@@ -1860,14 +2040,20 @@ module Google
1860
2040
  class GoogleCloudVisionV1p1beta1GcsDestination
1861
2041
  include Google::Apis::Core::Hashable
1862
2042
 
1863
- # Google Cloud Storage URI where the results will be stored. Results will
1864
- # be in JSON format and preceded by its corresponding input URI. This field
1865
- # can either represent a single file, or a prefix for multiple outputs.
1866
- # Prefixes must end in a `/`.
2043
+ # Google Cloud Storage URI prefix where the results will be stored. Results
2044
+ # will be in JSON format and preceded by its corresponding input URI prefix.
2045
+ # This field can either represent a gcs file prefix or gcs directory. In
2046
+ # either case, the uri should be unique because in order to get all of the
2047
+ # output files, you will need to do a wildcard gcs search on the uri prefix
2048
+ # you provide.
1867
2049
  # Examples:
1868
- # * File: gs://bucket-name/filename.json
1869
- # * Prefix: gs://bucket-name/prefix/here/
1870
- # * File: gs://bucket-name/prefix/here
2050
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
2051
+ # will be created in gs://bucket-name/here/ and the names of the
2052
+ # output files will begin with "filenameprefix".
2053
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
2054
+ # will be created in gs://bucket-name/some/location/ and the names of the
2055
+ # output files could be anything because there was no filename prefix
2056
+ # specified.
1871
2057
  # If multiple outputs, each response is still AnnotateFileResponse, each of
1872
2058
  # which contains some subset of the full list of AnnotateImageResponse.
1873
2059
  # Multiple outputs can happen if, for example, the output JSON is too large
@@ -2076,6 +2262,16 @@ module Google
2076
2262
  class GoogleCloudVisionV1p1beta1InputConfig
2077
2263
  include Google::Apis::Core::Hashable
2078
2264
 
2265
+ # File content, represented as a stream of bytes.
2266
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
2267
+ # representation, whereas JSON representations use base64.
2268
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
2269
+ # not work for AsyncBatchAnnotateFiles requests.
2270
+ # Corresponds to the JSON property `content`
2271
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2272
+ # @return [String]
2273
+ attr_accessor :content
2274
+
2079
2275
  # The Google Cloud Storage location where the input will be read from.
2080
2276
  # Corresponds to the JSON property `gcsSource`
2081
2277
  # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1GcsSource]
@@ -2093,6 +2289,7 @@ module Google
2093
2289
 
2094
2290
  # Update properties of this object
2095
2291
  def update!(**args)
2292
+ @content = args[:content] if args.key?(:content)
2096
2293
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
2097
2294
  @mime_type = args[:mime_type] if args.key?(:mime_type)
2098
2295
  end
@@ -2499,9 +2696,11 @@ module Google
2499
2696
 
2500
2697
  # The filtering expression. This can be used to restrict search results based
2501
2698
  # on Product labels. We currently support an AND of OR of key-value
2502
- # expressions, where each expression within an OR must have the same key.
2699
+ # expressions, where each expression within an OR must have the same key. An
2700
+ # '=' should be used to connect the key and value.
2503
2701
  # For example, "(color = red OR color = blue) AND brand = Google" is
2504
- # acceptable, but not "(color = red OR brand = Google)" or "color: red".
2702
+ # acceptable, but "(color = red OR brand = Google)" is not acceptable.
2703
+ # "color: red" is not acceptable because it uses a ':' instead of an '='.
2505
2704
  # Corresponds to the JSON property `filter`
2506
2705
  # @return [String]
2507
2706
  attr_accessor :filter
@@ -2537,8 +2736,9 @@ module Google
2537
2736
  class GoogleCloudVisionV1p1beta1ProductSearchResults
2538
2737
  include Google::Apis::Core::Hashable
2539
2738
 
2540
- # Timestamp of the index which provided these results. Changes made after
2541
- # this time are not reflected in the current results.
2739
+ # Timestamp of the index which provided these results. Products added to the
2740
+ # product set and products removed from the product set after this time are
2741
+ # not reflected in the current results.
2542
2742
  # Corresponds to the JSON property `indexTime`
2543
2743
  # @return [String]
2544
2744
  attr_accessor :index_time
@@ -3139,6 +3339,11 @@ module Google
3139
3339
  # @return [Array<Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p2beta1AnnotateImageResponse>]
3140
3340
  attr_accessor :responses
3141
3341
 
3342
+ # This field gives the total number of pages in the file.
3343
+ # Corresponds to the JSON property `totalPages`
3344
+ # @return [Fixnum]
3345
+ attr_accessor :total_pages
3346
+
3142
3347
  def initialize(**args)
3143
3348
  update!(**args)
3144
3349
  end
@@ -3147,6 +3352,7 @@ module Google
3147
3352
  def update!(**args)
3148
3353
  @input_config = args[:input_config] if args.key?(:input_config)
3149
3354
  @responses = args[:responses] if args.key?(:responses)
3355
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
3150
3356
  end
3151
3357
  end
3152
3358
 
@@ -3165,14 +3371,14 @@ module Google
3165
3371
  # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p2beta1CropHintsAnnotation]
3166
3372
  attr_accessor :crop_hints_annotation
3167
3373
 
3168
- # The `Status` type defines a logical error model that is suitable for different
3169
- # programming environments, including REST APIs and RPC APIs. It is used by
3170
- # [gRPC](https://github.com/grpc). The error model is designed to be:
3374
+ # The `Status` type defines a logical error model that is suitable for
3375
+ # different programming environments, including REST APIs and RPC APIs. It is
3376
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
3171
3377
  # - Simple to use and understand for most users
3172
3378
  # - Flexible enough to meet unexpected needs
3173
3379
  # # Overview
3174
- # The `Status` message contains three pieces of data: error code, error message,
3175
- # and error details. The error code should be an enum value of
3380
+ # The `Status` message contains three pieces of data: error code, error
3381
+ # message, and error details. The error code should be an enum value of
3176
3382
  # google.rpc.Code, but it may accept additional error codes if needed. The
3177
3383
  # error message should be a developer-facing English message that helps
3178
3384
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -3413,7 +3619,11 @@ module Google
3413
3619
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
3414
3620
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
3415
3621
  # method in iOS; and, with just a little work, it can be easily formatted into
3416
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
3622
+ # a CSS "rgba()" string in JavaScript, as well.
3623
+ # Note: this proto does not carry information about the absolute color space
3624
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
3625
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
3626
+ # space.
3417
3627
  # Example (Java):
3418
3628
  # import com.google.type.Color;
3419
3629
  # // ...
@@ -3825,14 +4035,20 @@ module Google
3825
4035
  class GoogleCloudVisionV1p2beta1GcsDestination
3826
4036
  include Google::Apis::Core::Hashable
3827
4037
 
3828
- # Google Cloud Storage URI where the results will be stored. Results will
3829
- # be in JSON format and preceded by its corresponding input URI. This field
3830
- # can either represent a single file, or a prefix for multiple outputs.
3831
- # Prefixes must end in a `/`.
4038
+ # Google Cloud Storage URI prefix where the results will be stored. Results
4039
+ # will be in JSON format and preceded by its corresponding input URI prefix.
4040
+ # This field can either represent a gcs file prefix or gcs directory. In
4041
+ # either case, the uri should be unique because in order to get all of the
4042
+ # output files, you will need to do a wildcard gcs search on the uri prefix
4043
+ # you provide.
3832
4044
  # Examples:
3833
- # * File: gs://bucket-name/filename.json
3834
- # * Prefix: gs://bucket-name/prefix/here/
3835
- # * File: gs://bucket-name/prefix/here
4045
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
4046
+ # will be created in gs://bucket-name/here/ and the names of the
4047
+ # output files will begin with "filenameprefix".
4048
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
4049
+ # will be created in gs://bucket-name/some/location/ and the names of the
4050
+ # output files could be anything because there was no filename prefix
4051
+ # specified.
3836
4052
  # If multiple outputs, each response is still AnnotateFileResponse, each of
3837
4053
  # which contains some subset of the full list of AnnotateImageResponse.
3838
4054
  # Multiple outputs can happen if, for example, the output JSON is too large
@@ -3921,6 +4137,16 @@ module Google
3921
4137
  class GoogleCloudVisionV1p2beta1InputConfig
3922
4138
  include Google::Apis::Core::Hashable
3923
4139
 
4140
+ # File content, represented as a stream of bytes.
4141
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
4142
+ # representation, whereas JSON representations use base64.
4143
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
4144
+ # not work for AsyncBatchAnnotateFiles requests.
4145
+ # Corresponds to the JSON property `content`
4146
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
4147
+ # @return [String]
4148
+ attr_accessor :content
4149
+
3924
4150
  # The Google Cloud Storage location where the input will be read from.
3925
4151
  # Corresponds to the JSON property `gcsSource`
3926
4152
  # @return [Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p2beta1GcsSource]
@@ -3938,6 +4164,7 @@ module Google
3938
4164
 
3939
4165
  # Update properties of this object
3940
4166
  def update!(**args)
4167
+ @content = args[:content] if args.key?(:content)
3941
4168
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
3942
4169
  @mime_type = args[:mime_type] if args.key?(:mime_type)
3943
4170
  end
@@ -4304,8 +4531,9 @@ module Google
4304
4531
  class GoogleCloudVisionV1p2beta1ProductSearchResults
4305
4532
  include Google::Apis::Core::Hashable
4306
4533
 
4307
- # Timestamp of the index which provided these results. Changes made after
4308
- # this time are not reflected in the current results.
4534
+ # Timestamp of the index which provided these results. Products added to the
4535
+ # product set and products removed from the product set after this time are
4536
+ # not reflected in the current results.
4309
4537
  # Corresponds to the JSON property `indexTime`
4310
4538
  # @return [String]
4311
4539
  attr_accessor :index_time
@@ -4886,6 +5114,11 @@ module Google
4886
5114
  # @return [Array<Google::Apis::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::GoogleCloudVisionV1p4beta1NormalizedVertex>]
7326
+ attr_accessor :normalized_vertices
7327
+
7328
+ # The bounding polygon vertices.
7329
+ # Corresponds to the JSON property `vertices`
7330
+ # @return [Array<Google::Apis::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::GoogleCloudVisionV1p5beta1NormalizedVertex>]
9270
+ attr_accessor :normalized_vertices
9271
+
9272
+ # The bounding polygon vertices.
9273
+ # Corresponds to the JSON property `vertices`
9274
+ # @return [Array<Google::Apis::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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::VisionV1p1beta1::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