google-api-client 0.29.0 → 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 (489) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +122 -0
  3. data/README.md +1 -1
  4. data/bin/generate-api +4 -2
  5. data/generated/google/apis/abusiveexperiencereport_v1/service.rb +2 -2
  6. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +1 -1
  7. data/generated/google/apis/accessapproval_v1beta1/classes.rb +27 -0
  8. data/generated/google/apis/accessapproval_v1beta1/representations.rb +15 -0
  9. data/generated/google/apis/accessapproval_v1beta1/service.rb +18 -18
  10. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  11. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  12. data/generated/google/apis/accesscontextmanager_v1/service.rb +19 -19
  13. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  14. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -1
  15. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +16 -16
  16. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  17. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +0 -69
  18. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +0 -32
  19. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +62 -62
  20. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  21. data/generated/google/apis/adexchangebuyer_v1_2/service.rb +7 -7
  22. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +21 -21
  23. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +38 -38
  24. data/generated/google/apis/adexperiencereport_v1/service.rb +2 -2
  25. data/generated/google/apis/admin_datatransfer_v1/service.rb +5 -5
  26. data/generated/google/apis/admin_directory_v1/service.rb +113 -113
  27. data/generated/google/apis/admin_reports_v1/service.rb +6 -6
  28. data/generated/google/apis/adsense_v1_4/service.rb +39 -39
  29. data/generated/google/apis/adsensehost_v4_1/service.rb +26 -26
  30. data/generated/google/apis/alertcenter_v1beta1/service.rb +8 -8
  31. data/generated/google/apis/analytics_v2_4/service.rb +6 -6
  32. data/generated/google/apis/analytics_v3/service.rb +88 -88
  33. data/generated/google/apis/analyticsreporting_v4/service.rb +2 -2
  34. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +1 -1
  35. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +26 -26
  36. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  37. data/generated/google/apis/androidenterprise_v1/service.rb +85 -85
  38. data/generated/google/apis/androidmanagement_v1/classes.rb +111 -2
  39. data/generated/google/apis/androidmanagement_v1/representations.rb +48 -0
  40. data/generated/google/apis/androidmanagement_v1/service.rb +26 -26
  41. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  42. data/generated/google/apis/androidpublisher_v1/service.rb +2 -2
  43. data/generated/google/apis/androidpublisher_v1_1/service.rb +3 -3
  44. data/generated/google/apis/androidpublisher_v2/service.rb +58 -58
  45. data/generated/google/apis/androidpublisher_v3/classes.rb +81 -0
  46. data/generated/google/apis/androidpublisher_v3/representations.rb +42 -0
  47. data/generated/google/apis/androidpublisher_v3/service.rb +228 -52
  48. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  49. data/generated/google/apis/appengine_v1/classes.rb +2 -2
  50. data/generated/google/apis/appengine_v1/service.rb +38 -38
  51. data/generated/google/apis/appengine_v1.rb +1 -1
  52. data/generated/google/apis/appengine_v1alpha/classes.rb +2 -2
  53. data/generated/google/apis/appengine_v1alpha/service.rb +15 -15
  54. data/generated/google/apis/appengine_v1alpha.rb +1 -1
  55. data/generated/google/apis/appengine_v1beta/classes.rb +2 -2
  56. data/generated/google/apis/appengine_v1beta/service.rb +38 -38
  57. data/generated/google/apis/appengine_v1beta.rb +1 -1
  58. data/generated/google/apis/appengine_v1beta4/service.rb +20 -20
  59. data/generated/google/apis/appengine_v1beta5/service.rb +20 -20
  60. data/generated/google/apis/appsactivity_v1/service.rb +1 -1
  61. data/generated/google/apis/appsmarket_v2/service.rb +3 -3
  62. data/generated/google/apis/appstate_v1/service.rb +5 -5
  63. data/generated/google/apis/bigquery_v2/classes.rb +53 -33
  64. data/generated/google/apis/bigquery_v2/representations.rb +2 -0
  65. data/generated/google/apis/bigquery_v2/service.rb +26 -26
  66. data/generated/google/apis/bigquery_v2.rb +1 -1
  67. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +30 -30
  68. data/generated/google/apis/bigtableadmin_v1/service.rb +2 -2
  69. data/generated/google/apis/bigtableadmin_v2/service.rb +34 -34
  70. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +17 -13
  71. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  72. data/generated/google/apis/blogger_v2/service.rb +9 -9
  73. data/generated/google/apis/blogger_v3/service.rb +33 -33
  74. data/generated/google/apis/books_v1/service.rb +51 -51
  75. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  76. data/generated/google/apis/calendar_v3/service.rb +45 -45
  77. data/generated/google/apis/calendar_v3.rb +1 -1
  78. data/generated/google/apis/chat_v1/service.rb +8 -8
  79. data/generated/google/apis/civicinfo_v2/service.rb +5 -5
  80. data/generated/google/apis/classroom_v1/service.rb +57 -56
  81. data/generated/google/apis/classroom_v1.rb +1 -1
  82. data/generated/google/apis/cloudasset_v1/service.rb +3 -3
  83. data/generated/google/apis/cloudasset_v1beta1/service.rb +8 -8
  84. data/generated/google/apis/cloudbilling_v1/service.rb +12 -12
  85. data/generated/google/apis/cloudbuild_v1/classes.rb +7 -1
  86. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  87. data/generated/google/apis/cloudbuild_v1/service.rb +14 -14
  88. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  89. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +5 -5
  90. data/generated/google/apis/clouddebugger_v2/service.rb +8 -8
  91. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +6 -6
  92. data/generated/google/apis/cloudfunctions_v1/classes.rb +1 -1
  93. data/generated/google/apis/cloudfunctions_v1/service.rb +14 -14
  94. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  95. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +1 -1
  96. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +11 -11
  97. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  98. data/generated/google/apis/cloudidentity_v1/classes.rb +1 -1
  99. data/generated/google/apis/cloudidentity_v1/service.rb +12 -12
  100. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  101. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1 -1
  102. data/generated/google/apis/cloudidentity_v1beta1/service.rb +11 -11
  103. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  104. data/generated/google/apis/cloudiot_v1/service.rb +23 -330
  105. data/generated/google/apis/cloudiot_v1.rb +1 -1
  106. data/generated/google/apis/cloudkms_v1/service.rb +30 -30
  107. data/generated/google/apis/cloudprivatecatalog_v1beta1/service.rb +10 -10
  108. data/generated/google/apis/cloudprivatecatalog_v1beta1.rb +2 -2
  109. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/classes.rb +1 -1
  110. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1/service.rb +30 -30
  111. data/generated/google/apis/cloudprivatecatalogproducer_v1beta1.rb +2 -2
  112. data/generated/google/apis/cloudprofiler_v2/service.rb +3 -3
  113. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1 -1
  114. data/generated/google/apis/cloudresourcemanager_v1/service.rb +38 -38
  115. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  116. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +16 -16
  117. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +1 -1
  118. data/generated/google/apis/cloudresourcemanager_v2/service.rb +12 -12
  119. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  120. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +1 -1
  121. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +12 -12
  122. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  123. data/generated/google/apis/cloudscheduler_v1/service.rb +10 -10
  124. data/generated/google/apis/cloudscheduler_v1beta1/service.rb +10 -10
  125. data/generated/google/apis/cloudsearch_v1/classes.rb +1 -1
  126. data/generated/google/apis/cloudsearch_v1/service.rb +35 -35
  127. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  128. data/generated/google/apis/cloudshell_v1/classes.rb +1 -1
  129. data/generated/google/apis/cloudshell_v1/service.rb +4 -4
  130. data/generated/google/apis/cloudshell_v1.rb +1 -1
  131. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +1 -1
  132. data/generated/google/apis/cloudshell_v1alpha1/service.rb +6 -6
  133. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  134. data/generated/google/apis/cloudtasks_v2/classes.rb +22 -18
  135. data/generated/google/apis/cloudtasks_v2/service.rb +24 -24
  136. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  137. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +22 -14
  138. data/generated/google/apis/cloudtasks_v2beta2/service.rb +28 -28
  139. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  140. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +266 -18
  141. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +65 -0
  142. data/generated/google/apis/cloudtasks_v2beta3/service.rb +24 -24
  143. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  144. data/generated/google/apis/cloudtrace_v1/service.rb +3 -3
  145. data/generated/google/apis/cloudtrace_v2/service.rb +2 -2
  146. data/generated/google/apis/commentanalyzer_v1alpha1/service.rb +2 -2
  147. data/generated/google/apis/composer_v1/service.rb +9 -9
  148. data/generated/google/apis/composer_v1beta1/service.rb +9 -9
  149. data/generated/google/apis/compute_alpha/classes.rb +29 -0
  150. data/generated/google/apis/compute_alpha/representations.rb +15 -0
  151. data/generated/google/apis/compute_alpha/service.rb +625 -623
  152. data/generated/google/apis/compute_alpha.rb +1 -1
  153. data/generated/google/apis/compute_beta/service.rb +504 -503
  154. data/generated/google/apis/compute_beta.rb +1 -1
  155. data/generated/google/apis/compute_v1/service.rb +411 -410
  156. data/generated/google/apis/compute_v1.rb +1 -1
  157. data/generated/google/apis/container_v1/classes.rb +2 -1
  158. data/generated/google/apis/container_v1/service.rb +63 -63
  159. data/generated/google/apis/container_v1.rb +1 -1
  160. data/generated/google/apis/container_v1beta1/classes.rb +52 -4
  161. data/generated/google/apis/container_v1beta1/representations.rb +20 -0
  162. data/generated/google/apis/container_v1beta1/service.rb +64 -64
  163. data/generated/google/apis/container_v1beta1.rb +1 -1
  164. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +1 -1
  165. data/generated/google/apis/containeranalysis_v1alpha1/service.rb +33 -33
  166. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  167. data/generated/google/apis/containeranalysis_v1beta1/service.rb +24 -24
  168. data/generated/google/apis/content_v2/classes.rb +9 -3
  169. data/generated/google/apis/content_v2/service.rb +101 -105
  170. data/generated/google/apis/content_v2.rb +1 -1
  171. data/generated/google/apis/content_v2_1/classes.rb +9 -3
  172. data/generated/google/apis/content_v2_1/service.rb +89 -93
  173. data/generated/google/apis/content_v2_1.rb +1 -1
  174. data/generated/google/apis/customsearch_v1/service.rb +2 -2
  175. data/generated/google/apis/dataflow_v1b3/classes.rb +22 -1
  176. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  177. data/generated/google/apis/dataflow_v1b3/service.rb +38 -38
  178. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  179. data/generated/google/apis/datafusion_v1beta1/classes.rb +1 -1
  180. data/generated/google/apis/datafusion_v1beta1/service.rb +16 -16
  181. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  182. data/generated/google/apis/dataproc_v1/classes.rb +2 -2
  183. data/generated/google/apis/dataproc_v1/service.rb +261 -45
  184. data/generated/google/apis/dataproc_v1.rb +1 -1
  185. data/generated/google/apis/dataproc_v1beta2/classes.rb +2 -2
  186. data/generated/google/apis/dataproc_v1beta2/service.rb +62 -65
  187. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  188. data/generated/google/apis/datastore_v1/service.rb +15 -15
  189. data/generated/google/apis/datastore_v1.rb +1 -1
  190. data/generated/google/apis/datastore_v1beta1/service.rb +2 -2
  191. data/generated/google/apis/datastore_v1beta3/service.rb +7 -7
  192. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  193. data/generated/google/apis/deploymentmanager_alpha/service.rb +37 -37
  194. data/generated/google/apis/deploymentmanager_v2/service.rb +18 -18
  195. data/generated/google/apis/deploymentmanager_v2beta/service.rb +32 -32
  196. data/generated/google/apis/dfareporting_v3_1/service.rb +206 -206
  197. data/generated/google/apis/dfareporting_v3_2/service.rb +206 -206
  198. data/generated/google/apis/dfareporting_v3_3/service.rb +204 -204
  199. data/generated/google/apis/dialogflow_v2/classes.rb +8 -8
  200. data/generated/google/apis/dialogflow_v2/service.rb +36 -36
  201. data/generated/google/apis/dialogflow_v2.rb +1 -1
  202. data/generated/google/apis/dialogflow_v2beta1/classes.rb +9 -9
  203. data/generated/google/apis/dialogflow_v2beta1/service.rb +114 -70
  204. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  205. data/generated/google/apis/digitalassetlinks_v1/service.rb +7 -6
  206. data/generated/google/apis/digitalassetlinks_v1.rb +1 -1
  207. data/generated/google/apis/discovery_v1/service.rb +2 -2
  208. data/generated/google/apis/dlp_v2/classes.rb +8 -2
  209. data/generated/google/apis/dlp_v2/service.rb +51 -46
  210. data/generated/google/apis/dlp_v2.rb +1 -1
  211. data/generated/google/apis/dns_v1/service.rb +15 -15
  212. data/generated/google/apis/dns_v1beta2/service.rb +21 -21
  213. data/generated/google/apis/dns_v2beta1/service.rb +16 -16
  214. data/generated/google/apis/dns_v2beta1.rb +1 -1
  215. data/generated/google/apis/docs_v1/classes.rb +137 -0
  216. data/generated/google/apis/docs_v1/representations.rb +57 -0
  217. data/generated/google/apis/docs_v1/service.rb +3 -3
  218. data/generated/google/apis/docs_v1.rb +1 -1
  219. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +9 -9
  220. data/generated/google/apis/doubleclicksearch_v2/service.rb +10 -10
  221. data/generated/google/apis/drive_v2/classes.rb +10 -21
  222. data/generated/google/apis/drive_v2/service.rb +152 -100
  223. data/generated/google/apis/drive_v2.rb +1 -1
  224. data/generated/google/apis/drive_v3/classes.rb +9 -20
  225. data/generated/google/apis/drive_v3/service.rb +100 -64
  226. data/generated/google/apis/drive_v3.rb +1 -1
  227. data/generated/google/apis/driveactivity_v2/service.rb +1 -1
  228. data/generated/google/apis/factchecktools_v1alpha1/service.rb +6 -6
  229. data/generated/google/apis/fcm_v1/classes.rb +424 -0
  230. data/generated/google/apis/fcm_v1/representations.rb +167 -0
  231. data/generated/google/apis/fcm_v1/service.rb +97 -0
  232. data/generated/google/apis/fcm_v1.rb +35 -0
  233. data/generated/google/apis/file_v1/classes.rb +52 -1
  234. data/generated/google/apis/file_v1/representations.rb +16 -0
  235. data/generated/google/apis/file_v1/service.rb +11 -11
  236. data/generated/google/apis/file_v1.rb +1 -1
  237. data/generated/google/apis/file_v1beta1/classes.rb +52 -1
  238. data/generated/google/apis/file_v1beta1/representations.rb +16 -0
  239. data/generated/google/apis/file_v1beta1/service.rb +11 -11
  240. data/generated/google/apis/file_v1beta1.rb +1 -1
  241. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +5 -5
  242. data/generated/google/apis/firebasehosting_v1beta1/service.rb +14 -14
  243. data/generated/google/apis/firebaserules_v1/service.rb +11 -11
  244. data/generated/google/apis/firestore_v1/service.rb +28 -28
  245. data/generated/google/apis/firestore_v1beta1/service.rb +19 -19
  246. data/generated/google/apis/firestore_v1beta2/service.rb +9 -9
  247. data/generated/google/apis/fitness_v1/service.rb +13 -13
  248. data/generated/google/apis/fusiontables_v1/service.rb +32 -32
  249. data/generated/google/apis/fusiontables_v2/service.rb +34 -34
  250. data/generated/google/apis/games_configuration_v1configuration/service.rb +13 -13
  251. data/generated/google/apis/games_management_v1management/service.rb +27 -27
  252. data/generated/google/apis/games_v1/service.rb +53 -53
  253. data/generated/google/apis/genomics_v1/service.rb +3 -3
  254. data/generated/google/apis/genomics_v1.rb +1 -1
  255. data/generated/google/apis/genomics_v1alpha2/classes.rb +2 -2
  256. data/generated/google/apis/genomics_v1alpha2/service.rb +10 -10
  257. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  258. data/generated/google/apis/genomics_v2alpha1/classes.rb +7 -0
  259. data/generated/google/apis/genomics_v2alpha1/representations.rb +1 -0
  260. data/generated/google/apis/genomics_v2alpha1/service.rb +5 -5
  261. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  262. data/generated/google/apis/gmail_v1/service.rb +68 -68
  263. data/generated/google/apis/groupsmigration_v1/service.rb +1 -1
  264. data/generated/google/apis/groupssettings_v1/service.rb +3 -3
  265. data/generated/google/apis/healthcare_v1alpha2/classes.rb +2849 -0
  266. data/generated/google/apis/healthcare_v1alpha2/representations.rb +1260 -0
  267. data/generated/google/apis/healthcare_v1alpha2/service.rb +4011 -0
  268. data/generated/google/apis/healthcare_v1alpha2.rb +34 -0
  269. data/generated/google/apis/healthcare_v1beta1/classes.rb +4 -2
  270. data/generated/google/apis/healthcare_v1beta1/service.rb +97 -87
  271. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  272. data/generated/google/apis/iam_v1/classes.rb +48 -0
  273. data/generated/google/apis/iam_v1/representations.rb +28 -0
  274. data/generated/google/apis/iam_v1/service.rb +59 -42
  275. data/generated/google/apis/iam_v1.rb +1 -1
  276. data/generated/google/apis/iamcredentials_v1/service.rb +5 -5
  277. data/generated/google/apis/iap_v1/service.rb +3 -3
  278. data/generated/google/apis/iap_v1beta1/service.rb +3 -3
  279. data/generated/google/apis/identitytoolkit_v3/service.rb +20 -20
  280. data/generated/google/apis/indexing_v3/service.rb +2 -2
  281. data/generated/google/apis/jobs_v2/service.rb +17 -17
  282. data/generated/google/apis/jobs_v3/service.rb +15 -15
  283. data/generated/google/apis/jobs_v3p1beta1/classes.rb +2 -2
  284. data/generated/google/apis/jobs_v3p1beta1/service.rb +16 -16
  285. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  286. data/generated/google/apis/kgsearch_v1/service.rb +1 -1
  287. data/generated/google/apis/language_v1/service.rb +6 -6
  288. data/generated/google/apis/language_v1.rb +1 -1
  289. data/generated/google/apis/language_v1beta1/service.rb +4 -4
  290. data/generated/google/apis/language_v1beta2/service.rb +6 -6
  291. data/generated/google/apis/language_v1beta2.rb +1 -1
  292. data/generated/google/apis/libraryagent_v1/service.rb +6 -6
  293. data/generated/google/apis/licensing_v1/service.rb +7 -7
  294. data/generated/google/apis/logging_v2/classes.rb +6 -0
  295. data/generated/google/apis/logging_v2/representations.rb +1 -0
  296. data/generated/google/apis/logging_v2/service.rb +72 -72
  297. data/generated/google/apis/logging_v2.rb +1 -1
  298. data/generated/google/apis/manufacturers_v1/service.rb +4 -4
  299. data/generated/google/apis/mirror_v1/service.rb +24 -24
  300. data/generated/google/apis/ml_v1/classes.rb +73 -55
  301. data/generated/google/apis/ml_v1/service.rb +31 -31
  302. data/generated/google/apis/ml_v1.rb +1 -1
  303. data/generated/google/apis/monitoring_v3/classes.rb +14 -1
  304. data/generated/google/apis/monitoring_v3/representations.rb +2 -0
  305. data/generated/google/apis/monitoring_v3/service.rb +36 -36
  306. data/generated/google/apis/monitoring_v3.rb +1 -1
  307. data/generated/google/apis/oauth2_v1/service.rb +3 -3
  308. data/generated/google/apis/oauth2_v2/service.rb +4 -4
  309. data/generated/google/apis/oslogin_v1/service.rb +6 -6
  310. data/generated/google/apis/oslogin_v1alpha/service.rb +6 -6
  311. data/generated/google/apis/oslogin_v1beta/service.rb +6 -6
  312. data/generated/google/apis/pagespeedonline_v1/service.rb +1 -1
  313. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -1
  314. data/generated/google/apis/pagespeedonline_v4/service.rb +1 -1
  315. data/generated/google/apis/pagespeedonline_v5/classes.rb +43 -0
  316. data/generated/google/apis/pagespeedonline_v5/representations.rb +18 -0
  317. data/generated/google/apis/pagespeedonline_v5/service.rb +1 -1
  318. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  319. data/generated/google/apis/people_v1/service.rb +13 -13
  320. data/generated/google/apis/people_v1.rb +1 -1
  321. data/generated/google/apis/playcustomapp_v1/service.rb +1 -1
  322. data/generated/google/apis/plus_domains_v1/service.rb +10 -10
  323. data/generated/google/apis/plus_v1/service.rb +9 -9
  324. data/generated/google/apis/poly_v1/service.rb +4 -4
  325. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +17 -17
  326. data/generated/google/apis/pubsub_v1/service.rb +32 -32
  327. data/generated/google/apis/pubsub_v1.rb +1 -1
  328. data/generated/google/apis/pubsub_v1beta1a/service.rb +15 -15
  329. data/generated/google/apis/pubsub_v1beta2/service.rb +20 -20
  330. data/generated/google/apis/redis_v1/service.rb +19 -19
  331. data/generated/google/apis/redis_v1.rb +1 -1
  332. data/generated/google/apis/redis_v1beta1/classes.rb +1 -1
  333. data/generated/google/apis/redis_v1beta1/service.rb +15 -15
  334. data/generated/google/apis/redis_v1beta1.rb +1 -1
  335. data/generated/google/apis/remotebuildexecution_v1/classes.rb +1 -1
  336. data/generated/google/apis/remotebuildexecution_v1/service.rb +7 -7
  337. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  338. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +1 -1
  339. data/generated/google/apis/remotebuildexecution_v1alpha/service.rb +10 -10
  340. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  341. data/generated/google/apis/remotebuildexecution_v2/classes.rb +1 -1
  342. data/generated/google/apis/remotebuildexecution_v2/service.rb +9 -9
  343. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  344. data/generated/google/apis/replicapool_v1beta1/service.rb +10 -10
  345. data/generated/google/apis/reseller_v1/service.rb +17 -17
  346. data/generated/google/apis/run_v1/service.rb +1 -1
  347. data/generated/google/apis/run_v1alpha1/classes.rb +427 -0
  348. data/generated/google/apis/run_v1alpha1/representations.rb +162 -0
  349. data/generated/google/apis/run_v1alpha1/service.rb +446 -38
  350. data/generated/google/apis/run_v1alpha1.rb +1 -1
  351. data/generated/google/apis/runtimeconfig_v1/classes.rb +1 -1
  352. data/generated/google/apis/runtimeconfig_v1/service.rb +3 -3
  353. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  354. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +1 -1
  355. data/generated/google/apis/runtimeconfig_v1beta1/service.rb +22 -22
  356. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  357. data/generated/google/apis/safebrowsing_v4/service.rb +7 -7
  358. data/generated/google/apis/script_v1/classes.rb +167 -0
  359. data/generated/google/apis/script_v1/representations.rb +79 -0
  360. data/generated/google/apis/script_v1/service.rb +16 -16
  361. data/generated/google/apis/script_v1.rb +1 -1
  362. data/generated/google/apis/searchconsole_v1/service.rb +1 -1
  363. data/generated/google/apis/securitycenter_v1/classes.rb +1 -1
  364. data/generated/google/apis/securitycenter_v1/service.rb +23 -23
  365. data/generated/google/apis/securitycenter_v1.rb +1 -1
  366. data/generated/google/apis/securitycenter_v1beta1/classes.rb +1 -1
  367. data/generated/google/apis/securitycenter_v1beta1/service.rb +23 -23
  368. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  369. data/generated/google/apis/servicebroker_v1/service.rb +3 -3
  370. data/generated/google/apis/servicebroker_v1alpha1/service.rb +16 -16
  371. data/generated/google/apis/servicebroker_v1beta1/service.rb +21 -21
  372. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +14 -60
  373. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +2 -29
  374. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +14 -14
  375. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  376. data/generated/google/apis/servicecontrol_v1/classes.rb +12 -0
  377. data/generated/google/apis/servicecontrol_v1/representations.rb +2 -0
  378. data/generated/google/apis/servicecontrol_v1/service.rb +3 -3
  379. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  380. data/generated/google/apis/servicemanagement_v1/classes.rb +40 -60
  381. data/generated/google/apis/servicemanagement_v1/representations.rb +13 -26
  382. data/generated/google/apis/servicemanagement_v1/service.rb +24 -24
  383. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  384. data/generated/google/apis/servicenetworking_v1/classes.rb +14 -60
  385. data/generated/google/apis/servicenetworking_v1/representations.rb +2 -29
  386. data/generated/google/apis/servicenetworking_v1/service.rb +9 -9
  387. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  388. data/generated/google/apis/servicenetworking_v1beta/classes.rb +14 -60
  389. data/generated/google/apis/servicenetworking_v1beta/representations.rb +2 -29
  390. data/generated/google/apis/servicenetworking_v1beta/service.rb +6 -6
  391. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  392. data/generated/google/apis/serviceusage_v1/classes.rb +14 -60
  393. data/generated/google/apis/serviceusage_v1/representations.rb +2 -29
  394. data/generated/google/apis/serviceusage_v1/service.rb +17 -19
  395. data/generated/google/apis/serviceusage_v1.rb +1 -1
  396. data/generated/google/apis/serviceusage_v1beta1/classes.rb +14 -60
  397. data/generated/google/apis/serviceusage_v1beta1/representations.rb +2 -29
  398. data/generated/google/apis/serviceusage_v1beta1/service.rb +7 -7
  399. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  400. data/generated/google/apis/sheets_v4/service.rb +17 -17
  401. data/generated/google/apis/sheets_v4.rb +1 -1
  402. data/generated/google/apis/site_verification_v1/service.rb +7 -7
  403. data/generated/google/apis/slides_v1/service.rb +5 -5
  404. data/generated/google/apis/sourcerepo_v1/service.rb +11 -11
  405. data/generated/google/apis/spanner_v1/classes.rb +51 -9
  406. data/generated/google/apis/spanner_v1/representations.rb +17 -0
  407. data/generated/google/apis/spanner_v1/service.rb +41 -41
  408. data/generated/google/apis/spanner_v1.rb +1 -1
  409. data/generated/google/apis/speech_v1/classes.rb +2 -2
  410. data/generated/google/apis/speech_v1/service.rb +7 -7
  411. data/generated/google/apis/speech_v1.rb +1 -1
  412. data/generated/google/apis/speech_v1p1beta1/classes.rb +2 -2
  413. data/generated/google/apis/speech_v1p1beta1/service.rb +7 -7
  414. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  415. data/generated/google/apis/sqladmin_v1beta4/classes.rb +12 -0
  416. data/generated/google/apis/sqladmin_v1beta4/representations.rb +2 -0
  417. data/generated/google/apis/sqladmin_v1beta4/service.rb +44 -44
  418. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  419. data/generated/google/apis/storage_v1/classes.rb +2 -2
  420. data/generated/google/apis/storage_v1/representations.rb +2 -1
  421. data/generated/google/apis/storage_v1/service.rb +52 -52
  422. data/generated/google/apis/storage_v1.rb +1 -1
  423. data/generated/google/apis/storage_v1beta1/service.rb +24 -24
  424. data/generated/google/apis/storage_v1beta2/service.rb +34 -34
  425. data/generated/google/apis/storagetransfer_v1/classes.rb +13 -20
  426. data/generated/google/apis/storagetransfer_v1/service.rb +31 -32
  427. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  428. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  429. data/generated/google/apis/streetviewpublish_v1/service.rb +9 -9
  430. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  431. data/generated/google/apis/surveys_v2/service.rb +8 -8
  432. data/generated/google/apis/tagmanager_v1/service.rb +49 -49
  433. data/generated/google/apis/tagmanager_v2/service.rb +74 -74
  434. data/generated/google/apis/tasks_v1/service.rb +14 -14
  435. data/generated/google/apis/testing_v1/classes.rb +25 -12
  436. data/generated/google/apis/testing_v1/representations.rb +2 -0
  437. data/generated/google/apis/testing_v1/service.rb +5 -5
  438. data/generated/google/apis/testing_v1.rb +1 -1
  439. data/generated/google/apis/texttospeech_v1/service.rb +2 -2
  440. data/generated/google/apis/texttospeech_v1beta1/service.rb +2 -2
  441. data/generated/google/apis/toolresults_v1beta3/classes.rb +8 -17
  442. data/generated/google/apis/toolresults_v1beta3/service.rb +26 -26
  443. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  444. data/generated/google/apis/tpu_v1/classes.rb +1 -1
  445. data/generated/google/apis/tpu_v1/service.rb +17 -17
  446. data/generated/google/apis/tpu_v1.rb +1 -1
  447. data/generated/google/apis/tpu_v1alpha1/classes.rb +1 -1
  448. data/generated/google/apis/tpu_v1alpha1/service.rb +17 -17
  449. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  450. data/generated/google/apis/translate_v2/service.rb +5 -5
  451. data/generated/google/apis/urlshortener_v1/service.rb +3 -3
  452. data/generated/google/apis/vault_v1/service.rb +28 -28
  453. data/generated/google/apis/videointelligence_v1/service.rb +5 -5
  454. data/generated/google/apis/videointelligence_v1beta2/service.rb +1 -1
  455. data/generated/google/apis/videointelligence_v1p1beta1/service.rb +1 -1
  456. data/generated/google/apis/videointelligence_v1p2beta1/service.rb +1 -1
  457. data/generated/google/apis/videointelligence_v1p3beta1/service.rb +1 -1
  458. data/generated/google/apis/vision_v1/classes.rb +2372 -73
  459. data/generated/google/apis/vision_v1/representations.rb +1643 -651
  460. data/generated/google/apis/vision_v1/service.rb +98 -35
  461. data/generated/google/apis/vision_v1.rb +1 -1
  462. data/generated/google/apis/vision_v1p1beta1/classes.rb +2371 -52
  463. data/generated/google/apis/vision_v1p1beta1/representations.rb +1733 -727
  464. data/generated/google/apis/vision_v1p1beta1/service.rb +73 -2
  465. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  466. data/generated/google/apis/vision_v1p2beta1/classes.rb +2371 -52
  467. data/generated/google/apis/vision_v1p2beta1/representations.rb +1733 -727
  468. data/generated/google/apis/vision_v1p2beta1/service.rb +73 -2
  469. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  470. data/generated/google/apis/webfonts_v1/service.rb +1 -1
  471. data/generated/google/apis/webmasters_v3/service.rb +9 -9
  472. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +13 -13
  473. data/generated/google/apis/websecurityscanner_v1beta/service.rb +13 -13
  474. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  475. data/generated/google/apis/youtube_analytics_v1/service.rb +8 -8
  476. data/generated/google/apis/youtube_analytics_v1beta1/service.rb +8 -8
  477. data/generated/google/apis/youtube_analytics_v2/service.rb +8 -8
  478. data/generated/google/apis/youtube_partner_v1/service.rb +74 -74
  479. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  480. data/generated/google/apis/youtube_v3/service.rb +71 -71
  481. data/generated/google/apis/youtube_v3.rb +1 -1
  482. data/generated/google/apis/youtubereporting_v1/service.rb +8 -8
  483. data/google-api-client.gemspec +1 -1
  484. data/lib/google/apis/core/json_representation.rb +4 -0
  485. data/lib/google/apis/core/upload.rb +3 -3
  486. data/lib/google/apis/generator/templates/_method.tmpl +3 -3
  487. data/lib/google/apis/version.rb +1 -1
  488. metadata +13 -6
  489. 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
 
