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
@@ -43,6 +43,52 @@ module Google
43
43
  end
44
44
  end
45
45
 
46
+ # A request to annotate one single file, e.g. a PDF, TIFF or GIF file.
47
+ class AnnotateFileRequest
48
+ include Google::Apis::Core::Hashable
49
+
50
+ # Required. Requested features.
51
+ # Corresponds to the JSON property `features`
52
+ # @return [Array<Google::Apis::VisionV1::Feature>]
53
+ attr_accessor :features
54
+
55
+ # Image context and/or feature-specific parameters.
56
+ # Corresponds to the JSON property `imageContext`
57
+ # @return [Google::Apis::VisionV1::ImageContext]
58
+ attr_accessor :image_context
59
+
60
+ # The desired input location and metadata.
61
+ # Corresponds to the JSON property `inputConfig`
62
+ # @return [Google::Apis::VisionV1::InputConfig]
63
+ attr_accessor :input_config
64
+
65
+ # Pages of the file to perform image annotation.
66
+ # Pages starts from 1, we assume the first page of the file is page 1.
67
+ # At most 5 pages are supported per request. Pages can be negative.
68
+ # Page 1 means the first page.
69
+ # Page 2 means the second page.
70
+ # Page -1 means the last page.
71
+ # Page -2 means the second to the last page.
72
+ # If the file is GIF instead of PDF or TIFF, page refers to GIF frames.
73
+ # If this field is empty, by default the service performs image annotation
74
+ # for the first 5 pages of the file.
75
+ # Corresponds to the JSON property `pages`
76
+ # @return [Array<Fixnum>]
77
+ attr_accessor :pages
78
+
79
+ def initialize(**args)
80
+ update!(**args)
81
+ end
82
+
83
+ # Update properties of this object
84
+ def update!(**args)
85
+ @features = args[:features] if args.key?(:features)
86
+ @image_context = args[:image_context] if args.key?(:image_context)
87
+ @input_config = args[:input_config] if args.key?(:input_config)
88
+ @pages = args[:pages] if args.key?(:pages)
89
+ end
90
+ end
91
+
46
92
  # Response to a single file annotation request. A file may contain one or more
47
93
  # images, which individually have their own responses.
48
94
  class AnnotateFileResponse
@@ -58,6 +104,11 @@ module Google
58
104
  # @return [Array<Google::Apis::VisionV1::AnnotateImageResponse>]
59
105
  attr_accessor :responses
60
106
 
107
+ # This field gives the total number of pages in the file.
108
+ # Corresponds to the JSON property `totalPages`
109
+ # @return [Fixnum]
110
+ attr_accessor :total_pages
111
+
61
112
  def initialize(**args)
62
113
  update!(**args)
63
114
  end
@@ -66,6 +117,7 @@ module Google
66
117
  def update!(**args)
67
118
  @input_config = args[:input_config] if args.key?(:input_config)
68
119
  @responses = args[:responses] if args.key?(:responses)
120
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
69
121
  end
70
122
  end
71
123
 
@@ -116,14 +168,14 @@ module Google
116
168
  # @return [Google::Apis::VisionV1::CropHintsAnnotation]
117
169
  attr_accessor :crop_hints_annotation
118
170
 
119
- # The `Status` type defines a logical error model that is suitable for different
120
- # programming environments, including REST APIs and RPC APIs. It is used by
121
- # [gRPC](https://github.com/grpc). The error model is designed to be:
171
+ # The `Status` type defines a logical error model that is suitable for
172
+ # different programming environments, including REST APIs and RPC APIs. It is
173
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
122
174
  # - Simple to use and understand for most users
123
175
  # - Flexible enough to meet unexpected needs
124
176
  # # Overview
125
- # The `Status` message contains three pieces of data: error code, error message,
126
- # and error details. The error code should be an enum value of
177
+ # The `Status` message contains three pieces of data: error code, error
178
+ # message, and error details. The error code should be an enum value of
127
179
  # google.rpc.Code, but it may accept additional error codes if needed. The
128
180
  # error message should be a developer-facing English message that helps
129
181
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -342,6 +394,90 @@ module Google
342
394
  end
343
395
  end
344
396
 
397
+ # Request for async image annotation for a list of images.
398
+ class AsyncBatchAnnotateImagesRequest
399
+ include Google::Apis::Core::Hashable
400
+
401
+ # The desired output location and metadata.
402
+ # Corresponds to the JSON property `outputConfig`
403
+ # @return [Google::Apis::VisionV1::OutputConfig]
404
+ attr_accessor :output_config
405
+
406
+ # Individual image annotation requests for this batch.
407
+ # Corresponds to the JSON property `requests`
408
+ # @return [Array<Google::Apis::VisionV1::AnnotateImageRequest>]
409
+ attr_accessor :requests
410
+
411
+ def initialize(**args)
412
+ update!(**args)
413
+ end
414
+
415
+ # Update properties of this object
416
+ def update!(**args)
417
+ @output_config = args[:output_config] if args.key?(:output_config)
418
+ @requests = args[:requests] if args.key?(:requests)
419
+ end
420
+ end
421
+
422
+ # Response to an async batch image annotation request.
423
+ class AsyncBatchAnnotateImagesResponse
424
+ include Google::Apis::Core::Hashable
425
+
426
+ # The desired output location and metadata.
427
+ # Corresponds to the JSON property `outputConfig`
428
+ # @return [Google::Apis::VisionV1::OutputConfig]
429
+ attr_accessor :output_config
430
+
431
+ def initialize(**args)
432
+ update!(**args)
433
+ end
434
+
435
+ # Update properties of this object
436
+ def update!(**args)
437
+ @output_config = args[:output_config] if args.key?(:output_config)
438
+ end
439
+ end
440
+
441
+ # A list of requests to annotate files using the BatchAnnotateFiles API.
442
+ class BatchAnnotateFilesRequest
443
+ include Google::Apis::Core::Hashable
444
+
445
+ # The list of file annotation requests. Right now we support only one
446
+ # AnnotateFileRequest in BatchAnnotateFilesRequest.
447
+ # Corresponds to the JSON property `requests`
448
+ # @return [Array<Google::Apis::VisionV1::AnnotateFileRequest>]
449
+ attr_accessor :requests
450
+
451
+ def initialize(**args)
452
+ update!(**args)
453
+ end
454
+
455
+ # Update properties of this object
456
+ def update!(**args)
457
+ @requests = args[:requests] if args.key?(:requests)
458
+ end
459
+ end
460
+
461
+ # A list of file annotation responses.
462
+ class BatchAnnotateFilesResponse
463
+ include Google::Apis::Core::Hashable
464
+
465
+ # The list of file annotation responses, each response corresponding to each
466
+ # AnnotateFileRequest in BatchAnnotateFilesRequest.
467
+ # Corresponds to the JSON property `responses`
468
+ # @return [Array<Google::Apis::VisionV1::AnnotateFileResponse>]
469
+ attr_accessor :responses
470
+
471
+ def initialize(**args)
472
+ update!(**args)
473
+ end
474
+
475
+ # Update properties of this object
476
+ def update!(**args)
477
+ @responses = args[:responses] if args.key?(:responses)
478
+ end
479
+ end
480
+
345
481
  # Multiple image annotation requests are batched into a single service call.
346
482
  class BatchAnnotateImagesRequest
347
483
  include Google::Apis::Core::Hashable
@@ -501,7 +637,11 @@ module Google
501
637
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
502
638
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
503
639
  # method in iOS; and, with just a little work, it can be easily formatted into
504
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
640
+ # a CSS "rgba()" string in JavaScript, as well.
641
+ # Note: this proto does not carry information about the absolute color space
642
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
643
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
644
+ # space.
505
645
  # Example (Java):
506
646
  # import com.google.type.Color;
507
647
  # // ...
@@ -649,7 +789,11 @@ module Google
649
789
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
650
790
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
651
791
  # method in iOS; and, with just a little work, it can be easily formatted into
652
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
792
+ # a CSS "rgba()" string in JavaScript, as well.
793
+ # Note: this proto does not carry information about the absolute color space
794
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
795
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
796
+ # space.
653
797
  # Example (Java):
654
798
  # import com.google.type.Color;
655
799
  # // ...
@@ -1166,14 +1310,20 @@ module Google
1166
1310
  class GcsDestination
1167
1311
  include Google::Apis::Core::Hashable
1168
1312
 
1169
- # Google Cloud Storage URI where the results will be stored. Results will
1170
- # be in JSON format and preceded by its corresponding input URI. This field
1171
- # can either represent a single file, or a prefix for multiple outputs.
1172
- # Prefixes must end in a `/`.
1313
+ # Google Cloud Storage URI prefix where the results will be stored. Results
1314
+ # will be in JSON format and preceded by its corresponding input URI prefix.
1315
+ # This field can either represent a gcs file prefix or gcs directory. In
1316
+ # either case, the uri should be unique because in order to get all of the
1317
+ # output files, you will need to do a wildcard gcs search on the uri prefix
1318
+ # you provide.
1173
1319
  # Examples:
1174
- # * File: gs://bucket-name/filename.json
1175
- # * Prefix: gs://bucket-name/prefix/here/
1176
- # * File: gs://bucket-name/prefix/here
1320
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
1321
+ # will be created in gs://bucket-name/here/ and the names of the
1322
+ # output files will begin with "filenameprefix".
1323
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
1324
+ # will be created in gs://bucket-name/some/location/ and the names of the
1325
+ # output files could be anything because there was no filename prefix
1326
+ # specified.
1177
1327
  # If multiple outputs, each response is still AnnotateFileResponse, each of
1178
1328
  # which contains some subset of the full list of AnnotateImageResponse.
1179
1329
  # Multiple outputs can happen if, for example, the output JSON is too large
@@ -1227,6 +1377,11 @@ module Google
1227
1377
  # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1AnnotateImageResponse>]
1228
1378
  attr_accessor :responses
1229
1379
 
1380
+ # This field gives the total number of pages in the file.
1381
+ # Corresponds to the JSON property `totalPages`
1382
+ # @return [Fixnum]
1383
+ attr_accessor :total_pages
1384
+
1230
1385
  def initialize(**args)
1231
1386
  update!(**args)
1232
1387
  end
@@ -1235,6 +1390,7 @@ module Google
1235
1390
  def update!(**args)
1236
1391
  @input_config = args[:input_config] if args.key?(:input_config)
1237
1392
  @responses = args[:responses] if args.key?(:responses)
1393
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
1238
1394
  end
1239
1395
  end
1240
1396
 
@@ -1253,14 +1409,14 @@ module Google
1253
1409
  # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1CropHintsAnnotation]
1254
1410
  attr_accessor :crop_hints_annotation
1255
1411
 
1256
- # The `Status` type defines a logical error model that is suitable for different
1257
- # programming environments, including REST APIs and RPC APIs. It is used by
1258
- # [gRPC](https://github.com/grpc). The error model is designed to be:
1412
+ # The `Status` type defines a logical error model that is suitable for
1413
+ # different programming environments, including REST APIs and RPC APIs. It is
1414
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
1259
1415
  # - Simple to use and understand for most users
1260
1416
  # - Flexible enough to meet unexpected needs
1261
1417
  # # Overview
1262
- # The `Status` message contains three pieces of data: error code, error message,
1263
- # and error details. The error code should be an enum value of
1418
+ # The `Status` message contains three pieces of data: error code, error
1419
+ # message, and error details. The error code should be an enum value of
1264
1420
  # google.rpc.Code, but it may accept additional error codes if needed. The
1265
1421
  # error message should be a developer-facing English message that helps
1266
1422
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -1501,7 +1657,11 @@ module Google
1501
1657
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
1502
1658
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
1503
1659
  # method in iOS; and, with just a little work, it can be easily formatted into
1504
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
1660
+ # a CSS "rgba()" string in JavaScript, as well.
1661
+ # Note: this proto does not carry information about the absolute color space
1662
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
1663
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
1664
+ # space.
1505
1665
  # Example (Java):
1506
1666
  # import com.google.type.Color;
1507
1667
  # // ...
@@ -1913,14 +2073,20 @@ module Google
1913
2073
  class GoogleCloudVisionV1p1beta1GcsDestination
1914
2074
  include Google::Apis::Core::Hashable
1915
2075
 
1916
- # Google Cloud Storage URI where the results will be stored. Results will
1917
- # be in JSON format and preceded by its corresponding input URI. This field
1918
- # can either represent a single file, or a prefix for multiple outputs.
1919
- # Prefixes must end in a `/`.
2076
+ # Google Cloud Storage URI prefix where the results will be stored. Results
2077
+ # will be in JSON format and preceded by its corresponding input URI prefix.
2078
+ # This field can either represent a gcs file prefix or gcs directory. In
2079
+ # either case, the uri should be unique because in order to get all of the
2080
+ # output files, you will need to do a wildcard gcs search on the uri prefix
2081
+ # you provide.
1920
2082
  # Examples:
1921
- # * File: gs://bucket-name/filename.json
1922
- # * Prefix: gs://bucket-name/prefix/here/
1923
- # * File: gs://bucket-name/prefix/here
2083
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
2084
+ # will be created in gs://bucket-name/here/ and the names of the
2085
+ # output files will begin with "filenameprefix".
2086
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
2087
+ # will be created in gs://bucket-name/some/location/ and the names of the
2088
+ # output files could be anything because there was no filename prefix
2089
+ # specified.
1924
2090
  # If multiple outputs, each response is still AnnotateFileResponse, each of
1925
2091
  # which contains some subset of the full list of AnnotateImageResponse.
1926
2092
  # Multiple outputs can happen if, for example, the output JSON is too large
@@ -2009,6 +2175,16 @@ module Google
2009
2175
  class GoogleCloudVisionV1p1beta1InputConfig
2010
2176
  include Google::Apis::Core::Hashable
2011
2177
 
2178
+ # File content, represented as a stream of bytes.
2179
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
2180
+ # representation, whereas JSON representations use base64.
2181
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
2182
+ # not work for AsyncBatchAnnotateFiles requests.
2183
+ # Corresponds to the JSON property `content`
2184
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2185
+ # @return [String]
2186
+ attr_accessor :content
2187
+
2012
2188
  # The Google Cloud Storage location where the input will be read from.
2013
2189
  # Corresponds to the JSON property `gcsSource`
2014
2190
  # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1GcsSource]
@@ -2026,6 +2202,7 @@ module Google
2026
2202
 
2027
2203
  # Update properties of this object
2028
2204
  def update!(**args)
2205
+ @content = args[:content] if args.key?(:content)
2029
2206
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
2030
2207
  @mime_type = args[:mime_type] if args.key?(:mime_type)
2031
2208
  end
@@ -2392,8 +2569,9 @@ module Google
2392
2569
  class GoogleCloudVisionV1p1beta1ProductSearchResults
2393
2570
  include Google::Apis::Core::Hashable
2394
2571
 
2395
- # Timestamp of the index which provided these results. Changes made after
2396
- # this time are not reflected in the current results.
2572
+ # Timestamp of the index which provided these results. Products added to the
2573
+ # product set and products removed from the product set after this time are
2574
+ # not reflected in the current results.
2397
2575
  # Corresponds to the JSON property `indexTime`
2398
2576
  # @return [String]
2399
2577
  attr_accessor :index_time
@@ -2974,6 +3152,11 @@ module Google
2974
3152
  # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1AnnotateImageResponse>]
2975
3153
  attr_accessor :responses
2976
3154
 
3155
+ # This field gives the total number of pages in the file.
3156
+ # Corresponds to the JSON property `totalPages`
3157
+ # @return [Fixnum]
3158
+ attr_accessor :total_pages
3159
+
2977
3160
  def initialize(**args)
2978
3161
  update!(**args)
2979
3162
  end
@@ -2982,6 +3165,7 @@ module Google
2982
3165
  def update!(**args)
2983
3166
  @input_config = args[:input_config] if args.key?(:input_config)
2984
3167
  @responses = args[:responses] if args.key?(:responses)
3168
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
2985
3169
  end
2986
3170
  end
2987
3171
 
@@ -3000,14 +3184,14 @@ module Google
3000
3184
  # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1CropHintsAnnotation]
3001
3185
  attr_accessor :crop_hints_annotation
3002
3186
 
3003
- # The `Status` type defines a logical error model that is suitable for different
3004
- # programming environments, including REST APIs and RPC APIs. It is used by
3005
- # [gRPC](https://github.com/grpc). The error model is designed to be:
3187
+ # The `Status` type defines a logical error model that is suitable for
3188
+ # different programming environments, including REST APIs and RPC APIs. It is
3189
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
3006
3190
  # - Simple to use and understand for most users
3007
3191
  # - Flexible enough to meet unexpected needs
3008
3192
  # # Overview
3009
- # The `Status` message contains three pieces of data: error code, error message,
3010
- # and error details. The error code should be an enum value of
3193
+ # The `Status` message contains three pieces of data: error code, error
3194
+ # message, and error details. The error code should be an enum value of
3011
3195
  # google.rpc.Code, but it may accept additional error codes if needed. The
3012
3196
  # error message should be a developer-facing English message that helps
3013
3197
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -3248,7 +3432,11 @@ module Google
3248
3432
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
3249
3433
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
3250
3434
  # method in iOS; and, with just a little work, it can be easily formatted into
3251
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
3435
+ # a CSS "rgba()" string in JavaScript, as well.
3436
+ # Note: this proto does not carry information about the absolute color space
3437
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
3438
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
3439
+ # space.
3252
3440
  # Example (Java):
3253
3441
  # import com.google.type.Color;
3254
3442
  # // ...
@@ -3660,14 +3848,20 @@ module Google
3660
3848
  class GoogleCloudVisionV1p2beta1GcsDestination
3661
3849
  include Google::Apis::Core::Hashable
3662
3850
 
3663
- # Google Cloud Storage URI where the results will be stored. Results will
3664
- # be in JSON format and preceded by its corresponding input URI. This field
3665
- # can either represent a single file, or a prefix for multiple outputs.
3666
- # Prefixes must end in a `/`.
3851
+ # Google Cloud Storage URI prefix where the results will be stored. Results
3852
+ # will be in JSON format and preceded by its corresponding input URI prefix.
3853
+ # This field can either represent a gcs file prefix or gcs directory. In
3854
+ # either case, the uri should be unique because in order to get all of the
3855
+ # output files, you will need to do a wildcard gcs search on the uri prefix
3856
+ # you provide.
3667
3857
  # Examples:
3668
- # * File: gs://bucket-name/filename.json
3669
- # * Prefix: gs://bucket-name/prefix/here/
3670
- # * File: gs://bucket-name/prefix/here
3858
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
3859
+ # will be created in gs://bucket-name/here/ and the names of the
3860
+ # output files will begin with "filenameprefix".
3861
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
3862
+ # will be created in gs://bucket-name/some/location/ and the names of the
3863
+ # output files could be anything because there was no filename prefix
3864
+ # specified.
3671
3865
  # If multiple outputs, each response is still AnnotateFileResponse, each of
3672
3866
  # which contains some subset of the full list of AnnotateImageResponse.
3673
3867
  # Multiple outputs can happen if, for example, the output JSON is too large
@@ -3756,6 +3950,16 @@ module Google
3756
3950
  class GoogleCloudVisionV1p2beta1InputConfig
3757
3951
  include Google::Apis::Core::Hashable
3758
3952
 
3953
+ # File content, represented as a stream of bytes.
3954
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
3955
+ # representation, whereas JSON representations use base64.
3956
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
3957
+ # not work for AsyncBatchAnnotateFiles requests.
3958
+ # Corresponds to the JSON property `content`
3959
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
3960
+ # @return [String]
3961
+ attr_accessor :content
3962
+
3759
3963
  # The Google Cloud Storage location where the input will be read from.
3760
3964
  # Corresponds to the JSON property `gcsSource`
3761
3965
  # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1GcsSource]
@@ -3773,6 +3977,7 @@ module Google
3773
3977
 
3774
3978
  # Update properties of this object
3775
3979
  def update!(**args)
3980
+ @content = args[:content] if args.key?(:content)
3776
3981
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
3777
3982
  @mime_type = args[:mime_type] if args.key?(:mime_type)
3778
3983
  end
@@ -4139,8 +4344,9 @@ module Google
4139
4344
  class GoogleCloudVisionV1p2beta1ProductSearchResults
4140
4345
  include Google::Apis::Core::Hashable
4141
4346
 
4142
- # Timestamp of the index which provided these results. Changes made after
4143
- # this time are not reflected in the current results.
4347
+ # Timestamp of the index which provided these results. Products added to the
4348
+ # product set and products removed from the product set after this time are
4349
+ # not reflected in the current results.
4144
4350
  # Corresponds to the JSON property `indexTime`
4145
4351
  # @return [String]
4146
4352
  attr_accessor :index_time
@@ -4721,6 +4927,11 @@ module Google
4721
4927
  # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p3beta1AnnotateImageResponse>]
4722
4928
  attr_accessor :responses
4723
4929
 
4930
+ # This field gives the total number of pages in the file.
4931
+ # Corresponds to the JSON property `totalPages`
4932
+ # @return [Fixnum]
4933
+ attr_accessor :total_pages
4934
+
4724
4935
  def initialize(**args)
4725
4936
  update!(**args)
4726
4937
  end
@@ -4729,6 +4940,7 @@ module Google
4729
4940
  def update!(**args)
4730
4941
  @input_config = args[:input_config] if args.key?(:input_config)
4731
4942
  @responses = args[:responses] if args.key?(:responses)
4943
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
4732
4944
  end
4733
4945
  end
4734
4946
 
@@ -4747,14 +4959,14 @@ module Google
4747
4959
  # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p3beta1CropHintsAnnotation]
4748
4960
  attr_accessor :crop_hints_annotation
4749
4961
 
4750
- # The `Status` type defines a logical error model that is suitable for different
4751
- # programming environments, including REST APIs and RPC APIs. It is used by
4752
- # [gRPC](https://github.com/grpc). The error model is designed to be:
4962
+ # The `Status` type defines a logical error model that is suitable for
4963
+ # different programming environments, including REST APIs and RPC APIs. It is
4964
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
4753
4965
  # - Simple to use and understand for most users
4754
4966
  # - Flexible enough to meet unexpected needs
4755
4967
  # # Overview
4756
- # The `Status` message contains three pieces of data: error code, error message,
4757
- # and error details. The error code should be an enum value of
4968
+ # The `Status` message contains three pieces of data: error code, error
4969
+ # message, and error details. The error code should be an enum value of
4758
4970
  # google.rpc.Code, but it may accept additional error codes if needed. The
4759
4971
  # error message should be a developer-facing English message that helps
4760
4972
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -5029,7 +5241,11 @@ module Google
5029
5241
  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
5030
5242
  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
5031
5243
  # method in iOS; and, with just a little work, it can be easily formatted into
5032
- # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
5244
+ # a CSS "rgba()" string in JavaScript, as well.
5245
+ # Note: this proto does not carry information about the absolute color space
5246
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
5247
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
5248
+ # space.
5033
5249
  # Example (Java):
5034
5250
  # import com.google.type.Color;
5035
5251
  # // ...
@@ -5441,14 +5657,20 @@ module Google
5441
5657
  class GoogleCloudVisionV1p3beta1GcsDestination
5442
5658
  include Google::Apis::Core::Hashable
5443
5659
 
5444
- # Google Cloud Storage URI where the results will be stored. Results will
5445
- # be in JSON format and preceded by its corresponding input URI. This field
5446
- # can either represent a single file, or a prefix for multiple outputs.
5447
- # Prefixes must end in a `/`.
5660
+ # Google Cloud Storage URI prefix where the results will be stored. Results
5661
+ # will be in JSON format and preceded by its corresponding input URI prefix.
5662
+ # This field can either represent a gcs file prefix or gcs directory. In
5663
+ # either case, the uri should be unique because in order to get all of the
5664
+ # output files, you will need to do a wildcard gcs search on the uri prefix
5665
+ # you provide.
5448
5666
  # Examples:
5449
- # * File: gs://bucket-name/filename.json
5450
- # * Prefix: gs://bucket-name/prefix/here/
5451
- # * File: gs://bucket-name/prefix/here
5667
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
5668
+ # will be created in gs://bucket-name/here/ and the names of the
5669
+ # output files will begin with "filenameprefix".
5670
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
5671
+ # will be created in gs://bucket-name/some/location/ and the names of the
5672
+ # output files could be anything because there was no filename prefix
5673
+ # specified.
5452
5674
  # If multiple outputs, each response is still AnnotateFileResponse, each of
5453
5675
  # which contains some subset of the full list of AnnotateImageResponse.
5454
5676
  # Multiple outputs can happen if, for example, the output JSON is too large
@@ -5569,6 +5791,16 @@ module Google
5569
5791
  class GoogleCloudVisionV1p3beta1InputConfig
