google-api-client 0.20.1 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
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