@@ -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
@@ -1241,6 +1377,11 @@ module Google
1241
1377
  # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1AnnotateImageResponse>]
1242
1378
  attr_accessor :responses
1243
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
+
1244
1385
  def initialize(**args)
1245
1386
  update!(**args)
1246
1387
  end
@@ -1249,6 +1390,7 @@ module Google
1249
1390
  def update!(**args)
1250
1391
  @input_config = args[:input_config] if args.key?(:input_config)
1251
1392
  @responses = args[:responses] if args.key?(:responses)
1393
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
1252
1394
  end
1253
1395
  end
1254
1396
 
@@ -2033,6 +2175,16 @@ module Google
2033
2175
  class GoogleCloudVisionV1p1beta1InputConfig
2034
2176
  include Google::Apis::Core::Hashable
2035
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
+
2036
2188
  # The Google Cloud Storage location where the input will be read from.
2037
2189
  # Corresponds to the JSON property `gcsSource`
2038
2190
  # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p1beta1GcsSource]
@@ -2050,6 +2202,7 @@ module Google
2050
2202
 
2051
2203
  # Update properties of this object
2052
2204
  def update!(**args)
2205
+ @content = args[:content] if args.key?(:content)
2053
2206
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
2054
2207
  @mime_type = args[:mime_type] if args.key?(:mime_type)