5570
5792
  include Google::Apis::Core::Hashable
5571
5793
 
5794
+ # File content, represented as a stream of bytes.
5795
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
5796
+ # representation, whereas JSON representations use base64.
5797
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
5798
+ # not work for AsyncBatchAnnotateFiles requests.
5799
+ # Corresponds to the JSON property `content`
5800
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
5801
+ # @return [String]
5802
+ attr_accessor :content
5803
+
5572
5804
  # The Google Cloud Storage location where the input will be read from.
5573
5805
  # Corresponds to the JSON property `gcsSource`
5574
5806
  # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p3beta1GcsSource]
@@ -5586,6 +5818,7 @@ module Google
5586
5818
 
5587
5819
  # Update properties of this object
5588
5820
  def update!(**args)
5821
+ @content = args[:content] if args.key?(:content)
5589
5822
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
5590
5823
  @mime_type = args[:mime_type] if args.key?(:mime_type)
5591
5824
  end
@@ -5952,8 +6185,9 @@ module Google
5952
6185
  class GoogleCloudVisionV1p3beta1ProductSearchResults
5953
6186
  include Google::Apis::Core::Hashable
5954
6187
 
5955
- # Timestamp of the index which provided these results. Changes made after
5956
- # this time are not reflected in the current results.
6188
+ # Timestamp of the index which provided these results. Products added to the
6189
+ # product set and products removed from the product set after this time are
6190
+ # not reflected in the current results.
5957
6191
  # Corresponds to the JSON property `indexTime`
5958
6192
  # @return [String]
5959
6193
  attr_accessor :index_time
@@ -6563,20 +6797,25 @@ module Google
6563
6797
  end
6564
6798
  end
6565
6799
 
6566
- # Information about the products similar to a single product in a query
6567
- # image.
6568
- class GroupedResult
6800
+ # Response to a single file annotation request. A file may contain one or more
6801
+ # images, which individually have their own responses.
6802
+ class GoogleCloudVisionV1p4beta1AnnotateFileResponse
6569
6803
  include Google::Apis::Core::Hashable
6570
6804
 
6571
- # A bounding polygon for the detected image annotation.
6572
- # Corresponds to the JSON property `boundingPoly`
6573
- # @return [Google::Apis::VisionV1::BoundingPoly]
6574
- attr_accessor :bounding_poly
6805
+ # The desired input location and metadata.
6806
+ # Corresponds to the JSON property `inputConfig`
6807
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1InputConfig]
6808
+ attr_accessor :input_config
6575
6809
 
6576
- # List of results, one for each product match.
6577
- # Corresponds to the JSON property `results`
6578
- # @return [Array<Google::Apis::VisionV1::Result>]
6579
- attr_accessor :results
6810
+ # Individual responses to images found within the file.
6811
+ # Corresponds to the JSON property `responses`
6812
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1AnnotateImageResponse>]
6813
+ attr_accessor :responses
6814
+
6815
+ # This field gives the total number of pages in the file.
6816
+ # Corresponds to the JSON property `totalPages`
6817
+ # @return [Fixnum]
6818
+ attr_accessor :total_pages
6580
6819
 
6581
6820
  def initialize(**args)
6582
6821
  update!(**args)
@@ -6584,51 +6823,4071 @@ module Google
6584
6823
 
6585
6824
  # Update properties of this object
6586
6825
  def update!(**args)
6587
- @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
6588
- @results = args[:results] if args.key?(:results)
6826
+ @input_config = args[:input_config] if args.key?(:input_config)
6827
+ @responses = args[:responses] if args.key?(:responses)
6828
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
6589
6829
  end
6590
6830
  end
6591
6831
 
6592
- # Client image to perform Google Cloud Vision API tasks over.
6593
- class Image
6832
+ # Response to an image annotation request.
6833
+ class GoogleCloudVisionV1p4beta1AnnotateImageResponse
6594
6834
  include Google::Apis::Core::Hashable
6595
6835
 
6596
- # Image content, represented as a stream of bytes.
6597
- # Note: As with all `bytes` fields, protobuffers use a pure binary
6598
- # representation, whereas JSON representations use base64.
6599
- # Corresponds to the JSON property `content`
6600
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
6601
- # @return [String]
6602
- attr_accessor :content
6836
+ # If an image was produced from a file (e.g. a PDF), this message gives
6837
+ # information about the source of that image.
6838
+ # Corresponds to the JSON property `context`
6839
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1ImageAnnotationContext]
6840
+ attr_accessor :context
6603
6841
 
6604
- # External image source (Google Cloud Storage or web URL image location).
6605
- # Corresponds to the JSON property `source`
6606
- # @return [Google::Apis::VisionV1::ImageSource]
6607
- attr_accessor :source
6842
+ # Set of crop hints that are used to generate new crops when serving images.
6843
+ # Corresponds to the JSON property `cropHintsAnnotation`
6844
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1CropHintsAnnotation]
6845
+ attr_accessor :crop_hints_annotation
6608
6846
 
6609
- def initialize(**args)
6610
- update!(**args)
6611
- end
6847
+ # The `Status` type defines a logical error model that is suitable for
6848
+ # different programming environments, including REST APIs and RPC APIs. It is
6849
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
6850
+ # - Simple to use and understand for most users
6851
+ # - Flexible enough to meet unexpected needs
6852
+ # # Overview
6853
+ # The `Status` message contains three pieces of data: error code, error
6854
+ # message, and error details. The error code should be an enum value of
6855
+ # google.rpc.Code, but it may accept additional error codes if needed. The
6856
+ # error message should be a developer-facing English message that helps
6857
+ # developers *understand* and *resolve* the error. If a localized user-facing
6858
+ # error message is needed, put the localized message in the error details or
6859
+ # localize it in the client. The optional error details may contain arbitrary
6860
+ # information about the error. There is a predefined set of error detail types
6861
+ # in the package `google.rpc` that can be used for common error conditions.
6862
+ # # Language mapping
6863
+ # The `Status` message is the logical representation of the error model, but it
6864
+ # is not necessarily the actual wire format. When the `Status` message is
6865
+ # exposed in different client libraries and different wire protocols, it can be
6866
+ # mapped differently. For example, it will likely be mapped to some exceptions
6867
+ # in Java, but more likely mapped to some error codes in C.
6868
+ # # Other uses
6869
+ # The error model and the `Status` message can be used in a variety of
6870
+ # environments, either with or without APIs, to provide a
6871
+ # consistent developer experience across different environments.
6872
+ # Example uses of this error model include:
6873
+ # - Partial errors. If a service needs to return partial errors to the client,
6874
+ # it may embed the `Status` in the normal response to indicate the partial
6875
+ # errors.
6876
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
6877
+ # have a `Status` message for error reporting.
6878
+ # - Batch operations. If a client uses batch request and batch response, the
6879
+ # `Status` message should be used directly inside batch response, one for
6880
+ # each error sub-response.
6881
+ # - Asynchronous operations. If an API call embeds asynchronous operation
6882
+ # results in its response, the status of those operations should be
6883
+ # represented directly using the `Status` message.
6884
+ # - Logging. If some API errors are stored in logs, the message `Status` could
6885
+ # be used directly after any stripping needed for security/privacy reasons.
6886
+ # Corresponds to the JSON property `error`
6887
+ # @return [Google::Apis::VisionV1::Status]
6888
+ attr_accessor :error
6612
6889
 
6613
- # Update properties of this object
6614
- def update!(**args)
6615
- @content = args[:content] if args.key?(:content)
6616
- @source = args[:source] if args.key?(:source)
6617
- end
6618
- end
6890
+ # If present, face detection has completed successfully.
6891
+ # Corresponds to the JSON property `faceAnnotations`
6892
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1FaceAnnotation>]
6893
+ attr_accessor :face_annotations
6619
6894
 
6620
- # If an image was produced from a file (e.g. a PDF), this message gives
6621
- # information about the source of that image.
6622
- class ImageAnnotationContext
6623
- include Google::Apis::Core::Hashable
6895
+ # TextAnnotation contains a structured representation of OCR extracted text.
6896
+ # The hierarchy of an OCR extracted text structure is like this:
6897
+ # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol
6898
+ # Each structural component, starting from Page, may further have their own
6899
+ # properties. Properties describe detected languages, breaks etc.. Please refer
6900
+ # to the TextAnnotation.TextProperty message definition below for more
6901
+ # detail.
6902
+ # Corresponds to the JSON property `fullTextAnnotation`
6903
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1TextAnnotation]
6904
+ attr_accessor :full_text_annotation
6624
6905
 
6625
- # If the file was a PDF or TIFF, this field gives the page number within
6626
- # the file used to produce the image.
6627
- # Corresponds to the JSON property `pageNumber`
6628
- # @return [Fixnum]
6629
- attr_accessor :page_number
6906
+ # Stores image properties, such as dominant colors.
6907
+ # Corresponds to the JSON property `imagePropertiesAnnotation`
6908
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1ImageProperties]
6909
+ attr_accessor :image_properties_annotation
6630
6910
 
