google-api-client 0.20.1 → 0.21.0

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 (451) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +140 -0
  3. data/README.md +3 -12
  4. data/generated/google/apis/abusiveexperiencereport_v1.rb +2 -2
  5. data/generated/google/apis/abusiveexperiencereport_v1/classes.rb +1 -0
  6. data/generated/google/apis/abusiveexperiencereport_v1/service.rb +1 -1
  7. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +11 -1
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +1 -0
  10. data/generated/google/apis/adexchangebuyer_v1_2.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer_v1_2/service.rb +24 -40
  12. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  13. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +66 -110
  14. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +117 -195
  15. data/generated/google/apis/adexchangeseller_v1.rb +1 -1
  16. data/generated/google/apis/adexchangeseller_v1/service.rb +36 -60
  17. data/generated/google/apis/adexchangeseller_v1_1.rb +1 -1
  18. data/generated/google/apis/adexchangeseller_v1_1/service.rb +54 -90
  19. data/generated/google/apis/adexchangeseller_v2_0.rb +1 -1
  20. data/generated/google/apis/adexchangeseller_v2_0/service.rb +45 -75
  21. data/generated/google/apis/adexperiencereport_v1.rb +2 -2
  22. data/generated/google/apis/adexperiencereport_v1/classes.rb +1 -0
  23. data/generated/google/apis/adexperiencereport_v1/service.rb +1 -1
  24. data/generated/google/apis/admin_datatransfer_v1/service.rb +18 -30
  25. data/generated/google/apis/admin_directory_v1.rb +3 -3
  26. data/generated/google/apis/admin_directory_v1/classes.rb +18 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +3 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +363 -577
  29. data/generated/google/apis/admin_reports_v1.rb +1 -1
  30. data/generated/google/apis/admin_reports_v1/service.rb +21 -35
  31. data/generated/google/apis/adsense_v1_4.rb +1 -1
  32. data/generated/google/apis/adsense_v1_4/service.rb +117 -195
  33. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  34. data/generated/google/apis/adsensehost_v4_1/service.rb +81 -135
  35. data/generated/google/apis/analytics_v2_4.rb +1 -1
  36. data/generated/google/apis/analytics_v2_4/service.rb +21 -35
  37. data/generated/google/apis/analytics_v3.rb +1 -1
  38. data/generated/google/apis/analytics_v3/classes.rb +32 -60
  39. data/generated/google/apis/analytics_v3/representations.rb +8 -12
  40. data/generated/google/apis/analytics_v3/service.rb +261 -435
  41. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  42. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +2 -1
  43. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  44. data/generated/google/apis/androidenterprise_v1/classes.rb +8 -12
  45. data/generated/google/apis/androidenterprise_v1/service.rb +254 -425
  46. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  47. data/generated/google/apis/androidmanagement_v1/classes.rb +38 -6
  48. data/generated/google/apis/androidmanagement_v1/representations.rb +18 -0
  49. data/generated/google/apis/androidpublisher_v1.rb +1 -1
  50. data/generated/google/apis/androidpublisher_v1/service.rb +9 -15
  51. data/generated/google/apis/androidpublisher_v1_1.rb +1 -1
  52. data/generated/google/apis/androidpublisher_v1_1/service.rb +12 -20
  53. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  54. data/generated/google/apis/androidpublisher_v2/classes.rb +102 -1
  55. data/generated/google/apis/androidpublisher_v2/representations.rb +46 -0
  56. data/generated/google/apis/androidpublisher_v2/service.rb +255 -286
  57. data/generated/google/apis/androidpublisher_v3.rb +34 -0
  58. data/generated/google/apis/androidpublisher_v3/classes.rb +1899 -0
  59. data/generated/google/apis/androidpublisher_v3/representations.rb +882 -0
  60. data/generated/google/apis/androidpublisher_v3/service.rb +2208 -0
  61. data/generated/google/apis/appsactivity_v1.rb +1 -1
  62. data/generated/google/apis/appsactivity_v1/service.rb +6 -10
  63. data/generated/google/apis/appsmarket_v2/service.rb +12 -20
  64. data/generated/google/apis/appstate_v1.rb +1 -1
  65. data/generated/google/apis/appstate_v1/service.rb +18 -30
  66. data/generated/google/apis/bigquery_v2.rb +1 -1
  67. data/generated/google/apis/bigquery_v2/classes.rb +67 -9
  68. data/generated/google/apis/bigquery_v2/representations.rb +22 -0
  69. data/generated/google/apis/bigquery_v2/service.rb +69 -115
  70. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  71. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +1 -2
  72. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +2 -2
  73. data/generated/google/apis/blogger_v2/service.rb +30 -50
  74. data/generated/google/apis/blogger_v3/service.rb +102 -170
  75. data/generated/google/apis/books_v1.rb +1 -1
  76. data/generated/google/apis/books_v1/service.rb +156 -260
  77. data/generated/google/apis/calendar_v3.rb +1 -1
  78. data/generated/google/apis/calendar_v3/service.rb +114 -190
  79. data/generated/google/apis/chat_v1.rb +1 -1
  80. data/generated/google/apis/chat_v1/classes.rb +6 -0
  81. data/generated/google/apis/chat_v1/representations.rb +1 -0
  82. data/generated/google/apis/civicinfo_v2/service.rb +18 -30
  83. data/generated/google/apis/classroom_v1.rb +1 -1
  84. data/generated/google/apis/classroom_v1/classes.rb +0 -69
  85. data/generated/google/apis/classroom_v1/representations.rb +0 -31
  86. data/generated/google/apis/classroom_v1/service.rb +0 -88
  87. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  88. data/generated/google/apis/cloudbilling_v1/classes.rb +0 -1
  89. data/generated/google/apis/cloudbilling_v1/service.rb +2 -1
  90. data/generated/google/apis/cloudfunctions_v1.rb +3 -4
  91. data/generated/google/apis/cloudfunctions_v1/classes.rb +14 -0
  92. data/generated/google/apis/cloudfunctions_v1/representations.rb +2 -0
  93. data/generated/google/apis/cloudfunctions_v1/service.rb +3 -4
  94. data/generated/google/apis/cloudfunctions_v1beta2.rb +3 -4
  95. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +14 -0
  96. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +2 -0
  97. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +3 -4
  98. data/generated/google/apis/cloudiot_v1.rb +1 -1
  99. data/generated/google/apis/cloudiot_v1/classes.rb +29 -7
  100. data/generated/google/apis/cloudiot_v1/service.rb +398 -1
  101. data/generated/google/apis/cloudkms_v1.rb +2 -2
  102. data/generated/google/apis/cloudkms_v1/classes.rb +29 -7
  103. data/generated/google/apis/cloudkms_v1/service.rb +1 -1
  104. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  105. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +30 -8
  106. data/generated/google/apis/cloudresourcemanager_v1/service.rb +5 -3
  107. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  108. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +29 -7
  109. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  110. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +29 -7
  111. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  112. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +29 -7
  113. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  114. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +39 -10
  115. data/generated/google/apis/cloudtasks_v2beta2/service.rb +9 -11
  116. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  117. data/generated/google/apis/cloudtrace_v1/classes.rb +1 -1
  118. data/generated/google/apis/{dlp_v2beta1.rb → composer_v1beta1.rb} +9 -11
  119. data/generated/google/apis/composer_v1beta1/classes.rb +643 -0
  120. data/generated/google/apis/composer_v1beta1/representations.rb +195 -0
  121. data/generated/google/apis/composer_v1beta1/service.rb +462 -0
  122. data/generated/google/apis/compute_alpha.rb +1 -1
  123. data/generated/google/apis/compute_alpha/classes.rb +3939 -2239
  124. data/generated/google/apis/compute_alpha/representations.rb +1063 -335
  125. data/generated/google/apis/compute_alpha/service.rb +3532 -3368
  126. data/generated/google/apis/compute_beta.rb +1 -1
  127. data/generated/google/apis/compute_beta/classes.rb +150 -53
  128. data/generated/google/apis/compute_beta/representations.rb +23 -0
  129. data/generated/google/apis/compute_beta/service.rb +1269 -2077
  130. data/generated/google/apis/compute_v1.rb +1 -1
  131. data/generated/google/apis/compute_v1/classes.rb +46 -43
  132. data/generated/google/apis/compute_v1/service.rb +1022 -1666
  133. data/generated/google/apis/container_v1.rb +2 -2
  134. data/generated/google/apis/container_v1/classes.rb +20 -15
  135. data/generated/google/apis/container_v1/representations.rb +1 -0
  136. data/generated/google/apis/container_v1/service.rb +33 -31
  137. data/generated/google/apis/container_v1beta1.rb +2 -2
  138. data/generated/google/apis/container_v1beta1/classes.rb +186 -14
  139. data/generated/google/apis/container_v1beta1/representations.rb +77 -0
  140. data/generated/google/apis/container_v1beta1/service.rb +111 -31
  141. data/generated/google/apis/content_v2.rb +1 -1
  142. data/generated/google/apis/content_v2/classes.rb +173 -8
  143. data/generated/google/apis/content_v2/representations.rb +71 -0
  144. data/generated/google/apis/content_v2/service.rb +246 -410
  145. data/generated/google/apis/content_v2sandbox.rb +1 -1
  146. data/generated/google/apis/content_v2sandbox/classes.rb +75 -8
  147. data/generated/google/apis/content_v2sandbox/representations.rb +33 -0
  148. data/generated/google/apis/content_v2sandbox/service.rb +63 -105
  149. data/generated/google/apis/customsearch_v1.rb +1 -1
  150. data/generated/google/apis/customsearch_v1/service.rb +9 -15
  151. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  152. data/generated/google/apis/dataflow_v1b3/classes.rb +15 -0
  153. data/generated/google/apis/dataflow_v1b3/representations.rb +2 -0
  154. data/generated/google/apis/dataproc_v1.rb +2 -2
  155. data/generated/google/apis/dataproc_v1/classes.rb +6 -6
  156. data/generated/google/apis/dataproc_v1/service.rb +1 -1
  157. data/generated/google/apis/dataproc_v1beta2.rb +2 -2
  158. data/generated/google/apis/dataproc_v1beta2/classes.rb +48 -13
  159. data/generated/google/apis/dataproc_v1beta2/representations.rb +12 -0
  160. data/generated/google/apis/dataproc_v1beta2/service.rb +1 -1
  161. data/generated/google/apis/datastore_v1.rb +2 -2
  162. data/generated/google/apis/datastore_v1/service.rb +1 -1
  163. data/generated/google/apis/datastore_v1beta1.rb +2 -2
  164. data/generated/google/apis/datastore_v1beta1/service.rb +1 -1
  165. data/generated/google/apis/datastore_v1beta3.rb +2 -2
  166. data/generated/google/apis/datastore_v1beta3/service.rb +1 -1
  167. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  168. data/generated/google/apis/deploymentmanager_alpha/classes.rb +60 -5
  169. data/generated/google/apis/deploymentmanager_alpha/representations.rb +17 -0
  170. data/generated/google/apis/deploymentmanager_alpha/service.rb +118 -194
  171. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  172. data/generated/google/apis/deploymentmanager_v2/classes.rb +60 -5
  173. data/generated/google/apis/deploymentmanager_v2/representations.rb +17 -0
  174. data/generated/google/apis/deploymentmanager_v2/service.rb +61 -99
  175. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  176. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +60 -5
  177. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +17 -0
  178. data/generated/google/apis/deploymentmanager_v2beta/service.rb +103 -169
  179. data/generated/google/apis/dfareporting_v2_8/service.rb +618 -1030
  180. data/generated/google/apis/dfareporting_v3_0/service.rb +615 -1025
  181. data/generated/google/apis/dialogflow_v2.rb +1 -1
  182. data/generated/google/apis/dialogflow_v2/classes.rb +94 -24
  183. data/generated/google/apis/dialogflow_v2/representations.rb +13 -0
  184. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  185. data/generated/google/apis/dialogflow_v2beta1/classes.rb +94 -24
  186. data/generated/google/apis/dialogflow_v2beta1/representations.rb +13 -0
  187. data/generated/google/apis/discovery_v1/service.rb +9 -15
  188. data/generated/google/apis/dlp_v2.rb +1 -1
  189. data/generated/google/apis/dlp_v2/classes.rb +116 -1572
  190. data/generated/google/apis/dlp_v2/representations.rb +673 -1405
  191. data/generated/google/apis/dlp_v2/service.rb +24 -24
  192. data/generated/google/apis/dns_v1.rb +1 -1
  193. data/generated/google/apis/dns_v1/classes.rb +7 -0
  194. data/generated/google/apis/dns_v1/representations.rb +1 -0
  195. data/generated/google/apis/dns_v1/service.rb +49 -81
  196. data/generated/google/apis/dns_v1beta2.rb +1 -1
  197. data/generated/google/apis/dns_v1beta2/classes.rb +7 -0
  198. data/generated/google/apis/dns_v1beta2/representations.rb +1 -0
  199. data/generated/google/apis/dns_v1beta2/service.rb +49 -81
  200. data/generated/google/apis/dns_v2beta1.rb +1 -1
  201. data/generated/google/apis/dns_v2beta1/classes.rb +7 -0
  202. data/generated/google/apis/dns_v2beta1/representations.rb +1 -0
  203. data/generated/google/apis/dns_v2beta1/service.rb +49 -81
  204. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +30 -50
  205. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  206. data/generated/google/apis/doubleclicksearch_v2/service.rb +33 -55
  207. data/generated/google/apis/drive_v2.rb +1 -1
  208. data/generated/google/apis/drive_v2/service.rb +205 -341
  209. data/generated/google/apis/drive_v3.rb +1 -1
  210. data/generated/google/apis/drive_v3/service.rb +120 -200
  211. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  212. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +1 -1
  213. data/generated/google/apis/firestore_v1beta1.rb +2 -2
  214. data/generated/google/apis/firestore_v1beta1/service.rb +1 -1
  215. data/generated/google/apis/fitness_v1/service.rb +45 -75
  216. data/generated/google/apis/fusiontables_v1.rb +1 -1
  217. data/generated/google/apis/fusiontables_v1/service.rb +99 -165
  218. data/generated/google/apis/fusiontables_v2/service.rb +105 -175
  219. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  220. data/generated/google/apis/games_configuration_v1configuration/service.rb +42 -70
  221. data/generated/google/apis/games_management_v1management.rb +1 -1
  222. data/generated/google/apis/games_management_v1management/service.rb +84 -140
  223. data/generated/google/apis/games_v1.rb +1 -1
  224. data/generated/google/apis/games_v1/service.rb +162 -270
  225. data/generated/google/apis/genomics_v1.rb +1 -1
  226. data/generated/google/apis/genomics_v1/classes.rb +41 -7
  227. data/generated/google/apis/genomics_v1/representations.rb +1 -0
  228. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  229. data/generated/google/apis/genomics_v1alpha2/classes.rb +12 -0
  230. data/generated/google/apis/genomics_v1alpha2/representations.rb +1 -0
  231. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  232. data/generated/google/apis/genomics_v2alpha1/classes.rb +70 -0
  233. data/generated/google/apis/genomics_v2alpha1/representations.rb +20 -0
  234. data/generated/google/apis/gmail_v1/service.rb +189 -315
  235. data/generated/google/apis/groupsmigration_v1/service.rb +6 -10
  236. data/generated/google/apis/groupssettings_v1/service.rb +12 -20
  237. data/generated/google/apis/iam_v1.rb +2 -2
  238. data/generated/google/apis/iam_v1/classes.rb +29 -7
  239. data/generated/google/apis/iam_v1/service.rb +1 -1
  240. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  241. data/generated/google/apis/identitytoolkit_v3/service.rb +63 -105
  242. data/generated/google/apis/jobs_v2.rb +38 -0
  243. data/generated/google/apis/jobs_v2/classes.rb +3378 -0
  244. data/generated/google/apis/jobs_v2/representations.rb +1067 -0
  245. data/generated/google/apis/jobs_v2/service.rb +754 -0
  246. data/generated/google/apis/licensing_v1/service.rb +24 -40
  247. data/generated/google/apis/logging_v2.rb +1 -1
  248. data/generated/google/apis/logging_v2/classes.rb +55 -5
  249. data/generated/google/apis/logging_v2/representations.rb +16 -0
  250. data/generated/google/apis/logging_v2/service.rb +6 -4
  251. data/generated/google/apis/logging_v2beta1.rb +1 -1
  252. data/generated/google/apis/logging_v2beta1/classes.rb +55 -5
  253. data/generated/google/apis/logging_v2beta1/representations.rb +16 -0
  254. data/generated/google/apis/logging_v2beta1/service.rb +6 -4
  255. data/generated/google/apis/mirror_v1.rb +1 -1
  256. data/generated/google/apis/mirror_v1/service.rb +75 -125
  257. data/generated/google/apis/ml_v1.rb +1 -1
  258. data/generated/google/apis/ml_v1/classes.rb +65 -28
  259. data/generated/google/apis/ml_v1/representations.rb +1 -0
  260. data/generated/google/apis/ml_v1/service.rb +2 -2
  261. data/generated/google/apis/oauth2_v1.rb +1 -1
  262. data/generated/google/apis/oauth2_v1/service.rb +27 -45
  263. data/generated/google/apis/oauth2_v2.rb +1 -1
  264. data/generated/google/apis/oauth2_v2/service.rb +15 -25
  265. data/generated/google/apis/oslogin_v1.rb +1 -1
  266. data/generated/google/apis/oslogin_v1/classes.rb +6 -0
  267. data/generated/google/apis/oslogin_v1/representations.rb +1 -0
  268. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  269. data/generated/google/apis/oslogin_v1alpha/classes.rb +7 -1
  270. data/generated/google/apis/oslogin_v1alpha/representations.rb +1 -0
  271. data/generated/google/apis/oslogin_v1alpha/service.rb +4 -1
  272. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  273. data/generated/google/apis/oslogin_v1beta/classes.rb +6 -0
  274. data/generated/google/apis/oslogin_v1beta/representations.rb +1 -0
  275. data/generated/google/apis/pagespeedonline_v1.rb +1 -1
  276. data/generated/google/apis/pagespeedonline_v1/service.rb +6 -10
  277. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  278. data/generated/google/apis/pagespeedonline_v2/service.rb +6 -10
  279. data/generated/google/apis/pagespeedonline_v4/service.rb +6 -10
  280. data/generated/google/apis/photoslibrary_v1.rb +49 -0
  281. data/generated/google/apis/photoslibrary_v1/classes.rb +1330 -0
  282. data/generated/google/apis/photoslibrary_v1/representations.rb +625 -0
  283. data/generated/google/apis/photoslibrary_v1/service.rb +399 -0
  284. data/generated/google/apis/playcustomapp_v1/service.rb +6 -10
  285. data/generated/google/apis/plus_domains_v1.rb +1 -1
  286. data/generated/google/apis/plus_domains_v1/service.rb +63 -105
  287. data/generated/google/apis/plus_v1.rb +1 -1
  288. data/generated/google/apis/plus_v1/service.rb +30 -50
  289. data/generated/google/apis/pubsub_v1.rb +2 -2
  290. data/generated/google/apis/pubsub_v1/classes.rb +29 -7
  291. data/generated/google/apis/pubsub_v1/service.rb +1 -1
  292. data/generated/google/apis/pubsub_v1beta1a.rb +2 -2
  293. data/generated/google/apis/pubsub_v1beta1a/service.rb +1 -1
  294. data/generated/google/apis/pubsub_v1beta2.rb +2 -2
  295. data/generated/google/apis/pubsub_v1beta2/classes.rb +29 -7
  296. data/generated/google/apis/pubsub_v1beta2/service.rb +1 -1
  297. data/generated/google/apis/{dlp_v2beta2.rb → redis_v1beta1.rb} +10 -11
  298. data/generated/google/apis/redis_v1beta1/classes.rb +681 -0
  299. data/generated/google/apis/redis_v1beta1/representations.rb +240 -0
  300. data/generated/google/apis/redis_v1beta1/service.rb +426 -0
  301. data/generated/google/apis/replicapool_v1beta1/service.rb +33 -55
  302. data/generated/google/apis/replicapool_v1beta2/service.rb +39 -65
  303. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +33 -55
  304. data/generated/google/apis/reseller_v1/service.rb +54 -90
  305. data/generated/google/apis/resourceviews_v1beta1/service.rb +45 -75
  306. data/generated/google/apis/resourceviews_v1beta2/service.rb +36 -60
  307. data/generated/google/apis/runtimeconfig_v1.rb +2 -2
  308. data/generated/google/apis/runtimeconfig_v1/service.rb +1 -1
  309. data/generated/google/apis/runtimeconfig_v1beta1.rb +2 -2
  310. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +28 -6
  311. data/generated/google/apis/runtimeconfig_v1beta1/service.rb +1 -1
  312. data/generated/google/apis/script_v1.rb +8 -2
  313. data/generated/google/apis/script_v1/classes.rb +3 -3
  314. data/generated/google/apis/script_v1/service.rb +8 -2
  315. data/generated/google/apis/servicebroker_v1.rb +36 -0
  316. data/generated/google/apis/servicebroker_v1/classes.rb +240 -0
  317. data/generated/google/apis/servicebroker_v1/representations.rb +96 -0
  318. data/generated/google/apis/servicebroker_v1/service.rb +168 -0
  319. data/generated/google/apis/servicebroker_v1alpha1.rb +36 -0
  320. data/generated/google/apis/servicebroker_v1alpha1/classes.rb +939 -0
  321. data/generated/google/apis/servicebroker_v1alpha1/representations.rb +348 -0
  322. data/generated/google/apis/servicebroker_v1alpha1/service.rb +728 -0
  323. data/generated/google/apis/servicebroker_v1beta1.rb +36 -0
  324. data/generated/google/apis/servicebroker_v1beta1/classes.rb +1046 -0
  325. data/generated/google/apis/servicebroker_v1beta1/representations.rb +393 -0
  326. data/generated/google/apis/servicebroker_v1beta1/service.rb +917 -0
  327. data/generated/google/apis/servicecontrol_v1.rb +2 -2
  328. data/generated/google/apis/servicecontrol_v1/classes.rb +1 -0
  329. data/generated/google/apis/servicecontrol_v1/service.rb +1 -1
  330. data/generated/google/apis/servicemanagement_v1.rb +2 -2
  331. data/generated/google/apis/servicemanagement_v1/classes.rb +29 -7
  332. data/generated/google/apis/servicemanagement_v1/service.rb +1 -1
  333. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  334. data/generated/google/apis/serviceusage_v1beta1/classes.rb +299 -0
  335. data/generated/google/apis/serviceusage_v1beta1/representations.rb +101 -0
  336. data/generated/google/apis/sheets_v4.rb +1 -1
  337. data/generated/google/apis/sheets_v4/classes.rb +421 -0
  338. data/generated/google/apis/sheets_v4/representations.rb +120 -0
  339. data/generated/google/apis/site_verification_v1/service.rb +24 -40
  340. data/generated/google/apis/slides_v1.rb +1 -1
  341. data/generated/google/apis/slides_v1/classes.rb +6 -2
  342. data/generated/google/apis/spanner_v1.rb +1 -1
  343. data/generated/google/apis/spanner_v1/classes.rb +39 -12
  344. data/generated/google/apis/spanner_v1/service.rb +2 -2
  345. data/generated/google/apis/spectrum_v1explorer.rb +1 -1
  346. data/generated/google/apis/spectrum_v1explorer/service.rb +21 -35
  347. data/generated/google/apis/speech_v1.rb +1 -1
  348. data/generated/google/apis/speech_v1/classes.rb +12 -0
  349. data/generated/google/apis/speech_v1/representations.rb +1 -0
  350. data/generated/google/apis/sqladmin_v1beta3.rb +1 -1
  351. data/generated/google/apis/sqladmin_v1beta3/service.rb +75 -125
  352. data/generated/google/apis/sqladmin_v1beta4/service.rb +126 -210
  353. data/generated/google/apis/storage_v1.rb +1 -1
  354. data/generated/google/apis/storage_v1/classes.rb +3 -6
  355. data/generated/google/apis/storage_v1/service.rb +144 -240
  356. data/generated/google/apis/storage_v1beta1.rb +1 -1
  357. data/generated/google/apis/storage_v1beta1/service.rb +75 -125
  358. data/generated/google/apis/storage_v1beta2.rb +1 -1
  359. data/generated/google/apis/storage_v1beta2/service.rb +105 -175
  360. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  361. data/generated/google/apis/storagetransfer_v1/classes.rb +4 -3
  362. data/generated/google/apis/surveys_v2.rb +1 -1
  363. data/generated/google/apis/surveys_v2/classes.rb +19 -122
  364. data/generated/google/apis/surveys_v2/representations.rb +0 -38
  365. data/generated/google/apis/surveys_v2/service.rb +27 -157
  366. data/generated/google/apis/tagmanager_v1/service.rb +153 -255
  367. data/generated/google/apis/tagmanager_v2/service.rb +222 -370
  368. data/generated/google/apis/tasks_v1/service.rb +45 -75
  369. data/generated/google/apis/texttospeech_v1beta1.rb +2 -2
  370. data/generated/google/apis/texttospeech_v1beta1/service.rb +1 -1
  371. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  372. data/generated/google/apis/toolresults_v1beta3/service.rb +75 -125
  373. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  374. data/generated/google/apis/urlshortener_v1/service.rb +12 -20
  375. data/generated/google/apis/vault_v1.rb +2 -2
  376. data/generated/google/apis/vault_v1/service.rb +1 -1
  377. data/generated/google/apis/videointelligence_v1.rb +34 -0
  378. data/generated/google/apis/videointelligence_v1/classes.rb +2149 -0
  379. data/generated/google/apis/videointelligence_v1/representations.rb +972 -0
  380. data/generated/google/apis/videointelligence_v1/service.rb +246 -0
  381. data/generated/google/apis/videointelligence_v1beta1.rb +1 -1
  382. data/generated/google/apis/videointelligence_v1beta1/classes.rb +18 -18
  383. data/generated/google/apis/{taskqueue_v1beta2.rb → videointelligence_v1beta2.rb} +10 -13
  384. data/generated/google/apis/videointelligence_v1beta2/classes.rb +2092 -0
  385. data/generated/google/apis/videointelligence_v1beta2/representations.rb +933 -0
  386. data/generated/google/apis/videointelligence_v1beta2/service.rb +92 -0
  387. data/generated/google/apis/vision_v1.rb +1 -1
  388. data/generated/google/apis/vision_v1/classes.rb +1441 -62
  389. data/generated/google/apis/vision_v1/representations.rb +582 -0
  390. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  391. data/generated/google/apis/vision_v1p1beta1/classes.rb +1441 -62
  392. data/generated/google/apis/vision_v1p1beta1/representations.rb +582 -0
  393. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  394. data/generated/google/apis/vision_v1p2beta1/classes.rb +63 -3
  395. data/generated/google/apis/vision_v1p2beta1/representations.rb +32 -0
  396. data/generated/google/apis/webfonts_v1/service.rb +6 -10
  397. data/generated/google/apis/webmasters_v3/service.rb +42 -70
  398. data/generated/google/apis/websecurityscanner_v1alpha.rb +34 -0
  399. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +760 -0
  400. data/generated/google/apis/websecurityscanner_v1alpha/representations.rb +354 -0
  401. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +548 -0
  402. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  403. data/generated/google/apis/youtube_analytics_v1/service.rb +27 -45
  404. data/generated/google/apis/youtube_analytics_v1beta1.rb +1 -1
  405. data/generated/google/apis/youtube_analytics_v1beta1/service.rb +27 -45
  406. data/generated/google/apis/youtube_analytics_v2.rb +46 -0
  407. data/generated/google/apis/youtube_analytics_v2/classes.rb +532 -0
  408. data/generated/google/apis/youtube_analytics_v2/representations.rb +232 -0
  409. data/generated/google/apis/youtube_analytics_v2/service.rb +478 -0
  410. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  411. data/generated/google/apis/youtube_partner_v1/service.rb +225 -375
  412. data/generated/google/apis/youtube_v3.rb +1 -1
  413. data/generated/google/apis/youtube_v3/classes.rb +0 -168
  414. data/generated/google/apis/youtube_v3/representations.rb +0 -62
  415. data/generated/google/apis/youtube_v3/service.rb +216 -415
  416. data/lib/google/apis/generator/helpers.rb +3 -1
  417. data/lib/google/apis/version.rb +1 -1
  418. metadata +50 -38
  419. data/generated/google/apis/dlp_v2beta1/classes.rb +0 -3820
  420. data/generated/google/apis/dlp_v2beta1/representations.rb +0 -1879
  421. data/generated/google/apis/dlp_v2beta1/service.rb +0 -603
  422. data/generated/google/apis/dlp_v2beta2/classes.rb +0 -6386
  423. data/generated/google/apis/dlp_v2beta2/representations.rb +0 -3085
  424. data/generated/google/apis/dlp_v2beta2/service.rb +0 -1332
  425. data/generated/google/apis/prediction_v1_2.rb +0 -44
  426. data/generated/google/apis/prediction_v1_2/classes.rb +0 -237
  427. data/generated/google/apis/prediction_v1_2/representations.rb +0 -133
  428. data/generated/google/apis/prediction_v1_2/service.rb +0 -287
  429. data/generated/google/apis/prediction_v1_3.rb +0 -44
  430. data/generated/google/apis/prediction_v1_3/classes.rb +0 -286
  431. data/generated/google/apis/prediction_v1_3/representations.rb +0 -139
  432. data/generated/google/apis/prediction_v1_3/service.rb +0 -284
  433. data/generated/google/apis/prediction_v1_4.rb +0 -44
  434. data/generated/google/apis/prediction_v1_4/classes.rb +0 -336
  435. data/generated/google/apis/prediction_v1_4/representations.rb +0 -158
  436. data/generated/google/apis/prediction_v1_4/service.rb +0 -284
  437. data/generated/google/apis/prediction_v1_5.rb +0 -44
  438. data/generated/google/apis/prediction_v1_5/classes.rb +0 -708
  439. data/generated/google/apis/prediction_v1_5/representations.rb +0 -352
  440. data/generated/google/apis/prediction_v1_5/service.rb +0 -357
  441. data/generated/google/apis/prediction_v1_6.rb +0 -47
  442. data/generated/google/apis/prediction_v1_6/classes.rb +0 -751
  443. data/generated/google/apis/prediction_v1_6/representations.rb +0 -369
  444. data/generated/google/apis/prediction_v1_6/service.rb +0 -381
  445. data/generated/google/apis/taskqueue_v1beta1.rb +0 -37
  446. data/generated/google/apis/taskqueue_v1beta1/classes.rb +0 -242
  447. data/generated/google/apis/taskqueue_v1beta1/representations.rb +0 -124
  448. data/generated/google/apis/taskqueue_v1beta1/service.rb +0 -269
  449. data/generated/google/apis/taskqueue_v1beta2/classes.rb +0 -254
  450. data/generated/google/apis/taskqueue_v1beta2/representations.rb +0 -126
  451. data/generated/google/apis/taskqueue_v1beta2/service.rb +0 -409