2055
2208
  end
@@ -2999,6 +3152,11 @@ module Google
2999
3152
  # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1AnnotateImageResponse>]
3000
3153
  attr_accessor :responses
3001
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
+
3002
3160
  def initialize(**args)
3003
3161
  update!(**args)
3004
3162
  end
@@ -3007,6 +3165,7 @@ module Google
3007
3165
  def update!(**args)
3008
3166
  @input_config = args[:input_config] if args.key?(:input_config)
3009
3167
  @responses = args[:responses] if args.key?(:responses)
3168
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
3010
3169
  end
3011
3170
  end
3012
3171
 
@@ -3791,6 +3950,16 @@ module Google
3791
3950
  class GoogleCloudVisionV1p2beta1InputConfig
3792
3951
  include Google::Apis::Core::Hashable
3793
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
+
3794
3963
  # The Google Cloud Storage location where the input will be read from.
3795
3964
  # Corresponds to the JSON property `gcsSource`
3796
3965
  # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p2beta1GcsSource]
@@ -3808,6 +3977,7 @@ module Google
3808
3977
 
3809
3978
  # Update properties of this object
3810
3979
  def update!(**args)
3980
+ @content = args[:content] if args.key?(:content)
3811
3981
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
3812
3982
  @mime_type = args[:mime_type] if args.key?(:mime_type)