6631
- # The URI of the file used to produce the image.
6911
+ # If present, label detection has completed successfully.
6912
+ # Corresponds to the JSON property `labelAnnotations`
6913
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1EntityAnnotation>]
6914
+ attr_accessor :label_annotations
6915
+
6916
+ # If present, landmark detection has completed successfully.
6917
+ # Corresponds to the JSON property `landmarkAnnotations`
6918
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1EntityAnnotation>]
6919
+ attr_accessor :landmark_annotations
6920
+
6921
+ # If present, localized object detection has completed successfully.
6922
+ # This will be sorted descending by confidence score.
6923
+ # Corresponds to the JSON property `localizedObjectAnnotations`
6924
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation>]
6925
+ attr_accessor :localized_object_annotations
6926
+
6927
+ # If present, logo detection has completed successfully.
6928
+ # Corresponds to the JSON property `logoAnnotations`
6929
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1EntityAnnotation>]
6930
+ attr_accessor :logo_annotations
6931
+
6932
+ # Results for a product search request.
6933
+ # Corresponds to the JSON property `productSearchResults`
6934
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1ProductSearchResults]
6935
+ attr_accessor :product_search_results
6936
+
6937
+ # Set of features pertaining to the image, computed by computer vision
6938
+ # methods over safe-search verticals (for example, adult, spoof, medical,
6939
+ # violence).
6940
+ # Corresponds to the JSON property `safeSearchAnnotation`
6941
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1SafeSearchAnnotation]
6942
+ attr_accessor :safe_search_annotation
6943
+
6944
+ # If present, text (OCR) detection has completed successfully.
6945
+ # Corresponds to the JSON property `textAnnotations`
6946
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1EntityAnnotation>]
6947
+ attr_accessor :text_annotations
6948
+
6949
+ # Relevant information for the image from the Internet.
6950
+ # Corresponds to the JSON property `webDetection`
6951
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1WebDetection]
6952
+ attr_accessor :web_detection
6953
+
6954
+ def initialize(**args)
6955
+ update!(**args)
6956
+ end
6957
+
6958
+ # Update properties of this object
6959
+ def update!(**args)
6960
+ @context = args[:context] if args.key?(:context)
6961
+ @crop_hints_annotation = args[:crop_hints_annotation] if args.key?(:crop_hints_annotation)
6962
+ @error = args[:error] if args.key?(:error)
6963
+ @face_annotations = args[:face_annotations] if args.key?(:face_annotations)
6964
+ @full_text_annotation = args[:full_text_annotation] if args.key?(:full_text_annotation)
6965
+ @image_properties_annotation = args[:image_properties_annotation] if args.key?(:image_properties_annotation)
6966
+ @label_annotations = args[:label_annotations] if args.key?(:label_annotations)
6967
+ @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
6968
+ @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
6969
+ @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
6970
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
6971
+ @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
6972
+ @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
6973
+ @web_detection = args[:web_detection] if args.key?(:web_detection)
6974
+ end
6975
+ end
6976
+
6977
+ # The response for a single offline file annotation request.
6978
+ class GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse
6979
+ include Google::Apis::Core::Hashable
6980
+
6981
+ # The desired output location and metadata.
6982
+ # Corresponds to the JSON property `outputConfig`
6983
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1OutputConfig]
6984
+ attr_accessor :output_config
6985
+
6986
+ def initialize(**args)
6987
+ update!(**args)
6988
+ end
6989
+
6990
+ # Update properties of this object
6991
+ def update!(**args)
6992
+ @output_config = args[:output_config] if args.key?(:output_config)
6993
+ end
6994
+ end
6995
+
6996
+ # Response to an async batch file annotation request.
6997
+ class GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse
6998
+ include Google::Apis::Core::Hashable
6999
+
7000
+ # The list of file annotation responses, one for each request in
7001
+ # AsyncBatchAnnotateFilesRequest.
7002
+ # Corresponds to the JSON property `responses`
7003
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse>]
7004
+ attr_accessor :responses
7005
+
7006
+ def initialize(**args)
7007
+ update!(**args)
7008
+ end
7009
+
7010
+ # Update properties of this object
7011
+ def update!(**args)
7012
+ @responses = args[:responses] if args.key?(:responses)
7013
+ end
7014
+ end
7015
+
7016
+ # Response to an async batch image annotation request.
7017
+ class GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse
7018
+ include Google::Apis::Core::Hashable
7019
+
7020
+ # The desired output location and metadata.
7021
+ # Corresponds to the JSON property `outputConfig`
7022
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1OutputConfig]
7023
+ attr_accessor :output_config
7024
+
7025
+ def initialize(**args)
7026
+ update!(**args)
7027
+ end
7028
+
7029
+ # Update properties of this object
7030
+ def update!(**args)
7031
+ @output_config = args[:output_config] if args.key?(:output_config)
7032
+ end
7033
+ end
7034
+
7035
+ # A list of file annotation responses.
7036
+ class GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse
7037
+ include Google::Apis::Core::Hashable
7038
+
7039
+ # The list of file annotation responses, each response corresponding to each
7040
+ # AnnotateFileRequest in BatchAnnotateFilesRequest.
7041
+ # Corresponds to the JSON property `responses`
7042
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1AnnotateFileResponse>]
7043
+ attr_accessor :responses
7044
+
7045
+ def initialize(**args)
7046
+ update!(**args)
7047
+ end
7048
+
7049
+ # Update properties of this object
7050
+ def update!(**args)
7051
+ @responses = args[:responses] if args.key?(:responses)
7052
+ end
7053
+ end
7054
+
7055
+ # Metadata for the batch operations such as the current state.
7056
+ # This is included in the `metadata` field of the `Operation` returned by the
7057
+ # `GetOperation` call of the `google::longrunning::Operations` service.
7058
+ class GoogleCloudVisionV1p4beta1BatchOperationMetadata
7059
+ include Google::Apis::Core::Hashable
7060
+
7061
+ # The time when the batch request is finished and
7062
+ # google.longrunning.Operation.done is set to true.
7063
+ # Corresponds to the JSON property `endTime`
7064
+ # @return [String]
7065
+ attr_accessor :end_time
7066
+
7067
+ # The current state of the batch operation.
7068
+ # Corresponds to the JSON property `state`
7069
+ # @return [String]
7070
+ attr_accessor :state
7071
+
7072
+ # The time when the batch request was submitted to the server.
7073
+ # Corresponds to the JSON property `submitTime`
7074
+ # @return [String]
7075
+ attr_accessor :submit_time
7076
+
7077
+ def initialize(**args)
7078
+ update!(**args)
7079
+ end
7080
+
7081
+ # Update properties of this object
7082
+ def update!(**args)
7083
+ @end_time = args[:end_time] if args.key?(:end_time)
7084
+ @state = args[:state] if args.key?(:state)
7085
+ @submit_time = args[:submit_time] if args.key?(:submit_time)
7086
+ end
7087
+ end
7088
+
7089
+ # Logical element on the page.
7090
+ class GoogleCloudVisionV1p4beta1Block
7091
+ include Google::Apis::Core::Hashable
7092
+
7093
+ # Detected block type (text, image etc) for this block.
7094
+ # Corresponds to the JSON property `blockType`
7095
+ # @return [String]
7096
+ attr_accessor :block_type
7097
+
7098
+ # A bounding polygon for the detected image annotation.
7099
+ # Corresponds to the JSON property `boundingBox`
7100
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1BoundingPoly]
7101
+ attr_accessor :bounding_box
7102
+
7103
+ # Confidence of the OCR results on the block. Range [0, 1].
7104
+ # Corresponds to the JSON property `confidence`
7105
+ # @return [Float]
7106
+ attr_accessor :confidence
7107
+
7108
+ # List of paragraphs in this block (if this blocks is of type text).
7109
+ # Corresponds to the JSON property `paragraphs`
7110
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1Paragraph>]
7111
+ attr_accessor :paragraphs
7112
+
7113
+ # Additional information detected on the structural component.
7114
+ # Corresponds to the JSON property `property`
7115
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1TextAnnotationTextProperty]
7116
+ attr_accessor :property
7117
+
7118
+ def initialize(**args)
7119
+ update!(**args)
7120
+ end
7121
+
7122
+ # Update properties of this object
7123
+ def update!(**args)
7124
+ @block_type = args[:block_type] if args.key?(:block_type)
7125
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
7126
+ @confidence = args[:confidence] if args.key?(:confidence)
7127
+ @paragraphs = args[:paragraphs] if args.key?(:paragraphs)
7128
+ @property = args[:property] if args.key?(:property)
7129
+ end
7130
+ end
7131
+
7132
+ # A bounding polygon for the detected image annotation.
7133
+ class GoogleCloudVisionV1p4beta1BoundingPoly
7134
+ include Google::Apis::Core::Hashable
7135
+
7136
+ # The bounding polygon normalized vertices.
7137
+ # Corresponds to the JSON property `normalizedVertices`
7138
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1NormalizedVertex>]
7139
+ attr_accessor :normalized_vertices
7140
+
7141
+ # The bounding polygon vertices.
7142
+ # Corresponds to the JSON property `vertices`
7143
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1Vertex>]
7144
+ attr_accessor :vertices
7145
+
7146
+ def initialize(**args)
7147
+ update!(**args)
7148
+ end
7149
+
7150
+ # Update properties of this object
7151
+ def update!(**args)
7152
+ @normalized_vertices = args[:normalized_vertices] if args.key?(:normalized_vertices)
7153
+ @vertices = args[:vertices] if args.key?(:vertices)
7154
+ end
7155
+ end
7156
+
7157
+ # Color information consists of RGB channels, score, and the fraction of
7158
+ # the image that the color occupies in the image.
7159
+ class GoogleCloudVisionV1p4beta1ColorInfo
7160
+ include Google::Apis::Core::Hashable
7161
+
7162
+ # Represents a color in the RGBA color space. This representation is designed
7163
+ # for simplicity of conversion to/from color representations in various
7164
+ # languages over compactness; for example, the fields of this representation
7165
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
7166
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
7167
+ # method in iOS; and, with just a little work, it can be easily formatted into
7168
+ # a CSS "rgba()" string in JavaScript, as well.
7169
+ # Note: this proto does not carry information about the absolute color space
7170
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
7171
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
7172
+ # space.
7173
+ # Example (Java):
7174
+ # import com.google.type.Color;
7175
+ # // ...
7176
+ # public static java.awt.Color fromProto(Color protocolor) `
7177
+ # float alpha = protocolor.hasAlpha()
7178
+ # ? protocolor.getAlpha().getValue()
7179
+ # : 1.0;
7180
+ # return new java.awt.Color(
7181
+ # protocolor.getRed(),
7182
+ # protocolor.getGreen(),
7183
+ # protocolor.getBlue(),
7184
+ # alpha);
7185
+ # `
7186
+ # public static Color toProto(java.awt.Color color) `
7187
+ # float red = (float) color.getRed();
7188
+ # float green = (float) color.getGreen();
7189
+ # float blue = (float) color.getBlue();
7190
+ # float denominator = 255.0;
7191
+ # Color.Builder resultBuilder =
7192
+ # Color
7193
+ # .newBuilder()
7194
+ # .setRed(red / denominator)
7195
+ # .setGreen(green / denominator)
7196
+ # .setBlue(blue / denominator);
7197
+ # int alpha = color.getAlpha();
7198
+ # if (alpha != 255) `
7199
+ # result.setAlpha(
7200
+ # FloatValue
7201
+ # .newBuilder()
7202
+ # .setValue(((float) alpha) / denominator)
7203
+ # .build());
7204
+ # `
7205
+ # return resultBuilder.build();
7206
+ # `
7207
+ # // ...
7208
+ # Example (iOS / Obj-C):
7209
+ # // ...
7210
+ # static UIColor* fromProto(Color* protocolor) `
7211
+ # float red = [protocolor red];
7212
+ # float green = [protocolor green];
7213
+ # float blue = [protocolor blue];
7214
+ # FloatValue* alpha_wrapper = [protocolor alpha];
7215
+ # float alpha = 1.0;
7216
+ # if (alpha_wrapper != nil) `
7217
+ # alpha = [alpha_wrapper value];
7218
+ # `
7219
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
7220
+ # `
7221
+ # static Color* toProto(UIColor* color) `
7222
+ # CGFloat red, green, blue, alpha;
7223
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
7224
+ # return nil;
7225
+ # `
7226
+ # Color* result = [[Color alloc] init];
7227
+ # [result setRed:red];
7228
+ # [result setGreen:green];
7229
+ # [result setBlue:blue];
7230
+ # if (alpha <= 0.9999) `
7231
+ # [result setAlpha:floatWrapperWithValue(alpha)];
7232
+ # `
7233
+ # [result autorelease];
7234
+ # return result;
7235
+ # `
7236
+ # // ...
7237
+ # Example (JavaScript):
7238
+ # // ...
7239
+ # var protoToCssColor = function(rgb_color) `
7240
+ # var redFrac = rgb_color.red || 0.0;
7241
+ # var greenFrac = rgb_color.green || 0.0;
7242
+ # var blueFrac = rgb_color.blue || 0.0;
7243
+ # var red = Math.floor(redFrac * 255);
7244
+ # var green = Math.floor(greenFrac * 255);
7245
+ # var blue = Math.floor(blueFrac * 255);
7246
+ # if (!('alpha' in rgb_color)) `
7247
+ # return rgbToCssColor_(red, green, blue);
7248
+ # `
7249
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
7250
+ # var rgbParams = [red, green, blue].join(',');
7251
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
7252
+ # `;
7253
+ # var rgbToCssColor_ = function(red, green, blue) `
7254
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
7255
+ # var hexString = rgbNumber.toString(16);
7256
+ # var missingZeros = 6 - hexString.length;
7257
+ # var resultBuilder = ['#'];
7258
+ # for (var i = 0; i < missingZeros; i++) `
7259
+ # resultBuilder.push('0');
7260
+ # `
7261
+ # resultBuilder.push(hexString);
7262
+ # return resultBuilder.join('');
7263
+ # `;
7264
+ # // ...
7265
+ # Corresponds to the JSON property `color`
7266
+ # @return [Google::Apis::VisionV1::Color]
7267
+ attr_accessor :color
7268
+
7269
+ # The fraction of pixels the color occupies in the image.
7270
+ # Value in range [0, 1].
7271
+ # Corresponds to the JSON property `pixelFraction`
7272
+ # @return [Float]
7273
+ attr_accessor :pixel_fraction
7274
+
7275
+ # Image-specific score for this color. Value in range [0, 1].
7276
+ # Corresponds to the JSON property `score`
7277
+ # @return [Float]
7278
+ attr_accessor :score
7279
+
7280
+ def initialize(**args)
7281
+ update!(**args)
7282
+ end
7283
+
7284
+ # Update properties of this object
7285
+ def update!(**args)
7286
+ @color = args[:color] if args.key?(:color)
7287
+ @pixel_fraction = args[:pixel_fraction] if args.key?(:pixel_fraction)
7288
+ @score = args[:score] if args.key?(:score)
7289
+ end
7290
+ end
7291
+
7292
+ # Single crop hint that is used to generate a new crop when serving an image.
7293
+ class GoogleCloudVisionV1p4beta1CropHint
7294
+ include Google::Apis::Core::Hashable
7295
+
7296
+ # A bounding polygon for the detected image annotation.
7297
+ # Corresponds to the JSON property `boundingPoly`
7298
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1BoundingPoly]
7299
+ attr_accessor :bounding_poly
7300
+
7301
+ # Confidence of this being a salient region. Range [0, 1].
7302
+ # Corresponds to the JSON property `confidence`
7303
+ # @return [Float]
7304
+ attr_accessor :confidence
7305
+
7306
+ # Fraction of importance of this salient region with respect to the original
7307
+ # image.
7308
+ # Corresponds to the JSON property `importanceFraction`
7309
+ # @return [Float]
7310
+ attr_accessor :importance_fraction
7311
+
7312
+ def initialize(**args)
7313
+ update!(**args)
7314
+ end
7315
+
7316
+ # Update properties of this object
7317
+ def update!(**args)
7318
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
7319
+ @confidence = args[:confidence] if args.key?(:confidence)
7320
+ @importance_fraction = args[:importance_fraction] if args.key?(:importance_fraction)
7321
+ end
7322
+ end
7323
+
7324
+ # Set of crop hints that are used to generate new crops when serving images.
7325
+ class GoogleCloudVisionV1p4beta1CropHintsAnnotation
7326
+ include Google::Apis::Core::Hashable
7327
+
7328
+ # Crop hint results.
7329
+ # Corresponds to the JSON property `cropHints`
7330
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1CropHint>]
7331
+ attr_accessor :crop_hints
7332
+
7333
+ def initialize(**args)
7334
+ update!(**args)
7335
+ end
7336
+
7337
+ # Update properties of this object
7338
+ def update!(**args)
7339
+ @crop_hints = args[:crop_hints] if args.key?(:crop_hints)
7340
+ end
7341
+ end
7342
+
7343
+ # Set of dominant colors and their corresponding scores.
7344
+ class GoogleCloudVisionV1p4beta1DominantColorsAnnotation
7345
+ include Google::Apis::Core::Hashable
7346
+
7347
+ # RGB color values with their score and pixel fraction.
7348
+ # Corresponds to the JSON property `colors`
7349
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1ColorInfo>]
7350
+ attr_accessor :colors
7351
+
7352
+ def initialize(**args)
7353
+ update!(**args)
7354
+ end
7355
+
7356
+ # Update properties of this object
7357
+ def update!(**args)
7358
+ @colors = args[:colors] if args.key?(:colors)
7359
+ end
7360
+ end
7361
+
7362
+ # Set of detected entity features.
7363
+ class GoogleCloudVisionV1p4beta1EntityAnnotation
7364
+ include Google::Apis::Core::Hashable
7365
+
7366
+ # A bounding polygon for the detected image annotation.
7367
+ # Corresponds to the JSON property `boundingPoly`
7368
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1BoundingPoly]
7369
+ attr_accessor :bounding_poly
7370
+
7371
+ # **Deprecated. Use `score` instead.**
7372
+ # The accuracy of the entity detection in an image.
7373
+ # For example, for an image in which the "Eiffel Tower" entity is detected,
7374
+ # this field represents the confidence that there is a tower in the query
7375
+ # image. Range [0, 1].
7376
+ # Corresponds to the JSON property `confidence`
7377
+ # @return [Float]
7378
+ attr_accessor :confidence
7379
+
7380
+ # Entity textual description, expressed in its `locale` language.
7381
+ # Corresponds to the JSON property `description`
7382
+ # @return [String]
7383
+ attr_accessor :description
7384
+
7385
+ # The language code for the locale in which the entity textual
7386
+ # `description` is expressed.
7387
+ # Corresponds to the JSON property `locale`
7388
+ # @return [String]
7389
+ attr_accessor :locale
7390
+
7391
+ # The location information for the detected entity. Multiple
7392
+ # `LocationInfo` elements can be present because one location may
7393
+ # indicate the location of the scene in the image, and another location
7394
+ # may indicate the location of the place where the image was taken.
7395
+ # Location information is usually present for landmarks.
7396
+ # Corresponds to the JSON property `locations`
7397
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1LocationInfo>]
7398
+ attr_accessor :locations
7399
+
7400
+ # Opaque entity ID. Some IDs may be available in
7401
+ # [Google Knowledge Graph Search
7402
+ # API](https://developers.google.com/knowledge-graph/).
7403
+ # Corresponds to the JSON property `mid`
7404
+ # @return [String]
7405
+ attr_accessor :mid
7406
+
7407
+ # Some entities may have optional user-supplied `Property` (name/value)
7408
+ # fields, such a score or string that qualifies the entity.
7409
+ # Corresponds to the JSON property `properties`
7410
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1Property>]
7411
+ attr_accessor :properties
7412
+
7413
+ # Overall score of the result. Range [0, 1].
7414
+ # Corresponds to the JSON property `score`
7415
+ # @return [Float]
7416
+ attr_accessor :score
7417
+
7418
+ # The relevancy of the ICA (Image Content Annotation) label to the
7419
+ # image. For example, the relevancy of "tower" is likely higher to an image
7420
+ # containing the detected "Eiffel Tower" than to an image containing a
7421
+ # detected distant towering building, even though the confidence that
7422
+ # there is a tower in each image may be the same. Range [0, 1].
7423
+ # Corresponds to the JSON property `topicality`
7424
+ # @return [Float]
7425
+ attr_accessor :topicality
7426
+
7427
+ def initialize(**args)
7428
+ update!(**args)
7429
+ end
7430
+
7431
+ # Update properties of this object
7432
+ def update!(**args)
7433
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
7434
+ @confidence = args[:confidence] if args.key?(:confidence)
7435
+ @description = args[:description] if args.key?(:description)
7436
+ @locale = args[:locale] if args.key?(:locale)
7437
+ @locations = args[:locations] if args.key?(:locations)
7438
+ @mid = args[:mid] if args.key?(:mid)
7439
+ @properties = args[:properties] if args.key?(:properties)
7440
+ @score = args[:score] if args.key?(:score)
7441
+ @topicality = args[:topicality] if args.key?(:topicality)
7442
+ end
7443
+ end
7444
+
7445
+ # A face annotation object contains the results of face detection.
7446
+ class GoogleCloudVisionV1p4beta1FaceAnnotation
7447
+ include Google::Apis::Core::Hashable
7448
+
7449
+ # Anger likelihood.
7450
+ # Corresponds to the JSON property `angerLikelihood`
7451
+ # @return [String]
7452
+ attr_accessor :anger_likelihood
7453
+
7454
+ # Blurred likelihood.
7455
+ # Corresponds to the JSON property `blurredLikelihood`
7456
+ # @return [String]
7457
+ attr_accessor :blurred_likelihood
7458
+
7459
+ # A bounding polygon for the detected image annotation.
7460
+ # Corresponds to the JSON property `boundingPoly`
7461
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1BoundingPoly]
7462
+ attr_accessor :bounding_poly
7463
+
7464
+ # Detection confidence. Range [0, 1].
7465
+ # Corresponds to the JSON property `detectionConfidence`
7466
+ # @return [Float]
7467
+ attr_accessor :detection_confidence
7468
+
7469
+ # A bounding polygon for the detected image annotation.
7470
+ # Corresponds to the JSON property `fdBoundingPoly`
7471
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1BoundingPoly]
7472
+ attr_accessor :fd_bounding_poly
7473
+
7474
+ # Headwear likelihood.
7475
+ # Corresponds to the JSON property `headwearLikelihood`
7476
+ # @return [String]
7477
+ attr_accessor :headwear_likelihood
7478
+
7479
+ # Joy likelihood.
7480
+ # Corresponds to the JSON property `joyLikelihood`
7481
+ # @return [String]
7482
+ attr_accessor :joy_likelihood
7483
+
7484
+ # Face landmarking confidence. Range [0, 1].
7485
+ # Corresponds to the JSON property `landmarkingConfidence`
7486
+ # @return [Float]
7487
+ attr_accessor :landmarking_confidence
7488
+
7489
+ # Detected face landmarks.
7490
+ # Corresponds to the JSON property `landmarks`
7491
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1FaceAnnotationLandmark>]
7492
+ attr_accessor :landmarks
7493
+
7494
+ # Yaw angle, which indicates the leftward/rightward angle that the face is
7495
+ # pointing relative to the vertical plane perpendicular to the image. Range
7496
+ # [-180,180].
7497
+ # Corresponds to the JSON property `panAngle`
7498
+ # @return [Float]
7499
+ attr_accessor :pan_angle
7500
+
7501
+ # Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
7502
+ # of the face relative to the image vertical about the axis perpendicular to
7503
+ # the face. Range [-180,180].
7504
+ # Corresponds to the JSON property `rollAngle`
7505
+ # @return [Float]
7506
+ attr_accessor :roll_angle
7507
+
7508
+ # Sorrow likelihood.
7509
+ # Corresponds to the JSON property `sorrowLikelihood`
7510
+ # @return [String]
7511
+ attr_accessor :sorrow_likelihood
7512
+
7513
+ # Surprise likelihood.
7514
+ # Corresponds to the JSON property `surpriseLikelihood`
7515
+ # @return [String]
7516
+ attr_accessor :surprise_likelihood
7517
+
7518
+ # Pitch angle, which indicates the upwards/downwards angle that the face is
7519
+ # pointing relative to the image's horizontal plane. Range [-180,180].
7520
+ # Corresponds to the JSON property `tiltAngle`
7521
+ # @return [Float]
7522
+ attr_accessor :tilt_angle
7523
+
7524
+ # Under-exposed likelihood.
7525
+ # Corresponds to the JSON property `underExposedLikelihood`
7526
+ # @return [String]
7527
+ attr_accessor :under_exposed_likelihood
7528
+
7529
+ def initialize(**args)
7530
+ update!(**args)
7531
+ end
7532
+
7533
+ # Update properties of this object
7534
+ def update!(**args)
7535
+ @anger_likelihood = args[:anger_likelihood] if args.key?(:anger_likelihood)
7536
+ @blurred_likelihood = args[:blurred_likelihood] if args.key?(:blurred_likelihood)
7537
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
7538
+ @detection_confidence = args[:detection_confidence] if args.key?(:detection_confidence)
7539
+ @fd_bounding_poly = args[:fd_bounding_poly] if args.key?(:fd_bounding_poly)
7540
+ @headwear_likelihood = args[:headwear_likelihood] if args.key?(:headwear_likelihood)
7541
+ @joy_likelihood = args[:joy_likelihood] if args.key?(:joy_likelihood)
7542
+ @landmarking_confidence = args[:landmarking_confidence] if args.key?(:landmarking_confidence)
7543
+ @landmarks = args[:landmarks] if args.key?(:landmarks)
7544
+ @pan_angle = args[:pan_angle] if args.key?(:pan_angle)
7545
+ @roll_angle = args[:roll_angle] if args.key?(:roll_angle)
7546
+ @sorrow_likelihood = args[:sorrow_likelihood] if args.key?(:sorrow_likelihood)
7547
+ @surprise_likelihood = args[:surprise_likelihood] if args.key?(:surprise_likelihood)
7548
+ @tilt_angle = args[:tilt_angle] if args.key?(:tilt_angle)
7549
+ @under_exposed_likelihood = args[:under_exposed_likelihood] if args.key?(:under_exposed_likelihood)
7550
+ end
7551
+ end
7552
+
7553
+ # A face-specific landmark (for example, a face feature).
7554
+ class GoogleCloudVisionV1p4beta1FaceAnnotationLandmark
7555
+ include Google::Apis::Core::Hashable
7556
+
7557
+ # A 3D position in the image, used primarily for Face detection landmarks.
7558
+ # A valid Position must have both x and y coordinates.
7559
+ # The position coordinates are in the same scale as the original image.
7560
+ # Corresponds to the JSON property `position`
7561
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1Position]
7562
+ attr_accessor :position
7563
+
7564
+ # Face landmark type.
7565
+ # Corresponds to the JSON property `type`
7566
+ # @return [String]
7567
+ attr_accessor :type
7568
+
7569
+ def initialize(**args)
7570
+ update!(**args)
7571
+ end
7572
+
7573
+ # Update properties of this object
7574
+ def update!(**args)
7575
+ @position = args[:position] if args.key?(:position)
7576
+ @type = args[:type] if args.key?(:type)
7577
+ end
7578
+ end
7579
+
7580
+ # The Google Cloud Storage location where the output will be written to.
7581
+ class GoogleCloudVisionV1p4beta1GcsDestination
7582
+ include Google::Apis::Core::Hashable
7583
+
7584
+ # Google Cloud Storage URI prefix where the results will be stored. Results
7585
+ # will be in JSON format and preceded by its corresponding input URI prefix.
7586
+ # This field can either represent a gcs file prefix or gcs directory. In
7587
+ # either case, the uri should be unique because in order to get all of the
7588
+ # output files, you will need to do a wildcard gcs search on the uri prefix
7589
+ # you provide.
7590
+ # Examples:
7591
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
7592
+ # will be created in gs://bucket-name/here/ and the names of the
7593
+ # output files will begin with "filenameprefix".
7594
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
7595
+ # will be created in gs://bucket-name/some/location/ and the names of the
7596
+ # output files could be anything because there was no filename prefix
7597
+ # specified.
7598
+ # If multiple outputs, each response is still AnnotateFileResponse, each of
7599
+ # which contains some subset of the full list of AnnotateImageResponse.
7600
+ # Multiple outputs can happen if, for example, the output JSON is too large
7601
+ # and overflows into multiple sharded files.
7602
+ # Corresponds to the JSON property `uri`
7603
+ # @return [String]
7604
+ attr_accessor :uri
7605
+
7606
+ def initialize(**args)
7607
+ update!(**args)
7608
+ end
7609
+
7610
+ # Update properties of this object
7611
+ def update!(**args)
7612
+ @uri = args[:uri] if args.key?(:uri)
7613
+ end
7614
+ end
7615
+
7616
+ # The Google Cloud Storage location where the input will be read from.
7617
+ class GoogleCloudVisionV1p4beta1GcsSource
7618
+ include Google::Apis::Core::Hashable
7619
+
7620
+ # Google Cloud Storage URI for the input file. This must only be a
7621
+ # Google Cloud Storage object. Wildcards are not currently supported.
7622
+ # Corresponds to the JSON property `uri`
7623
+ # @return [String]
7624
+ attr_accessor :uri
7625
+
7626
+ def initialize(**args)
7627
+ update!(**args)
7628
+ end
7629
+
7630
+ # Update properties of this object
7631
+ def update!(**args)
7632
+ @uri = args[:uri] if args.key?(:uri)
7633
+ end
7634
+ end
7635
+
7636
+ # If an image was produced from a file (e.g. a PDF), this message gives
7637
+ # information about the source of that image.
7638
+ class GoogleCloudVisionV1p4beta1ImageAnnotationContext
7639
+ include Google::Apis::Core::Hashable
7640
+
7641
+ # If the file was a PDF or TIFF, this field gives the page number within
7642
+ # the file used to produce the image.
7643
+ # Corresponds to the JSON property `pageNumber`
7644
+ # @return [Fixnum]
7645
+ attr_accessor :page_number
7646
+
7647
+ # The URI of the file used to produce the image.
7648
+ # Corresponds to the JSON property `uri`
7649
+ # @return [String]
7650
+ attr_accessor :uri
7651
+
7652
+ def initialize(**args)
7653
+ update!(**args)
7654
+ end
7655
+
7656
+ # Update properties of this object
7657
+ def update!(**args)
7658
+ @page_number = args[:page_number] if args.key?(:page_number)
7659
+ @uri = args[:uri] if args.key?(:uri)
7660
+ end
7661
+ end
7662
+
7663
+ # Stores image properties, such as dominant colors.
7664
+ class GoogleCloudVisionV1p4beta1ImageProperties
7665
+ include Google::Apis::Core::Hashable
7666
+
7667
+ # Set of dominant colors and their corresponding scores.
7668
+ # Corresponds to the JSON property `dominantColors`
7669
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1DominantColorsAnnotation]
7670
+ attr_accessor :dominant_colors
7671
+
7672
+ def initialize(**args)
7673
+ update!(**args)
7674
+ end
7675
+
7676
+ # Update properties of this object
7677
+ def update!(**args)
7678
+ @dominant_colors = args[:dominant_colors] if args.key?(:dominant_colors)
7679
+ end
7680
+ end
7681
+
7682
+ # Response message for the `ImportProductSets` method.
7683
+ # This message is returned by the
7684
+ # google.longrunning.Operations.GetOperation method in the returned
7685
+ # google.longrunning.Operation.response field.
7686
+ class GoogleCloudVisionV1p4beta1ImportProductSetsResponse
7687
+ include Google::Apis::Core::Hashable
7688
+
7689
+ # The list of reference_images that are imported successfully.
7690
+ # Corresponds to the JSON property `referenceImages`
7691
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1ReferenceImage>]
7692
+ attr_accessor :reference_images
7693
+
7694
+ # The rpc status for each ImportProductSet request, including both successes
7695
+ # and errors.
7696
+ # The number of statuses here matches the number of lines in the csv file,
7697
+ # and statuses[i] stores the success or failure status of processing the i-th
7698
+ # line of the csv, starting from line 0.
7699
+ # Corresponds to the JSON property `statuses`
7700
+ # @return [Array<Google::Apis::VisionV1::Status>]
7701
+ attr_accessor :statuses
7702
+
7703
+ def initialize(**args)
7704
+ update!(**args)
7705
+ end
7706
+
7707
+ # Update properties of this object
7708
+ def update!(**args)
7709
+ @reference_images = args[:reference_images] if args.key?(:reference_images)
7710
+ @statuses = args[:statuses] if args.key?(:statuses)
7711
+ end
7712
+ end
7713
+
7714
+ # The desired input location and metadata.
7715
+ class GoogleCloudVisionV1p4beta1InputConfig
7716
+ include Google::Apis::Core::Hashable
7717
+
7718
+ # File content, represented as a stream of bytes.
7719
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
7720
+ # representation, whereas JSON representations use base64.
7721
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
7722
+ # not work for AsyncBatchAnnotateFiles requests.
7723
+ # Corresponds to the JSON property `content`
7724
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
7725
+ # @return [String]
7726
+ attr_accessor :content
7727
+
7728
+ # The Google Cloud Storage location where the input will be read from.
7729
+ # Corresponds to the JSON property `gcsSource`
7730
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1GcsSource]
7731
+ attr_accessor :gcs_source
7732
+
7733
+ # The type of the file. Currently only "application/pdf" and "image/tiff"
7734
+ # are supported. Wildcards are not supported.
7735
+ # Corresponds to the JSON property `mimeType`
7736
+ # @return [String]
7737
+ attr_accessor :mime_type
7738
+
7739
+ def initialize(**args)
7740
+ update!(**args)
7741
+ end
7742
+
7743
+ # Update properties of this object
7744
+ def update!(**args)
7745
+ @content = args[:content] if args.key?(:content)
7746
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
7747
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
7748
+ end
7749
+ end
7750
+
7751
+ # Set of detected objects with bounding boxes.
7752
+ class GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation
7753
+ include Google::Apis::Core::Hashable
7754
+
7755
+ # A bounding polygon for the detected image annotation.
7756
+ # Corresponds to the JSON property `boundingPoly`
7757
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1BoundingPoly]
7758
+ attr_accessor :bounding_poly
7759
+
7760
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
7761
+ # information, see
7762
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
7763
+ # Corresponds to the JSON property `languageCode`
7764
+ # @return [String]
7765
+ attr_accessor :language_code
7766
+
7767
+ # Object ID that should align with EntityAnnotation mid.
7768
+ # Corresponds to the JSON property `mid`
7769
+ # @return [String]
7770
+ attr_accessor :mid
7771
+
7772
+ # Object name, expressed in its `language_code` language.
7773
+ # Corresponds to the JSON property `name`
7774
+ # @return [String]
7775
+ attr_accessor :name
7776
+
7777
+ # Score of the result. Range [0, 1].
7778
+ # Corresponds to the JSON property `score`
7779
+ # @return [Float]
7780
+ attr_accessor :score
7781
+
7782
+ def initialize(**args)
7783
+ update!(**args)
7784
+ end
7785
+
7786
+ # Update properties of this object
7787
+ def update!(**args)
7788
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
7789
+ @language_code = args[:language_code] if args.key?(:language_code)
7790
+ @mid = args[:mid] if args.key?(:mid)
7791
+ @name = args[:name] if args.key?(:name)
7792
+ @score = args[:score] if args.key?(:score)
7793
+ end
7794
+ end
7795
+
7796
+ # Detected entity location information.
7797
+ class GoogleCloudVisionV1p4beta1LocationInfo
7798
+ include Google::Apis::Core::Hashable
7799
+
7800
+ # An object representing a latitude/longitude pair. This is expressed as a pair
7801
+ # of doubles representing degrees latitude and degrees longitude. Unless
7802
+ # specified otherwise, this must conform to the
7803
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
7804
+ # standard</a>. Values must be within normalized ranges.
7805
+ # Corresponds to the JSON property `latLng`
7806
+ # @return [Google::Apis::VisionV1::LatLng]
7807
+ attr_accessor :lat_lng
7808
+
7809
+ def initialize(**args)
7810
+ update!(**args)
7811
+ end
7812
+
7813
+ # Update properties of this object
7814
+ def update!(**args)
7815
+ @lat_lng = args[:lat_lng] if args.key?(:lat_lng)
7816
+ end
7817
+ end
7818
+
7819
+ # A vertex represents a 2D point in the image.
7820
+ # NOTE: the normalized vertex coordinates are relative to the original image
7821
+ # and range from 0 to 1.
7822
+ class GoogleCloudVisionV1p4beta1NormalizedVertex
7823
+ include Google::Apis::Core::Hashable
7824
+
7825
+ # X coordinate.
7826
+ # Corresponds to the JSON property `x`
7827
+ # @return [Float]
7828
+ attr_accessor :x
7829
+
7830
+ # Y coordinate.
7831
+ # Corresponds to the JSON property `y`
7832
+ # @return [Float]
7833
+ attr_accessor :y
7834
+
7835
+ def initialize(**args)
7836
+ update!(**args)
7837
+ end
7838
+
7839
+ # Update properties of this object
7840
+ def update!(**args)
7841
+ @x = args[:x] if args.key?(:x)
7842
+ @y = args[:y] if args.key?(:y)
7843
+ end
7844
+ end
7845
+
7846
+ # Contains metadata for the BatchAnnotateImages operation.
7847
+ class GoogleCloudVisionV1p4beta1OperationMetadata
7848
+ include Google::Apis::Core::Hashable
7849
+
7850
+ # The time when the batch request was received.
7851
+ # Corresponds to the JSON property `createTime`
7852
+ # @return [String]
7853
+ attr_accessor :create_time
7854
+
7855
+ # Current state of the batch operation.
7856
+ # Corresponds to the JSON property `state`
7857
+ # @return [String]
7858
+ attr_accessor :state
7859
+
7860
+ # The time when the operation result was last updated.
7861
+ # Corresponds to the JSON property `updateTime`
7862
+ # @return [String]
7863
+ attr_accessor :update_time
7864
+
7865
+ def initialize(**args)
7866
+ update!(**args)
7867
+ end
7868
+
7869
+ # Update properties of this object
7870
+ def update!(**args)
7871
+ @create_time = args[:create_time] if args.key?(:create_time)
7872
+ @state = args[:state] if args.key?(:state)
7873
+ @update_time = args[:update_time] if args.key?(:update_time)
7874
+ end
7875
+ end
7876
+
7877
+ # The desired output location and metadata.
7878
+ class GoogleCloudVisionV1p4beta1OutputConfig
7879
+ include Google::Apis::Core::Hashable
7880
+
7881
+ # The max number of response protos to put into each output JSON file on
7882
+ # Google Cloud Storage.
7883
+ # The valid range is [1, 100]. If not specified, the default value is 20.
7884
+ # For example, for one pdf file with 100 pages, 100 response protos will
7885
+ # be generated. If `batch_size` = 20, then 5 json files each
7886
+ # containing 20 response protos will be written under the prefix
7887
+ # `gcs_destination`.`uri`.
7888
+ # Currently, batch_size only applies to GcsDestination, with potential future
7889
+ # support for other output configurations.
7890
+ # Corresponds to the JSON property `batchSize`
7891
+ # @return [Fixnum]
7892
+ attr_accessor :batch_size
7893
+
7894
+ # The Google Cloud Storage location where the output will be written to.
7895
+ # Corresponds to the JSON property `gcsDestination`
7896
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1GcsDestination]
7897
+ attr_accessor :gcs_destination
7898
+
7899
+ def initialize(**args)
7900
+ update!(**args)
7901
+ end
7902
+
7903
+ # Update properties of this object
7904
+ def update!(**args)
7905
+ @batch_size = args[:batch_size] if args.key?(:batch_size)
7906
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
7907
+ end
7908
+ end
7909
+
7910
+ # Detected page from OCR.
7911
+ class GoogleCloudVisionV1p4beta1Page
7912
+ include Google::Apis::Core::Hashable
7913
+
7914
+ # List of blocks of text, images etc on this page.
7915
+ # Corresponds to the JSON property `blocks`
7916
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1Block>]
7917
+ attr_accessor :blocks
7918
+
7919
+ # Confidence of the OCR results on the page. Range [0, 1].
7920
+ # Corresponds to the JSON property `confidence`
7921
+ # @return [Float]
7922
+ attr_accessor :confidence
7923
+
7924
+ # Page height. For PDFs the unit is points. For images (including
7925
+ # TIFFs) the unit is pixels.
7926
+ # Corresponds to the JSON property `height`
7927
+ # @return [Fixnum]
7928
+ attr_accessor :height
7929
+
7930
+ # Additional information detected on the structural component.
7931
+ # Corresponds to the JSON property `property`
7932
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1TextAnnotationTextProperty]
7933
+ attr_accessor :property
7934
+
7935
+ # Page width. For PDFs the unit is points. For images (including
7936
+ # TIFFs) the unit is pixels.
7937
+ # Corresponds to the JSON property `width`
7938
+ # @return [Fixnum]
7939
+ attr_accessor :width
7940
+
7941
+ def initialize(**args)
7942
+ update!(**args)
7943
+ end
7944
+
7945
+ # Update properties of this object
7946
+ def update!(**args)
7947
+ @blocks = args[:blocks] if args.key?(:blocks)
7948
+ @confidence = args[:confidence] if args.key?(:confidence)
7949
+ @height = args[:height] if args.key?(:height)
7950
+ @property = args[:property] if args.key?(:property)
7951
+ @width = args[:width] if args.key?(:width)
7952
+ end
7953
+ end
7954
+
7955
+ # Structural unit of text representing a number of words in certain order.
7956
+ class GoogleCloudVisionV1p4beta1Paragraph
7957
+ include Google::Apis::Core::Hashable
7958
+
7959
+ # A bounding polygon for the detected image annotation.
7960
+ # Corresponds to the JSON property `boundingBox`
7961
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1BoundingPoly]
7962
+ attr_accessor :bounding_box
7963
+
7964
+ # Confidence of the OCR results for the paragraph. Range [0, 1].
7965
+ # Corresponds to the JSON property `confidence`
7966
+ # @return [Float]
7967
+ attr_accessor :confidence
7968
+
7969
+ # Additional information detected on the structural component.
7970
+ # Corresponds to the JSON property `property`
7971
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1TextAnnotationTextProperty]
7972
+ attr_accessor :property
7973
+
7974
+ # List of words in this paragraph.
7975
+ # Corresponds to the JSON property `words`
7976
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1Word>]
7977
+ attr_accessor :words
7978
+
7979
+ def initialize(**args)
7980
+ update!(**args)
7981
+ end
7982
+
7983
+ # Update properties of this object
7984
+ def update!(**args)
7985
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
7986
+ @confidence = args[:confidence] if args.key?(:confidence)
7987
+ @property = args[:property] if args.key?(:property)
7988
+ @words = args[:words] if args.key?(:words)
7989
+ end
7990
+ end
7991
+
7992
+ # A 3D position in the image, used primarily for Face detection landmarks.
7993
+ # A valid Position must have both x and y coordinates.
7994
+ # The position coordinates are in the same scale as the original image.
7995
+ class GoogleCloudVisionV1p4beta1Position
7996
+ include Google::Apis::Core::Hashable
7997
+
7998
+ # X coordinate.
7999
+ # Corresponds to the JSON property `x`
8000
+ # @return [Float]
8001
+ attr_accessor :x
8002
+
8003
+ # Y coordinate.
8004
+ # Corresponds to the JSON property `y`
8005
+ # @return [Float]
8006
+ attr_accessor :y
8007
+
8008
+ # Z coordinate (or depth).
8009
+ # Corresponds to the JSON property `z`
8010
+ # @return [Float]
8011
+ attr_accessor :z
8012
+
8013
+ def initialize(**args)
8014
+ update!(**args)
8015
+ end
8016
+
8017
+ # Update properties of this object
8018
+ def update!(**args)
8019
+ @x = args[:x] if args.key?(:x)
8020
+ @y = args[:y] if args.key?(:y)
8021
+ @z = args[:z] if args.key?(:z)
8022
+ end
8023
+ end
8024
+
8025
+ # A Product contains ReferenceImages.
8026
+ class GoogleCloudVisionV1p4beta1Product
8027
+ include Google::Apis::Core::Hashable
8028
+
8029
+ # User-provided metadata to be stored with this product. Must be at most 4096
8030
+ # characters long.
8031
+ # Corresponds to the JSON property `description`
8032
+ # @return [String]
8033
+ attr_accessor :description
8034
+
8035
+ # The user-provided name for this Product. Must not be empty. Must be at most
8036
+ # 4096 characters long.
8037
+ # Corresponds to the JSON property `displayName`
8038
+ # @return [String]
8039
+ attr_accessor :display_name
8040
+
8041
+ # The resource name of the product.
8042
+ # Format is:
8043
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
8044
+ # This field is ignored when creating a product.
8045
+ # Corresponds to the JSON property `name`
8046
+ # @return [String]
8047
+ attr_accessor :name
8048
+
8049
+ # The category for the product identified by the reference image. This should
8050
+ # be either "homegoods", "apparel", or "toys".
8051
+ # This field is immutable.
8052
+ # Corresponds to the JSON property `productCategory`
8053
+ # @return [String]
8054
+ attr_accessor :product_category
8055
+
8056
+ # Key-value pairs that can be attached to a product. At query time,
8057
+ # constraints can be specified based on the product_labels.
8058
+ # Note that integer values can be provided as strings, e.g. "1199". Only
8059
+ # strings with integer values can match a range-based restriction which is
8060
+ # to be supported soon.
8061
+ # Multiple values can be assigned to the same key. One product may have up to
8062
+ # 100 product_labels.
8063
+ # Corresponds to the JSON property `productLabels`
8064
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1ProductKeyValue>]
8065
+ attr_accessor :product_labels
8066
+
8067
+ def initialize(**args)
8068
+ update!(**args)
8069
+ end
8070
+
8071
+ # Update properties of this object
8072
+ def update!(**args)
8073
+ @description = args[:description] if args.key?(:description)
8074
+ @display_name = args[:display_name] if args.key?(:display_name)
8075
+ @name = args[:name] if args.key?(:name)
8076
+ @product_category = args[:product_category] if args.key?(:product_category)
8077
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
8078
+ end
8079
+ end
8080
+
8081
+ # A product label represented as a key-value pair.
8082
+ class GoogleCloudVisionV1p4beta1ProductKeyValue
8083
+ include Google::Apis::Core::Hashable
8084
+
8085
+ # The key of the label attached to the product. Cannot be empty and cannot
8086
+ # exceed 128 bytes.
8087
+ # Corresponds to the JSON property `key`
8088
+ # @return [String]
8089
+ attr_accessor :key
8090
+
8091
+ # The value of the label attached to the product. Cannot be empty and
8092
+ # cannot exceed 128 bytes.
8093
+ # Corresponds to the JSON property `value`
8094
+ # @return [String]
8095
+ attr_accessor :value
8096
+
8097
+ def initialize(**args)
8098
+ update!(**args)
8099
+ end
8100
+
8101
+ # Update properties of this object
8102
+ def update!(**args)
8103
+ @key = args[:key] if args.key?(:key)
8104
+ @value = args[:value] if args.key?(:value)
8105
+ end
8106
+ end
8107
+
8108
+ # Results for a product search request.
8109
+ class GoogleCloudVisionV1p4beta1ProductSearchResults
8110
+ include Google::Apis::Core::Hashable
8111
+
8112
+ # Timestamp of the index which provided these results. Products added to the
8113
+ # product set and products removed from the product set after this time are
8114
+ # not reflected in the current results.
8115
+ # Corresponds to the JSON property `indexTime`
8116
+ # @return [String]
8117
+ attr_accessor :index_time
8118
+
8119
+ # List of results grouped by products detected in the query image. Each entry
8120
+ # corresponds to one bounding polygon in the query image, and contains the
8121
+ # matching products specific to that region. There may be duplicate product
8122
+ # matches in the union of all the per-product results.
8123
+ # Corresponds to the JSON property `productGroupedResults`
8124
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult>]
8125
+ attr_accessor :product_grouped_results
8126
+
8127
+ # List of results, one for each product match.
8128
+ # Corresponds to the JSON property `results`
8129
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1ProductSearchResultsResult>]
8130
+ attr_accessor :results
8131
+
8132
+ def initialize(**args)
8133
+ update!(**args)
8134
+ end
8135
+
8136
+ # Update properties of this object
8137
+ def update!(**args)
8138
+ @index_time = args[:index_time] if args.key?(:index_time)
8139
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
8140
+ @results = args[:results] if args.key?(:results)
8141
+ end
8142
+ end
8143
+
8144
+ # Information about the products similar to a single product in a query
8145
+ # image.
8146
+ class GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult
8147
+ include Google::Apis::Core::Hashable
8148
+
8149
+ # A bounding polygon for the detected image annotation.
8150
+ # Corresponds to the JSON property `boundingPoly`
8151
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1BoundingPoly]
8152
+ attr_accessor :bounding_poly
8153
+
8154
+ # List of results, one for each product match.
8155
+ # Corresponds to the JSON property `results`
8156
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1ProductSearchResultsResult>]
8157
+ attr_accessor :results
8158
+
8159
+ def initialize(**args)
8160
+ update!(**args)
8161
+ end
8162
+
8163
+ # Update properties of this object
8164
+ def update!(**args)
8165
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
8166
+ @results = args[:results] if args.key?(:results)
8167
+ end
8168
+ end
8169
+
8170
+ # Information about a product.
8171
+ class GoogleCloudVisionV1p4beta1ProductSearchResultsResult
8172
+ include Google::Apis::Core::Hashable
8173
+
8174
+ # The resource name of the image from the product that is the closest match
8175
+ # to the query.
8176
+ # Corresponds to the JSON property `image`
8177
+ # @return [String]
8178
+ attr_accessor :image
8179
+
8180
+ # A Product contains ReferenceImages.
8181
+ # Corresponds to the JSON property `product`
8182
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1Product]
8183
+ attr_accessor :product
8184
+
8185
+ # A confidence level on the match, ranging from 0 (no confidence) to
8186
+ # 1 (full confidence).
8187
+ # Corresponds to the JSON property `score`
8188
+ # @return [Float]
8189
+ attr_accessor :score
8190
+
8191
+ def initialize(**args)
8192
+ update!(**args)
8193
+ end
8194
+
8195
+ # Update properties of this object
8196
+ def update!(**args)
8197
+ @image = args[:image] if args.key?(:image)
8198
+ @product = args[:product] if args.key?(:product)
8199
+ @score = args[:score] if args.key?(:score)
8200
+ end
8201
+ end
8202
+
8203
+ # A `Property` consists of a user-supplied name/value pair.
8204
+ class GoogleCloudVisionV1p4beta1Property
8205
+ include Google::Apis::Core::Hashable
8206
+
8207
+ # Name of the property.
8208
+ # Corresponds to the JSON property `name`
8209
+ # @return [String]
8210
+ attr_accessor :name
8211
+
8212
+ # Value of numeric properties.
8213
+ # Corresponds to the JSON property `uint64Value`
8214
+ # @return [Fixnum]
8215
+ attr_accessor :uint64_value
8216
+
8217
+ # Value of the property.
8218
+ # Corresponds to the JSON property `value`
8219
+ # @return [String]
8220
+ attr_accessor :value
8221
+
8222
+ def initialize(**args)
8223
+ update!(**args)
8224
+ end
8225
+
8226
+ # Update properties of this object
8227
+ def update!(**args)
8228
+ @name = args[:name] if args.key?(:name)
8229
+ @uint64_value = args[:uint64_value] if args.key?(:uint64_value)
8230
+ @value = args[:value] if args.key?(:value)
8231
+ end
8232
+ end
8233
+
8234
+ # A `ReferenceImage` represents a product image and its associated metadata,
8235
+ # such as bounding boxes.
8236
+ class GoogleCloudVisionV1p4beta1ReferenceImage
8237
+ include Google::Apis::Core::Hashable
8238
+
8239
+ # Bounding polygons around the areas of interest in the reference image.
8240
+ # Optional. If this field is empty, the system will try to detect regions of
8241
+ # interest. At most 10 bounding polygons will be used.
8242
+ # The provided shape is converted into a non-rotated rectangle. Once
8243
+ # converted, the small edge of the rectangle must be greater than or equal
8244
+ # to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5
8245
+ # is not).
8246
+ # Corresponds to the JSON property `boundingPolys`
8247
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1BoundingPoly>]
8248
+ attr_accessor :bounding_polys
8249
+
8250
+ # The resource name of the reference image.
8251
+ # Format is:
8252
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/
8253
+ # IMAGE_ID`.
8254
+ # This field is ignored when creating a reference image.
8255
+ # Corresponds to the JSON property `name`
8256
+ # @return [String]
8257
+ attr_accessor :name
8258
+
8259
+ # The Google Cloud Storage URI of the reference image.
8260
+ # The URI must start with `gs://`.
8261
+ # Required.
8262
+ # Corresponds to the JSON property `uri`
8263
+ # @return [String]
8264
+ attr_accessor :uri
8265
+
8266
+ def initialize(**args)
8267
+ update!(**args)
8268
+ end
8269
+
8270
+ # Update properties of this object
8271
+ def update!(**args)
8272
+ @bounding_polys = args[:bounding_polys] if args.key?(:bounding_polys)
8273
+ @name = args[:name] if args.key?(:name)
8274
+ @uri = args[:uri] if args.key?(:uri)
8275
+ end
8276
+ end
8277
+
8278
+ # Set of features pertaining to the image, computed by computer vision
8279
+ # methods over safe-search verticals (for example, adult, spoof, medical,
8280
+ # violence).
8281
+ class GoogleCloudVisionV1p4beta1SafeSearchAnnotation
8282
+ include Google::Apis::Core::Hashable
8283
+
8284
+ # Represents the adult content likelihood for the image. Adult content may
8285
+ # contain elements such as nudity, pornographic images or cartoons, or
8286
+ # sexual activities.
8287
+ # Corresponds to the JSON property `adult`
8288
+ # @return [String]
8289
+ attr_accessor :adult
8290
+
8291
+ # Likelihood that this is a medical image.
8292
+ # Corresponds to the JSON property `medical`
8293
+ # @return [String]
8294
+ attr_accessor :medical
8295
+
8296
+ # Likelihood that the request image contains racy content. Racy content may
8297
+ # include (but is not limited to) skimpy or sheer clothing, strategically
8298
+ # covered nudity, lewd or provocative poses, or close-ups of sensitive
8299
+ # body areas.
8300
+ # Corresponds to the JSON property `racy`
8301
+ # @return [String]
8302
+ attr_accessor :racy
8303
+
8304
+ # Spoof likelihood. The likelihood that an modification
8305
+ # was made to the image's canonical version to make it appear
8306
+ # funny or offensive.
8307
+ # Corresponds to the JSON property `spoof`
8308
+ # @return [String]
8309
+ attr_accessor :spoof
8310
+
8311
+ # Likelihood that this image contains violent content.
8312
+ # Corresponds to the JSON property `violence`
8313
+ # @return [String]
8314
+ attr_accessor :violence
8315
+
8316
+ def initialize(**args)
8317
+ update!(**args)
8318
+ end
8319
+
8320
+ # Update properties of this object
8321
+ def update!(**args)
8322
+ @adult = args[:adult] if args.key?(:adult)
8323
+ @medical = args[:medical] if args.key?(:medical)
8324
+ @racy = args[:racy] if args.key?(:racy)
8325
+ @spoof = args[:spoof] if args.key?(:spoof)
8326
+ @violence = args[:violence] if args.key?(:violence)
8327
+ end
8328
+ end
8329
+
8330
+ # A single symbol representation.
8331
+ class GoogleCloudVisionV1p4beta1Symbol
8332
+ include Google::Apis::Core::Hashable
8333
+
8334
+ # A bounding polygon for the detected image annotation.
8335
+ # Corresponds to the JSON property `boundingBox`
8336
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1BoundingPoly]
8337
+ attr_accessor :bounding_box
8338
+
8339
+ # Confidence of the OCR results for the symbol. Range [0, 1].
8340
+ # Corresponds to the JSON property `confidence`
8341
+ # @return [Float]
8342
+ attr_accessor :confidence
8343
+
8344
+ # Additional information detected on the structural component.
8345
+ # Corresponds to the JSON property `property`
8346
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1TextAnnotationTextProperty]
8347
+ attr_accessor :property
8348
+
8349
+ # The actual UTF-8 representation of the symbol.
8350
+ # Corresponds to the JSON property `text`
8351
+ # @return [String]
8352
+ attr_accessor :text
8353
+
8354
+ def initialize(**args)
8355
+ update!(**args)
8356
+ end
8357
+
8358
+ # Update properties of this object
8359
+ def update!(**args)
8360
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
8361
+ @confidence = args[:confidence] if args.key?(:confidence)
8362
+ @property = args[:property] if args.key?(:property)
8363
+ @text = args[:text] if args.key?(:text)
8364
+ end
8365
+ end
8366
+
8367
+ # TextAnnotation contains a structured representation of OCR extracted text.
8368
+ # The hierarchy of an OCR extracted text structure is like this:
8369
+ # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol
8370
+ # Each structural component, starting from Page, may further have their own
8371
+ # properties. Properties describe detected languages, breaks etc.. Please refer
8372
+ # to the TextAnnotation.TextProperty message definition below for more
8373
+ # detail.
8374
+ class GoogleCloudVisionV1p4beta1TextAnnotation
8375
+ include Google::Apis::Core::Hashable
8376
+
8377
+ # List of pages detected by OCR.
8378
+ # Corresponds to the JSON property `pages`
8379
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1Page>]
8380
+ attr_accessor :pages
8381
+
8382
+ # UTF-8 text detected on the pages.
8383
+ # Corresponds to the JSON property `text`
8384
+ # @return [String]
8385
+ attr_accessor :text
8386
+
8387
+ def initialize(**args)
8388
+ update!(**args)
8389
+ end
8390
+
8391
+ # Update properties of this object
8392
+ def update!(**args)
8393
+ @pages = args[:pages] if args.key?(:pages)
8394
+ @text = args[:text] if args.key?(:text)
8395
+ end
8396
+ end
8397
+
8398
+ # Detected start or end of a structural component.
8399
+ class GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak
8400
+ include Google::Apis::Core::Hashable
8401
+
8402
+ # True if break prepends the element.
8403
+ # Corresponds to the JSON property `isPrefix`
8404
+ # @return [Boolean]
8405
+ attr_accessor :is_prefix
8406
+ alias_method :is_prefix?, :is_prefix
8407
+
8408
+ # Detected break type.
8409
+ # Corresponds to the JSON property `type`
8410
+ # @return [String]
8411
+ attr_accessor :type
8412
+
8413
+ def initialize(**args)
8414
+ update!(**args)
8415
+ end
8416
+
8417
+ # Update properties of this object
8418
+ def update!(**args)
8419
+ @is_prefix = args[:is_prefix] if args.key?(:is_prefix)
8420
+ @type = args[:type] if args.key?(:type)
8421
+ end
8422
+ end
8423
+
8424
+ # Detected language for a structural component.
8425
+ class GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage
8426
+ include Google::Apis::Core::Hashable
8427
+
8428
+ # Confidence of detected language. Range [0, 1].
8429
+ # Corresponds to the JSON property `confidence`
8430
+ # @return [Float]
8431
+ attr_accessor :confidence
8432
+
8433
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
8434
+ # information, see
8435
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
8436
+ # Corresponds to the JSON property `languageCode`
8437
+ # @return [String]
8438
+ attr_accessor :language_code
8439
+
8440
+ def initialize(**args)
8441
+ update!(**args)
8442
+ end
8443
+
8444
+ # Update properties of this object
8445
+ def update!(**args)
8446
+ @confidence = args[:confidence] if args.key?(:confidence)
8447
+ @language_code = args[:language_code] if args.key?(:language_code)
8448
+ end
8449
+ end
8450
+
8451
+ # Additional information detected on the structural component.
8452
+ class GoogleCloudVisionV1p4beta1TextAnnotationTextProperty
8453
+ include Google::Apis::Core::Hashable
8454
+
8455
+ # Detected start or end of a structural component.
8456
+ # Corresponds to the JSON property `detectedBreak`
8457
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak]
8458
+ attr_accessor :detected_break
8459
+
8460
+ # A list of detected languages together with confidence.
8461
+ # Corresponds to the JSON property `detectedLanguages`
8462
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage>]
8463
+ attr_accessor :detected_languages
8464
+
8465
+ def initialize(**args)
8466
+ update!(**args)
8467
+ end
8468
+
8469
+ # Update properties of this object
8470
+ def update!(**args)
8471
+ @detected_break = args[:detected_break] if args.key?(:detected_break)
8472
+ @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
8473
+ end
8474
+ end
8475
+
8476
+ # A vertex represents a 2D point in the image.
8477
+ # NOTE: the vertex coordinates are in the same scale as the original image.
8478
+ class GoogleCloudVisionV1p4beta1Vertex
8479
+ include Google::Apis::Core::Hashable
8480
+
8481
+ # X coordinate.
8482
+ # Corresponds to the JSON property `x`
8483
+ # @return [Fixnum]
8484
+ attr_accessor :x
8485
+
8486
+ # Y coordinate.
8487
+ # Corresponds to the JSON property `y`
8488
+ # @return [Fixnum]
8489
+ attr_accessor :y
8490
+
8491
+ def initialize(**args)
8492
+ update!(**args)
8493
+ end
8494
+
8495
+ # Update properties of this object
8496
+ def update!(**args)
8497
+ @x = args[:x] if args.key?(:x)
8498
+ @y = args[:y] if args.key?(:y)
8499
+ end
8500
+ end
8501
+
8502
+ # Relevant information for the image from the Internet.
8503
+ class GoogleCloudVisionV1p4beta1WebDetection
8504
+ include Google::Apis::Core::Hashable
8505
+
8506
+ # The service's best guess as to the topic of the request image.
8507
+ # Inferred from similar images on the open web.
8508
+ # Corresponds to the JSON property `bestGuessLabels`
8509
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1WebDetectionWebLabel>]
8510
+ attr_accessor :best_guess_labels
8511
+
8512
+ # Fully matching images from the Internet.
8513
+ # Can include resized copies of the query image.
8514
+ # Corresponds to the JSON property `fullMatchingImages`
8515
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1WebDetectionWebImage>]
8516
+ attr_accessor :full_matching_images
8517
+
8518
+ # Web pages containing the matching images from the Internet.
8519
+ # Corresponds to the JSON property `pagesWithMatchingImages`
8520
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1WebDetectionWebPage>]
8521
+ attr_accessor :pages_with_matching_images
8522
+
8523
+ # Partial matching images from the Internet.
8524
+ # Those images are similar enough to share some key-point features. For
8525
+ # example an original image will likely have partial matching for its crops.
8526
+ # Corresponds to the JSON property `partialMatchingImages`
8527
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1WebDetectionWebImage>]
8528
+ attr_accessor :partial_matching_images
8529
+
8530
+ # The visually similar image results.
8531
+ # Corresponds to the JSON property `visuallySimilarImages`
8532
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1WebDetectionWebImage>]
8533
+ attr_accessor :visually_similar_images
8534
+
8535
+ # Deduced entities from similar images on the Internet.
8536
+ # Corresponds to the JSON property `webEntities`
8537
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1WebDetectionWebEntity>]
8538
+ attr_accessor :web_entities
8539
+
8540
+ def initialize(**args)
8541
+ update!(**args)
8542
+ end
8543
+
8544
+ # Update properties of this object
8545
+ def update!(**args)
8546
+ @best_guess_labels = args[:best_guess_labels] if args.key?(:best_guess_labels)
8547
+ @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images)
8548
+ @pages_with_matching_images = args[:pages_with_matching_images] if args.key?(:pages_with_matching_images)
8549
+ @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images)
8550
+ @visually_similar_images = args[:visually_similar_images] if args.key?(:visually_similar_images)
8551
+ @web_entities = args[:web_entities] if args.key?(:web_entities)
8552
+ end
8553
+ end
8554
+
8555
+ # Entity deduced from similar images on the Internet.
8556
+ class GoogleCloudVisionV1p4beta1WebDetectionWebEntity
8557
+ include Google::Apis::Core::Hashable
8558
+
8559
+ # Canonical description of the entity, in English.
8560
+ # Corresponds to the JSON property `description`
8561
+ # @return [String]
8562
+ attr_accessor :description
8563
+
8564
+ # Opaque entity ID.
8565
+ # Corresponds to the JSON property `entityId`
8566
+ # @return [String]
8567
+ attr_accessor :entity_id
8568
+
8569
+ # Overall relevancy score for the entity.
8570
+ # Not normalized and not comparable across different image queries.
8571
+ # Corresponds to the JSON property `score`
8572
+ # @return [Float]
8573
+ attr_accessor :score
8574
+
8575
+ def initialize(**args)
8576
+ update!(**args)
8577
+ end
8578
+
8579
+ # Update properties of this object
8580
+ def update!(**args)
8581
+ @description = args[:description] if args.key?(:description)
8582
+ @entity_id = args[:entity_id] if args.key?(:entity_id)
8583
+ @score = args[:score] if args.key?(:score)
8584
+ end
8585
+ end
8586
+
8587
+ # Metadata for online images.
8588
+ class GoogleCloudVisionV1p4beta1WebDetectionWebImage
8589
+ include Google::Apis::Core::Hashable
8590
+
8591
+ # (Deprecated) Overall relevancy score for the image.
8592
+ # Corresponds to the JSON property `score`
8593
+ # @return [Float]
8594
+ attr_accessor :score
8595
+
8596
+ # The result image URL.
8597
+ # Corresponds to the JSON property `url`
8598
+ # @return [String]
8599
+ attr_accessor :url
8600
+
8601
+ def initialize(**args)
8602
+ update!(**args)
8603
+ end
8604
+
8605
+ # Update properties of this object
8606
+ def update!(**args)
8607
+ @score = args[:score] if args.key?(:score)
8608
+ @url = args[:url] if args.key?(:url)
8609
+ end
8610
+ end
8611
+
8612
+ # Label to provide extra metadata for the web detection.
8613
+ class GoogleCloudVisionV1p4beta1WebDetectionWebLabel
8614
+ include Google::Apis::Core::Hashable
8615
+
8616
+ # Label for extra metadata.
8617
+ # Corresponds to the JSON property `label`
8618
+ # @return [String]
8619
+ attr_accessor :label
8620
+
8621
+ # The BCP-47 language code for `label`, such as "en-US" or "sr-Latn".
8622
+ # For more information, see
8623
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
8624
+ # Corresponds to the JSON property `languageCode`
8625
+ # @return [String]
8626
+ attr_accessor :language_code
8627
+
8628
+ def initialize(**args)
8629
+ update!(**args)
8630
+ end
8631
+
8632
+ # Update properties of this object
8633
+ def update!(**args)
8634
+ @label = args[:label] if args.key?(:label)
8635
+ @language_code = args[:language_code] if args.key?(:language_code)
8636
+ end
8637
+ end
8638
+
8639
+ # Metadata for web pages.
8640
+ class GoogleCloudVisionV1p4beta1WebDetectionWebPage
8641
+ include Google::Apis::Core::Hashable
8642
+
8643
+ # Fully matching images on the page.
8644
+ # Can include resized copies of the query image.
8645
+ # Corresponds to the JSON property `fullMatchingImages`
8646
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1WebDetectionWebImage>]
8647
+ attr_accessor :full_matching_images
8648
+
8649
+ # Title for the web page, may contain HTML markups.
8650
+ # Corresponds to the JSON property `pageTitle`
8651
+ # @return [String]
8652
+ attr_accessor :page_title
8653
+
8654
+ # Partial matching images on the page.
8655
+ # Those images are similar enough to share some key-point features. For
8656
+ # example an original image will likely have partial matching for its
8657
+ # crops.
8658
+ # Corresponds to the JSON property `partialMatchingImages`
8659
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1WebDetectionWebImage>]
8660
+ attr_accessor :partial_matching_images
8661
+
8662
+ # (Deprecated) Overall relevancy score for the web page.
8663
+ # Corresponds to the JSON property `score`
8664
+ # @return [Float]
8665
+ attr_accessor :score
8666
+
8667
+ # The result web page URL.
8668
+ # Corresponds to the JSON property `url`
8669
+ # @return [String]
8670
+ attr_accessor :url
8671
+
8672
+ def initialize(**args)
8673
+ update!(**args)
8674
+ end
8675
+
8676
+ # Update properties of this object
8677
+ def update!(**args)
8678
+ @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images)
8679
+ @page_title = args[:page_title] if args.key?(:page_title)
8680
+ @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images)
8681
+ @score = args[:score] if args.key?(:score)
8682
+ @url = args[:url] if args.key?(:url)
8683
+ end
8684
+ end
8685
+
8686
+ # A word representation.
8687
+ class GoogleCloudVisionV1p4beta1Word
8688
+ include Google::Apis::Core::Hashable
8689
+
8690
+ # A bounding polygon for the detected image annotation.
8691
+ # Corresponds to the JSON property `boundingBox`
8692
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1BoundingPoly]
8693
+ attr_accessor :bounding_box
8694
+
8695
+ # Confidence of the OCR results for the word. Range [0, 1].
8696
+ # Corresponds to the JSON property `confidence`
8697
+ # @return [Float]
8698
+ attr_accessor :confidence
8699
+
8700
+ # Additional information detected on the structural component.
8701
+ # Corresponds to the JSON property `property`
8702
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1TextAnnotationTextProperty]
8703
+ attr_accessor :property
8704
+
8705
+ # List of symbols in the word.
8706
+ # The order of the symbols follows the natural reading order.
8707
+ # Corresponds to the JSON property `symbols`
8708
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p4beta1Symbol>]
8709
+ attr_accessor :symbols
8710
+
8711
+ def initialize(**args)
8712
+ update!(**args)
8713
+ end
8714
+
8715
+ # Update properties of this object
8716
+ def update!(**args)
8717
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
8718
+ @confidence = args[:confidence] if args.key?(:confidence)
8719
+ @property = args[:property] if args.key?(:property)
8720
+ @symbols = args[:symbols] if args.key?(:symbols)
8721
+ end
8722
+ end
8723
+
8724
+ # Response to a single file annotation request. A file may contain one or more
8725
+ # images, which individually have their own responses.
8726
+ class GoogleCloudVisionV1p5beta1AnnotateFileResponse
8727
+ include Google::Apis::Core::Hashable
8728
+
8729
+ # The desired input location and metadata.
8730
+ # Corresponds to the JSON property `inputConfig`
8731
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1InputConfig]
8732
+ attr_accessor :input_config
8733
+
8734
+ # Individual responses to images found within the file.
8735
+ # Corresponds to the JSON property `responses`
8736
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1AnnotateImageResponse>]
8737
+ attr_accessor :responses
8738
+
8739
+ # This field gives the total number of pages in the file.
8740
+ # Corresponds to the JSON property `totalPages`
8741
+ # @return [Fixnum]
8742
+ attr_accessor :total_pages
8743
+
8744
+ def initialize(**args)
8745
+ update!(**args)
8746
+ end
8747
+
8748
+ # Update properties of this object
8749
+ def update!(**args)
8750
+ @input_config = args[:input_config] if args.key?(:input_config)
8751
+ @responses = args[:responses] if args.key?(:responses)
8752
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
8753
+ end
8754
+ end
8755
+
8756
+ # Response to an image annotation request.
8757
+ class GoogleCloudVisionV1p5beta1AnnotateImageResponse
8758
+ include Google::Apis::Core::Hashable
8759
+
8760
+ # If an image was produced from a file (e.g. a PDF), this message gives
8761
+ # information about the source of that image.
8762
+ # Corresponds to the JSON property `context`
8763
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1ImageAnnotationContext]
8764
+ attr_accessor :context
8765
+
8766
+ # Set of crop hints that are used to generate new crops when serving images.
8767
+ # Corresponds to the JSON property `cropHintsAnnotation`
8768
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1CropHintsAnnotation]
8769
+ attr_accessor :crop_hints_annotation
8770
+
8771
+ # The `Status` type defines a logical error model that is suitable for
8772
+ # different programming environments, including REST APIs and RPC APIs. It is
8773
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
8774
+ # - Simple to use and understand for most users
8775
+ # - Flexible enough to meet unexpected needs
8776
+ # # Overview
8777
+ # The `Status` message contains three pieces of data: error code, error
8778
+ # message, and error details. The error code should be an enum value of
8779
+ # google.rpc.Code, but it may accept additional error codes if needed. The
8780
+ # error message should be a developer-facing English message that helps
8781
+ # developers *understand* and *resolve* the error. If a localized user-facing
8782
+ # error message is needed, put the localized message in the error details or
8783
+ # localize it in the client. The optional error details may contain arbitrary
8784
+ # information about the error. There is a predefined set of error detail types
8785
+ # in the package `google.rpc` that can be used for common error conditions.
8786
+ # # Language mapping
8787
+ # The `Status` message is the logical representation of the error model, but it
8788
+ # is not necessarily the actual wire format. When the `Status` message is
8789
+ # exposed in different client libraries and different wire protocols, it can be
8790
+ # mapped differently. For example, it will likely be mapped to some exceptions
8791
+ # in Java, but more likely mapped to some error codes in C.
8792
+ # # Other uses
8793
+ # The error model and the `Status` message can be used in a variety of
8794
+ # environments, either with or without APIs, to provide a
8795
+ # consistent developer experience across different environments.
8796
+ # Example uses of this error model include:
8797
+ # - Partial errors. If a service needs to return partial errors to the client,
8798
+ # it may embed the `Status` in the normal response to indicate the partial
8799
+ # errors.
8800
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
8801
+ # have a `Status` message for error reporting.
8802
+ # - Batch operations. If a client uses batch request and batch response, the
8803
+ # `Status` message should be used directly inside batch response, one for
8804
+ # each error sub-response.
8805
+ # - Asynchronous operations. If an API call embeds asynchronous operation
8806
+ # results in its response, the status of those operations should be
8807
+ # represented directly using the `Status` message.
8808
+ # - Logging. If some API errors are stored in logs, the message `Status` could
8809
+ # be used directly after any stripping needed for security/privacy reasons.
8810
+ # Corresponds to the JSON property `error`
8811
+ # @return [Google::Apis::VisionV1::Status]
8812
+ attr_accessor :error
8813
+
8814
+ # If present, face detection has completed successfully.
8815
+ # Corresponds to the JSON property `faceAnnotations`
8816
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1FaceAnnotation>]
8817
+ attr_accessor :face_annotations
8818
+
8819
+ # TextAnnotation contains a structured representation of OCR extracted text.
8820
+ # The hierarchy of an OCR extracted text structure is like this:
8821
+ # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol
8822
+ # Each structural component, starting from Page, may further have their own
8823
+ # properties. Properties describe detected languages, breaks etc.. Please refer
8824
+ # to the TextAnnotation.TextProperty message definition below for more
8825
+ # detail.
8826
+ # Corresponds to the JSON property `fullTextAnnotation`
8827
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1TextAnnotation]
8828
+ attr_accessor :full_text_annotation
8829
+
8830
+ # Stores image properties, such as dominant colors.
8831
+ # Corresponds to the JSON property `imagePropertiesAnnotation`
8832
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1ImageProperties]
8833
+ attr_accessor :image_properties_annotation
8834
+
8835
+ # If present, label detection has completed successfully.
8836
+ # Corresponds to the JSON property `labelAnnotations`
8837
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1EntityAnnotation>]
8838
+ attr_accessor :label_annotations
8839
+
8840
+ # If present, landmark detection has completed successfully.
8841
+ # Corresponds to the JSON property `landmarkAnnotations`
8842
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1EntityAnnotation>]
8843
+ attr_accessor :landmark_annotations
8844
+
8845
+ # If present, localized object detection has completed successfully.
8846
+ # This will be sorted descending by confidence score.
8847
+ # Corresponds to the JSON property `localizedObjectAnnotations`
8848
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1LocalizedObjectAnnotation>]
8849
+ attr_accessor :localized_object_annotations
8850
+
8851
+ # If present, logo detection has completed successfully.
8852
+ # Corresponds to the JSON property `logoAnnotations`
8853
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1EntityAnnotation>]
8854
+ attr_accessor :logo_annotations
8855
+
8856
+ # Results for a product search request.
8857
+ # Corresponds to the JSON property `productSearchResults`
8858
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1ProductSearchResults]
8859
+ attr_accessor :product_search_results
8860
+
8861
+ # Set of features pertaining to the image, computed by computer vision
8862
+ # methods over safe-search verticals (for example, adult, spoof, medical,
8863
+ # violence).
8864
+ # Corresponds to the JSON property `safeSearchAnnotation`
8865
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1SafeSearchAnnotation]
8866
+ attr_accessor :safe_search_annotation
8867
+
8868
+ # If present, text (OCR) detection has completed successfully.
8869
+ # Corresponds to the JSON property `textAnnotations`
8870
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1EntityAnnotation>]
8871
+ attr_accessor :text_annotations
8872
+
8873
+ # Relevant information for the image from the Internet.
8874
+ # Corresponds to the JSON property `webDetection`
8875
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1WebDetection]
8876
+ attr_accessor :web_detection
8877
+
8878
+ def initialize(**args)
8879
+ update!(**args)
8880
+ end
8881
+
8882
+ # Update properties of this object
8883
+ def update!(**args)
8884
+ @context = args[:context] if args.key?(:context)
8885
+ @crop_hints_annotation = args[:crop_hints_annotation] if args.key?(:crop_hints_annotation)
8886
+ @error = args[:error] if args.key?(:error)
8887
+ @face_annotations = args[:face_annotations] if args.key?(:face_annotations)
8888
+ @full_text_annotation = args[:full_text_annotation] if args.key?(:full_text_annotation)
8889
+ @image_properties_annotation = args[:image_properties_annotation] if args.key?(:image_properties_annotation)
8890
+ @label_annotations = args[:label_annotations] if args.key?(:label_annotations)
8891
+ @landmark_annotations = args[:landmark_annotations] if args.key?(:landmark_annotations)
8892
+ @localized_object_annotations = args[:localized_object_annotations] if args.key?(:localized_object_annotations)
8893
+ @logo_annotations = args[:logo_annotations] if args.key?(:logo_annotations)
8894
+ @product_search_results = args[:product_search_results] if args.key?(:product_search_results)
8895
+ @safe_search_annotation = args[:safe_search_annotation] if args.key?(:safe_search_annotation)
8896
+ @text_annotations = args[:text_annotations] if args.key?(:text_annotations)
8897
+ @web_detection = args[:web_detection] if args.key?(:web_detection)
8898
+ end
8899
+ end
8900
+
8901
+ # The response for a single offline file annotation request.
8902
+ class GoogleCloudVisionV1p5beta1AsyncAnnotateFileResponse
8903
+ include Google::Apis::Core::Hashable
8904
+
8905
+ # The desired output location and metadata.
8906
+ # Corresponds to the JSON property `outputConfig`
8907
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1OutputConfig]
8908
+ attr_accessor :output_config
8909
+
8910
+ def initialize(**args)
8911
+ update!(**args)
8912
+ end
8913
+
8914
+ # Update properties of this object
8915
+ def update!(**args)
8916
+ @output_config = args[:output_config] if args.key?(:output_config)
8917
+ end
8918
+ end
8919
+
8920
+ # Response to an async batch file annotation request.
8921
+ class GoogleCloudVisionV1p5beta1AsyncBatchAnnotateFilesResponse
8922
+ include Google::Apis::Core::Hashable
8923
+
8924
+ # The list of file annotation responses, one for each request in
8925
+ # AsyncBatchAnnotateFilesRequest.
8926
+ # Corresponds to the JSON property `responses`
8927
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1AsyncAnnotateFileResponse>]
8928
+ attr_accessor :responses
8929
+
8930
+ def initialize(**args)
8931
+ update!(**args)
8932
+ end
8933
+
8934
+ # Update properties of this object
8935
+ def update!(**args)
8936
+ @responses = args[:responses] if args.key?(:responses)
8937
+ end
8938
+ end
8939
+
8940
+ # Response to an async batch image annotation request.
8941
+ class GoogleCloudVisionV1p5beta1AsyncBatchAnnotateImagesResponse
8942
+ include Google::Apis::Core::Hashable
8943
+
8944
+ # The desired output location and metadata.
8945
+ # Corresponds to the JSON property `outputConfig`
8946
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1OutputConfig]
8947
+ attr_accessor :output_config
8948
+
8949
+ def initialize(**args)
8950
+ update!(**args)
8951
+ end
8952
+
8953
+ # Update properties of this object
8954
+ def update!(**args)
8955
+ @output_config = args[:output_config] if args.key?(:output_config)
8956
+ end
8957
+ end
8958
+
8959
+ # A list of file annotation responses.
8960
+ class GoogleCloudVisionV1p5beta1BatchAnnotateFilesResponse
8961
+ include Google::Apis::Core::Hashable
8962
+
8963
+ # The list of file annotation responses, each response corresponding to each
8964
+ # AnnotateFileRequest in BatchAnnotateFilesRequest.
8965
+ # Corresponds to the JSON property `responses`
8966
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1AnnotateFileResponse>]
8967
+ attr_accessor :responses
8968
+
8969
+ def initialize(**args)
8970
+ update!(**args)
8971
+ end
8972
+
8973
+ # Update properties of this object
8974
+ def update!(**args)
8975
+ @responses = args[:responses] if args.key?(:responses)
8976
+ end
8977
+ end
8978
+
8979
+ # Metadata for the batch operations such as the current state.
8980
+ # This is included in the `metadata` field of the `Operation` returned by the
8981
+ # `GetOperation` call of the `google::longrunning::Operations` service.
8982
+ class GoogleCloudVisionV1p5beta1BatchOperationMetadata
8983
+ include Google::Apis::Core::Hashable
8984
+
8985
+ # The time when the batch request is finished and
8986
+ # google.longrunning.Operation.done is set to true.
8987
+ # Corresponds to the JSON property `endTime`
8988
+ # @return [String]
8989
+ attr_accessor :end_time
8990
+
8991
+ # The current state of the batch operation.
8992
+ # Corresponds to the JSON property `state`
8993
+ # @return [String]
8994
+ attr_accessor :state
8995
+
8996
+ # The time when the batch request was submitted to the server.
8997
+ # Corresponds to the JSON property `submitTime`
8998
+ # @return [String]
8999
+ attr_accessor :submit_time
9000
+
9001
+ def initialize(**args)
9002
+ update!(**args)
9003
+ end
9004
+
9005
+ # Update properties of this object
9006
+ def update!(**args)
9007
+ @end_time = args[:end_time] if args.key?(:end_time)
9008
+ @state = args[:state] if args.key?(:state)
9009
+ @submit_time = args[:submit_time] if args.key?(:submit_time)
9010
+ end
9011
+ end
9012
+
9013
+ # Logical element on the page.
9014
+ class GoogleCloudVisionV1p5beta1Block
9015
+ include Google::Apis::Core::Hashable
9016
+
9017
+ # Detected block type (text, image etc) for this block.
9018
+ # Corresponds to the JSON property `blockType`
9019
+ # @return [String]
9020
+ attr_accessor :block_type
9021
+
9022
+ # A bounding polygon for the detected image annotation.
9023
+ # Corresponds to the JSON property `boundingBox`
9024
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1BoundingPoly]
9025
+ attr_accessor :bounding_box
9026
+
9027
+ # Confidence of the OCR results on the block. Range [0, 1].
9028
+ # Corresponds to the JSON property `confidence`
9029
+ # @return [Float]
9030
+ attr_accessor :confidence
9031
+
9032
+ # Proto for a key value pair.
9033
+ # Corresponds to the JSON property `keyValuePair`
9034
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1KeyValuePair]
9035
+ attr_accessor :key_value_pair
9036
+
9037
+ # All UTF-8 text detected in this block. This field is by default not
9038
+ # returned unless specified in TextDetectionParams.block_filter or
9039
+ # DocumentParsingParams.block_filter.
9040
+ # Corresponds to the JSON property `mergedText`
9041
+ # @return [String]
9042
+ attr_accessor :merged_text
9043
+
9044
+ # List of paragraphs in this block (if this blocks is of type text).
9045
+ # Corresponds to the JSON property `paragraphs`
9046
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Paragraph>]
9047
+ attr_accessor :paragraphs
9048
+
9049
+ # Additional information detected on the structural component.
9050
+ # Corresponds to the JSON property `property`
9051
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1TextAnnotationTextProperty]
9052
+ attr_accessor :property
9053
+
9054
+ # A table representation similar to HTML table structure.
9055
+ # Corresponds to the JSON property `table`
9056
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Table]
9057
+ attr_accessor :table
9058
+
9059
+ def initialize(**args)
9060
+ update!(**args)
9061
+ end
9062
+
9063
+ # Update properties of this object
9064
+ def update!(**args)
9065
+ @block_type = args[:block_type] if args.key?(:block_type)
9066
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
9067
+ @confidence = args[:confidence] if args.key?(:confidence)
9068
+ @key_value_pair = args[:key_value_pair] if args.key?(:key_value_pair)
9069
+ @merged_text = args[:merged_text] if args.key?(:merged_text)
9070
+ @paragraphs = args[:paragraphs] if args.key?(:paragraphs)
9071
+ @property = args[:property] if args.key?(:property)
9072
+ @table = args[:table] if args.key?(:table)
9073
+ end
9074
+ end
9075
+
9076
+ # A bounding polygon for the detected image annotation.
9077
+ class GoogleCloudVisionV1p5beta1BoundingPoly
9078
+ include Google::Apis::Core::Hashable
9079
+
9080
+ # The bounding polygon normalized vertices.
9081
+ # Corresponds to the JSON property `normalizedVertices`
9082
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1NormalizedVertex>]
9083
+ attr_accessor :normalized_vertices
9084
+
9085
+ # The bounding polygon vertices.
9086
+ # Corresponds to the JSON property `vertices`
9087
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Vertex>]
9088
+ attr_accessor :vertices
9089
+
9090
+ def initialize(**args)
9091
+ update!(**args)
9092
+ end
9093
+
9094
+ # Update properties of this object
9095
+ def update!(**args)
9096
+ @normalized_vertices = args[:normalized_vertices] if args.key?(:normalized_vertices)
9097
+ @vertices = args[:vertices] if args.key?(:vertices)
9098
+ end
9099
+ end
9100
+
9101
+ # Color information consists of RGB channels, score, and the fraction of
9102
+ # the image that the color occupies in the image.
9103
+ class GoogleCloudVisionV1p5beta1ColorInfo
9104
+ include Google::Apis::Core::Hashable
9105
+
9106
+ # Represents a color in the RGBA color space. This representation is designed
9107
+ # for simplicity of conversion to/from color representations in various
9108
+ # languages over compactness; for example, the fields of this representation
9109
+ # can be trivially provided to the constructor of "java.awt.Color" in Java; it
9110
+ # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
9111
+ # method in iOS; and, with just a little work, it can be easily formatted into
9112
+ # a CSS "rgba()" string in JavaScript, as well.
9113
+ # Note: this proto does not carry information about the absolute color space
9114
+ # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
9115
+ # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
9116
+ # space.
9117
+ # Example (Java):
9118
+ # import com.google.type.Color;
9119
+ # // ...
9120
+ # public static java.awt.Color fromProto(Color protocolor) `
9121
+ # float alpha = protocolor.hasAlpha()
9122
+ # ? protocolor.getAlpha().getValue()
9123
+ # : 1.0;
9124
+ # return new java.awt.Color(
9125
+ # protocolor.getRed(),
9126
+ # protocolor.getGreen(),
9127
+ # protocolor.getBlue(),
9128
+ # alpha);
9129
+ # `
9130
+ # public static Color toProto(java.awt.Color color) `
9131
+ # float red = (float) color.getRed();
9132
+ # float green = (float) color.getGreen();
9133
+ # float blue = (float) color.getBlue();
9134
+ # float denominator = 255.0;
9135
+ # Color.Builder resultBuilder =
9136
+ # Color
9137
+ # .newBuilder()
9138
+ # .setRed(red / denominator)
9139
+ # .setGreen(green / denominator)
9140
+ # .setBlue(blue / denominator);
9141
+ # int alpha = color.getAlpha();
9142
+ # if (alpha != 255) `
9143
+ # result.setAlpha(
9144
+ # FloatValue
9145
+ # .newBuilder()
9146
+ # .setValue(((float) alpha) / denominator)
9147
+ # .build());
9148
+ # `
9149
+ # return resultBuilder.build();
9150
+ # `
9151
+ # // ...
9152
+ # Example (iOS / Obj-C):
9153
+ # // ...
9154
+ # static UIColor* fromProto(Color* protocolor) `
9155
+ # float red = [protocolor red];
9156
+ # float green = [protocolor green];
9157
+ # float blue = [protocolor blue];
9158
+ # FloatValue* alpha_wrapper = [protocolor alpha];
9159
+ # float alpha = 1.0;
9160
+ # if (alpha_wrapper != nil) `
9161
+ # alpha = [alpha_wrapper value];
9162
+ # `
9163
+ # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
9164
+ # `
9165
+ # static Color* toProto(UIColor* color) `
9166
+ # CGFloat red, green, blue, alpha;
9167
+ # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) `
9168
+ # return nil;
9169
+ # `
9170
+ # Color* result = [[Color alloc] init];
9171
+ # [result setRed:red];
9172
+ # [result setGreen:green];
9173
+ # [result setBlue:blue];
9174
+ # if (alpha <= 0.9999) `
9175
+ # [result setAlpha:floatWrapperWithValue(alpha)];
9176
+ # `
9177
+ # [result autorelease];
9178
+ # return result;
9179
+ # `
9180
+ # // ...
9181
+ # Example (JavaScript):
9182
+ # // ...
9183
+ # var protoToCssColor = function(rgb_color) `
9184
+ # var redFrac = rgb_color.red || 0.0;
9185
+ # var greenFrac = rgb_color.green || 0.0;
9186
+ # var blueFrac = rgb_color.blue || 0.0;
9187
+ # var red = Math.floor(redFrac * 255);
9188
+ # var green = Math.floor(greenFrac * 255);
9189
+ # var blue = Math.floor(blueFrac * 255);
9190
+ # if (!('alpha' in rgb_color)) `
9191
+ # return rgbToCssColor_(red, green, blue);
9192
+ # `
9193
+ # var alphaFrac = rgb_color.alpha.value || 0.0;
9194
+ # var rgbParams = [red, green, blue].join(',');
9195
+ # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
9196
+ # `;
9197
+ # var rgbToCssColor_ = function(red, green, blue) `
9198
+ # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
9199
+ # var hexString = rgbNumber.toString(16);
9200
+ # var missingZeros = 6 - hexString.length;
9201
+ # var resultBuilder = ['#'];
9202
+ # for (var i = 0; i < missingZeros; i++) `
9203
+ # resultBuilder.push('0');
9204
+ # `
9205
+ # resultBuilder.push(hexString);
9206
+ # return resultBuilder.join('');
9207
+ # `;
9208
+ # // ...
9209
+ # Corresponds to the JSON property `color`
9210
+ # @return [Google::Apis::VisionV1::Color]
9211
+ attr_accessor :color
9212
+
9213
+ # The fraction of pixels the color occupies in the image.
9214
+ # Value in range [0, 1].
9215
+ # Corresponds to the JSON property `pixelFraction`
9216
+ # @return [Float]
9217
+ attr_accessor :pixel_fraction
9218
+
9219
+ # Image-specific score for this color. Value in range [0, 1].
9220
+ # Corresponds to the JSON property `score`
9221
+ # @return [Float]
9222
+ attr_accessor :score
9223
+
9224
+ def initialize(**args)
9225
+ update!(**args)
9226
+ end
9227
+
9228
+ # Update properties of this object
9229
+ def update!(**args)
9230
+ @color = args[:color] if args.key?(:color)
9231
+ @pixel_fraction = args[:pixel_fraction] if args.key?(:pixel_fraction)
9232
+ @score = args[:score] if args.key?(:score)
9233
+ end
9234
+ end
9235
+
9236
+ # Single crop hint that is used to generate a new crop when serving an image.
9237
+ class GoogleCloudVisionV1p5beta1CropHint
9238
+ include Google::Apis::Core::Hashable
9239
+
9240
+ # A bounding polygon for the detected image annotation.
9241
+ # Corresponds to the JSON property `boundingPoly`
9242
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1BoundingPoly]
9243
+ attr_accessor :bounding_poly
9244
+
9245
+ # Confidence of this being a salient region. Range [0, 1].
9246
+ # Corresponds to the JSON property `confidence`
9247
+ # @return [Float]
9248
+ attr_accessor :confidence
9249
+
9250
+ # Fraction of importance of this salient region with respect to the original
9251
+ # image.
9252
+ # Corresponds to the JSON property `importanceFraction`
9253
+ # @return [Float]
9254
+ attr_accessor :importance_fraction
9255
+
9256
+ def initialize(**args)
9257
+ update!(**args)
9258
+ end
9259
+
9260
+ # Update properties of this object
9261
+ def update!(**args)
9262
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
9263
+ @confidence = args[:confidence] if args.key?(:confidence)
9264
+ @importance_fraction = args[:importance_fraction] if args.key?(:importance_fraction)
9265
+ end
9266
+ end
9267
+
9268
+ # Set of crop hints that are used to generate new crops when serving images.
9269
+ class GoogleCloudVisionV1p5beta1CropHintsAnnotation
9270
+ include Google::Apis::Core::Hashable
9271
+
9272
+ # Crop hint results.
9273
+ # Corresponds to the JSON property `cropHints`
9274
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1CropHint>]
9275
+ attr_accessor :crop_hints
9276
+
9277
+ def initialize(**args)
9278
+ update!(**args)
9279
+ end
9280
+
9281
+ # Update properties of this object
9282
+ def update!(**args)
9283
+ @crop_hints = args[:crop_hints] if args.key?(:crop_hints)
9284
+ end
9285
+ end
9286
+
9287
+ # Set of dominant colors and their corresponding scores.
9288
+ class GoogleCloudVisionV1p5beta1DominantColorsAnnotation
9289
+ include Google::Apis::Core::Hashable
9290
+
9291
+ # RGB color values with their score and pixel fraction.
9292
+ # Corresponds to the JSON property `colors`
9293
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1ColorInfo>]
9294
+ attr_accessor :colors
9295
+
9296
+ def initialize(**args)
9297
+ update!(**args)
9298
+ end
9299
+
9300
+ # Update properties of this object
9301
+ def update!(**args)
9302
+ @colors = args[:colors] if args.key?(:colors)
9303
+ end
9304
+ end
9305
+
9306
+ # Set of detected entity features.
9307
+ class GoogleCloudVisionV1p5beta1EntityAnnotation
9308
+ include Google::Apis::Core::Hashable
9309
+
9310
+ # A bounding polygon for the detected image annotation.
9311
+ # Corresponds to the JSON property `boundingPoly`
9312
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1BoundingPoly]
9313
+ attr_accessor :bounding_poly
9314
+
9315
+ # **Deprecated. Use `score` instead.**
9316
+ # The accuracy of the entity detection in an image.
9317
+ # For example, for an image in which the "Eiffel Tower" entity is detected,
9318
+ # this field represents the confidence that there is a tower in the query
9319
+ # image. Range [0, 1].
9320
+ # Corresponds to the JSON property `confidence`
9321
+ # @return [Float]
9322
+ attr_accessor :confidence
9323
+
9324
+ # Entity textual description, expressed in its `locale` language.
9325
+ # Corresponds to the JSON property `description`
9326
+ # @return [String]
9327
+ attr_accessor :description
9328
+
9329
+ # The language code for the locale in which the entity textual
9330
+ # `description` is expressed.
9331
+ # Corresponds to the JSON property `locale`
9332
+ # @return [String]
9333
+ attr_accessor :locale
9334
+
9335
+ # The location information for the detected entity. Multiple
9336
+ # `LocationInfo` elements can be present because one location may
9337
+ # indicate the location of the scene in the image, and another location
9338
+ # may indicate the location of the place where the image was taken.
9339
+ # Location information is usually present for landmarks.
9340
+ # Corresponds to the JSON property `locations`
9341
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1LocationInfo>]
9342
+ attr_accessor :locations
9343
+
9344
+ # Opaque entity ID. Some IDs may be available in
9345
+ # [Google Knowledge Graph Search
9346
+ # API](https://developers.google.com/knowledge-graph/).
9347
+ # Corresponds to the JSON property `mid`
9348
+ # @return [String]
9349
+ attr_accessor :mid
9350
+
9351
+ # Some entities may have optional user-supplied `Property` (name/value)
9352
+ # fields, such a score or string that qualifies the entity.
9353
+ # Corresponds to the JSON property `properties`
9354
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Property>]
9355
+ attr_accessor :properties
9356
+
9357
+ # Overall score of the result. Range [0, 1].
9358
+ # Corresponds to the JSON property `score`
9359
+ # @return [Float]
9360
+ attr_accessor :score
9361
+
9362
+ # The relevancy of the ICA (Image Content Annotation) label to the
9363
+ # image. For example, the relevancy of "tower" is likely higher to an image
9364
+ # containing the detected "Eiffel Tower" than to an image containing a
9365
+ # detected distant towering building, even though the confidence that
9366
+ # there is a tower in each image may be the same. Range [0, 1].
9367
+ # Corresponds to the JSON property `topicality`
9368
+ # @return [Float]
9369
+ attr_accessor :topicality
9370
+
9371
+ def initialize(**args)
9372
+ update!(**args)
9373
+ end
9374
+
9375
+ # Update properties of this object
9376
+ def update!(**args)
9377
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
9378
+ @confidence = args[:confidence] if args.key?(:confidence)
9379
+ @description = args[:description] if args.key?(:description)
9380
+ @locale = args[:locale] if args.key?(:locale)
9381
+ @locations = args[:locations] if args.key?(:locations)
9382
+ @mid = args[:mid] if args.key?(:mid)
9383
+ @properties = args[:properties] if args.key?(:properties)
9384
+ @score = args[:score] if args.key?(:score)
9385
+ @topicality = args[:topicality] if args.key?(:topicality)
9386
+ end
9387
+ end
9388
+
9389
+ # A face annotation object contains the results of face detection.
9390
+ class GoogleCloudVisionV1p5beta1FaceAnnotation
9391
+ include Google::Apis::Core::Hashable
9392
+
9393
+ # Anger likelihood.
9394
+ # Corresponds to the JSON property `angerLikelihood`
9395
+ # @return [String]
9396
+ attr_accessor :anger_likelihood
9397
+
9398
+ # Blurred likelihood.
9399
+ # Corresponds to the JSON property `blurredLikelihood`
9400
+ # @return [String]
9401
+ attr_accessor :blurred_likelihood
9402
+
9403
+ # A bounding polygon for the detected image annotation.
9404
+ # Corresponds to the JSON property `boundingPoly`
9405
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1BoundingPoly]
9406
+ attr_accessor :bounding_poly
9407
+
9408
+ # Detection confidence. Range [0, 1].
9409
+ # Corresponds to the JSON property `detectionConfidence`
9410
+ # @return [Float]
9411
+ attr_accessor :detection_confidence
9412
+
9413
+ # A bounding polygon for the detected image annotation.
9414
+ # Corresponds to the JSON property `fdBoundingPoly`
9415
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1BoundingPoly]
9416
+ attr_accessor :fd_bounding_poly
9417
+
9418
+ # Headwear likelihood.
9419
+ # Corresponds to the JSON property `headwearLikelihood`
9420
+ # @return [String]
9421
+ attr_accessor :headwear_likelihood
9422
+
9423
+ # Joy likelihood.
9424
+ # Corresponds to the JSON property `joyLikelihood`
9425
+ # @return [String]
9426
+ attr_accessor :joy_likelihood
9427
+
9428
+ # Face landmarking confidence. Range [0, 1].
9429
+ # Corresponds to the JSON property `landmarkingConfidence`
9430
+ # @return [Float]
9431
+ attr_accessor :landmarking_confidence
9432
+
9433
+ # Detected face landmarks.
9434
+ # Corresponds to the JSON property `landmarks`
9435
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1FaceAnnotationLandmark>]
9436
+ attr_accessor :landmarks
9437
+
9438
+ # Yaw angle, which indicates the leftward/rightward angle that the face is
9439
+ # pointing relative to the vertical plane perpendicular to the image. Range
9440
+ # [-180,180].
9441
+ # Corresponds to the JSON property `panAngle`
9442
+ # @return [Float]
9443
+ attr_accessor :pan_angle
9444
+
9445
+ # Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
9446
+ # of the face relative to the image vertical about the axis perpendicular to
9447
+ # the face. Range [-180,180].
9448
+ # Corresponds to the JSON property `rollAngle`
9449
+ # @return [Float]
9450
+ attr_accessor :roll_angle
9451
+
9452
+ # Sorrow likelihood.
9453
+ # Corresponds to the JSON property `sorrowLikelihood`
9454
+ # @return [String]
9455
+ attr_accessor :sorrow_likelihood
9456
+
9457
+ # Surprise likelihood.
9458
+ # Corresponds to the JSON property `surpriseLikelihood`
9459
+ # @return [String]
9460
+ attr_accessor :surprise_likelihood
9461
+
9462
+ # Pitch angle, which indicates the upwards/downwards angle that the face is
9463
+ # pointing relative to the image's horizontal plane. Range [-180,180].
9464
+ # Corresponds to the JSON property `tiltAngle`
9465
+ # @return [Float]
9466
+ attr_accessor :tilt_angle
9467
+
9468
+ # Under-exposed likelihood.
9469
+ # Corresponds to the JSON property `underExposedLikelihood`
9470
+ # @return [String]
9471
+ attr_accessor :under_exposed_likelihood
9472
+
9473
+ def initialize(**args)
9474
+ update!(**args)
9475
+ end
9476
+
9477
+ # Update properties of this object
9478
+ def update!(**args)
9479
+ @anger_likelihood = args[:anger_likelihood] if args.key?(:anger_likelihood)
9480
+ @blurred_likelihood = args[:blurred_likelihood] if args.key?(:blurred_likelihood)
9481
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
9482
+ @detection_confidence = args[:detection_confidence] if args.key?(:detection_confidence)
9483
+ @fd_bounding_poly = args[:fd_bounding_poly] if args.key?(:fd_bounding_poly)
9484
+ @headwear_likelihood = args[:headwear_likelihood] if args.key?(:headwear_likelihood)
9485
+ @joy_likelihood = args[:joy_likelihood] if args.key?(:joy_likelihood)
9486
+ @landmarking_confidence = args[:landmarking_confidence] if args.key?(:landmarking_confidence)
9487
+ @landmarks = args[:landmarks] if args.key?(:landmarks)
9488
+ @pan_angle = args[:pan_angle] if args.key?(:pan_angle)
9489
+ @roll_angle = args[:roll_angle] if args.key?(:roll_angle)
9490
+ @sorrow_likelihood = args[:sorrow_likelihood] if args.key?(:sorrow_likelihood)
9491
+ @surprise_likelihood = args[:surprise_likelihood] if args.key?(:surprise_likelihood)
9492
+ @tilt_angle = args[:tilt_angle] if args.key?(:tilt_angle)
9493
+ @under_exposed_likelihood = args[:under_exposed_likelihood] if args.key?(:under_exposed_likelihood)
9494
+ end
9495
+ end
9496
+
9497
+ # A face-specific landmark (for example, a face feature).
9498
+ class GoogleCloudVisionV1p5beta1FaceAnnotationLandmark
9499
+ include Google::Apis::Core::Hashable
9500
+
9501
+ # A 3D position in the image, used primarily for Face detection landmarks.
9502
+ # A valid Position must have both x and y coordinates.
9503
+ # The position coordinates are in the same scale as the original image.
9504
+ # Corresponds to the JSON property `position`
9505
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Position]
9506
+ attr_accessor :position
9507
+
9508
+ # Face landmark type.
9509
+ # Corresponds to the JSON property `type`
9510
+ # @return [String]
9511
+ attr_accessor :type
9512
+
9513
+ def initialize(**args)
9514
+ update!(**args)
9515
+ end
9516
+
9517
+ # Update properties of this object
9518
+ def update!(**args)
9519
+ @position = args[:position] if args.key?(:position)
9520
+ @type = args[:type] if args.key?(:type)
9521
+ end
9522
+ end
9523
+
9524
+ # The Google Cloud Storage location where the output will be written to.
9525
+ class GoogleCloudVisionV1p5beta1GcsDestination
9526
+ include Google::Apis::Core::Hashable
9527
+
9528
+ # Google Cloud Storage URI prefix where the results will be stored. Results
9529
+ # will be in JSON format and preceded by its corresponding input URI prefix.
9530
+ # This field can either represent a gcs file prefix or gcs directory. In
9531
+ # either case, the uri should be unique because in order to get all of the
9532
+ # output files, you will need to do a wildcard gcs search on the uri prefix
9533
+ # you provide.
9534
+ # Examples:
9535
+ # * File Prefix: gs://bucket-name/here/filenameprefix The output files
9536
+ # will be created in gs://bucket-name/here/ and the names of the
9537
+ # output files will begin with "filenameprefix".
9538
+ # * Directory Prefix: gs://bucket-name/some/location/ The output files
9539
+ # will be created in gs://bucket-name/some/location/ and the names of the
9540
+ # output files could be anything because there was no filename prefix
9541
+ # specified.
9542
+ # If multiple outputs, each response is still AnnotateFileResponse, each of
9543
+ # which contains some subset of the full list of AnnotateImageResponse.
9544
+ # Multiple outputs can happen if, for example, the output JSON is too large
9545
+ # and overflows into multiple sharded files.
9546
+ # Corresponds to the JSON property `uri`
9547
+ # @return [String]
9548
+ attr_accessor :uri
9549
+
9550
+ def initialize(**args)
9551
+ update!(**args)
9552
+ end
9553
+
9554
+ # Update properties of this object
9555
+ def update!(**args)
9556
+ @uri = args[:uri] if args.key?(:uri)
9557
+ end
9558
+ end
9559
+
9560
+ # The Google Cloud Storage location where the input will be read from.
9561
+ class GoogleCloudVisionV1p5beta1GcsSource
9562
+ include Google::Apis::Core::Hashable
9563
+
9564
+ # Google Cloud Storage URI for the input file. This must only be a
9565
+ # Google Cloud Storage object. Wildcards are not currently supported.
9566
+ # Corresponds to the JSON property `uri`
9567
+ # @return [String]
9568
+ attr_accessor :uri
9569
+
9570
+ def initialize(**args)
9571
+ update!(**args)
9572
+ end
9573
+
9574
+ # Update properties of this object
9575
+ def update!(**args)
9576
+ @uri = args[:uri] if args.key?(:uri)
9577
+ end
9578
+ end
9579
+
9580
+ # If an image was produced from a file (e.g. a PDF), this message gives
9581
+ # information about the source of that image.
9582
+ class GoogleCloudVisionV1p5beta1ImageAnnotationContext
9583
+ include Google::Apis::Core::Hashable
9584
+
9585
+ # If the file was a PDF or TIFF, this field gives the page number within
9586
+ # the file used to produce the image.
9587
+ # Corresponds to the JSON property `pageNumber`
9588
+ # @return [Fixnum]
9589
+ attr_accessor :page_number
9590
+
9591
+ # The URI of the file used to produce the image.
9592
+ # Corresponds to the JSON property `uri`
9593
+ # @return [String]
9594
+ attr_accessor :uri
9595
+
9596
+ def initialize(**args)
9597
+ update!(**args)
9598
+ end
9599
+
9600
+ # Update properties of this object
9601
+ def update!(**args)
9602
+ @page_number = args[:page_number] if args.key?(:page_number)
9603
+ @uri = args[:uri] if args.key?(:uri)
9604
+ end
9605
+ end
9606
+
9607
+ # Stores image properties, such as dominant colors.
9608
+ class GoogleCloudVisionV1p5beta1ImageProperties
9609
+ include Google::Apis::Core::Hashable
9610
+
9611
+ # Set of dominant colors and their corresponding scores.
9612
+ # Corresponds to the JSON property `dominantColors`
9613
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1DominantColorsAnnotation]
9614
+ attr_accessor :dominant_colors
9615
+
9616
+ def initialize(**args)
9617
+ update!(**args)
9618
+ end
9619
+
9620
+ # Update properties of this object
9621
+ def update!(**args)
9622
+ @dominant_colors = args[:dominant_colors] if args.key?(:dominant_colors)
9623
+ end
9624
+ end
9625
+
9626
+ # Response message for the `ImportProductSets` method.
9627
+ # This message is returned by the
9628
+ # google.longrunning.Operations.GetOperation method in the returned
9629
+ # google.longrunning.Operation.response field.
9630
+ class GoogleCloudVisionV1p5beta1ImportProductSetsResponse
9631
+ include Google::Apis::Core::Hashable
9632
+
9633
+ # The list of reference_images that are imported successfully.
9634
+ # Corresponds to the JSON property `referenceImages`
9635
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1ReferenceImage>]
9636
+ attr_accessor :reference_images
9637
+
9638
+ # The rpc status for each ImportProductSet request, including both successes
9639
+ # and errors.
9640
+ # The number of statuses here matches the number of lines in the csv file,
9641
+ # and statuses[i] stores the success or failure status of processing the i-th
9642
+ # line of the csv, starting from line 0.
9643
+ # Corresponds to the JSON property `statuses`
9644
+ # @return [Array<Google::Apis::VisionV1::Status>]
9645
+ attr_accessor :statuses
9646
+
9647
+ def initialize(**args)
9648
+ update!(**args)
9649
+ end
9650
+
9651
+ # Update properties of this object
9652
+ def update!(**args)
9653
+ @reference_images = args[:reference_images] if args.key?(:reference_images)
9654
+ @statuses = args[:statuses] if args.key?(:statuses)
9655
+ end
9656
+ end
9657
+
9658
+ # The desired input location and metadata.
9659
+ class GoogleCloudVisionV1p5beta1InputConfig
9660
+ include Google::Apis::Core::Hashable
9661
+
9662
+ # File content, represented as a stream of bytes.
9663
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
9664
+ # representation, whereas JSON representations use base64.
9665
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
9666
+ # not work for AsyncBatchAnnotateFiles requests.
9667
+ # Corresponds to the JSON property `content`
9668
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
9669
+ # @return [String]
9670
+ attr_accessor :content
9671
+
9672
+ # The Google Cloud Storage location where the input will be read from.
9673
+ # Corresponds to the JSON property `gcsSource`
9674
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1GcsSource]
9675
+ attr_accessor :gcs_source
9676
+
9677
+ # The type of the file. Currently only "application/pdf" and "image/tiff"
9678
+ # are supported. Wildcards are not supported.
9679
+ # Corresponds to the JSON property `mimeType`
9680
+ # @return [String]
9681
+ attr_accessor :mime_type
9682
+
9683
+ def initialize(**args)
9684
+ update!(**args)
9685
+ end
9686
+
9687
+ # Update properties of this object
9688
+ def update!(**args)
9689
+ @content = args[:content] if args.key?(:content)
9690
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
9691
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
9692
+ end
9693
+ end
9694
+
9695
+ # Proto for a key value pair.
9696
+ class GoogleCloudVisionV1p5beta1KeyValuePair
9697
+ include Google::Apis::Core::Hashable
9698
+
9699
+ # The key string value.
9700
+ # Corresponds to the JSON property `key`
9701
+ # @return [String]
9702
+ attr_accessor :key
9703
+
9704
+ # Logical element on the page.
9705
+ # Corresponds to the JSON property `keyBlock`
9706
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Block]
9707
+ attr_accessor :key_block
9708
+
9709
+ # Optional. The translation of key text if the text is not in English.
9710
+ # Corresponds to the JSON property `normalizedKey`
9711
+ # @return [String]
9712
+ attr_accessor :normalized_key
9713
+
9714
+ # Logical element on the page.
9715
+ # Corresponds to the JSON property `valueBlock`
9716
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Block]
9717
+ attr_accessor :value_block
9718
+
9719
+ # Type of the value. Valid strings are the following:
9720
+ # "generic" - For generic text that is mapped to a value.
9721
+ # "number" - for numeric types
9722
+ # "id" - for generic identifiers.
9723
+ # "currency" - for currency values.
9724
+ # "date" - for dates.
9725
+ # "time" - for time and duration values.
9726
+ # "date_range" - for date ranges.
9727
+ # "address" - for address values (can be long).
9728
+ # "person" - for names of people or other personal identifiers.
9729
+ # "phone" - for phone numbers.
9730
+ # Corresponds to the JSON property `valueType`
9731
+ # @return [String]
9732
+ attr_accessor :value_type
9733
+
9734
+ def initialize(**args)
9735
+ update!(**args)
9736
+ end
9737
+
9738
+ # Update properties of this object
9739
+ def update!(**args)
9740
+ @key = args[:key] if args.key?(:key)
9741
+ @key_block = args[:key_block] if args.key?(:key_block)
9742
+ @normalized_key = args[:normalized_key] if args.key?(:normalized_key)
9743
+ @value_block = args[:value_block] if args.key?(:value_block)
9744
+ @value_type = args[:value_type] if args.key?(:value_type)
9745
+ end
9746
+ end
9747
+
9748
+ # Set of detected objects with bounding boxes.
9749
+ class GoogleCloudVisionV1p5beta1LocalizedObjectAnnotation
9750
+ include Google::Apis::Core::Hashable
9751
+
9752
+ # A bounding polygon for the detected image annotation.
9753
+ # Corresponds to the JSON property `boundingPoly`
9754
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1BoundingPoly]
9755
+ attr_accessor :bounding_poly
9756
+
9757
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
9758
+ # information, see
9759
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
9760
+ # Corresponds to the JSON property `languageCode`
9761
+ # @return [String]
9762
+ attr_accessor :language_code
9763
+
9764
+ # Object ID that should align with EntityAnnotation mid.
9765
+ # Corresponds to the JSON property `mid`
9766
+ # @return [String]
9767
+ attr_accessor :mid
9768
+
9769
+ # Object name, expressed in its `language_code` language.
9770
+ # Corresponds to the JSON property `name`
9771
+ # @return [String]
9772
+ attr_accessor :name
9773
+
9774
+ # Score of the result. Range [0, 1].
9775
+ # Corresponds to the JSON property `score`
9776
+ # @return [Float]
9777
+ attr_accessor :score
9778
+
9779
+ def initialize(**args)
9780
+ update!(**args)
9781
+ end
9782
+
9783
+ # Update properties of this object
9784
+ def update!(**args)
9785
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
9786
+ @language_code = args[:language_code] if args.key?(:language_code)
9787
+ @mid = args[:mid] if args.key?(:mid)
9788
+ @name = args[:name] if args.key?(:name)
9789
+ @score = args[:score] if args.key?(:score)
9790
+ end
9791
+ end
9792
+
9793
+ # Detected entity location information.
9794
+ class GoogleCloudVisionV1p5beta1LocationInfo
9795
+ include Google::Apis::Core::Hashable
9796
+
9797
+ # An object representing a latitude/longitude pair. This is expressed as a pair
9798
+ # of doubles representing degrees latitude and degrees longitude. Unless
9799
+ # specified otherwise, this must conform to the
9800
+ # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
9801
+ # standard</a>. Values must be within normalized ranges.
9802
+ # Corresponds to the JSON property `latLng`
9803
+ # @return [Google::Apis::VisionV1::LatLng]
9804
+ attr_accessor :lat_lng
9805
+
9806
+ def initialize(**args)
9807
+ update!(**args)
9808
+ end
9809
+
9810
+ # Update properties of this object
9811
+ def update!(**args)
9812
+ @lat_lng = args[:lat_lng] if args.key?(:lat_lng)
9813
+ end
9814
+ end
9815
+
9816
+ # A vertex represents a 2D point in the image.
9817
+ # NOTE: the normalized vertex coordinates are relative to the original image
9818
+ # and range from 0 to 1.
9819
+ class GoogleCloudVisionV1p5beta1NormalizedVertex
9820
+ include Google::Apis::Core::Hashable
9821
+
9822
+ # X coordinate.
9823
+ # Corresponds to the JSON property `x`
9824
+ # @return [Float]
9825
+ attr_accessor :x
9826
+
9827
+ # Y coordinate.
9828
+ # Corresponds to the JSON property `y`
9829
+ # @return [Float]
9830
+ attr_accessor :y
9831
+
9832
+ def initialize(**args)
9833
+ update!(**args)
9834
+ end
9835
+
9836
+ # Update properties of this object
9837
+ def update!(**args)
9838
+ @x = args[:x] if args.key?(:x)
9839
+ @y = args[:y] if args.key?(:y)
9840
+ end
9841
+ end
9842
+
9843
+ # Contains metadata for the BatchAnnotateImages operation.
9844
+ class GoogleCloudVisionV1p5beta1OperationMetadata
9845
+ include Google::Apis::Core::Hashable
9846
+
9847
+ # The time when the batch request was received.
9848
+ # Corresponds to the JSON property `createTime`
9849
+ # @return [String]
9850
+ attr_accessor :create_time
9851
+
9852
+ # Current state of the batch operation.
9853
+ # Corresponds to the JSON property `state`
9854
+ # @return [String]
9855
+ attr_accessor :state
9856
+
9857
+ # The time when the operation result was last updated.
9858
+ # Corresponds to the JSON property `updateTime`
9859
+ # @return [String]
9860
+ attr_accessor :update_time
9861
+
9862
+ def initialize(**args)
9863
+ update!(**args)
9864
+ end
9865
+
9866
+ # Update properties of this object
9867
+ def update!(**args)
9868
+ @create_time = args[:create_time] if args.key?(:create_time)
9869
+ @state = args[:state] if args.key?(:state)
9870
+ @update_time = args[:update_time] if args.key?(:update_time)
9871
+ end
9872
+ end
9873
+
9874
+ # The desired output location and metadata.
9875
+ class GoogleCloudVisionV1p5beta1OutputConfig
9876
+ include Google::Apis::Core::Hashable
9877
+
9878
+ # The max number of response protos to put into each output JSON file on
9879
+ # Google Cloud Storage.
9880
+ # The valid range is [1, 100]. If not specified, the default value is 20.
9881
+ # For example, for one pdf file with 100 pages, 100 response protos will
9882
+ # be generated. If `batch_size` = 20, then 5 json files each
9883
+ # containing 20 response protos will be written under the prefix
9884
+ # `gcs_destination`.`uri`.
9885
+ # Currently, batch_size only applies to GcsDestination, with potential future
9886
+ # support for other output configurations.
9887
+ # Corresponds to the JSON property `batchSize`
9888
+ # @return [Fixnum]
9889
+ attr_accessor :batch_size
9890
+
9891
+ # The Google Cloud Storage location where the output will be written to.
9892
+ # Corresponds to the JSON property `gcsDestination`
9893
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1GcsDestination]
9894
+ attr_accessor :gcs_destination
9895
+
9896
+ def initialize(**args)
9897
+ update!(**args)
9898
+ end
9899
+
9900
+ # Update properties of this object
9901
+ def update!(**args)
9902
+ @batch_size = args[:batch_size] if args.key?(:batch_size)
9903
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
9904
+ end
9905
+ end
9906
+
9907
+ # Detected page from OCR.
9908
+ class GoogleCloudVisionV1p5beta1Page
9909
+ include Google::Apis::Core::Hashable
9910
+
9911
+ # List of blocks of text, images etc on this page.
9912
+ # Corresponds to the JSON property `blocks`
9913
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Block>]
9914
+ attr_accessor :blocks
9915
+
9916
+ # Confidence of the OCR results on the page. Range [0, 1].
9917
+ # Corresponds to the JSON property `confidence`
9918
+ # @return [Float]
9919
+ attr_accessor :confidence
9920
+
9921
+ # Page height. For PDFs the unit is points. For images (including
9922
+ # TIFFs) the unit is pixels.
9923
+ # Corresponds to the JSON property `height`
9924
+ # @return [Fixnum]
9925
+ attr_accessor :height
9926
+
9927
+ # All UTF-8 text detected in this page. This field is by default not
9928
+ # returned unless specified in TextDetectionParams.page_filter.
9929
+ # Corresponds to the JSON property `mergedText`
9930
+ # @return [String]
9931
+ attr_accessor :merged_text
9932
+
9933
+ # Additional information detected on the structural component.
9934
+ # Corresponds to the JSON property `property`
9935
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1TextAnnotationTextProperty]
9936
+ attr_accessor :property
9937
+
9938
+ # Page width. For PDFs the unit is points. For images (including
9939
+ # TIFFs) the unit is pixels.
9940
+ # Corresponds to the JSON property `width`
9941
+ # @return [Fixnum]
9942
+ attr_accessor :width
9943
+
9944
+ def initialize(**args)
9945
+ update!(**args)
9946
+ end
9947
+
9948
+ # Update properties of this object
9949
+ def update!(**args)
9950
+ @blocks = args[:blocks] if args.key?(:blocks)
9951
+ @confidence = args[:confidence] if args.key?(:confidence)
9952
+ @height = args[:height] if args.key?(:height)
9953
+ @merged_text = args[:merged_text] if args.key?(:merged_text)
9954
+ @property = args[:property] if args.key?(:property)
9955
+ @width = args[:width] if args.key?(:width)
9956
+ end
9957
+ end
9958
+
9959
+ # Structural unit of text representing a number of words in certain order.
9960
+ class GoogleCloudVisionV1p5beta1Paragraph
9961
+ include Google::Apis::Core::Hashable
9962
+
9963
+ # A bounding polygon for the detected image annotation.
9964
+ # Corresponds to the JSON property `boundingBox`
9965
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1BoundingPoly]
9966
+ attr_accessor :bounding_box
9967
+
9968
+ # Confidence of the OCR results for the paragraph. Range [0, 1].
9969
+ # Corresponds to the JSON property `confidence`
9970
+ # @return [Float]
9971
+ attr_accessor :confidence
9972
+
9973
+ # All UTF-8 text detected in this paragraph. This field is by default not
9974
+ # returned unless specified in
9975
+ # TextDetectionParams.paragraph_filter.
9976
+ # Corresponds to the JSON property `mergedText`
9977
+ # @return [String]
9978
+ attr_accessor :merged_text
9979
+
9980
+ # Additional information detected on the structural component.
9981
+ # Corresponds to the JSON property `property`
9982
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1TextAnnotationTextProperty]
9983
+ attr_accessor :property
9984
+
9985
+ # List of words in this paragraph.
9986
+ # Corresponds to the JSON property `words`
9987
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Word>]
9988
+ attr_accessor :words
9989
+
9990
+ def initialize(**args)
9991
+ update!(**args)
9992
+ end
9993
+
9994
+ # Update properties of this object
9995
+ def update!(**args)
9996
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
9997
+ @confidence = args[:confidence] if args.key?(:confidence)
9998
+ @merged_text = args[:merged_text] if args.key?(:merged_text)
9999
+ @property = args[:property] if args.key?(:property)
10000
+ @words = args[:words] if args.key?(:words)
10001
+ end
10002
+ end
10003
+
10004
+ # A 3D position in the image, used primarily for Face detection landmarks.
10005
+ # A valid Position must have both x and y coordinates.
10006
+ # The position coordinates are in the same scale as the original image.
10007
+ class GoogleCloudVisionV1p5beta1Position
10008
+ include Google::Apis::Core::Hashable
10009
+
10010
+ # X coordinate.
10011
+ # Corresponds to the JSON property `x`
10012
+ # @return [Float]
10013
+ attr_accessor :x
10014
+
10015
+ # Y coordinate.
10016
+ # Corresponds to the JSON property `y`
10017
+ # @return [Float]
10018
+ attr_accessor :y
10019
+
10020
+ # Z coordinate (or depth).
10021
+ # Corresponds to the JSON property `z`
10022
+ # @return [Float]
10023
+ attr_accessor :z
10024
+
10025
+ def initialize(**args)
10026
+ update!(**args)
10027
+ end
10028
+
10029
+ # Update properties of this object
10030
+ def update!(**args)
10031
+ @x = args[:x] if args.key?(:x)
10032
+ @y = args[:y] if args.key?(:y)
10033
+ @z = args[:z] if args.key?(:z)
10034
+ end
10035
+ end
10036
+
10037
+ # A Product contains ReferenceImages.
10038
+ class GoogleCloudVisionV1p5beta1Product
10039
+ include Google::Apis::Core::Hashable
10040
+
10041
+ # User-provided metadata to be stored with this product. Must be at most 4096
10042
+ # characters long.
10043
+ # Corresponds to the JSON property `description`
10044
+ # @return [String]
10045
+ attr_accessor :description
10046
+
10047
+ # The user-provided name for this Product. Must not be empty. Must be at most
10048
+ # 4096 characters long.
10049
+ # Corresponds to the JSON property `displayName`
10050
+ # @return [String]
10051
+ attr_accessor :display_name
10052
+
10053
+ # The resource name of the product.
10054
+ # Format is:
10055
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
10056
+ # This field is ignored when creating a product.
10057
+ # Corresponds to the JSON property `name`
10058
+ # @return [String]
10059
+ attr_accessor :name
10060
+
10061
+ # The category for the product identified by the reference image. This should
10062
+ # be either "homegoods", "apparel", or "toys".
10063
+ # This field is immutable.
10064
+ # Corresponds to the JSON property `productCategory`
10065
+ # @return [String]
10066
+ attr_accessor :product_category
10067
+
10068
+ # Key-value pairs that can be attached to a product. At query time,
10069
+ # constraints can be specified based on the product_labels.
10070
+ # Note that integer values can be provided as strings, e.g. "1199". Only
10071
+ # strings with integer values can match a range-based restriction which is
10072
+ # to be supported soon.
10073
+ # Multiple values can be assigned to the same key. One product may have up to
10074
+ # 100 product_labels.
10075
+ # Corresponds to the JSON property `productLabels`
10076
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1ProductKeyValue>]
10077
+ attr_accessor :product_labels
10078
+
10079
+ def initialize(**args)
10080
+ update!(**args)
10081
+ end
10082
+
10083
+ # Update properties of this object
10084
+ def update!(**args)
10085
+ @description = args[:description] if args.key?(:description)
10086
+ @display_name = args[:display_name] if args.key?(:display_name)
10087
+ @name = args[:name] if args.key?(:name)
10088
+ @product_category = args[:product_category] if args.key?(:product_category)
10089
+ @product_labels = args[:product_labels] if args.key?(:product_labels)
10090
+ end
10091
+ end
10092
+
10093
+ # A product label represented as a key-value pair.
10094
+ class GoogleCloudVisionV1p5beta1ProductKeyValue
10095
+ include Google::Apis::Core::Hashable
10096
+
10097
+ # The key of the label attached to the product. Cannot be empty and cannot
10098
+ # exceed 128 bytes.
10099
+ # Corresponds to the JSON property `key`
10100
+ # @return [String]
10101
+ attr_accessor :key
10102
+
10103
+ # The value of the label attached to the product. Cannot be empty and
10104
+ # cannot exceed 128 bytes.
10105
+ # Corresponds to the JSON property `value`
10106
+ # @return [String]
10107
+ attr_accessor :value
10108
+
10109
+ def initialize(**args)
10110
+ update!(**args)
10111
+ end
10112
+
10113
+ # Update properties of this object
10114
+ def update!(**args)
10115
+ @key = args[:key] if args.key?(:key)
10116
+ @value = args[:value] if args.key?(:value)
10117
+ end
10118
+ end
10119
+
10120
+ # Results for a product search request.
10121
+ class GoogleCloudVisionV1p5beta1ProductSearchResults
10122
+ include Google::Apis::Core::Hashable
10123
+
10124
+ # Timestamp of the index which provided these results. Products added to the
10125
+ # product set and products removed from the product set after this time are
10126
+ # not reflected in the current results.
10127
+ # Corresponds to the JSON property `indexTime`
10128
+ # @return [String]
10129
+ attr_accessor :index_time
10130
+
10131
+ # List of results grouped by products detected in the query image. Each entry
10132
+ # corresponds to one bounding polygon in the query image, and contains the
10133
+ # matching products specific to that region. There may be duplicate product
10134
+ # matches in the union of all the per-product results.
10135
+ # Corresponds to the JSON property `productGroupedResults`
10136
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1ProductSearchResultsGroupedResult>]
10137
+ attr_accessor :product_grouped_results
10138
+
10139
+ # List of results, one for each product match.
10140
+ # Corresponds to the JSON property `results`
10141
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1ProductSearchResultsResult>]
10142
+ attr_accessor :results
10143
+
10144
+ def initialize(**args)
10145
+ update!(**args)
10146
+ end
10147
+
10148
+ # Update properties of this object
10149
+ def update!(**args)
10150
+ @index_time = args[:index_time] if args.key?(:index_time)
10151
+ @product_grouped_results = args[:product_grouped_results] if args.key?(:product_grouped_results)
10152
+ @results = args[:results] if args.key?(:results)
10153
+ end
10154
+ end
10155
+
10156
+ # Information about the products similar to a single product in a query
10157
+ # image.
10158
+ class GoogleCloudVisionV1p5beta1ProductSearchResultsGroupedResult
10159
+ include Google::Apis::Core::Hashable
10160
+
10161
+ # A bounding polygon for the detected image annotation.
10162
+ # Corresponds to the JSON property `boundingPoly`
10163
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1BoundingPoly]
10164
+ attr_accessor :bounding_poly
10165
+
10166
+ # List of results, one for each product match.
10167
+ # Corresponds to the JSON property `results`
10168
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1ProductSearchResultsResult>]
10169
+ attr_accessor :results
10170
+
10171
+ def initialize(**args)
10172
+ update!(**args)
10173
+ end
10174
+
10175
+ # Update properties of this object
10176
+ def update!(**args)
10177
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
10178
+ @results = args[:results] if args.key?(:results)
10179
+ end
10180
+ end
10181
+
10182
+ # Information about a product.
10183
+ class GoogleCloudVisionV1p5beta1ProductSearchResultsResult
10184
+ include Google::Apis::Core::Hashable
10185
+
10186
+ # The resource name of the image from the product that is the closest match
10187
+ # to the query.
10188
+ # Corresponds to the JSON property `image`
10189
+ # @return [String]
10190
+ attr_accessor :image
10191
+
10192
+ # A Product contains ReferenceImages.
10193
+ # Corresponds to the JSON property `product`
10194
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Product]
10195
+ attr_accessor :product
10196
+
10197
+ # A confidence level on the match, ranging from 0 (no confidence) to
10198
+ # 1 (full confidence).
10199
+ # Corresponds to the JSON property `score`
10200
+ # @return [Float]
10201
+ attr_accessor :score
10202
+
10203
+ def initialize(**args)
10204
+ update!(**args)
10205
+ end
10206
+
10207
+ # Update properties of this object
10208
+ def update!(**args)
10209
+ @image = args[:image] if args.key?(:image)
10210
+ @product = args[:product] if args.key?(:product)
10211
+ @score = args[:score] if args.key?(:score)
10212
+ end
10213
+ end
10214
+
10215
+ # A `Property` consists of a user-supplied name/value pair.
10216
+ class GoogleCloudVisionV1p5beta1Property
10217
+ include Google::Apis::Core::Hashable
10218
+
10219
+ # Name of the property.
10220
+ # Corresponds to the JSON property `name`
10221
+ # @return [String]
10222
+ attr_accessor :name
10223
+
10224
+ # Value of numeric properties.
10225
+ # Corresponds to the JSON property `uint64Value`
10226
+ # @return [Fixnum]
10227
+ attr_accessor :uint64_value
10228
+
10229
+ # Value of the property.
10230
+ # Corresponds to the JSON property `value`
10231
+ # @return [String]
10232
+ attr_accessor :value
10233
+
10234
+ def initialize(**args)
10235
+ update!(**args)
10236
+ end
10237
+
10238
+ # Update properties of this object
10239
+ def update!(**args)
10240
+ @name = args[:name] if args.key?(:name)
10241
+ @uint64_value = args[:uint64_value] if args.key?(:uint64_value)
10242
+ @value = args[:value] if args.key?(:value)
10243
+ end
10244
+ end
10245
+
10246
+ # A `ReferenceImage` represents a product image and its associated metadata,
10247
+ # such as bounding boxes.
10248
+ class GoogleCloudVisionV1p5beta1ReferenceImage
10249
+ include Google::Apis::Core::Hashable
10250
+
10251
+ # Bounding polygons around the areas of interest in the reference image.
10252
+ # Optional. If this field is empty, the system will try to detect regions of
10253
+ # interest. At most 10 bounding polygons will be used.
10254
+ # The provided shape is converted into a non-rotated rectangle. Once
10255
+ # converted, the small edge of the rectangle must be greater than or equal
10256
+ # to 300 pixels. The aspect ratio must be 1:4 or less (i.e. 1:3 is ok; 1:5
10257
+ # is not).
10258
+ # Corresponds to the JSON property `boundingPolys`
10259
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1BoundingPoly>]
10260
+ attr_accessor :bounding_polys
10261
+
10262
+ # The resource name of the reference image.
10263
+ # Format is:
10264
+ # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID/referenceImages/
10265
+ # IMAGE_ID`.
10266
+ # This field is ignored when creating a reference image.
10267
+ # Corresponds to the JSON property `name`
10268
+ # @return [String]
10269
+ attr_accessor :name
10270
+
10271
+ # The Google Cloud Storage URI of the reference image.
10272
+ # The URI must start with `gs://`.
10273
+ # Required.
10274
+ # Corresponds to the JSON property `uri`
10275
+ # @return [String]
10276
+ attr_accessor :uri
10277
+
10278
+ def initialize(**args)
10279
+ update!(**args)
10280
+ end
10281
+
10282
+ # Update properties of this object
10283
+ def update!(**args)
10284
+ @bounding_polys = args[:bounding_polys] if args.key?(:bounding_polys)
10285
+ @name = args[:name] if args.key?(:name)
10286
+ @uri = args[:uri] if args.key?(:uri)
10287
+ end
10288
+ end
10289
+
10290
+ # Set of features pertaining to the image, computed by computer vision
10291
+ # methods over safe-search verticals (for example, adult, spoof, medical,
10292
+ # violence).
10293
+ class GoogleCloudVisionV1p5beta1SafeSearchAnnotation
10294
+ include Google::Apis::Core::Hashable
10295
+
10296
+ # Represents the adult content likelihood for the image. Adult content may
10297
+ # contain elements such as nudity, pornographic images or cartoons, or
10298
+ # sexual activities.
10299
+ # Corresponds to the JSON property `adult`
10300
+ # @return [String]
10301
+ attr_accessor :adult
10302
+
10303
+ # Likelihood that this is a medical image.
10304
+ # Corresponds to the JSON property `medical`
10305
+ # @return [String]
10306
+ attr_accessor :medical
10307
+
10308
+ # Likelihood that the request image contains racy content. Racy content may
10309
+ # include (but is not limited to) skimpy or sheer clothing, strategically
10310
+ # covered nudity, lewd or provocative poses, or close-ups of sensitive
10311
+ # body areas.
10312
+ # Corresponds to the JSON property `racy`
10313
+ # @return [String]
10314
+ attr_accessor :racy
10315
+
10316
+ # Spoof likelihood. The likelihood that an modification
10317
+ # was made to the image's canonical version to make it appear
10318
+ # funny or offensive.
10319
+ # Corresponds to the JSON property `spoof`
10320
+ # @return [String]
10321
+ attr_accessor :spoof
10322
+
10323
+ # Likelihood that this image contains violent content.
10324
+ # Corresponds to the JSON property `violence`
10325
+ # @return [String]
10326
+ attr_accessor :violence
10327
+
10328
+ def initialize(**args)
10329
+ update!(**args)
10330
+ end
10331
+
10332
+ # Update properties of this object
10333
+ def update!(**args)
10334
+ @adult = args[:adult] if args.key?(:adult)
10335
+ @medical = args[:medical] if args.key?(:medical)
10336
+ @racy = args[:racy] if args.key?(:racy)
10337
+ @spoof = args[:spoof] if args.key?(:spoof)
10338
+ @violence = args[:violence] if args.key?(:violence)
10339
+ end
10340
+ end
10341
+
10342
+ # A single symbol representation.
10343
+ class GoogleCloudVisionV1p5beta1Symbol
10344
+ include Google::Apis::Core::Hashable
10345
+
10346
+ # A bounding polygon for the detected image annotation.
10347
+ # Corresponds to the JSON property `boundingBox`
10348
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1BoundingPoly]
10349
+ attr_accessor :bounding_box
10350
+
10351
+ # Confidence of the OCR results for the symbol. Range [0, 1].
10352
+ # Corresponds to the JSON property `confidence`
10353
+ # @return [Float]
10354
+ attr_accessor :confidence
10355
+
10356
+ # Additional information detected on the structural component.
10357
+ # Corresponds to the JSON property `property`
10358
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1TextAnnotationTextProperty]
10359
+ attr_accessor :property
10360
+
10361
+ # The actual UTF-8 representation of the symbol.
10362
+ # Corresponds to the JSON property `text`
10363
+ # @return [String]
10364
+ attr_accessor :text
10365
+
10366
+ def initialize(**args)
10367
+ update!(**args)
10368
+ end
10369
+
10370
+ # Update properties of this object
10371
+ def update!(**args)
10372
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
10373
+ @confidence = args[:confidence] if args.key?(:confidence)
10374
+ @property = args[:property] if args.key?(:property)
10375
+ @text = args[:text] if args.key?(:text)
10376
+ end
10377
+ end
10378
+
10379
+ # A table representation similar to HTML table structure.
10380
+ class GoogleCloudVisionV1p5beta1Table
10381
+ include Google::Apis::Core::Hashable
10382
+
10383
+ # Body rows of the table
10384
+ # Corresponds to the JSON property `bodyRows`
10385
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1TableTableRow>]
10386
+ attr_accessor :body_rows
10387
+
10388
+ # Header rows of the table
10389
+ # Corresponds to the JSON property `headerRows`
10390
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1TableTableRow>]
10391
+ attr_accessor :header_rows
10392
+
10393
+ def initialize(**args)
10394
+ update!(**args)
10395
+ end
10396
+
10397
+ # Update properties of this object
10398
+ def update!(**args)
10399
+ @body_rows = args[:body_rows] if args.key?(:body_rows)
10400
+ @header_rows = args[:header_rows] if args.key?(:header_rows)
10401
+ end
10402
+ end
10403
+
10404
+ # A cell representation inside of tables.
10405
+ class GoogleCloudVisionV1p5beta1TableTableCell
10406
+ include Google::Apis::Core::Hashable
10407
+
10408
+ # How many columns this cell spans.
10409
+ # Corresponds to the JSON property `colSpan`
10410
+ # @return [Fixnum]
10411
+ attr_accessor :col_span
10412
+
10413
+ # How many rows this cell spans.
10414
+ # Corresponds to the JSON property `rowSpan`
10415
+ # @return [Fixnum]
10416
+ attr_accessor :row_span
10417
+
10418
+ # The merged text value of this cell, omitting any deeper structural
10419
+ # information unlike `text_block`. This is useful for simple cells.
10420
+ # Corresponds to the JSON property `text`
10421
+ # @return [String]
10422
+ attr_accessor :text
10423
+
10424
+ # Logical element on the page.
10425
+ # Corresponds to the JSON property `textBlock`
10426
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Block]
10427
+ attr_accessor :text_block
10428
+
10429
+ def initialize(**args)
10430
+ update!(**args)
10431
+ end
10432
+
10433
+ # Update properties of this object
10434
+ def update!(**args)
10435
+ @col_span = args[:col_span] if args.key?(:col_span)
10436
+ @row_span = args[:row_span] if args.key?(:row_span)
10437
+ @text = args[:text] if args.key?(:text)
10438
+ @text_block = args[:text_block] if args.key?(:text_block)
10439
+ end
10440
+ end
10441
+
10442
+ # A row of table cells.
10443
+ class GoogleCloudVisionV1p5beta1TableTableRow
10444
+ include Google::Apis::Core::Hashable
10445
+
10446
+ # Cells that make up this row.
10447
+ # Corresponds to the JSON property `cells`
10448
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1TableTableCell>]
10449
+ attr_accessor :cells
10450
+
10451
+ def initialize(**args)
10452
+ update!(**args)
10453
+ end
10454
+
10455
+ # Update properties of this object
10456
+ def update!(**args)
10457
+ @cells = args[:cells] if args.key?(:cells)
10458
+ end
10459
+ end
10460
+
10461
+ # TextAnnotation contains a structured representation of OCR extracted text.
10462
+ # The hierarchy of an OCR extracted text structure is like this:
10463
+ # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol
10464
+ # Each structural component, starting from Page, may further have their own
10465
+ # properties. Properties describe detected languages, breaks etc.. Please refer
10466
+ # to the TextAnnotation.TextProperty message definition below for more
10467
+ # detail.
10468
+ class GoogleCloudVisionV1p5beta1TextAnnotation
10469
+ include Google::Apis::Core::Hashable
10470
+
10471
+ # List of pages detected by OCR.
10472
+ # Corresponds to the JSON property `pages`
10473
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Page>]
10474
+ attr_accessor :pages
10475
+
10476
+ # UTF-8 text detected on the pages.
10477
+ # Corresponds to the JSON property `text`
10478
+ # @return [String]
10479
+ attr_accessor :text
10480
+
10481
+ def initialize(**args)
10482
+ update!(**args)
10483
+ end
10484
+
10485
+ # Update properties of this object
10486
+ def update!(**args)
10487
+ @pages = args[:pages] if args.key?(:pages)
10488
+ @text = args[:text] if args.key?(:text)
10489
+ end
10490
+ end
10491
+
10492
+ # Detected start or end of a structural component.
10493
+ class GoogleCloudVisionV1p5beta1TextAnnotationDetectedBreak
10494
+ include Google::Apis::Core::Hashable
10495
+
10496
+ # True if break prepends the element.
10497
+ # Corresponds to the JSON property `isPrefix`
10498
+ # @return [Boolean]
10499
+ attr_accessor :is_prefix
10500
+ alias_method :is_prefix?, :is_prefix
10501
+
10502
+ # Detected break type.
10503
+ # Corresponds to the JSON property `type`
10504
+ # @return [String]
10505
+ attr_accessor :type
10506
+
10507
+ def initialize(**args)
10508
+ update!(**args)
10509
+ end
10510
+
10511
+ # Update properties of this object
10512
+ def update!(**args)
10513
+ @is_prefix = args[:is_prefix] if args.key?(:is_prefix)
10514
+ @type = args[:type] if args.key?(:type)
10515
+ end
10516
+ end
10517
+
10518
+ # Detected language for a structural component.
10519
+ class GoogleCloudVisionV1p5beta1TextAnnotationDetectedLanguage
10520
+ include Google::Apis::Core::Hashable
10521
+
10522
+ # Confidence of detected language. Range [0, 1].
10523
+ # Corresponds to the JSON property `confidence`
10524
+ # @return [Float]
10525
+ attr_accessor :confidence
10526
+
10527
+ # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
10528
+ # information, see
10529
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
10530
+ # Corresponds to the JSON property `languageCode`
10531
+ # @return [String]
10532
+ attr_accessor :language_code
10533
+
10534
+ def initialize(**args)
10535
+ update!(**args)
10536
+ end
10537
+
10538
+ # Update properties of this object
10539
+ def update!(**args)
10540
+ @confidence = args[:confidence] if args.key?(:confidence)
10541
+ @language_code = args[:language_code] if args.key?(:language_code)
10542
+ end
10543
+ end
10544
+
10545
+ # Additional information detected on the structural component.
10546
+ class GoogleCloudVisionV1p5beta1TextAnnotationTextProperty
10547
+ include Google::Apis::Core::Hashable
10548
+
10549
+ # Detected start or end of a structural component.
10550
+ # Corresponds to the JSON property `detectedBreak`
10551
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1TextAnnotationDetectedBreak]
10552
+ attr_accessor :detected_break
10553
+
10554
+ # A list of detected languages together with confidence.
10555
+ # Corresponds to the JSON property `detectedLanguages`
10556
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1TextAnnotationDetectedLanguage>]
10557
+ attr_accessor :detected_languages
10558
+
10559
+ def initialize(**args)
10560
+ update!(**args)
10561
+ end
10562
+
10563
+ # Update properties of this object
10564
+ def update!(**args)
10565
+ @detected_break = args[:detected_break] if args.key?(:detected_break)
10566
+ @detected_languages = args[:detected_languages] if args.key?(:detected_languages)
10567
+ end
10568
+ end
10569
+
10570
+ # A vertex represents a 2D point in the image.
10571
+ # NOTE: the vertex coordinates are in the same scale as the original image.
10572
+ class GoogleCloudVisionV1p5beta1Vertex
10573
+ include Google::Apis::Core::Hashable
10574
+
10575
+ # X coordinate.
10576
+ # Corresponds to the JSON property `x`
10577
+ # @return [Fixnum]
10578
+ attr_accessor :x
10579
+
10580
+ # Y coordinate.
10581
+ # Corresponds to the JSON property `y`
10582
+ # @return [Fixnum]
10583
+ attr_accessor :y
10584
+
10585
+ def initialize(**args)
10586
+ update!(**args)
10587
+ end
10588
+
10589
+ # Update properties of this object
10590
+ def update!(**args)
10591
+ @x = args[:x] if args.key?(:x)
10592
+ @y = args[:y] if args.key?(:y)
10593
+ end
10594
+ end
10595
+
10596
+ # Relevant information for the image from the Internet.
10597
+ class GoogleCloudVisionV1p5beta1WebDetection
10598
+ include Google::Apis::Core::Hashable
10599
+
10600
+ # The service's best guess as to the topic of the request image.
10601
+ # Inferred from similar images on the open web.
10602
+ # Corresponds to the JSON property `bestGuessLabels`
10603
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1WebDetectionWebLabel>]
10604
+ attr_accessor :best_guess_labels
10605
+
10606
+ # Fully matching images from the Internet.
10607
+ # Can include resized copies of the query image.
10608
+ # Corresponds to the JSON property `fullMatchingImages`
10609
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1WebDetectionWebImage>]
10610
+ attr_accessor :full_matching_images
10611
+
10612
+ # Web pages containing the matching images from the Internet.
10613
+ # Corresponds to the JSON property `pagesWithMatchingImages`
10614
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1WebDetectionWebPage>]
10615
+ attr_accessor :pages_with_matching_images
10616
+
10617
+ # Partial matching images from the Internet.
10618
+ # Those images are similar enough to share some key-point features. For
10619
+ # example an original image will likely have partial matching for its crops.
10620
+ # Corresponds to the JSON property `partialMatchingImages`
10621
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1WebDetectionWebImage>]
10622
+ attr_accessor :partial_matching_images
10623
+
10624
+ # The visually similar image results.
10625
+ # Corresponds to the JSON property `visuallySimilarImages`
10626
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1WebDetectionWebImage>]
10627
+ attr_accessor :visually_similar_images
10628
+
10629
+ # Deduced entities from similar images on the Internet.
10630
+ # Corresponds to the JSON property `webEntities`
10631
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1WebDetectionWebEntity>]
10632
+ attr_accessor :web_entities
10633
+
10634
+ def initialize(**args)
10635
+ update!(**args)
10636
+ end
10637
+
10638
+ # Update properties of this object
10639
+ def update!(**args)
10640
+ @best_guess_labels = args[:best_guess_labels] if args.key?(:best_guess_labels)
10641
+ @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images)
10642
+ @pages_with_matching_images = args[:pages_with_matching_images] if args.key?(:pages_with_matching_images)
10643
+ @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images)
10644
+ @visually_similar_images = args[:visually_similar_images] if args.key?(:visually_similar_images)
10645
+ @web_entities = args[:web_entities] if args.key?(:web_entities)
10646
+ end
10647
+ end
10648
+
10649
+ # Entity deduced from similar images on the Internet.
10650
+ class GoogleCloudVisionV1p5beta1WebDetectionWebEntity
10651
+ include Google::Apis::Core::Hashable
10652
+
10653
+ # Canonical description of the entity, in English.
10654
+ # Corresponds to the JSON property `description`
10655
+ # @return [String]
10656
+ attr_accessor :description
10657
+
10658
+ # Opaque entity ID.
10659
+ # Corresponds to the JSON property `entityId`
10660
+ # @return [String]
10661
+ attr_accessor :entity_id
10662
+
10663
+ # Overall relevancy score for the entity.
10664
+ # Not normalized and not comparable across different image queries.
10665
+ # Corresponds to the JSON property `score`
10666
+ # @return [Float]
10667
+ attr_accessor :score
10668
+
10669
+ def initialize(**args)
10670
+ update!(**args)
10671
+ end
10672
+
10673
+ # Update properties of this object
10674
+ def update!(**args)
10675
+ @description = args[:description] if args.key?(:description)
10676
+ @entity_id = args[:entity_id] if args.key?(:entity_id)
10677
+ @score = args[:score] if args.key?(:score)
10678
+ end
10679
+ end
10680
+
10681
+ # Metadata for online images.
10682
+ class GoogleCloudVisionV1p5beta1WebDetectionWebImage
10683
+ include Google::Apis::Core::Hashable
10684
+
10685
+ # (Deprecated) Overall relevancy score for the image.
10686
+ # Corresponds to the JSON property `score`
10687
+ # @return [Float]
10688
+ attr_accessor :score
10689
+
10690
+ # The result image URL.
10691
+ # Corresponds to the JSON property `url`
10692
+ # @return [String]
10693
+ attr_accessor :url
10694
+
10695
+ def initialize(**args)
10696
+ update!(**args)
10697
+ end
10698
+
10699
+ # Update properties of this object
10700
+ def update!(**args)
10701
+ @score = args[:score] if args.key?(:score)
10702
+ @url = args[:url] if args.key?(:url)
10703
+ end
10704
+ end
10705
+
10706
+ # Label to provide extra metadata for the web detection.
10707
+ class GoogleCloudVisionV1p5beta1WebDetectionWebLabel
10708
+ include Google::Apis::Core::Hashable
10709
+
10710
+ # Label for extra metadata.
10711
+ # Corresponds to the JSON property `label`
10712
+ # @return [String]
10713
+ attr_accessor :label
10714
+
10715
+ # The BCP-47 language code for `label`, such as "en-US" or "sr-Latn".
10716
+ # For more information, see
10717
+ # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
10718
+ # Corresponds to the JSON property `languageCode`
10719
+ # @return [String]
10720
+ attr_accessor :language_code
10721
+
10722
+ def initialize(**args)
10723
+ update!(**args)
10724
+ end
10725
+
10726
+ # Update properties of this object
10727
+ def update!(**args)
10728
+ @label = args[:label] if args.key?(:label)
10729
+ @language_code = args[:language_code] if args.key?(:language_code)
10730
+ end
10731
+ end
10732
+
10733
+ # Metadata for web pages.
10734
+ class GoogleCloudVisionV1p5beta1WebDetectionWebPage
10735
+ include Google::Apis::Core::Hashable
10736
+
10737
+ # Fully matching images on the page.
10738
+ # Can include resized copies of the query image.
10739
+ # Corresponds to the JSON property `fullMatchingImages`
10740
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1WebDetectionWebImage>]
10741
+ attr_accessor :full_matching_images
10742
+
10743
+ # Title for the web page, may contain HTML markups.
10744
+ # Corresponds to the JSON property `pageTitle`
10745
+ # @return [String]
10746
+ attr_accessor :page_title
10747
+
10748
+ # Partial matching images on the page.
10749
+ # Those images are similar enough to share some key-point features. For
10750
+ # example an original image will likely have partial matching for its
10751
+ # crops.
10752
+ # Corresponds to the JSON property `partialMatchingImages`
10753
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1WebDetectionWebImage>]
10754
+ attr_accessor :partial_matching_images
10755
+
10756
+ # (Deprecated) Overall relevancy score for the web page.
10757
+ # Corresponds to the JSON property `score`
10758
+ # @return [Float]
10759
+ attr_accessor :score
10760
+
10761
+ # The result web page URL.
10762
+ # Corresponds to the JSON property `url`
10763
+ # @return [String]
10764
+ attr_accessor :url
10765
+
10766
+ def initialize(**args)
10767
+ update!(**args)
10768
+ end
10769
+
10770
+ # Update properties of this object
10771
+ def update!(**args)
10772
+ @full_matching_images = args[:full_matching_images] if args.key?(:full_matching_images)
10773
+ @page_title = args[:page_title] if args.key?(:page_title)
10774
+ @partial_matching_images = args[:partial_matching_images] if args.key?(:partial_matching_images)
10775
+ @score = args[:score] if args.key?(:score)
10776
+ @url = args[:url] if args.key?(:url)
10777
+ end
10778
+ end
10779
+
10780
+ # A word representation.
10781
+ class GoogleCloudVisionV1p5beta1Word
10782
+ include Google::Apis::Core::Hashable
10783
+
10784
+ # A bounding polygon for the detected image annotation.
10785
+ # Corresponds to the JSON property `boundingBox`
10786
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1BoundingPoly]
10787
+ attr_accessor :bounding_box
10788
+
10789
+ # Confidence of the OCR results for the word. Range [0, 1].
10790
+ # Corresponds to the JSON property `confidence`
10791
+ # @return [Float]
10792
+ attr_accessor :confidence
10793
+
10794
+ # All UTF-8 text detected in this word. This field is by default not
10795
+ # returned unless specified in TextDetectionParams.word_filter.
10796
+ # Corresponds to the JSON property `mergedText`
10797
+ # @return [String]
10798
+ attr_accessor :merged_text
10799
+
10800
+ # Additional information detected on the structural component.
10801
+ # Corresponds to the JSON property `property`
10802
+ # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1TextAnnotationTextProperty]
10803
+ attr_accessor :property
10804
+
10805
+ # List of symbols in the word.
10806
+ # The order of the symbols follows the natural reading order.
10807
+ # Corresponds to the JSON property `symbols`
10808
+ # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p5beta1Symbol>]
10809
+ attr_accessor :symbols
10810
+
10811
+ def initialize(**args)
10812
+ update!(**args)
10813
+ end
10814
+
10815
+ # Update properties of this object
10816
+ def update!(**args)
10817
+ @bounding_box = args[:bounding_box] if args.key?(:bounding_box)
10818
+ @confidence = args[:confidence] if args.key?(:confidence)
10819
+ @merged_text = args[:merged_text] if args.key?(:merged_text)
10820
+ @property = args[:property] if args.key?(:property)
10821
+ @symbols = args[:symbols] if args.key?(:symbols)
10822
+ end
10823
+ end
10824
+
10825
+ # Information about the products similar to a single product in a query
10826
+ # image.
10827
+ class GroupedResult
10828
+ include Google::Apis::Core::Hashable
10829
+
10830
+ # A bounding polygon for the detected image annotation.
10831
+ # Corresponds to the JSON property `boundingPoly`
10832
+ # @return [Google::Apis::VisionV1::BoundingPoly]
10833
+ attr_accessor :bounding_poly
10834
+
10835
+ # List of results, one for each product match.
10836
+ # Corresponds to the JSON property `results`
10837
+ # @return [Array<Google::Apis::VisionV1::Result>]
10838
+ attr_accessor :results
10839
+
10840
+ def initialize(**args)
10841
+ update!(**args)
10842
+ end
10843
+
10844
+ # Update properties of this object
10845
+ def update!(**args)
10846
+ @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
10847
+ @results = args[:results] if args.key?(:results)
10848
+ end
10849
+ end
10850
+
10851
+ # Client image to perform Google Cloud Vision API tasks over.
10852
+ class Image
10853
+ include Google::Apis::Core::Hashable
10854
+
10855
+ # Image content, represented as a stream of bytes.
10856
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
10857
+ # representation, whereas JSON representations use base64.
10858
+ # Corresponds to the JSON property `content`
10859
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
10860
+ # @return [String]
10861
+ attr_accessor :content
10862
+
10863
+ # External image source (Google Cloud Storage or web URL image location).
10864
+ # Corresponds to the JSON property `source`
10865
+ # @return [Google::Apis::VisionV1::ImageSource]
10866
+ attr_accessor :source
10867
+
10868
+ def initialize(**args)
10869
+ update!(**args)
10870
+ end
10871
+
10872
+ # Update properties of this object
10873
+ def update!(**args)
10874
+ @content = args[:content] if args.key?(:content)
10875
+ @source = args[:source] if args.key?(:source)
10876
+ end
10877
+ end
10878
+
10879
+ # If an image was produced from a file (e.g. a PDF), this message gives
10880
+ # information about the source of that image.
10881
+ class ImageAnnotationContext
10882
+ include Google::Apis::Core::Hashable
10883
+
10884
+ # If the file was a PDF or TIFF, this field gives the page number within
10885
+ # the file used to produce the image.
10886
+ # Corresponds to the JSON property `pageNumber`
10887
+ # @return [Fixnum]
10888
+ attr_accessor :page_number
10889
+
10890
+ # The URI of the file used to produce the image.
6632
10891
  # Corresponds to the JSON property `uri`