@@ -0,0 +1,246 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module VideointelligenceV1
23
+ # Cloud Video Intelligence API
24
+ #
25
+ # Cloud Video Intelligence API.
26
+ #
27
+ # @example
28
+ # require 'google/apis/videointelligence_v1'
29
+ #
30
+ # Videointelligence = Google::Apis::VideointelligenceV1 # Alias the module
31
+ # service = Videointelligence::CloudVideoIntelligenceService.new
32
+ #
33
+ # @see https://cloud.google.com/video-intelligence/docs/
34
+ class CloudVideoIntelligenceService < Google::Apis::Core::BaseService
35
+ # @return [String]
36
+ # API key. Your API key identifies your project and provides you with API access,
37
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
38
+ attr_accessor :key
39
+
40
+ # @return [String]
41
+ # Available to use for quota purposes for server-side applications. Can be any
42
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
43
+ attr_accessor :quota_user
44
+
45
+ def initialize
46
+ super('https://videointelligence.googleapis.com/', '')
47
+ @batch_path = 'batch'
48
+ end
49
+
50
+ # Starts asynchronous cancellation on a long-running operation. The server
51
+ # makes a best effort to cancel the operation, but success is not
52
+ # guaranteed. If the server doesn't support this method, it returns
53
+ # `google.rpc.Code.UNIMPLEMENTED`. Clients can use
54
+ # Operations.GetOperation or
55
+ # other methods to check whether the cancellation succeeded or whether the
56
+ # operation completed despite cancellation. On successful cancellation,
57
+ # the operation is not deleted; instead, it becomes an operation with
58
+ # an Operation.error value with a google.rpc.Status.code of 1,
59
+ # corresponding to `Code.CANCELLED`.
60
+ # @param [String] name
61
+ # The name of the operation resource to be cancelled.
62
+ # @param [Google::Apis::VideointelligenceV1::GoogleLongrunningCancelOperationRequest] google_longrunning_cancel_operation_request_object
63
+ # @param [String] fields
64
+ # Selector specifying which fields to include in a partial response.
65
+ # @param [String] quota_user
66
+ # Available to use for quota purposes for server-side applications. Can be any
67
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
68
+ # @param [Google::Apis::RequestOptions] options
69
+ # Request-specific options
70
+ #
71
+ # @yield [result, err] Result & error if block supplied
72
+ # @yieldparam result [Google::Apis::VideointelligenceV1::GoogleProtobufEmpty] parsed result object
73
+ # @yieldparam err [StandardError] error object if request failed
74
+ #
75
+ # @return [Google::Apis::VideointelligenceV1::GoogleProtobufEmpty]
76
+ #
77
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
78
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
79
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
80
+ def cancel_operation(name, google_longrunning_cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
81
+ command = make_simple_command(:post, 'v1/operations/{+name}:cancel', options)
82
+ command.request_representation = Google::Apis::VideointelligenceV1::GoogleLongrunningCancelOperationRequest::Representation
83
+ command.request_object = google_longrunning_cancel_operation_request_object
84
+ command.response_representation = Google::Apis::VideointelligenceV1::GoogleProtobufEmpty::Representation
85
+ command.response_class = Google::Apis::VideointelligenceV1::GoogleProtobufEmpty
86
+ command.params['name'] = name unless name.nil?
87
+ command.query['fields'] = fields unless fields.nil?
88
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
89
+ execute_or_queue_command(command, &block)
90
+ end
91
+
92
+ # Deletes a long-running operation. This method indicates that the client is
93
+ # no longer interested in the operation result. It does not cancel the
94
+ # operation. If the server doesn't support this method, it returns
95
+ # `google.rpc.Code.UNIMPLEMENTED`.
96
+ # @param [String] name
97
+ # The name of the operation resource to be deleted.
98
+ # @param [String] fields
99
+ # Selector specifying which fields to include in a partial response.
100
+ # @param [String] quota_user
101
+ # Available to use for quota purposes for server-side applications. Can be any
102
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
103
+ # @param [Google::Apis::RequestOptions] options
104
+ # Request-specific options
105
+ #
106
+ # @yield [result, err] Result & error if block supplied
107
+ # @yieldparam result [Google::Apis::VideointelligenceV1::GoogleProtobufEmpty] parsed result object
108
+ # @yieldparam err [StandardError] error object if request failed
109
+ #
110
+ # @return [Google::Apis::VideointelligenceV1::GoogleProtobufEmpty]
111
+ #
112
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
113
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
114
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
115
+ def delete_operation(name, fields: nil, quota_user: nil, options: nil, &block)
116
+ command = make_simple_command(:delete, 'v1/operations/{+name}', options)
117
+ command.response_representation = Google::Apis::VideointelligenceV1::GoogleProtobufEmpty::Representation
118
+ command.response_class = Google::Apis::VideointelligenceV1::GoogleProtobufEmpty
119
+ command.params['name'] = name unless name.nil?
120
+ command.query['fields'] = fields unless fields.nil?
121
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
122
+ execute_or_queue_command(command, &block)
123
+ end
124
+
125
+ # Gets the latest state of a long-running operation. Clients can use this
126
+ # method to poll the operation result at intervals as recommended by the API
127
+ # service.
128
+ # @param [String] name
129
+ # The name of the operation resource.
130
+ # @param [String] fields
131
+ # Selector specifying which fields to include in a partial response.
132
+ # @param [String] quota_user
133
+ # Available to use for quota purposes for server-side applications. Can be any
134
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
135
+ # @param [Google::Apis::RequestOptions] options
136
+ # Request-specific options
137
+ #
138
+ # @yield [result, err] Result & error if block supplied
139
+ # @yieldparam result [Google::Apis::VideointelligenceV1::GoogleLongrunningOperation] parsed result object
140
+ # @yieldparam err [StandardError] error object if request failed
141
+ #
142
+ # @return [Google::Apis::VideointelligenceV1::GoogleLongrunningOperation]
143
+ #
144
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
145
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
146
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
147
+ def get_operation(name, fields: nil, quota_user: nil, options: nil, &block)
148
+ command = make_simple_command(:get, 'v1/operations/{+name}', options)
149
+ command.response_representation = Google::Apis::VideointelligenceV1::GoogleLongrunningOperation::Representation
150
+ command.response_class = Google::Apis::VideointelligenceV1::GoogleLongrunningOperation
151
+ command.params['name'] = name unless name.nil?
152
+ command.query['fields'] = fields unless fields.nil?
153
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
154
+ execute_or_queue_command(command, &block)
155
+ end
156
+
157
+ # Lists operations that match the specified filter in the request. If the
158
+ # server doesn't support this method, it returns `UNIMPLEMENTED`.
159
+ # NOTE: the `name` binding allows API services to override the binding
160
+ # to use different resource name schemes, such as `users/*/operations`. To
161
+ # override the binding, API services can add a binding such as
162
+ # `"/v1/`name=users/*`/operations"` to their service configuration.
163
+ # For backwards compatibility, the default name includes the operations
164
+ # collection id, however overriding users must ensure the name binding
165
+ # is the parent resource, without the operations collection id.
166
+ # @param [String] filter
167
+ # The standard list filter.
168
+ # @param [String] name
169
+ # The name of the operation's parent resource.
170
+ # @param [Fixnum] page_size
171
+ # The standard list page size.
172
+ # @param [String] page_token
173
+ # The standard list page token.
174
+ # @param [String] fields
175
+ # Selector specifying which fields to include in a partial response.
176
+ # @param [String] quota_user
177
+ # Available to use for quota purposes for server-side applications. Can be any
178
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
179
+ # @param [Google::Apis::RequestOptions] options
180
+ # Request-specific options
181
+ #
182
+ # @yield [result, err] Result & error if block supplied
183
+ # @yieldparam result [Google::Apis::VideointelligenceV1::GoogleLongrunningListOperationsResponse] parsed result object
184
+ # @yieldparam err [StandardError] error object if request failed
185
+ #
186
+ # @return [Google::Apis::VideointelligenceV1::GoogleLongrunningListOperationsResponse]
187
+ #
188
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
189
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
190
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
191
+ def list_operations(filter: nil, name: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
192
+ command = make_simple_command(:get, 'v1/operations', options)
193
+ command.response_representation = Google::Apis::VideointelligenceV1::GoogleLongrunningListOperationsResponse::Representation
194
+ command.response_class = Google::Apis::VideointelligenceV1::GoogleLongrunningListOperationsResponse
195
+ command.query['filter'] = filter unless filter.nil?
196
+ command.query['name'] = name unless name.nil?
197
+ command.query['pageSize'] = page_size unless page_size.nil?
198
+ command.query['pageToken'] = page_token unless page_token.nil?
199
+ command.query['fields'] = fields unless fields.nil?
200
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
201
+ execute_or_queue_command(command, &block)
202
+ end
203
+
204
+ # Performs asynchronous video annotation. Progress and results can be
205
+ # retrieved through the `google.longrunning.Operations` interface.
206
+ # `Operation.metadata` contains `AnnotateVideoProgress` (progress).
207
+ # `Operation.response` contains `AnnotateVideoResponse` (results).
208
+ # @param [Google::Apis::VideointelligenceV1::GoogleCloudVideointelligenceV1AnnotateVideoRequest] google_cloud_videointelligence_v1_annotate_video_request_object
209
+ # @param [String] fields
210
+ # Selector specifying which fields to include in a partial response.
211
+ # @param [String] quota_user
212
+ # Available to use for quota purposes for server-side applications. Can be any
213
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
214
+ # @param [Google::Apis::RequestOptions] options
215
+ # Request-specific options
216
+ #
217
+ # @yield [result, err] Result & error if block supplied
218
+ # @yieldparam result [Google::Apis::VideointelligenceV1::GoogleLongrunningOperation] parsed result object
219
+ # @yieldparam err [StandardError] error object if request failed
220
+ #
221
+ # @return [Google::Apis::VideointelligenceV1::GoogleLongrunningOperation]
222
+ #
223
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
224
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
225
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
226
+ def annotate_video(google_cloud_videointelligence_v1_annotate_video_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
227
+ command = make_simple_command(:post, 'v1/videos:annotate', options)
228
+ command.request_representation = Google::Apis::VideointelligenceV1::GoogleCloudVideointelligenceV1AnnotateVideoRequest::Representation
229
+ command.request_object = google_cloud_videointelligence_v1_annotate_video_request_object
230
+ command.response_representation = Google::Apis::VideointelligenceV1::GoogleLongrunningOperation::Representation
231
+ command.response_class = Google::Apis::VideointelligenceV1::GoogleLongrunningOperation
232
+ command.query['fields'] = fields unless fields.nil?
233
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
234
+ execute_or_queue_command(command, &block)
235
+ end
236
+
237
+ protected
238
+
239
+ def apply_command_defaults(command)
240
+ command.query['key'] = key unless key.nil?
241
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
242
+ end
243
+ end
244
+ end
245
+ end
246
+ end
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/video-intelligence/docs/
26
26
  module VideointelligenceV1beta1
27
27
  VERSION = 'V1beta1'
28
- REVISION = '20180306'
28
+ REVISION = '20180502'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -239,24 +239,24 @@ module Google
239
239
  class GoogleCloudVideointelligenceV1VideoAnnotationProgress
240
240
  include Google::Apis::Core::Hashable
241
241
 
242
- # Video file location in
242
+ # Output only. Video file location in
243
243
  # [Google Cloud Storage](https://cloud.google.com/storage/).
244
244
  # Corresponds to the JSON property `inputUri`
245
245
  # @return [String]
246
246
  attr_accessor :input_uri
247
247
 
248
- # Approximate percentage processed thus far.
249
- # Guaranteed to be 100 when fully processed.
248
+ # Output only. Approximate percentage processed thus far. Guaranteed to be
249
+ # 100 when fully processed.
250
250
  # Corresponds to the JSON property `progressPercent`
251
251
  # @return [Fixnum]
252
252
  attr_accessor :progress_percent
253
253
 
254
- # Time when the request was received.
254
+ # Output only. Time when the request was received.
255
255
  # Corresponds to the JSON property `startTime`
256
256
  # @return [String]
257
257
  attr_accessor :start_time
258
258
 
259
- # Time of the most recent update.
259
+ # Output only. Time of the most recent update.
260
260
  # Corresponds to the JSON property `updateTime`
261
261
  # @return [String]
262
262
  attr_accessor :update_time
@@ -334,7 +334,7 @@ module Google
334
334
  # @return [Array<Google::Apis::VideointelligenceV1beta1::GoogleCloudVideointelligenceV1LabelAnnotation>]
335
335
  attr_accessor :frame_label_annotations
336
336
 
337
- # Video file location in
337
+ # Output only. Video file location in
338
338
  # [Google Cloud Storage](https://cloud.google.com/storage/).
339
339
  # Corresponds to the JSON property `inputUri`
340
340
  # @return [String]
@@ -1045,24 +1045,24 @@ module Google
1045
1045
  class GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress
1046
1046
  include Google::Apis::Core::Hashable
1047
1047
 
1048
- # Video file location in
1048
+ # Output only. Video file location in
1049
1049
  # [Google Cloud Storage](https://cloud.google.com/storage/).
1050
1050
  # Corresponds to the JSON property `inputUri`
1051
1051
  # @return [String]
1052
1052
  attr_accessor :input_uri
1053
1053
 
1054
- # Approximate percentage processed thus far.
1055
- # Guaranteed to be 100 when fully processed.
1054
+ # Output only. Approximate percentage processed thus far. Guaranteed to be
1055
+ # 100 when fully processed.
1056
1056
  # Corresponds to the JSON property `progressPercent`
1057
1057
  # @return [Fixnum]
1058
1058
  attr_accessor :progress_percent
1059
1059
 
1060
- # Time when the request was received.
1060
+ # Output only. Time when the request was received.
1061
1061
  # Corresponds to the JSON property `startTime`
1062
1062
  # @return [String]
1063
1063
  attr_accessor :start_time
1064
1064
 
1065
- # Time of the most recent update.
1065
+ # Output only. Time of the most recent update.
1066
1066
  # Corresponds to the JSON property `updateTime`
1067
1067
  # @return [String]
1068
1068
  attr_accessor :update_time
@@ -1140,7 +1140,7 @@ module Google
1140
1140
  # @return [Array<Google::Apis::VideointelligenceV1beta1::GoogleCloudVideointelligenceV1beta2LabelAnnotation>]
1141
1141
  attr_accessor :frame_label_annotations
1142
1142
 
1143
- # Video file location in
1143
+ # Output only. Video file location in
1144
1144
  # [Google Cloud Storage](https://cloud.google.com/storage/).
1145
1145
  # Corresponds to the JSON property `inputUri`
1146
1146
  # @return [String]
@@ -1644,24 +1644,24 @@ module Google
1644
1644
  class GoogleCloudVideointelligenceV1p1beta1VideoAnnotationProgress
1645
1645
  include Google::Apis::Core::Hashable
1646
1646
 
1647
- # Video file location in
1647
+ # Output only. Video file location in
1648
1648
  # [Google Cloud Storage](https://cloud.google.com/storage/).
1649
1649
  # Corresponds to the JSON property `inputUri`
1650
1650
  # @return [String]
1651
1651
  attr_accessor :input_uri
1652
1652
 
1653
- # Approximate percentage processed thus far.
1654
- # Guaranteed to be 100 when fully processed.
1653
+ # Output only. Approximate percentage processed thus far. Guaranteed to be
1654
+ # 100 when fully processed.
1655
1655
  # Corresponds to the JSON property `progressPercent`
1656
1656
  # @return [Fixnum]
1657
1657
  attr_accessor :progress_percent
1658
1658
 
1659
- # Time when the request was received.
1659
+ # Output only. Time when the request was received.
1660
1660
  # Corresponds to the JSON property `startTime`
1661
1661
  # @return [String]
1662
1662
  attr_accessor :start_time
1663
1663
 
1664
- # Time of the most recent update.
1664
+ # Output only. Time of the most recent update.
1665
1665
  # Corresponds to the JSON property `updateTime`
1666
1666
  # @return [String]
1667
1667
  attr_accessor :update_time
@@ -1744,7 +1744,7 @@ module Google
1744
1744
  # @return [Array<Google::Apis::VideointelligenceV1beta1::GoogleCloudVideointelligenceV1p1beta1LabelAnnotation>]
1745
1745
  attr_accessor :frame_label_annotations
1746
1746
 
1747
- # Video file location in
1747
+ # Output only. Video file location in
1748
1748
  # [Google Cloud Storage](https://cloud.google.com/storage/).
1749
1749
  # Corresponds to the JSON property `inputUri`
1750
1750
  # @return [String]
@@ -12,26 +12,23 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'google/apis/taskqueue_v1beta2/service.rb'
16
- require 'google/apis/taskqueue_v1beta2/classes.rb'
17
- require 'google/apis/taskqueue_v1beta2/representations.rb'
15
+ require 'google/apis/videointelligence_v1beta2/service.rb'
16
+ require 'google/apis/videointelligence_v1beta2/classes.rb'
17
+ require 'google/apis/videointelligence_v1beta2/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # TaskQueue API
21
+ # Cloud Video Intelligence API
22
22
  #
23
- # Accesses a Google App Engine Pull Task Queue over REST.
23
+ # Cloud Video Intelligence API.
24
24
  #
25
- # @see https://developers.google.com/appengine/docs/python/taskqueue/rest
26
- module TaskqueueV1beta2
25
+ # @see https://cloud.google.com/video-intelligence/docs/
26
+ module VideointelligenceV1beta2
27
27
  VERSION = 'V1beta2'
28
- REVISION = '20160428'
28
+ REVISION = '20180502'
29
29
 
30
- # Manage your Tasks and Taskqueues
31
- AUTH_TASKQUEUE = 'https://www.googleapis.com/auth/taskqueue'
32
-
33
- # Consume Tasks from your Taskqueues
34
- AUTH_TASKQUEUE_CONSUMER = 'https://www.googleapis.com/auth/taskqueue.consumer'
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
35
32
  end
36
33
  end
37
34
  end
@@ -0,0 +1,2092 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module VideointelligenceV1beta2
24
+
25
+ # Video annotation progress. Included in the `metadata`
26
+ # field of the `Operation` returned by the `GetOperation`
27
+ # call of the `google::longrunning::Operations` service.
28
+ class GoogleCloudVideointelligenceV1AnnotateVideoProgress
29
+ include Google::Apis::Core::Hashable
30
+
31
+ # Progress metadata for all videos specified in `AnnotateVideoRequest`.
32
+ # Corresponds to the JSON property `annotationProgress`
33
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1VideoAnnotationProgress>]
34
+ attr_accessor :annotation_progress
35
+
36
+ def initialize(**args)
37
+ update!(**args)
38
+ end
39
+
40
+ # Update properties of this object
41
+ def update!(**args)
42
+ @annotation_progress = args[:annotation_progress] if args.key?(:annotation_progress)
43
+ end
44
+ end
45
+
46
+ # Video annotation response. Included in the `response`
47
+ # field of the `Operation` returned by the `GetOperation`
48
+ # call of the `google::longrunning::Operations` service.
49
+ class GoogleCloudVideointelligenceV1AnnotateVideoResponse
50
+ include Google::Apis::Core::Hashable
51
+
52
+ # Annotation results for all videos specified in `AnnotateVideoRequest`.
53
+ # Corresponds to the JSON property `annotationResults`
54
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1VideoAnnotationResults>]
55
+ attr_accessor :annotation_results
56
+
57
+ def initialize(**args)
58
+ update!(**args)
59
+ end
60
+
61
+ # Update properties of this object
62
+ def update!(**args)
63
+ @annotation_results = args[:annotation_results] if args.key?(:annotation_results)
64
+ end
65
+ end
66
+
67
+ # Detected entity from video analysis.
68
+ class GoogleCloudVideointelligenceV1Entity
69
+ include Google::Apis::Core::Hashable
70
+
71
+ # Textual description, e.g. `Fixed-gear bicycle`.
72
+ # Corresponds to the JSON property `description`
73
+ # @return [String]
74
+ attr_accessor :description
75
+
76
+ # Opaque entity ID. Some IDs may be available in
77
+ # [Google Knowledge Graph Search
78
+ # API](https://developers.google.com/knowledge-graph/).
79
+ # Corresponds to the JSON property `entityId`
80
+ # @return [String]
81
+ attr_accessor :entity_id
82
+
83
+ # Language code for `description` in BCP-47 format.
84
+ # Corresponds to the JSON property `languageCode`
85
+ # @return [String]
86
+ attr_accessor :language_code
87
+
88
+ def initialize(**args)
89
+ update!(**args)
90
+ end
91
+
92
+ # Update properties of this object
93
+ def update!(**args)
94
+ @description = args[:description] if args.key?(:description)
95
+ @entity_id = args[:entity_id] if args.key?(:entity_id)
96
+ @language_code = args[:language_code] if args.key?(:language_code)
97
+ end
98
+ end
99
+
100
+ # Explicit content annotation (based on per-frame visual signals only).
101
+ # If no explicit content has been detected in a frame, no annotations are
102
+ # present for that frame.
103
+ class GoogleCloudVideointelligenceV1ExplicitContentAnnotation
104
+ include Google::Apis::Core::Hashable
105
+
106
+ # All video frames where explicit content was detected.
107
+ # Corresponds to the JSON property `frames`
108
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1ExplicitContentFrame>]
109
+ attr_accessor :frames
110
+
111
+ def initialize(**args)
112
+ update!(**args)
113
+ end
114
+
115
+ # Update properties of this object
116
+ def update!(**args)
117
+ @frames = args[:frames] if args.key?(:frames)
118
+ end
119
+ end
120
+
121
+ # Video frame level annotation results for explicit content.
122
+ class GoogleCloudVideointelligenceV1ExplicitContentFrame
123
+ include Google::Apis::Core::Hashable
124
+
125
+ # Likelihood of the pornography content..
126
+ # Corresponds to the JSON property `pornographyLikelihood`
127
+ # @return [String]
128
+ attr_accessor :pornography_likelihood
129
+
130
+ # Time-offset, relative to the beginning of the video, corresponding to the
131
+ # video frame for this location.
132
+ # Corresponds to the JSON property `timeOffset`
133
+ # @return [String]
134
+ attr_accessor :time_offset
135
+
136
+ def initialize(**args)
137
+ update!(**args)
138
+ end
139
+
140
+ # Update properties of this object
141
+ def update!(**args)
142
+ @pornography_likelihood = args[:pornography_likelihood] if args.key?(:pornography_likelihood)
143
+ @time_offset = args[:time_offset] if args.key?(:time_offset)
144
+ end
145
+ end
146
+
147
+ # Label annotation.
148
+ class GoogleCloudVideointelligenceV1LabelAnnotation
149
+ include Google::Apis::Core::Hashable
150
+
151
+ # Common categories for the detected entity.
152
+ # E.g. when the label is `Terrier` the category is likely `dog`. And in some
153
+ # cases there might be more than one categories e.g. `Terrier` could also be
154
+ # a `pet`.
155
+ # Corresponds to the JSON property `categoryEntities`
156
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1Entity>]
157
+ attr_accessor :category_entities
158
+
159
+ # Detected entity from video analysis.
160
+ # Corresponds to the JSON property `entity`
161
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1Entity]
162
+ attr_accessor :entity
163
+
164
+ # All video frames where a label was detected.
165
+ # Corresponds to the JSON property `frames`
166
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1LabelFrame>]
167
+ attr_accessor :frames
168
+
169
+ # All video segments where a label was detected.
170
+ # Corresponds to the JSON property `segments`
171
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1LabelSegment>]
172
+ attr_accessor :segments
173
+
174
+ def initialize(**args)
175
+ update!(**args)
176
+ end
177
+
178
+ # Update properties of this object
179
+ def update!(**args)
180
+ @category_entities = args[:category_entities] if args.key?(:category_entities)
181
+ @entity = args[:entity] if args.key?(:entity)
182
+ @frames = args[:frames] if args.key?(:frames)
183
+ @segments = args[:segments] if args.key?(:segments)
184
+ end
185
+ end
186
+
187
+ # Video frame level annotation results for label detection.
188
+ class GoogleCloudVideointelligenceV1LabelFrame
189
+ include Google::Apis::Core::Hashable
190
+
191
+ # Confidence that the label is accurate. Range: [0, 1].
192
+ # Corresponds to the JSON property `confidence`
193
+ # @return [Float]
194
+ attr_accessor :confidence
195
+
196
+ # Time-offset, relative to the beginning of the video, corresponding to the
197
+ # video frame for this location.
198
+ # Corresponds to the JSON property `timeOffset`
199
+ # @return [String]
200
+ attr_accessor :time_offset
201
+
202
+ def initialize(**args)
203
+ update!(**args)
204
+ end
205
+
206
+ # Update properties of this object
207
+ def update!(**args)
208
+ @confidence = args[:confidence] if args.key?(:confidence)
209
+ @time_offset = args[:time_offset] if args.key?(:time_offset)
210
+ end
211
+ end
212
+
213
+ # Video segment level annotation results for label detection.
214
+ class GoogleCloudVideointelligenceV1LabelSegment
215
+ include Google::Apis::Core::Hashable
216
+
217
+ # Confidence that the label is accurate. Range: [0, 1].
218
+ # Corresponds to the JSON property `confidence`
219
+ # @return [Float]
220
+ attr_accessor :confidence
221
+
222
+ # Video segment.
223
+ # Corresponds to the JSON property `segment`
224
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1VideoSegment]
225
+ attr_accessor :segment
226
+
227
+ def initialize(**args)
228
+ update!(**args)
229
+ end
230
+
231
+ # Update properties of this object
232
+ def update!(**args)
233
+ @confidence = args[:confidence] if args.key?(:confidence)
234
+ @segment = args[:segment] if args.key?(:segment)
235
+ end
236
+ end
237
+
238
+ # Annotation progress for a single video.
239
+ class GoogleCloudVideointelligenceV1VideoAnnotationProgress
240
+ include Google::Apis::Core::Hashable
241
+
242
+ # Output only. Video file location in
243
+ # [Google Cloud Storage](https://cloud.google.com/storage/).
244
+ # Corresponds to the JSON property `inputUri`
245
+ # @return [String]
246
+ attr_accessor :input_uri
247
+
248
+ # Output only. Approximate percentage processed thus far. Guaranteed to be
249
+ # 100 when fully processed.
250
+ # Corresponds to the JSON property `progressPercent`
251
+ # @return [Fixnum]
252
+ attr_accessor :progress_percent
253
+
254
+ # Output only. Time when the request was received.
255
+ # Corresponds to the JSON property `startTime`
256
+ # @return [String]
257
+ attr_accessor :start_time
258
+
259
+ # Output only. Time of the most recent update.
260
+ # Corresponds to the JSON property `updateTime`
261
+ # @return [String]
262
+ attr_accessor :update_time
263
+
264
+ def initialize(**args)
265
+ update!(**args)
266
+ end
267
+
268
+ # Update properties of this object
269
+ def update!(**args)
270
+ @input_uri = args[:input_uri] if args.key?(:input_uri)
271
+ @progress_percent = args[:progress_percent] if args.key?(:progress_percent)
272
+ @start_time = args[:start_time] if args.key?(:start_time)
273
+ @update_time = args[:update_time] if args.key?(:update_time)
274
+ end
275
+ end
276
+
277
+ # Annotation results for a single video.
278
+ class GoogleCloudVideointelligenceV1VideoAnnotationResults
279
+ include Google::Apis::Core::Hashable
280
+
281
+ # The `Status` type defines a logical error model that is suitable for different
282
+ # programming environments, including REST APIs and RPC APIs. It is used by
283
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
284
+ # - Simple to use and understand for most users
285
+ # - Flexible enough to meet unexpected needs
286
+ # # Overview
287
+ # The `Status` message contains three pieces of data: error code, error message,
288
+ # and error details. The error code should be an enum value of
289
+ # google.rpc.Code, but it may accept additional error codes if needed. The
290
+ # error message should be a developer-facing English message that helps
291
+ # developers *understand* and *resolve* the error. If a localized user-facing
292
+ # error message is needed, put the localized message in the error details or
293
+ # localize it in the client. The optional error details may contain arbitrary
294
+ # information about the error. There is a predefined set of error detail types
295
+ # in the package `google.rpc` that can be used for common error conditions.
296
+ # # Language mapping
297
+ # The `Status` message is the logical representation of the error model, but it
298
+ # is not necessarily the actual wire format. When the `Status` message is
299
+ # exposed in different client libraries and different wire protocols, it can be
300
+ # mapped differently. For example, it will likely be mapped to some exceptions
301
+ # in Java, but more likely mapped to some error codes in C.
302
+ # # Other uses
303
+ # The error model and the `Status` message can be used in a variety of
304
+ # environments, either with or without APIs, to provide a
305
+ # consistent developer experience across different environments.
306
+ # Example uses of this error model include:
307
+ # - Partial errors. If a service needs to return partial errors to the client,
308
+ # it may embed the `Status` in the normal response to indicate the partial
309
+ # errors.
310
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
311
+ # have a `Status` message for error reporting.
312
+ # - Batch operations. If a client uses batch request and batch response, the
313
+ # `Status` message should be used directly inside batch response, one for
314
+ # each error sub-response.
315
+ # - Asynchronous operations. If an API call embeds asynchronous operation
316
+ # results in its response, the status of those operations should be
317
+ # represented directly using the `Status` message.
318
+ # - Logging. If some API errors are stored in logs, the message `Status` could
319
+ # be used directly after any stripping needed for security/privacy reasons.
320
+ # Corresponds to the JSON property `error`
321
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleRpcStatus]
322
+ attr_accessor :error
323
+
324
+ # Explicit content annotation (based on per-frame visual signals only).
325
+ # If no explicit content has been detected in a frame, no annotations are
326
+ # present for that frame.
327
+ # Corresponds to the JSON property `explicitAnnotation`
328
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1ExplicitContentAnnotation]
329
+ attr_accessor :explicit_annotation
330
+
331
+ # Label annotations on frame level.
332
+ # There is exactly one element for each unique label.
333
+ # Corresponds to the JSON property `frameLabelAnnotations`
334
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1LabelAnnotation>]
335
+ attr_accessor :frame_label_annotations
336
+
337
+ # Output only. Video file location in
338
+ # [Google Cloud Storage](https://cloud.google.com/storage/).
339
+ # Corresponds to the JSON property `inputUri`
340
+ # @return [String]
341
+ attr_accessor :input_uri
342
+
343
+ # Label annotations on video level or user specified segment level.
344
+ # There is exactly one element for each unique label.
345
+ # Corresponds to the JSON property `segmentLabelAnnotations`
346
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1LabelAnnotation>]
347
+ attr_accessor :segment_label_annotations
348
+
349
+ # Shot annotations. Each shot is represented as a video segment.
350
+ # Corresponds to the JSON property `shotAnnotations`
351
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1VideoSegment>]
352
+ attr_accessor :shot_annotations
353
+
354
+ # Label annotations on shot level.
355
+ # There is exactly one element for each unique label.
356
+ # Corresponds to the JSON property `shotLabelAnnotations`
357
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1LabelAnnotation>]
358
+ attr_accessor :shot_label_annotations
359
+
360
+ def initialize(**args)
361
+ update!(**args)
362
+ end
363
+
364
+ # Update properties of this object
365
+ def update!(**args)
366
+ @error = args[:error] if args.key?(:error)
367
+ @explicit_annotation = args[:explicit_annotation] if args.key?(:explicit_annotation)
368
+ @frame_label_annotations = args[:frame_label_annotations] if args.key?(:frame_label_annotations)
369
+ @input_uri = args[:input_uri] if args.key?(:input_uri)
370
+ @segment_label_annotations = args[:segment_label_annotations] if args.key?(:segment_label_annotations)
371
+ @shot_annotations = args[:shot_annotations] if args.key?(:shot_annotations)
372
+ @shot_label_annotations = args[:shot_label_annotations] if args.key?(:shot_label_annotations)
373
+ end
374
+ end
375
+
376
+ # Video segment.
377
+ class GoogleCloudVideointelligenceV1VideoSegment
378
+ include Google::Apis::Core::Hashable
379
+
380
+ # Time-offset, relative to the beginning of the video,
381
+ # corresponding to the end of the segment (inclusive).
382
+ # Corresponds to the JSON property `endTimeOffset`
383
+ # @return [String]
384
+ attr_accessor :end_time_offset
385
+
386
+ # Time-offset, relative to the beginning of the video,
387
+ # corresponding to the start of the segment (inclusive).
388
+ # Corresponds to the JSON property `startTimeOffset`
389
+ # @return [String]
390
+ attr_accessor :start_time_offset
391
+
392
+ def initialize(**args)
393
+ update!(**args)
394
+ end
395
+
396
+ # Update properties of this object
397
+ def update!(**args)
398
+ @end_time_offset = args[:end_time_offset] if args.key?(:end_time_offset)
399
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
400
+ end
401
+ end
402
+
403
+ # Video annotation progress. Included in the `metadata`
404
+ # field of the `Operation` returned by the `GetOperation`
405
+ # call of the `google::longrunning::Operations` service.
406
+ class GoogleCloudVideointelligenceV1beta1AnnotateVideoProgress
407
+ include Google::Apis::Core::Hashable
408
+
409
+ # Progress metadata for all videos specified in `AnnotateVideoRequest`.
410
+ # Corresponds to the JSON property `annotationProgress`
411
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta1VideoAnnotationProgress>]
412
+ attr_accessor :annotation_progress
413
+
414
+ def initialize(**args)
415
+ update!(**args)
416
+ end
417
+
418
+ # Update properties of this object
419
+ def update!(**args)
420
+ @annotation_progress = args[:annotation_progress] if args.key?(:annotation_progress)
421
+ end
422
+ end
423
+
424
+ # Video annotation response. Included in the `response`
425
+ # field of the `Operation` returned by the `GetOperation`
426
+ # call of the `google::longrunning::Operations` service.
427
+ class GoogleCloudVideointelligenceV1beta1AnnotateVideoResponse
428
+ include Google::Apis::Core::Hashable
429
+
430
+ # Annotation results for all videos specified in `AnnotateVideoRequest`.
431
+ # Corresponds to the JSON property `annotationResults`
432
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta1VideoAnnotationResults>]
433
+ attr_accessor :annotation_results
434
+
435
+ def initialize(**args)
436
+ update!(**args)
437
+ end
438
+
439
+ # Update properties of this object
440
+ def update!(**args)
441
+ @annotation_results = args[:annotation_results] if args.key?(:annotation_results)
442
+ end
443
+ end
444
+
445
+ # Label annotation.
446
+ class GoogleCloudVideointelligenceV1beta1LabelAnnotation
447
+ include Google::Apis::Core::Hashable
448
+
449
+ # Textual description, e.g. `Fixed-gear bicycle`.
450
+ # Corresponds to the JSON property `description`
451
+ # @return [String]
452
+ attr_accessor :description
453
+
454
+ # Language code for `description` in BCP-47 format.
455
+ # Corresponds to the JSON property `languageCode`
456
+ # @return [String]
457
+ attr_accessor :language_code
458
+
459
+ # Where the label was detected and with what confidence.
460
+ # Corresponds to the JSON property `locations`
461
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta1LabelLocation>]
462
+ attr_accessor :locations
463
+
464
+ def initialize(**args)
465
+ update!(**args)
466
+ end
467
+
468
+ # Update properties of this object
469
+ def update!(**args)
470
+ @description = args[:description] if args.key?(:description)
471
+ @language_code = args[:language_code] if args.key?(:language_code)
472
+ @locations = args[:locations] if args.key?(:locations)
473
+ end
474
+ end
475
+
476
+ # Label location.
477
+ class GoogleCloudVideointelligenceV1beta1LabelLocation
478
+ include Google::Apis::Core::Hashable
479
+
480
+ # Confidence that the label is accurate. Range: [0, 1].
481
+ # Corresponds to the JSON property `confidence`
482
+ # @return [Float]
483
+ attr_accessor :confidence
484
+
485
+ # Label level.
486
+ # Corresponds to the JSON property `level`
487
+ # @return [String]
488
+ attr_accessor :level
489
+
490
+ # Video segment.
491
+ # Corresponds to the JSON property `segment`
492
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta1VideoSegment]
493
+ attr_accessor :segment
494
+
495
+ def initialize(**args)
496
+ update!(**args)
497
+ end
498
+
499
+ # Update properties of this object
500
+ def update!(**args)
501
+ @confidence = args[:confidence] if args.key?(:confidence)
502
+ @level = args[:level] if args.key?(:level)
503
+ @segment = args[:segment] if args.key?(:segment)
504
+ end
505
+ end
506
+
507
+ # Safe search annotation (based on per-frame visual signals only).
508
+ # If no unsafe content has been detected in a frame, no annotations
509
+ # are present for that frame. If only some types of unsafe content
510
+ # have been detected in a frame, the likelihood is set to `UNKNOWN`
511
+ # for all other types of unsafe content.
512
+ class GoogleCloudVideointelligenceV1beta1SafeSearchAnnotation
513
+ include Google::Apis::Core::Hashable
514
+
515
+ # Likelihood of adult content.
516
+ # Corresponds to the JSON property `adult`
517
+ # @return [String]
518
+ attr_accessor :adult
519
+
520
+ # Likelihood of medical content.
521
+ # Corresponds to the JSON property `medical`
522
+ # @return [String]
523
+ attr_accessor :medical
524
+
525
+ # Likelihood of racy content.
526
+ # Corresponds to the JSON property `racy`
527
+ # @return [String]
528
+ attr_accessor :racy
529
+
530
+ # Likelihood that an obvious modification was made to the original
531
+ # version to make it appear funny or offensive.
532
+ # Corresponds to the JSON property `spoof`
533
+ # @return [String]
534
+ attr_accessor :spoof
535
+
536
+ # Video time offset in microseconds.
537
+ # Corresponds to the JSON property `timeOffset`
538
+ # @return [Fixnum]
539
+ attr_accessor :time_offset
540
+
541
+ # Likelihood of violent content.
542
+ # Corresponds to the JSON property `violent`
543
+ # @return [String]
544
+ attr_accessor :violent
545
+
546
+ def initialize(**args)
547
+ update!(**args)
548
+ end
549
+
550
+ # Update properties of this object
551
+ def update!(**args)
552
+ @adult = args[:adult] if args.key?(:adult)
553
+ @medical = args[:medical] if args.key?(:medical)
554
+ @racy = args[:racy] if args.key?(:racy)
555
+ @spoof = args[:spoof] if args.key?(:spoof)
556
+ @time_offset = args[:time_offset] if args.key?(:time_offset)
557
+ @violent = args[:violent] if args.key?(:violent)
558
+ end
559
+ end
560
+
561
+ # Annotation progress for a single video.
562
+ class GoogleCloudVideointelligenceV1beta1VideoAnnotationProgress
563
+ include Google::Apis::Core::Hashable
564
+
565
+ # Video file location in
566
+ # [Google Cloud Storage](https://cloud.google.com/storage/).
567
+ # Corresponds to the JSON property `inputUri`
568
+ # @return [String]
569
+ attr_accessor :input_uri
570
+
571
+ # Approximate percentage processed thus far.
572
+ # Guaranteed to be 100 when fully processed.
573
+ # Corresponds to the JSON property `progressPercent`
574
+ # @return [Fixnum]
575
+ attr_accessor :progress_percent
576
+
577
+ # Time when the request was received.
578
+ # Corresponds to the JSON property `startTime`
579
+ # @return [String]
580
+ attr_accessor :start_time
581
+
582
+ # Time of the most recent update.
583
+ # Corresponds to the JSON property `updateTime`
584
+ # @return [String]
585
+ attr_accessor :update_time
586
+
587
+ def initialize(**args)
588
+ update!(**args)
589
+ end
590
+
591
+ # Update properties of this object
592
+ def update!(**args)
593
+ @input_uri = args[:input_uri] if args.key?(:input_uri)
594
+ @progress_percent = args[:progress_percent] if args.key?(:progress_percent)
595
+ @start_time = args[:start_time] if args.key?(:start_time)
596
+ @update_time = args[:update_time] if args.key?(:update_time)
597
+ end
598
+ end
599
+
600
+ # Annotation results for a single video.
601
+ class GoogleCloudVideointelligenceV1beta1VideoAnnotationResults
602
+ include Google::Apis::Core::Hashable
603
+
604
+ # The `Status` type defines a logical error model that is suitable for different
605
+ # programming environments, including REST APIs and RPC APIs. It is used by
606
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
607
+ # - Simple to use and understand for most users
608
+ # - Flexible enough to meet unexpected needs
609
+ # # Overview
610
+ # The `Status` message contains three pieces of data: error code, error message,
611
+ # and error details. The error code should be an enum value of
612
+ # google.rpc.Code, but it may accept additional error codes if needed. The
613
+ # error message should be a developer-facing English message that helps
614
+ # developers *understand* and *resolve* the error. If a localized user-facing
615
+ # error message is needed, put the localized message in the error details or
616
+ # localize it in the client. The optional error details may contain arbitrary
617
+ # information about the error. There is a predefined set of error detail types
618
+ # in the package `google.rpc` that can be used for common error conditions.
619
+ # # Language mapping
620
+ # The `Status` message is the logical representation of the error model, but it
621
+ # is not necessarily the actual wire format. When the `Status` message is
622
+ # exposed in different client libraries and different wire protocols, it can be
623
+ # mapped differently. For example, it will likely be mapped to some exceptions
624
+ # in Java, but more likely mapped to some error codes in C.
625
+ # # Other uses
626
+ # The error model and the `Status` message can be used in a variety of
627
+ # environments, either with or without APIs, to provide a
628
+ # consistent developer experience across different environments.
629
+ # Example uses of this error model include:
630
+ # - Partial errors. If a service needs to return partial errors to the client,
631
+ # it may embed the `Status` in the normal response to indicate the partial
632
+ # errors.
633
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
634
+ # have a `Status` message for error reporting.
635
+ # - Batch operations. If a client uses batch request and batch response, the
636
+ # `Status` message should be used directly inside batch response, one for
637
+ # each error sub-response.
638
+ # - Asynchronous operations. If an API call embeds asynchronous operation
639
+ # results in its response, the status of those operations should be
640
+ # represented directly using the `Status` message.
641
+ # - Logging. If some API errors are stored in logs, the message `Status` could
642
+ # be used directly after any stripping needed for security/privacy reasons.
643
+ # Corresponds to the JSON property `error`
644
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleRpcStatus]
645
+ attr_accessor :error
646
+
647
+ # Video file location in
648
+ # [Google Cloud Storage](https://cloud.google.com/storage/).
649
+ # Corresponds to the JSON property `inputUri`
650
+ # @return [String]
651
+ attr_accessor :input_uri
652
+
653
+ # Label annotations. There is exactly one element for each unique label.
654
+ # Corresponds to the JSON property `labelAnnotations`
655
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta1LabelAnnotation>]
656
+ attr_accessor :label_annotations
657
+
658
+ # Safe search annotations.
659
+ # Corresponds to the JSON property `safeSearchAnnotations`
660
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta1SafeSearchAnnotation>]
661
+ attr_accessor :safe_search_annotations
662
+
663
+ # Shot annotations. Each shot is represented as a video segment.
664
+ # Corresponds to the JSON property `shotAnnotations`
665
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta1VideoSegment>]
666
+ attr_accessor :shot_annotations
667
+
668
+ def initialize(**args)
669
+ update!(**args)
670
+ end
671
+
672
+ # Update properties of this object
673
+ def update!(**args)
674
+ @error = args[:error] if args.key?(:error)
675
+ @input_uri = args[:input_uri] if args.key?(:input_uri)
676
+ @label_annotations = args[:label_annotations] if args.key?(:label_annotations)
677
+ @safe_search_annotations = args[:safe_search_annotations] if args.key?(:safe_search_annotations)
678
+ @shot_annotations = args[:shot_annotations] if args.key?(:shot_annotations)
679
+ end
680
+ end
681
+
682
+ # Video segment.
683
+ class GoogleCloudVideointelligenceV1beta1VideoSegment
684
+ include Google::Apis::Core::Hashable
685
+
686
+ # End offset in microseconds (inclusive). Unset means 0.
687
+ # Corresponds to the JSON property `endTimeOffset`
688
+ # @return [Fixnum]
689
+ attr_accessor :end_time_offset
690
+
691
+ # Start offset in microseconds (inclusive). Unset means 0.
692
+ # Corresponds to the JSON property `startTimeOffset`
693
+ # @return [Fixnum]
694
+ attr_accessor :start_time_offset
695
+
696
+ def initialize(**args)
697
+ update!(**args)
698
+ end
699
+
700
+ # Update properties of this object
701
+ def update!(**args)
702
+ @end_time_offset = args[:end_time_offset] if args.key?(:end_time_offset)
703
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
704
+ end
705
+ end
706
+
707
+ # Video annotation progress. Included in the `metadata`
708
+ # field of the `Operation` returned by the `GetOperation`
709
+ # call of the `google::longrunning::Operations` service.
710
+ class GoogleCloudVideointelligenceV1beta2AnnotateVideoProgress
711
+ include Google::Apis::Core::Hashable
712
+
713
+ # Progress metadata for all videos specified in `AnnotateVideoRequest`.
714
+ # Corresponds to the JSON property `annotationProgress`
715
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress>]
716
+ attr_accessor :annotation_progress
717
+
718
+ def initialize(**args)
719
+ update!(**args)
720
+ end
721
+
722
+ # Update properties of this object
723
+ def update!(**args)
724
+ @annotation_progress = args[:annotation_progress] if args.key?(:annotation_progress)
725
+ end
726
+ end
727
+
728
+ # Video annotation request.
729
+ class GoogleCloudVideointelligenceV1beta2AnnotateVideoRequest
730
+ include Google::Apis::Core::Hashable
731
+
732
+ # Requested video annotation features.
733
+ # Corresponds to the JSON property `features`
734
+ # @return [Array<String>]
735
+ attr_accessor :features
736
+
737
+ # The video data bytes.
738
+ # If unset, the input video(s) should be specified via `input_uri`.
739
+ # If set, `input_uri` should be unset.
740
+ # Corresponds to the JSON property `inputContent`
741
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
742
+ # @return [String]
743
+ attr_accessor :input_content
744
+
745
+ # Input video location. Currently, only
746
+ # [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
747
+ # supported, which must be specified in the following format:
748
+ # `gs://bucket-id/object-id` (other URI formats return
749
+ # google.rpc.Code.INVALID_ARGUMENT). For more information, see
750
+ # [Request URIs](/storage/docs/reference-uris).
751
+ # A video URI may include wildcards in `object-id`, and thus identify
752
+ # multiple videos. Supported wildcards: '*' to match 0 or more characters;
753
+ # '?' to match 1 character. If unset, the input video should be embedded
754
+ # in the request as `input_content`. If set, `input_content` should be unset.
755
+ # Corresponds to the JSON property `inputUri`
756
+ # @return [String]
757
+ attr_accessor :input_uri
758
+
759
+ # Optional cloud region where annotation should take place. Supported cloud
760
+ # regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
761
+ # is specified, a region will be determined based on video file location.
762
+ # Corresponds to the JSON property `locationId`
763
+ # @return [String]
764
+ attr_accessor :location_id
765
+
766
+ # Optional location where the output (in JSON format) should be stored.
767
+ # Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
768
+ # URIs are supported, which must be specified in the following format:
769
+ # `gs://bucket-id/object-id` (other URI formats return
770
+ # google.rpc.Code.INVALID_ARGUMENT). For more information, see
771
+ # [Request URIs](/storage/docs/reference-uris).
772
+ # Corresponds to the JSON property `outputUri`
773
+ # @return [String]
774
+ attr_accessor :output_uri
775
+
776
+ # Video context and/or feature-specific parameters.
777
+ # Corresponds to the JSON property `videoContext`
778
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2VideoContext]
779
+ attr_accessor :video_context
780
+
781
+ def initialize(**args)
782
+ update!(**args)
783
+ end
784
+
785
+ # Update properties of this object
786
+ def update!(**args)
787
+ @features = args[:features] if args.key?(:features)
788
+ @input_content = args[:input_content] if args.key?(:input_content)
789
+ @input_uri = args[:input_uri] if args.key?(:input_uri)
790
+ @location_id = args[:location_id] if args.key?(:location_id)
791
+ @output_uri = args[:output_uri] if args.key?(:output_uri)
792
+ @video_context = args[:video_context] if args.key?(:video_context)
793
+ end
794
+ end
795
+
796
+ # Video annotation response. Included in the `response`
797
+ # field of the `Operation` returned by the `GetOperation`
798
+ # call of the `google::longrunning::Operations` service.
799
+ class GoogleCloudVideointelligenceV1beta2AnnotateVideoResponse
800
+ include Google::Apis::Core::Hashable
801
+
802
+ # Annotation results for all videos specified in `AnnotateVideoRequest`.
803
+ # Corresponds to the JSON property `annotationResults`
804
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2VideoAnnotationResults>]
805
+ attr_accessor :annotation_results
806
+
807
+ def initialize(**args)
808
+ update!(**args)
809
+ end
810
+
811
+ # Update properties of this object
812
+ def update!(**args)
813
+ @annotation_results = args[:annotation_results] if args.key?(:annotation_results)
814
+ end
815
+ end
816
+
817
+ # Detected entity from video analysis.
818
+ class GoogleCloudVideointelligenceV1beta2Entity
819
+ include Google::Apis::Core::Hashable
820
+
821
+ # Textual description, e.g. `Fixed-gear bicycle`.
822
+ # Corresponds to the JSON property `description`
823
+ # @return [String]
824
+ attr_accessor :description
825
+
826
+ # Opaque entity ID. Some IDs may be available in
827
+ # [Google Knowledge Graph Search
828
+ # API](https://developers.google.com/knowledge-graph/).
829
+ # Corresponds to the JSON property `entityId`
830
+ # @return [String]
831
+ attr_accessor :entity_id
832
+
833
+ # Language code for `description` in BCP-47 format.
834
+ # Corresponds to the JSON property `languageCode`
835
+ # @return [String]
836
+ attr_accessor :language_code
837
+
838
+ def initialize(**args)
839
+ update!(**args)
840
+ end
841
+
842
+ # Update properties of this object
843
+ def update!(**args)
844
+ @description = args[:description] if args.key?(:description)
845
+ @entity_id = args[:entity_id] if args.key?(:entity_id)
846
+ @language_code = args[:language_code] if args.key?(:language_code)
847
+ end
848
+ end
849
+
850
+ # Explicit content annotation (based on per-frame visual signals only).
851
+ # If no explicit content has been detected in a frame, no annotations are
852
+ # present for that frame.
853
+ class GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation
854
+ include Google::Apis::Core::Hashable
855
+
856
+ # All video frames where explicit content was detected.
857
+ # Corresponds to the JSON property `frames`
858
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2ExplicitContentFrame>]
859
+ attr_accessor :frames
860
+
861
+ def initialize(**args)
862
+ update!(**args)
863
+ end
864
+
865
+ # Update properties of this object
866
+ def update!(**args)
867
+ @frames = args[:frames] if args.key?(:frames)
868
+ end
869
+ end
870
+
871
+ # Config for EXPLICIT_CONTENT_DETECTION.
872
+ class GoogleCloudVideointelligenceV1beta2ExplicitContentDetectionConfig
873
+ include Google::Apis::Core::Hashable
874
+
875
+ # Model to use for explicit content detection.
876
+ # Supported values: "builtin/stable" (the default if unset) and
877
+ # "builtin/latest".
878
+ # Corresponds to the JSON property `model`
879
+ # @return [String]
880
+ attr_accessor :model
881
+
882
+ def initialize(**args)
883
+ update!(**args)
884
+ end
885
+
886
+ # Update properties of this object
887
+ def update!(**args)
888
+ @model = args[:model] if args.key?(:model)
889
+ end
890
+ end
891
+
892
+ # Video frame level annotation results for explicit content.
893
+ class GoogleCloudVideointelligenceV1beta2ExplicitContentFrame
894
+ include Google::Apis::Core::Hashable
895
+
896
+ # Likelihood of the pornography content..
897
+ # Corresponds to the JSON property `pornographyLikelihood`
898
+ # @return [String]
899
+ attr_accessor :pornography_likelihood
900
+
901
+ # Time-offset, relative to the beginning of the video, corresponding to the
902
+ # video frame for this location.
903
+ # Corresponds to the JSON property `timeOffset`
904
+ # @return [String]
905
+ attr_accessor :time_offset
906
+
907
+ def initialize(**args)
908
+ update!(**args)
909
+ end
910
+
911
+ # Update properties of this object
912
+ def update!(**args)
913
+ @pornography_likelihood = args[:pornography_likelihood] if args.key?(:pornography_likelihood)
914
+ @time_offset = args[:time_offset] if args.key?(:time_offset)
915
+ end
916
+ end
917
+
918
+ # Label annotation.
919
+ class GoogleCloudVideointelligenceV1beta2LabelAnnotation
920
+ include Google::Apis::Core::Hashable
921
+
922
+ # Common categories for the detected entity.
923
+ # E.g. when the label is `Terrier` the category is likely `dog`. And in some
924
+ # cases there might be more than one categories e.g. `Terrier` could also be
925
+ # a `pet`.
926
+ # Corresponds to the JSON property `categoryEntities`
927
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2Entity>]
928
+ attr_accessor :category_entities
929
+
930
+ # Detected entity from video analysis.
931
+ # Corresponds to the JSON property `entity`
932
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2Entity]
933
+ attr_accessor :entity
934
+
935
+ # All video frames where a label was detected.
936
+ # Corresponds to the JSON property `frames`
937
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2LabelFrame>]
938
+ attr_accessor :frames
939
+
940
+ # All video segments where a label was detected.
941
+ # Corresponds to the JSON property `segments`
942
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2LabelSegment>]
943
+ attr_accessor :segments
944
+
945
+ def initialize(**args)
946
+ update!(**args)
947
+ end
948
+
949
+ # Update properties of this object
950
+ def update!(**args)
951
+ @category_entities = args[:category_entities] if args.key?(:category_entities)
952
+ @entity = args[:entity] if args.key?(:entity)
953
+ @frames = args[:frames] if args.key?(:frames)
954
+ @segments = args[:segments] if args.key?(:segments)
955
+ end
956
+ end
957
+
958
+ # Config for LABEL_DETECTION.
959
+ class GoogleCloudVideointelligenceV1beta2LabelDetectionConfig
960
+ include Google::Apis::Core::Hashable
961
+
962
+ # What labels should be detected with LABEL_DETECTION, in addition to
963
+ # video-level labels or segment-level labels.
964
+ # If unspecified, defaults to `SHOT_MODE`.
965
+ # Corresponds to the JSON property `labelDetectionMode`
966
+ # @return [String]
967
+ attr_accessor :label_detection_mode
968
+
969
+ # Model to use for label detection.
970
+ # Supported values: "builtin/stable" (the default if unset) and
971
+ # "builtin/latest".
972
+ # Corresponds to the JSON property `model`
973
+ # @return [String]
974
+ attr_accessor :model
975
+
976
+ # Whether the video has been shot from a stationary (i.e. non-moving) camera.
977
+ # When set to true, might improve detection accuracy for moving objects.
978
+ # Should be used with `SHOT_AND_FRAME_MODE` enabled.
979
+ # Corresponds to the JSON property `stationaryCamera`
980
+ # @return [Boolean]
981
+ attr_accessor :stationary_camera
982
+ alias_method :stationary_camera?, :stationary_camera
983
+
984
+ def initialize(**args)
985
+ update!(**args)
986
+ end
987
+
988
+ # Update properties of this object
989
+ def update!(**args)
990
+ @label_detection_mode = args[:label_detection_mode] if args.key?(:label_detection_mode)
991
+ @model = args[:model] if args.key?(:model)
992
+ @stationary_camera = args[:stationary_camera] if args.key?(:stationary_camera)
993
+ end
994
+ end
995
+
996
+ # Video frame level annotation results for label detection.
997
+ class GoogleCloudVideointelligenceV1beta2LabelFrame
998
+ include Google::Apis::Core::Hashable
999
+
1000
+ # Confidence that the label is accurate. Range: [0, 1].
1001
+ # Corresponds to the JSON property `confidence`
1002
+ # @return [Float]
1003
+ attr_accessor :confidence
1004
+
1005
+ # Time-offset, relative to the beginning of the video, corresponding to the
1006
+ # video frame for this location.
1007
+ # Corresponds to the JSON property `timeOffset`
1008
+ # @return [String]
1009
+ attr_accessor :time_offset
1010
+
1011
+ def initialize(**args)
1012
+ update!(**args)
1013
+ end
1014
+
1015
+ # Update properties of this object
1016
+ def update!(**args)
1017
+ @confidence = args[:confidence] if args.key?(:confidence)
1018
+ @time_offset = args[:time_offset] if args.key?(:time_offset)
1019
+ end
1020
+ end
1021
+
1022
+ # Video segment level annotation results for label detection.
1023
+ class GoogleCloudVideointelligenceV1beta2LabelSegment
1024
+ include Google::Apis::Core::Hashable
1025
+
1026
+ # Confidence that the label is accurate. Range: [0, 1].
1027
+ # Corresponds to the JSON property `confidence`
1028
+ # @return [Float]
1029
+ attr_accessor :confidence
1030
+
1031
+ # Video segment.
1032
+ # Corresponds to the JSON property `segment`
1033
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2VideoSegment]
1034
+ attr_accessor :segment
1035
+
1036
+ def initialize(**args)
1037
+ update!(**args)
1038
+ end
1039
+
1040
+ # Update properties of this object
1041
+ def update!(**args)
1042
+ @confidence = args[:confidence] if args.key?(:confidence)
1043
+ @segment = args[:segment] if args.key?(:segment)
1044
+ end
1045
+ end
1046
+
1047
+ # Config for SHOT_CHANGE_DETECTION.
1048
+ class GoogleCloudVideointelligenceV1beta2ShotChangeDetectionConfig
1049
+ include Google::Apis::Core::Hashable
1050
+
1051
+ # Model to use for shot change detection.
1052
+ # Supported values: "builtin/stable" (the default if unset) and
1053
+ # "builtin/latest".
1054
+ # Corresponds to the JSON property `model`
1055
+ # @return [String]
1056
+ attr_accessor :model
1057
+
1058
+ def initialize(**args)
1059
+ update!(**args)
1060
+ end
1061
+
1062
+ # Update properties of this object
1063
+ def update!(**args)
1064
+ @model = args[:model] if args.key?(:model)
1065
+ end
1066
+ end
1067
+
1068
+ # Annotation progress for a single video.
1069
+ class GoogleCloudVideointelligenceV1beta2VideoAnnotationProgress
1070
+ include Google::Apis::Core::Hashable
1071
+
1072
+ # Output only. Video file location in
1073
+ # [Google Cloud Storage](https://cloud.google.com/storage/).
1074
+ # Corresponds to the JSON property `inputUri`
1075
+ # @return [String]
1076
+ attr_accessor :input_uri
1077
+
1078
+ # Output only. Approximate percentage processed thus far. Guaranteed to be
1079
+ # 100 when fully processed.
1080
+ # Corresponds to the JSON property `progressPercent`
1081
+ # @return [Fixnum]
1082
+ attr_accessor :progress_percent
1083
+
1084
+ # Output only. Time when the request was received.
1085
+ # Corresponds to the JSON property `startTime`
1086
+ # @return [String]
1087
+ attr_accessor :start_time
1088
+
1089
+ # Output only. Time of the most recent update.
1090
+ # Corresponds to the JSON property `updateTime`
1091
+ # @return [String]
1092
+ attr_accessor :update_time
1093
+
1094
+ def initialize(**args)
1095
+ update!(**args)
1096
+ end
1097
+
1098
+ # Update properties of this object
1099
+ def update!(**args)
1100
+ @input_uri = args[:input_uri] if args.key?(:input_uri)
1101
+ @progress_percent = args[:progress_percent] if args.key?(:progress_percent)
1102
+ @start_time = args[:start_time] if args.key?(:start_time)
1103
+ @update_time = args[:update_time] if args.key?(:update_time)
1104
+ end
1105
+ end
1106
+
1107
+ # Annotation results for a single video.
1108
+ class GoogleCloudVideointelligenceV1beta2VideoAnnotationResults
1109
+ include Google::Apis::Core::Hashable
1110
+
1111
+ # The `Status` type defines a logical error model that is suitable for different
1112
+ # programming environments, including REST APIs and RPC APIs. It is used by
1113
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
1114
+ # - Simple to use and understand for most users
1115
+ # - Flexible enough to meet unexpected needs
1116
+ # # Overview
1117
+ # The `Status` message contains three pieces of data: error code, error message,
1118
+ # and error details. The error code should be an enum value of
1119
+ # google.rpc.Code, but it may accept additional error codes if needed. The
1120
+ # error message should be a developer-facing English message that helps
1121
+ # developers *understand* and *resolve* the error. If a localized user-facing
1122
+ # error message is needed, put the localized message in the error details or
1123
+ # localize it in the client. The optional error details may contain arbitrary
1124
+ # information about the error. There is a predefined set of error detail types
1125
+ # in the package `google.rpc` that can be used for common error conditions.
1126
+ # # Language mapping
1127
+ # The `Status` message is the logical representation of the error model, but it
1128
+ # is not necessarily the actual wire format. When the `Status` message is
1129
+ # exposed in different client libraries and different wire protocols, it can be
1130
+ # mapped differently. For example, it will likely be mapped to some exceptions
1131
+ # in Java, but more likely mapped to some error codes in C.
1132
+ # # Other uses
1133
+ # The error model and the `Status` message can be used in a variety of
1134
+ # environments, either with or without APIs, to provide a
1135
+ # consistent developer experience across different environments.
1136
+ # Example uses of this error model include:
1137
+ # - Partial errors. If a service needs to return partial errors to the client,
1138
+ # it may embed the `Status` in the normal response to indicate the partial
1139
+ # errors.
1140
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
1141
+ # have a `Status` message for error reporting.
1142
+ # - Batch operations. If a client uses batch request and batch response, the
1143
+ # `Status` message should be used directly inside batch response, one for
1144
+ # each error sub-response.
1145
+ # - Asynchronous operations. If an API call embeds asynchronous operation
1146
+ # results in its response, the status of those operations should be
1147
+ # represented directly using the `Status` message.
1148
+ # - Logging. If some API errors are stored in logs, the message `Status` could
1149
+ # be used directly after any stripping needed for security/privacy reasons.
1150
+ # Corresponds to the JSON property `error`
1151
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleRpcStatus]
1152
+ attr_accessor :error
1153
+
1154
+ # Explicit content annotation (based on per-frame visual signals only).
1155
+ # If no explicit content has been detected in a frame, no annotations are
1156
+ # present for that frame.
1157
+ # Corresponds to the JSON property `explicitAnnotation`
1158
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2ExplicitContentAnnotation]
1159
+ attr_accessor :explicit_annotation
1160
+
1161
+ # Label annotations on frame level.
1162
+ # There is exactly one element for each unique label.
1163
+ # Corresponds to the JSON property `frameLabelAnnotations`
1164
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2LabelAnnotation>]
1165
+ attr_accessor :frame_label_annotations
1166
+
1167
+ # Output only. Video file location in
1168
+ # [Google Cloud Storage](https://cloud.google.com/storage/).
1169
+ # Corresponds to the JSON property `inputUri`
1170
+ # @return [String]
1171
+ attr_accessor :input_uri
1172
+
1173
+ # Label annotations on video level or user specified segment level.
1174
+ # There is exactly one element for each unique label.
1175
+ # Corresponds to the JSON property `segmentLabelAnnotations`
1176
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2LabelAnnotation>]
1177
+ attr_accessor :segment_label_annotations
1178
+
1179
+ # Shot annotations. Each shot is represented as a video segment.
1180
+ # Corresponds to the JSON property `shotAnnotations`
1181
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2VideoSegment>]
1182
+ attr_accessor :shot_annotations
1183
+
1184
+ # Label annotations on shot level.
1185
+ # There is exactly one element for each unique label.
1186
+ # Corresponds to the JSON property `shotLabelAnnotations`
1187
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2LabelAnnotation>]
1188
+ attr_accessor :shot_label_annotations
1189
+
1190
+ def initialize(**args)
1191
+ update!(**args)
1192
+ end
1193
+
1194
+ # Update properties of this object
1195
+ def update!(**args)
1196
+ @error = args[:error] if args.key?(:error)
1197
+ @explicit_annotation = args[:explicit_annotation] if args.key?(:explicit_annotation)
1198
+ @frame_label_annotations = args[:frame_label_annotations] if args.key?(:frame_label_annotations)
1199
+ @input_uri = args[:input_uri] if args.key?(:input_uri)
1200
+ @segment_label_annotations = args[:segment_label_annotations] if args.key?(:segment_label_annotations)
1201
+ @shot_annotations = args[:shot_annotations] if args.key?(:shot_annotations)
1202
+ @shot_label_annotations = args[:shot_label_annotations] if args.key?(:shot_label_annotations)
1203
+ end
1204
+ end
1205
+
1206
+ # Video context and/or feature-specific parameters.
1207
+ class GoogleCloudVideointelligenceV1beta2VideoContext
1208
+ include Google::Apis::Core::Hashable
1209
+
1210
+ # Config for EXPLICIT_CONTENT_DETECTION.
1211
+ # Corresponds to the JSON property `explicitContentDetectionConfig`
1212
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2ExplicitContentDetectionConfig]
1213
+ attr_accessor :explicit_content_detection_config
1214
+
1215
+ # Config for LABEL_DETECTION.
1216
+ # Corresponds to the JSON property `labelDetectionConfig`
1217
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2LabelDetectionConfig]
1218
+ attr_accessor :label_detection_config
1219
+
1220
+ # Non-streaming request only. Video segments to annotate. The segments may
1221
+ # overlap and are not required to be contiguous or span the whole video. If
1222
+ # unspecified, each video is treated as a single segment.
1223
+ # Corresponds to the JSON property `segments`
1224
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2VideoSegment>]
1225
+ attr_accessor :segments
1226
+
1227
+ # Config for SHOT_CHANGE_DETECTION.
1228
+ # Corresponds to the JSON property `shotChangeDetectionConfig`
1229
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1beta2ShotChangeDetectionConfig]
1230
+ attr_accessor :shot_change_detection_config
1231
+
1232
+ def initialize(**args)
1233
+ update!(**args)
1234
+ end
1235
+
1236
+ # Update properties of this object
1237
+ def update!(**args)
1238
+ @explicit_content_detection_config = args[:explicit_content_detection_config] if args.key?(:explicit_content_detection_config)
1239
+ @label_detection_config = args[:label_detection_config] if args.key?(:label_detection_config)
1240
+ @segments = args[:segments] if args.key?(:segments)
1241
+ @shot_change_detection_config = args[:shot_change_detection_config] if args.key?(:shot_change_detection_config)
1242
+ end
1243
+ end
1244
+
1245
+ # Video segment.
1246
+ class GoogleCloudVideointelligenceV1beta2VideoSegment
1247
+ include Google::Apis::Core::Hashable
1248
+
1249
+ # Time-offset, relative to the beginning of the video,
1250
+ # corresponding to the end of the segment (inclusive).
1251
+ # Corresponds to the JSON property `endTimeOffset`
1252
+ # @return [String]
1253
+ attr_accessor :end_time_offset
1254
+
1255
+ # Time-offset, relative to the beginning of the video,
1256
+ # corresponding to the start of the segment (inclusive).
1257
+ # Corresponds to the JSON property `startTimeOffset`
1258
+ # @return [String]
1259
+ attr_accessor :start_time_offset
1260
+
1261
+ def initialize(**args)
1262
+ update!(**args)
1263
+ end
1264
+
1265
+ # Update properties of this object
1266
+ def update!(**args)
1267
+ @end_time_offset = args[:end_time_offset] if args.key?(:end_time_offset)
1268
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
1269
+ end
1270
+ end
1271
+
1272
+ # Video annotation progress. Included in the `metadata`
1273
+ # field of the `Operation` returned by the `GetOperation`
1274
+ # call of the `google::longrunning::Operations` service.
1275
+ class GoogleCloudVideointelligenceV1p1beta1AnnotateVideoProgress
1276
+ include Google::Apis::Core::Hashable
1277
+
1278
+ # Progress metadata for all videos specified in `AnnotateVideoRequest`.
1279
+ # Corresponds to the JSON property `annotationProgress`
1280
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1VideoAnnotationProgress>]
1281
+ attr_accessor :annotation_progress
1282
+
1283
+ def initialize(**args)
1284
+ update!(**args)
1285
+ end
1286
+
1287
+ # Update properties of this object
1288
+ def update!(**args)
1289
+ @annotation_progress = args[:annotation_progress] if args.key?(:annotation_progress)
1290
+ end
1291
+ end
1292
+
1293
+ # Video annotation response. Included in the `response`
1294
+ # field of the `Operation` returned by the `GetOperation`
1295
+ # call of the `google::longrunning::Operations` service.
1296
+ class GoogleCloudVideointelligenceV1p1beta1AnnotateVideoResponse
1297
+ include Google::Apis::Core::Hashable
1298
+
1299
+ # Annotation results for all videos specified in `AnnotateVideoRequest`.
1300
+ # Corresponds to the JSON property `annotationResults`
1301
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1VideoAnnotationResults>]
1302
+ attr_accessor :annotation_results
1303
+
1304
+ def initialize(**args)
1305
+ update!(**args)
1306
+ end
1307
+
1308
+ # Update properties of this object
1309
+ def update!(**args)
1310
+ @annotation_results = args[:annotation_results] if args.key?(:annotation_results)
1311
+ end
1312
+ end
1313
+
1314
+ # Emotion attribute.
1315
+ class GoogleCloudVideointelligenceV1p1beta1EmotionAttribute
1316
+ include Google::Apis::Core::Hashable
1317
+
1318
+ # Emotion entry.
1319
+ # Corresponds to the JSON property `emotion`
1320
+ # @return [String]
1321
+ attr_accessor :emotion
1322
+
1323
+ # Confidence score.
1324
+ # Corresponds to the JSON property `score`
1325
+ # @return [Float]
1326
+ attr_accessor :score
1327
+
1328
+ def initialize(**args)
1329
+ update!(**args)
1330
+ end
1331
+
1332
+ # Update properties of this object
1333
+ def update!(**args)
1334
+ @emotion = args[:emotion] if args.key?(:emotion)
1335
+ @score = args[:score] if args.key?(:score)
1336
+ end
1337
+ end
1338
+
1339
+ # Detected entity from video analysis.
1340
+ class GoogleCloudVideointelligenceV1p1beta1Entity
1341
+ include Google::Apis::Core::Hashable
1342
+
1343
+ # Textual description, e.g. `Fixed-gear bicycle`.
1344
+ # Corresponds to the JSON property `description`
1345
+ # @return [String]
1346
+ attr_accessor :description
1347
+
1348
+ # Opaque entity ID. Some IDs may be available in
1349
+ # [Google Knowledge Graph Search
1350
+ # API](https://developers.google.com/knowledge-graph/).
1351
+ # Corresponds to the JSON property `entityId`
1352
+ # @return [String]
1353
+ attr_accessor :entity_id
1354
+
1355
+ # Language code for `description` in BCP-47 format.
1356
+ # Corresponds to the JSON property `languageCode`
1357
+ # @return [String]
1358
+ attr_accessor :language_code
1359
+
1360
+ def initialize(**args)
1361
+ update!(**args)
1362
+ end
1363
+
1364
+ # Update properties of this object
1365
+ def update!(**args)
1366
+ @description = args[:description] if args.key?(:description)
1367
+ @entity_id = args[:entity_id] if args.key?(:entity_id)
1368
+ @language_code = args[:language_code] if args.key?(:language_code)
1369
+ end
1370
+ end
1371
+
1372
+ # Explicit content annotation (based on per-frame visual signals only).
1373
+ # If no explicit content has been detected in a frame, no annotations are
1374
+ # present for that frame.
1375
+ class GoogleCloudVideointelligenceV1p1beta1ExplicitContentAnnotation
1376
+ include Google::Apis::Core::Hashable
1377
+
1378
+ # All video frames where explicit content was detected.
1379
+ # Corresponds to the JSON property `frames`
1380
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1ExplicitContentFrame>]
1381
+ attr_accessor :frames
1382
+
1383
+ def initialize(**args)
1384
+ update!(**args)
1385
+ end
1386
+
1387
+ # Update properties of this object
1388
+ def update!(**args)
1389
+ @frames = args[:frames] if args.key?(:frames)
1390
+ end
1391
+ end
1392
+
1393
+ # Video frame level annotation results for explicit content.
1394
+ class GoogleCloudVideointelligenceV1p1beta1ExplicitContentFrame
1395
+ include Google::Apis::Core::Hashable
1396
+
1397
+ # Likelihood of the pornography content..
1398
+ # Corresponds to the JSON property `pornographyLikelihood`
1399
+ # @return [String]
1400
+ attr_accessor :pornography_likelihood
1401
+
1402
+ # Time-offset, relative to the beginning of the video, corresponding to the
1403
+ # video frame for this location.
1404
+ # Corresponds to the JSON property `timeOffset`
1405
+ # @return [String]
1406
+ attr_accessor :time_offset
1407
+
1408
+ def initialize(**args)
1409
+ update!(**args)
1410
+ end
1411
+
1412
+ # Update properties of this object
1413
+ def update!(**args)
1414
+ @pornography_likelihood = args[:pornography_likelihood] if args.key?(:pornography_likelihood)
1415
+ @time_offset = args[:time_offset] if args.key?(:time_offset)
1416
+ end
1417
+ end
1418
+
1419
+ # Face detection annotation.
1420
+ class GoogleCloudVideointelligenceV1p1beta1FaceDetectionAnnotation
1421
+ include Google::Apis::Core::Hashable
1422
+
1423
+ # All video frames where a face was detected.
1424
+ # Corresponds to the JSON property `frames`
1425
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1FaceDetectionFrame>]
1426
+ attr_accessor :frames
1427
+
1428
+ # All video segments where a face was detected.
1429
+ # Corresponds to the JSON property `segments`
1430
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1FaceSegment>]
1431
+ attr_accessor :segments
1432
+
1433
+ def initialize(**args)
1434
+ update!(**args)
1435
+ end
1436
+
1437
+ # Update properties of this object
1438
+ def update!(**args)
1439
+ @frames = args[:frames] if args.key?(:frames)
1440
+ @segments = args[:segments] if args.key?(:segments)
1441
+ end
1442
+ end
1443
+
1444
+ # Face detection attribute.
1445
+ class GoogleCloudVideointelligenceV1p1beta1FaceDetectionAttribute
1446
+ include Google::Apis::Core::Hashable
1447
+
1448
+ # Emotion attributes.
1449
+ # Corresponds to the JSON property `emotions`
1450
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1EmotionAttribute>]
1451
+ attr_accessor :emotions
1452
+
1453
+ # Normalized bounding box.
1454
+ # The normalized vertex coordinates are relative to the original image.
1455
+ # Range: [0, 1].
1456
+ # Corresponds to the JSON property `normalizedBoundingBox`
1457
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingBox]
1458
+ attr_accessor :normalized_bounding_box
1459
+
1460
+ def initialize(**args)
1461
+ update!(**args)
1462
+ end
1463
+
1464
+ # Update properties of this object
1465
+ def update!(**args)
1466
+ @emotions = args[:emotions] if args.key?(:emotions)
1467
+ @normalized_bounding_box = args[:normalized_bounding_box] if args.key?(:normalized_bounding_box)
1468
+ end
1469
+ end
1470
+
1471
+ # Video frame level annotation results for face detection.
1472
+ class GoogleCloudVideointelligenceV1p1beta1FaceDetectionFrame
1473
+ include Google::Apis::Core::Hashable
1474
+
1475
+ # Face attributes in a frame.
1476
+ # There can be more than one attributes if the same face is detected in
1477
+ # multiple locations within the current frame.
1478
+ # Corresponds to the JSON property `attributes`
1479
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1FaceDetectionAttribute>]
1480
+ attr_accessor :attributes
1481
+
1482
+ # Time-offset, relative to the beginning of the video,
1483
+ # corresponding to the video frame for this location.
1484
+ # Corresponds to the JSON property `timeOffset`
1485
+ # @return [String]
1486
+ attr_accessor :time_offset
1487
+
1488
+ def initialize(**args)
1489
+ update!(**args)
1490
+ end
1491
+
1492
+ # Update properties of this object
1493
+ def update!(**args)
1494
+ @attributes = args[:attributes] if args.key?(:attributes)
1495
+ @time_offset = args[:time_offset] if args.key?(:time_offset)
1496
+ end
1497
+ end
1498
+
1499
+ # Video segment level annotation results for face detection.
1500
+ class GoogleCloudVideointelligenceV1p1beta1FaceSegment
1501
+ include Google::Apis::Core::Hashable
1502
+
1503
+ # Video segment.
1504
+ # Corresponds to the JSON property `segment`
1505
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1VideoSegment]
1506
+ attr_accessor :segment
1507
+
1508
+ def initialize(**args)
1509
+ update!(**args)
1510
+ end
1511
+
1512
+ # Update properties of this object
1513
+ def update!(**args)
1514
+ @segment = args[:segment] if args.key?(:segment)
1515
+ end
1516
+ end
1517
+
1518
+ # Label annotation.
1519
+ class GoogleCloudVideointelligenceV1p1beta1LabelAnnotation
1520
+ include Google::Apis::Core::Hashable
1521
+
1522
+ # Common categories for the detected entity.
1523
+ # E.g. when the label is `Terrier` the category is likely `dog`. And in some
1524
+ # cases there might be more than one categories e.g. `Terrier` could also be
1525
+ # a `pet`.
1526
+ # Corresponds to the JSON property `categoryEntities`
1527
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1Entity>]
1528
+ attr_accessor :category_entities
1529
+
1530
+ # Detected entity from video analysis.
1531
+ # Corresponds to the JSON property `entity`
1532
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1Entity]
1533
+ attr_accessor :entity
1534
+
1535
+ # All video frames where a label was detected.
1536
+ # Corresponds to the JSON property `frames`
1537
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1LabelFrame>]
1538
+ attr_accessor :frames
1539
+
1540
+ # All video segments where a label was detected.
1541
+ # Corresponds to the JSON property `segments`
1542
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1LabelSegment>]
1543
+ attr_accessor :segments
1544
+
1545
+ def initialize(**args)
1546
+ update!(**args)
1547
+ end
1548
+
1549
+ # Update properties of this object
1550
+ def update!(**args)
1551
+ @category_entities = args[:category_entities] if args.key?(:category_entities)
1552
+ @entity = args[:entity] if args.key?(:entity)
1553
+ @frames = args[:frames] if args.key?(:frames)
1554
+ @segments = args[:segments] if args.key?(:segments)
1555
+ end
1556
+ end
1557
+
1558
+ # Video frame level annotation results for label detection.
1559
+ class GoogleCloudVideointelligenceV1p1beta1LabelFrame
1560
+ include Google::Apis::Core::Hashable
1561
+
1562
+ # Confidence that the label is accurate. Range: [0, 1].
1563
+ # Corresponds to the JSON property `confidence`
1564
+ # @return [Float]
1565
+ attr_accessor :confidence
1566
+
1567
+ # Time-offset, relative to the beginning of the video, corresponding to the
1568
+ # video frame for this location.
1569
+ # Corresponds to the JSON property `timeOffset`
1570
+ # @return [String]
1571
+ attr_accessor :time_offset
1572
+
1573
+ def initialize(**args)
1574
+ update!(**args)
1575
+ end
1576
+
1577
+ # Update properties of this object
1578
+ def update!(**args)
1579
+ @confidence = args[:confidence] if args.key?(:confidence)
1580
+ @time_offset = args[:time_offset] if args.key?(:time_offset)
1581
+ end
1582
+ end
1583
+
1584
+ # Video segment level annotation results for label detection.
1585
+ class GoogleCloudVideointelligenceV1p1beta1LabelSegment
1586
+ include Google::Apis::Core::Hashable
1587
+
1588
+ # Confidence that the label is accurate. Range: [0, 1].
1589
+ # Corresponds to the JSON property `confidence`
1590
+ # @return [Float]
1591
+ attr_accessor :confidence
1592
+
1593
+ # Video segment.
1594
+ # Corresponds to the JSON property `segment`
1595
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1VideoSegment]
1596
+ attr_accessor :segment
1597
+
1598
+ def initialize(**args)
1599
+ update!(**args)
1600
+ end
1601
+
1602
+ # Update properties of this object
1603
+ def update!(**args)
1604
+ @confidence = args[:confidence] if args.key?(:confidence)
1605
+ @segment = args[:segment] if args.key?(:segment)
1606
+ end
1607
+ end
1608
+
1609
+ # Normalized bounding box.
1610
+ # The normalized vertex coordinates are relative to the original image.
1611
+ # Range: [0, 1].
1612
+ class GoogleCloudVideointelligenceV1p1beta1NormalizedBoundingBox
1613
+ include Google::Apis::Core::Hashable
1614
+
1615
+ # Bottom Y coordinate.
1616
+ # Corresponds to the JSON property `bottom`
1617
+ # @return [Float]
1618
+ attr_accessor :bottom
1619
+
1620
+ # Left X coordinate.
1621
+ # Corresponds to the JSON property `left`
1622
+ # @return [Float]
1623
+ attr_accessor :left
1624
+
1625
+ # Right X coordinate.
1626
+ # Corresponds to the JSON property `right`
1627
+ # @return [Float]
1628
+ attr_accessor :right
1629
+
1630
+ # Top Y coordinate.
1631
+ # Corresponds to the JSON property `top`
1632
+ # @return [Float]
1633
+ attr_accessor :top
1634
+
1635
+ def initialize(**args)
1636
+ update!(**args)
1637
+ end
1638
+
1639
+ # Update properties of this object
1640
+ def update!(**args)
1641
+ @bottom = args[:bottom] if args.key?(:bottom)
1642
+ @left = args[:left] if args.key?(:left)
1643
+ @right = args[:right] if args.key?(:right)
1644
+ @top = args[:top] if args.key?(:top)
1645
+ end
1646
+ end
1647
+
1648
+ # Alternative hypotheses (a.k.a. n-best list).
1649
+ class GoogleCloudVideointelligenceV1p1beta1SpeechRecognitionAlternative
1650
+ include Google::Apis::Core::Hashable
1651
+
1652
+ # Output only. The confidence estimate between 0.0 and 1.0. A higher number
1653
+ # indicates an estimated greater likelihood that the recognized words are
1654
+ # correct. This field is typically provided only for the top hypothesis, and
1655
+ # only for `is_final=true` results. Clients should not rely on the
1656
+ # `confidence` field as it is not guaranteed to be accurate or consistent.
1657
+ # The default of 0.0 is a sentinel value indicating `confidence` was not set.
1658
+ # Corresponds to the JSON property `confidence`
1659
+ # @return [Float]
1660
+ attr_accessor :confidence
1661
+
1662
+ # Output only. Transcript text representing the words that the user spoke.
1663
+ # Corresponds to the JSON property `transcript`
1664
+ # @return [String]
1665
+ attr_accessor :transcript
1666
+
1667
+ # Output only. A list of word-specific information for each recognized word.
1668
+ # Corresponds to the JSON property `words`
1669
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1WordInfo>]
1670
+ attr_accessor :words
1671
+
1672
+ def initialize(**args)
1673
+ update!(**args)
1674
+ end
1675
+
1676
+ # Update properties of this object
1677
+ def update!(**args)
1678
+ @confidence = args[:confidence] if args.key?(:confidence)
1679
+ @transcript = args[:transcript] if args.key?(:transcript)
1680
+ @words = args[:words] if args.key?(:words)
1681
+ end
1682
+ end
1683
+
1684
+ # A speech recognition result corresponding to a portion of the audio.
1685
+ class GoogleCloudVideointelligenceV1p1beta1SpeechTranscription
1686
+ include Google::Apis::Core::Hashable
1687
+
1688
+ # Output only. May contain one or more recognition hypotheses (up to the
1689
+ # maximum specified in `max_alternatives`).
1690
+ # These alternatives are ordered in terms of accuracy, with the top (first)
1691
+ # alternative being the most probable, as ranked by the recognizer.
1692
+ # Corresponds to the JSON property `alternatives`
1693
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1SpeechRecognitionAlternative>]
1694
+ attr_accessor :alternatives
1695
+
1696
+ def initialize(**args)
1697
+ update!(**args)
1698
+ end
1699
+
1700
+ # Update properties of this object
1701
+ def update!(**args)
1702
+ @alternatives = args[:alternatives] if args.key?(:alternatives)
1703
+ end
1704
+ end
1705
+
1706
+ # Annotation progress for a single video.
1707
+ class GoogleCloudVideointelligenceV1p1beta1VideoAnnotationProgress
1708
+ include Google::Apis::Core::Hashable
1709
+
1710
+ # Output only. Video file location in
1711
+ # [Google Cloud Storage](https://cloud.google.com/storage/).
1712
+ # Corresponds to the JSON property `inputUri`
1713
+ # @return [String]
1714
+ attr_accessor :input_uri
1715
+
1716
+ # Output only. Approximate percentage processed thus far. Guaranteed to be
1717
+ # 100 when fully processed.
1718
+ # Corresponds to the JSON property `progressPercent`
1719
+ # @return [Fixnum]
1720
+ attr_accessor :progress_percent
1721
+
1722
+ # Output only. Time when the request was received.
1723
+ # Corresponds to the JSON property `startTime`
1724
+ # @return [String]
1725
+ attr_accessor :start_time
1726
+
1727
+ # Output only. Time of the most recent update.
1728
+ # Corresponds to the JSON property `updateTime`
1729
+ # @return [String]
1730
+ attr_accessor :update_time
1731
+
1732
+ def initialize(**args)
1733
+ update!(**args)
1734
+ end
1735
+
1736
+ # Update properties of this object
1737
+ def update!(**args)
1738
+ @input_uri = args[:input_uri] if args.key?(:input_uri)
1739
+ @progress_percent = args[:progress_percent] if args.key?(:progress_percent)
1740
+ @start_time = args[:start_time] if args.key?(:start_time)
1741
+ @update_time = args[:update_time] if args.key?(:update_time)
1742
+ end
1743
+ end
1744
+
1745
+ # Annotation results for a single video.
1746
+ class GoogleCloudVideointelligenceV1p1beta1VideoAnnotationResults
1747
+ include Google::Apis::Core::Hashable
1748
+
1749
+ # The `Status` type defines a logical error model that is suitable for different
1750
+ # programming environments, including REST APIs and RPC APIs. It is used by
1751
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
1752
+ # - Simple to use and understand for most users
1753
+ # - Flexible enough to meet unexpected needs
1754
+ # # Overview
1755
+ # The `Status` message contains three pieces of data: error code, error message,
1756
+ # and error details. The error code should be an enum value of
1757
+ # google.rpc.Code, but it may accept additional error codes if needed. The
1758
+ # error message should be a developer-facing English message that helps
1759
+ # developers *understand* and *resolve* the error. If a localized user-facing
1760
+ # error message is needed, put the localized message in the error details or
1761
+ # localize it in the client. The optional error details may contain arbitrary
1762
+ # information about the error. There is a predefined set of error detail types
1763
+ # in the package `google.rpc` that can be used for common error conditions.
1764
+ # # Language mapping
1765
+ # The `Status` message is the logical representation of the error model, but it
1766
+ # is not necessarily the actual wire format. When the `Status` message is
1767
+ # exposed in different client libraries and different wire protocols, it can be
1768
+ # mapped differently. For example, it will likely be mapped to some exceptions
1769
+ # in Java, but more likely mapped to some error codes in C.
1770
+ # # Other uses
1771
+ # The error model and the `Status` message can be used in a variety of
1772
+ # environments, either with or without APIs, to provide a
1773
+ # consistent developer experience across different environments.
1774
+ # Example uses of this error model include:
1775
+ # - Partial errors. If a service needs to return partial errors to the client,
1776
+ # it may embed the `Status` in the normal response to indicate the partial
1777
+ # errors.
1778
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
1779
+ # have a `Status` message for error reporting.
1780
+ # - Batch operations. If a client uses batch request and batch response, the
1781
+ # `Status` message should be used directly inside batch response, one for
1782
+ # each error sub-response.
1783
+ # - Asynchronous operations. If an API call embeds asynchronous operation
1784
+ # results in its response, the status of those operations should be
1785
+ # represented directly using the `Status` message.
1786
+ # - Logging. If some API errors are stored in logs, the message `Status` could
1787
+ # be used directly after any stripping needed for security/privacy reasons.
1788
+ # Corresponds to the JSON property `error`
1789
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleRpcStatus]
1790
+ attr_accessor :error
1791
+
1792
+ # Explicit content annotation (based on per-frame visual signals only).
1793
+ # If no explicit content has been detected in a frame, no annotations are
1794
+ # present for that frame.
1795
+ # Corresponds to the JSON property `explicitAnnotation`
1796
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1ExplicitContentAnnotation]
1797
+ attr_accessor :explicit_annotation
1798
+
1799
+ # Face detection annotations.
1800
+ # Corresponds to the JSON property `faceDetectionAnnotations`
1801
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1FaceDetectionAnnotation>]
1802
+ attr_accessor :face_detection_annotations
1803
+
1804
+ # Label annotations on frame level.
1805
+ # There is exactly one element for each unique label.
1806
+ # Corresponds to the JSON property `frameLabelAnnotations`
1807
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1LabelAnnotation>]
1808
+ attr_accessor :frame_label_annotations
1809
+
1810
+ # Output only. Video file location in
1811
+ # [Google Cloud Storage](https://cloud.google.com/storage/).
1812
+ # Corresponds to the JSON property `inputUri`
1813
+ # @return [String]
1814
+ attr_accessor :input_uri
1815
+
1816
+ # Label annotations on video level or user specified segment level.
1817
+ # There is exactly one element for each unique label.
1818
+ # Corresponds to the JSON property `segmentLabelAnnotations`
1819
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1LabelAnnotation>]
1820
+ attr_accessor :segment_label_annotations
1821
+
1822
+ # Shot annotations. Each shot is represented as a video segment.
1823
+ # Corresponds to the JSON property `shotAnnotations`
1824
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1VideoSegment>]
1825
+ attr_accessor :shot_annotations
1826
+
1827
+ # Label annotations on shot level.
1828
+ # There is exactly one element for each unique label.
1829
+ # Corresponds to the JSON property `shotLabelAnnotations`
1830
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1LabelAnnotation>]
1831
+ attr_accessor :shot_label_annotations
1832
+
1833
+ # Speech transcription.
1834
+ # Corresponds to the JSON property `speechTranscriptions`
1835
+ # @return [Array<Google::Apis::VideointelligenceV1beta2::GoogleCloudVideointelligenceV1p1beta1SpeechTranscription>]
1836
+ attr_accessor :speech_transcriptions
1837
+
1838
+ def initialize(**args)
1839
+ update!(**args)
1840
+ end
1841
+
1842
+ # Update properties of this object
1843
+ def update!(**args)
1844
+ @error = args[:error] if args.key?(:error)
1845
+ @explicit_annotation = args[:explicit_annotation] if args.key?(:explicit_annotation)
1846
+ @face_detection_annotations = args[:face_detection_annotations] if args.key?(:face_detection_annotations)
1847
+ @frame_label_annotations = args[:frame_label_annotations] if args.key?(:frame_label_annotations)
1848
+ @input_uri = args[:input_uri] if args.key?(:input_uri)
1849
+ @segment_label_annotations = args[:segment_label_annotations] if args.key?(:segment_label_annotations)
1850
+ @shot_annotations = args[:shot_annotations] if args.key?(:shot_annotations)
1851
+ @shot_label_annotations = args[:shot_label_annotations] if args.key?(:shot_label_annotations)
1852
+ @speech_transcriptions = args[:speech_transcriptions] if args.key?(:speech_transcriptions)
1853
+ end
1854
+ end
1855
+
1856
+ # Video segment.
1857
+ class GoogleCloudVideointelligenceV1p1beta1VideoSegment
1858
+ include Google::Apis::Core::Hashable
1859
+
1860
+ # Time-offset, relative to the beginning of the video,
1861
+ # corresponding to the end of the segment (inclusive).
1862
+ # Corresponds to the JSON property `endTimeOffset`
1863
+ # @return [String]
1864
+ attr_accessor :end_time_offset
1865
+
1866
+ # Time-offset, relative to the beginning of the video,
1867
+ # corresponding to the start of the segment (inclusive).
1868
+ # Corresponds to the JSON property `startTimeOffset`
1869
+ # @return [String]
1870
+ attr_accessor :start_time_offset
1871
+
1872
+ def initialize(**args)
1873
+ update!(**args)
1874
+ end
1875
+
1876
+ # Update properties of this object
1877
+ def update!(**args)
1878
+ @end_time_offset = args[:end_time_offset] if args.key?(:end_time_offset)
1879
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
1880
+ end
1881
+ end
1882
+
1883
+ # Word-specific information for recognized words. Word information is only
1884
+ # included in the response when certain request parameters are set, such
1885
+ # as `enable_word_time_offsets`.
1886
+ class GoogleCloudVideointelligenceV1p1beta1WordInfo
1887
+ include Google::Apis::Core::Hashable
1888
+
1889
+ # Output only. Time offset relative to the beginning of the audio, and
1890
+ # corresponding to the end of the spoken word. This field is only set if
1891
+ # `enable_word_time_offsets=true` and only in the top hypothesis. This is an
1892
+ # experimental feature and the accuracy of the time offset can vary.
1893
+ # Corresponds to the JSON property `endTime`
1894
+ # @return [String]
1895
+ attr_accessor :end_time
1896
+
1897
+ # Output only. Time offset relative to the beginning of the audio, and
1898
+ # corresponding to the start of the spoken word. This field is only set if
1899
+ # `enable_word_time_offsets=true` and only in the top hypothesis. This is an
1900
+ # experimental feature and the accuracy of the time offset can vary.
1901
+ # Corresponds to the JSON property `startTime`
1902
+ # @return [String]
1903
+ attr_accessor :start_time
1904
+
1905
+ # Output only. The word corresponding to this set of information.
1906
+ # Corresponds to the JSON property `word`
1907
+ # @return [String]
1908
+ attr_accessor :word
1909
+
1910
+ def initialize(**args)
1911
+ update!(**args)
1912
+ end
1913
+
1914
+ # Update properties of this object
1915
+ def update!(**args)
1916
+ @end_time = args[:end_time] if args.key?(:end_time)
1917
+ @start_time = args[:start_time] if args.key?(:start_time)
1918
+ @word = args[:word] if args.key?(:word)
1919
+ end
1920
+ end
1921
+
1922
+ # This resource represents a long-running operation that is the result of a
1923
+ # network API call.
1924
+ class GoogleLongrunningOperation
1925
+ include Google::Apis::Core::Hashable
1926
+
1927
+ # If the value is `false`, it means the operation is still in progress.
1928
+ # If `true`, the operation is completed, and either `error` or `response` is
1929
+ # available.
1930
+ # Corresponds to the JSON property `done`
1931
+ # @return [Boolean]
1932
+ attr_accessor :done
1933
+ alias_method :done?, :done
1934
+
1935
+ # The `Status` type defines a logical error model that is suitable for different
1936
+ # programming environments, including REST APIs and RPC APIs. It is used by
1937
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
1938
+ # - Simple to use and understand for most users
1939
+ # - Flexible enough to meet unexpected needs
1940
+ # # Overview
1941
+ # The `Status` message contains three pieces of data: error code, error message,
1942
+ # and error details. The error code should be an enum value of
1943
+ # google.rpc.Code, but it may accept additional error codes if needed. The
1944
+ # error message should be a developer-facing English message that helps
1945
+ # developers *understand* and *resolve* the error. If a localized user-facing
1946
+ # error message is needed, put the localized message in the error details or
1947
+ # localize it in the client. The optional error details may contain arbitrary
1948
+ # information about the error. There is a predefined set of error detail types
1949
+ # in the package `google.rpc` that can be used for common error conditions.
1950
+ # # Language mapping
1951
+ # The `Status` message is the logical representation of the error model, but it
1952
+ # is not necessarily the actual wire format. When the `Status` message is
1953
+ # exposed in different client libraries and different wire protocols, it can be
1954
+ # mapped differently. For example, it will likely be mapped to some exceptions
1955
+ # in Java, but more likely mapped to some error codes in C.
1956
+ # # Other uses
1957
+ # The error model and the `Status` message can be used in a variety of
1958
+ # environments, either with or without APIs, to provide a
1959
+ # consistent developer experience across different environments.
1960
+ # Example uses of this error model include:
1961
+ # - Partial errors. If a service needs to return partial errors to the client,
1962
+ # it may embed the `Status` in the normal response to indicate the partial
1963
+ # errors.
1964
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
1965
+ # have a `Status` message for error reporting.
1966
+ # - Batch operations. If a client uses batch request and batch response, the
1967
+ # `Status` message should be used directly inside batch response, one for
1968
+ # each error sub-response.
1969
+ # - Asynchronous operations. If an API call embeds asynchronous operation
1970
+ # results in its response, the status of those operations should be
1971
+ # represented directly using the `Status` message.
1972
+ # - Logging. If some API errors are stored in logs, the message `Status` could
1973
+ # be used directly after any stripping needed for security/privacy reasons.
1974
+ # Corresponds to the JSON property `error`
1975
+ # @return [Google::Apis::VideointelligenceV1beta2::GoogleRpcStatus]
1976
+ attr_accessor :error
1977
+
1978
+ # Service-specific metadata associated with the operation. It typically
1979
+ # contains progress information and common metadata such as create time.
1980
+ # Some services might not provide such metadata. Any method that returns a
1981
+ # long-running operation should document the metadata type, if any.
1982
+ # Corresponds to the JSON property `metadata`
1983
+ # @return [Hash<String,Object>]
1984
+ attr_accessor :metadata
1985
+
1986
+ # The server-assigned name, which is only unique within the same service that
1987
+ # originally returns it. If you use the default HTTP mapping, the
1988
+ # `name` should have the format of `operations/some/unique/name`.
1989
+ # Corresponds to the JSON property `name`
1990
+ # @return [String]
1991
+ attr_accessor :name
1992
+
1993
+ # The normal response of the operation in case of success. If the original
1994
+ # method returns no data on success, such as `Delete`, the response is
1995
+ # `google.protobuf.Empty`. If the original method is standard
1996
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
1997
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
1998
+ # is the original method name. For example, if the original method name
1999
+ # is `TakeSnapshot()`, the inferred response type is
2000
+ # `TakeSnapshotResponse`.
2001
+ # Corresponds to the JSON property `response`
2002
+ # @return [Hash<String,Object>]
2003
+ attr_accessor :response
2004
+
2005
+ def initialize(**args)
2006
+ update!(**args)
2007
+ end
2008
+
2009
+ # Update properties of this object
2010
+ def update!(**args)
2011
+ @done = args[:done] if args.key?(:done)
2012
+ @error = args[:error] if args.key?(:error)
2013
+ @metadata = args[:metadata] if args.key?(:metadata)
2014
+ @name = args[:name] if args.key?(:name)
2015
+ @response = args[:response] if args.key?(:response)
2016
+ end
2017
+ end
2018
+
2019
+ # The `Status` type defines a logical error model that is suitable for different
2020
+ # programming environments, including REST APIs and RPC APIs. It is used by
2021
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
2022
+ # - Simple to use and understand for most users
2023
+ # - Flexible enough to meet unexpected needs
2024
+ # # Overview
2025
+ # The `Status` message contains three pieces of data: error code, error message,
2026
+ # and error details. The error code should be an enum value of
2027
+ # google.rpc.Code, but it may accept additional error codes if needed. The
2028
+ # error message should be a developer-facing English message that helps
2029
+ # developers *understand* and *resolve* the error. If a localized user-facing
2030
+ # error message is needed, put the localized message in the error details or
2031
+ # localize it in the client. The optional error details may contain arbitrary
2032
+ # information about the error. There is a predefined set of error detail types
2033
+ # in the package `google.rpc` that can be used for common error conditions.
2034
+ # # Language mapping
2035
+ # The `Status` message is the logical representation of the error model, but it
2036
+ # is not necessarily the actual wire format. When the `Status` message is
2037
+ # exposed in different client libraries and different wire protocols, it can be
2038
+ # mapped differently. For example, it will likely be mapped to some exceptions
2039
+ # in Java, but more likely mapped to some error codes in C.
2040
+ # # Other uses
2041
+ # The error model and the `Status` message can be used in a variety of
2042
+ # environments, either with or without APIs, to provide a
2043
+ # consistent developer experience across different environments.
2044
+ # Example uses of this error model include:
2045
+ # - Partial errors. If a service needs to return partial errors to the client,
2046
+ # it may embed the `Status` in the normal response to indicate the partial
2047
+ # errors.
2048
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
2049
+ # have a `Status` message for error reporting.
2050
+ # - Batch operations. If a client uses batch request and batch response, the
2051
+ # `Status` message should be used directly inside batch response, one for
2052
+ # each error sub-response.
2053
+ # - Asynchronous operations. If an API call embeds asynchronous operation
2054
+ # results in its response, the status of those operations should be
2055
+ # represented directly using the `Status` message.
2056
+ # - Logging. If some API errors are stored in logs, the message `Status` could
2057
+ # be used directly after any stripping needed for security/privacy reasons.
2058
+ class GoogleRpcStatus
2059
+ include Google::Apis::Core::Hashable
2060
+
2061
+ # The status code, which should be an enum value of google.rpc.Code.
2062
+ # Corresponds to the JSON property `code`
2063
+ # @return [Fixnum]
2064
+ attr_accessor :code
2065
+
2066
+ # A list of messages that carry the error details. There is a common set of
2067
+ # message types for APIs to use.
2068
+ # Corresponds to the JSON property `details`
2069
+ # @return [Array<Hash<String,Object>>]
2070
+ attr_accessor :details
2071
+
2072
+ # A developer-facing error message, which should be in English. Any
2073
+ # user-facing error message should be localized and sent in the
2074
+ # google.rpc.Status.details field, or localized by the client.
2075
+ # Corresponds to the JSON property `message`
2076
+ # @return [String]
2077
+ attr_accessor :message
2078
+
2079
+ def initialize(**args)
2080
+ update!(**args)
2081
+ end
2082
+
2083
+ # Update properties of this object
2084
+ def update!(**args)
2085
+ @code = args[:code] if args.key?(:code)
2086
+ @details = args[:details] if args.key?(:details)
2087
+ @message = args[:message] if args.key?(:message)
2088
+ end
2089
+ end
2090
+ end
2091
+ end
2092
+ end