3813
3983
  end
@@ -4757,6 +4927,11 @@ module Google
4757
4927
  # @return [Array<Google::Apis::VisionV1::GoogleCloudVisionV1p3beta1AnnotateImageResponse>]
4758
4928
  attr_accessor :responses
4759
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
+
4760
4935
  def initialize(**args)
4761
4936
  update!(**args)
4762
4937
  end
@@ -4765,6 +4940,7 @@ module Google
4765
4940
  def update!(**args)
4766
4941
  @input_config = args[:input_config] if args.key?(:input_config)
4767
4942
  @responses = args[:responses] if args.key?(:responses)
4943
+ @total_pages = args[:total_pages] if args.key?(:total_pages)
4768
4944
  end
4769
4945
  end
4770
4946
 
@@ -5615,6 +5791,16 @@ module Google
5615
5791
  class GoogleCloudVisionV1p3beta1InputConfig
5616
5792
  include Google::Apis::Core::Hashable
5617
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
+
5618
5804
  # The Google Cloud Storage location where the input will be read from.
5619
5805
  # Corresponds to the JSON property `gcsSource`
5620
5806
  # @return [Google::Apis::VisionV1::GoogleCloudVisionV1p3beta1GcsSource]
@@ -5632,6 +5818,7 @@ module Google
5632
5818
 