6633
10892
  # @return [String]
6634
10893
  attr_accessor :uri
@@ -6896,6 +11155,16 @@ module Google
6896
11155
  class InputConfig
6897
11156
  include Google::Apis::Core::Hashable
6898
11157
 
11158
+ # File content, represented as a stream of bytes.
11159
+ # Note: As with all `bytes` fields, protobuffers use a pure binary
11160
+ # representation, whereas JSON representations use base64.
11161
+ # Currently, this field only works for BatchAnnotateFiles requests. It does
11162
+ # not work for AsyncBatchAnnotateFiles requests.
11163
+ # Corresponds to the JSON property `content`
11164
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
11165
+ # @return [String]
11166
+ attr_accessor :content
11167
+
6899
11168
  # The Google Cloud Storage location where the input will be read from.
6900
11169
  # Corresponds to the JSON property `gcsSource`
6901
11170
  # @return [Google::Apis::VisionV1::GcsSource]
@@ -6913,6 +11182,7 @@ module Google
6913
11182
 
6914
11183
  # Update properties of this object
6915
11184
  def update!(**args)
11185
+ @content = args[:content] if args.key?(:content)
6916
11186
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
6917
11187
  @mime_type = args[:mime_type] if args.key?(:mime_type)
6918
11188
  end
@@ -7276,14 +11546,14 @@ module Google
7276
11546
  attr_accessor :done
7277
11547
  alias_method :done?, :done
7278
11548
 
7279
- # The `Status` type defines a logical error model that is suitable for different
7280
- # programming environments, including REST APIs and RPC APIs. It is used by
7281
- # [gRPC](https://github.com/grpc). The error model is designed to be:
11549
+ # The `Status` type defines a logical error model that is suitable for
11550
+ # different programming environments, including REST APIs and RPC APIs. It is
11551
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
7282
11552
  # - Simple to use and understand for most users
7283
11553
  # - Flexible enough to meet unexpected needs
7284
11554
  # # Overview
7285
- # The `Status` message contains three pieces of data: error code, error message,
7286
- # and error details. The error code should be an enum value of
11555
+ # The `Status` message contains three pieces of data: error code, error
11556
+ # message, and error details. The error code should be an enum value of
7287
11557
  # google.rpc.Code, but it may accept additional error codes if needed. The
7288
11558
  # error message should be a developer-facing English message that helps
7289
11559
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -7329,7 +11599,7 @@ module Google
7329
11599
 
7330
11600
  # The server-assigned name, which is only unique within the same service that
7331
11601
  # originally returns it. If you use the default HTTP mapping, the
7332
- # `name` should have the format of `operations/some/unique/name`.
11602
+ # `name` should be a resource name ending with `operations/`unique_id``.
7333
11603
  # Corresponds to the JSON property `name`