5633
5819
  # Update properties of this object
5634
5820
  def update!(**args)
5821
+ @content = args[:content] if args.key?(:content)
5635
5822
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
5636
5823
  @mime_type = args[:mime_type] if args.key?(:mime_type)
5637
5824
  end
@@ -8534,75 +8721,25 @@ module Google
8534
8721
  end
8535
8722
  end
8536
8723
 
8537
- # Information about the products similar to a single product in a query
8538
- # image.
8539
- class GroupedResult
8540
- include Google::Apis::Core::Hashable
8541
-
8542
- # A bounding polygon for the detected image annotation.
8543
- # Corresponds to the JSON property `boundingPoly`
8544
- # @return [Google::Apis::VisionV1::BoundingPoly]
8545
- attr_accessor :bounding_poly
8546
-
8547
- # List of results, one for each product match.
8548
- # Corresponds to the JSON property `results`
8549
- # @return [Array<Google::Apis::VisionV1::Result>]
8550
- attr_accessor :results
8551
-
8552
- def initialize(**args)
8553
- update!(**args)
8554
- end
8555
-
8556
- # Update properties of this object
8557
- def update!(**args)
8558
- @bounding_poly = args[:bounding_poly] if args.key?(:bounding_poly)
8559
- @results = args[:results] if args.key?(:results)
8560
- end
8561
- end
8562
-
8563
- # Client image to perform Google Cloud Vision API tasks over.
8564
- class Image
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
8565
8727
  include Google::Apis::Core::Hashable
8566
8728
 
8567
- # Image content, represented as a stream of bytes.
8568
- # Note: As with all `bytes` fields, protobuffers use a pure binary
8569
- # representation, whereas JSON representations use base64.
8570
- # Corresponds to the JSON property `content`
8571
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
8572
- # @return [String]
8573
- attr_accessor :content
8574
-
8575
- # External image source (Google Cloud Storage or web URL image location).
8576
- # Corresponds to the JSON property `source`
8577
- # @return [Google::Apis::VisionV1::ImageSource]
8578
- attr_accessor :source
8579
-
8580
- def initialize(**args)
8581
- update!(**args)
8582
- end
8583
-
8584
- # Update properties of this object
8585
- def update!(**args)
8586
- @content = args[:content] if args.key?(:content)
8587
- @source = args[:source] if args.key?(:source)
8588
- end
8589
- end
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
8590
8733
 
8591
- # If an image was produced from a file (e.g. a PDF), this message gives
8592
- # information about the source of that image.
8593
- class ImageAnnotationContext
8594
- include Google::Apis::Core::Hashable
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
8595
8738
 
8596
- # If the file was a PDF or TIFF, this field gives the page number within
8597
- # the file used to produce the image.
8598
- # Corresponds to the JSON property `pageNumber`
8739
+ # This field gives the total number of pages in the file.
8740
+ # Corresponds to the JSON property `totalPages`
8599
8741
  # @return [Fixnum]