7334
11604
  # @return [String]
7335
11605
  attr_accessor :name
@@ -7606,9 +11876,11 @@ module Google
7606
11876
 
7607
11877
  # The filtering expression. This can be used to restrict search results based
7608
11878
  # on Product labels. We currently support an AND of OR of key-value
7609
- # expressions, where each expression within an OR must have the same key.
11879
+ # expressions, where each expression within an OR must have the same key. An
11880
+ # '=' should be used to connect the key and value.
7610
11881
  # For example, "(color = red OR color = blue) AND brand = Google" is
7611
- # acceptable, but not "(color = red OR brand = Google)" or "color: red".
11882
+ # acceptable, but "(color = red OR brand = Google)" is not acceptable.
11883
+ # "color: red" is not acceptable because it uses a ':' instead of an '='.
7612
11884
  # Corresponds to the JSON property `filter`
7613
11885
  # @return [String]
7614
11886
  attr_accessor :filter
@@ -7644,8 +11916,9 @@ module Google
7644
11916
  class ProductSearchResults
7645
11917
  include Google::Apis::Core::Hashable
7646
11918
 
7647
- # Timestamp of the index which provided these results. Changes made after
7648
- # this time are not reflected in the current results.
11919
+ # Timestamp of the index which provided these results. Products added to the
11920
+ # product set and products removed from the product set after this time are
11921
+ # not reflected in the current results.
7649
11922
  # Corresponds to the JSON property `indexTime`