8600
- attr_accessor :page_number
8601
-
8602
- # The URI of the file used to produce the image.
8603
- # Corresponds to the JSON property `uri`
8604
- # @return [String]
8605
- attr_accessor :uri
8742
+ attr_accessor :total_pages
8606
8743
 
8607
8744
  def initialize(**args)
8608
8745
  update!(**args)
@@ -8610,19 +8747,2170 @@ module Google
8610
8747
 
8611
8748
  # Update properties of this object
8612
8749
  def update!(**args)
8613
- @page_number = args[:page_number] if args.key?(:page_number)
8614
- @uri = args[:uri] if args.key?(:uri)
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)
8615
8753
  end
8616
8754
  end
8617
8755
 
8618
- # Image context and/or feature-specific parameters.
8619
- class ImageContext
8756
+ # Response to an image annotation request.
8757
+ class GoogleCloudVisionV1p5beta1AnnotateImageResponse
8620
8758
  include Google::Apis::Core::Hashable
8621
8759
 
8622
- # Parameters for crop hints annotation request.
8623
- # Corresponds to the JSON property `cropHintsParams`
8624
- # @return [Google::Apis::VisionV1::CropHintsParams]
8625
- attr_accessor :crop_hints_params
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.
10891
+ # Corresponds to the JSON property `uri`
10892
+ # @return [String]
10893
+ attr_accessor :uri
10894
+
10895
+ def initialize(**args)
10896
+ update!(**args)
10897
+ end
10898
+
10899
+ # Update properties of this object
10900
+ def update!(**args)
10901
+ @page_number = args[:page_number] if args.key?(:page_number)
10902
+ @uri = args[:uri] if args.key?(:uri)
10903
+ end
10904
+ end
10905
+
10906
+ # Image context and/or feature-specific parameters.
10907
+ class ImageContext
10908
+ include Google::Apis::Core::Hashable
10909
+
10910
+ # Parameters for crop hints annotation request.
10911
+ # Corresponds to the JSON property `cropHintsParams`
10912
+ # @return [Google::Apis::VisionV1::CropHintsParams]
10913
+ attr_accessor :crop_hints_params
8626
10914
 