7650
11923
  # @return [String]
7651
11924
  attr_accessor :index_time
@@ -7687,14 +11960,14 @@ module Google
7687
11960
  # @return [String]
7688
11961
  attr_accessor :display_name
7689
11962
 
7690
- # The `Status` type defines a logical error model that is suitable for different
7691
- # programming environments, including REST APIs and RPC APIs. It is used by
7692
- # [gRPC](https://github.com/grpc). The error model is designed to be:
11963
+ # The `Status` type defines a logical error model that is suitable for
11964
+ # different programming environments, including REST APIs and RPC APIs. It is
11965
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
7693
11966
  # - Simple to use and understand for most users
7694
11967
  # - Flexible enough to meet unexpected needs
7695
11968
  # # Overview
7696
- # The `Status` message contains three pieces of data: error code, error message,
7697
- # and error details. The error code should be an enum value of
11969
+ # The `Status` message contains three pieces of data: error code, error
11970
+ # message, and error details. The error code should be an enum value of
7698
11971
  # google.rpc.Code, but it may accept additional error codes if needed. The
7699
11972
  # error message should be a developer-facing English message that helps
7700
11973
  # developers *understand* and *resolve* the error. If a localized user-facing
@@ -7941,14 +12214,14 @@ module Google
7941
12214
  end
7942
12215
  end
7943
12216
 
7944
- # The `Status` type defines a logical error model that is suitable for different
7945
- # programming environments, including REST APIs and RPC APIs. It is used by
7946
- # [gRPC](https://github.com/grpc). The error model is designed to be:
12217
+ # The `Status` type defines a logical error model that is suitable for
12218
+ # different programming environments, including REST APIs and RPC APIs. It is
12219
+ # used by [gRPC](https://github.com/grpc). The error model is designed to be:
7947
12220
  # - Simple to use and understand for most users
7948
12221
  # - Flexible enough to meet unexpected needs
7949
12222
  # # Overview
7950
- # The `Status` message contains three pieces of data: error code, error message,
7951
- # and error details. The error code should be an enum value of
12223
+ # The `Status` message contains three pieces of data: error code, error
12224
+ # message, and error details. The error code should be an enum value of
7952
12225
  # google.rpc.Code, but it may accept additional error codes if needed. The
7953
12226
  # error message should be a developer-facing English message that helps
7954
12227
  # developers *understand* and *resolve* the error. If a localized user-facing