8627
10915
  # List of languages to use for TEXT_DETECTION. In most cases, an empty value
8628
10916
  # yields the best results since it enables automatic language detection. For
@@ -8867,6 +11155,16 @@ module Google
8867
11155
  class InputConfig
8868
11156
  include Google::Apis::Core::Hashable
8869
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
+
8870
11168
  # The Google Cloud Storage location where the input will be read from.
8871
11169
  # Corresponds to the JSON property `gcsSource`
8872
11170
  # @return [Google::Apis::VisionV1::GcsSource]
@@ -8884,6 +11182,7 @@ module Google
8884
11182
 
8885
11183
  # Update properties of this object
8886
11184
  def update!(**args)
11185
+ @content = args[:content] if args.key?(:content)
8887
11186
  @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
8888
11187
  @mime_type = args[:mime_type] if args.key?(:mime_type)
8889
11188
  end
@@ -9300,7 +11599,7 @@ module Google
9300
11599
 
9301
11600
  # The server-assigned name, which is only unique within the same service that
9302
11601
  # originally returns it. If you use the default HTTP mapping, the
9303
- # `name` should have the format of `operations/some/unique/name`.
11602
+ # `name` should be a resource name ending with `operations/`unique_id``.
9304
11603
  # Corresponds to the JSON property `name`
9305
11604
  # @return [String]
9306
11605
  attr_accessor :name