google-api-client 0.46.1 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (496) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/autoapprove.yml +49 -0
  3. data/.github/workflows/release-please.yml +77 -0
  4. data/.gitignore +2 -0
  5. data/.kokoro/trampoline.sh +0 -0
  6. data/CHANGELOG.md +666 -191
  7. data/Gemfile +1 -0
  8. data/Rakefile +31 -3
  9. data/api_list_config.yaml +8 -0
  10. data/bin/generate-api +77 -15
  11. data/generated/google/apis/accessapproval_v1.rb +1 -1
  12. data/generated/google/apis/accessapproval_v1/classes.rb +13 -15
  13. data/generated/google/apis/accessapproval_v1/service.rb +12 -9
  14. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  15. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +30 -30
  16. data/generated/google/apis/admin_directory_v1.rb +1 -1
  17. data/generated/google/apis/admin_directory_v1/classes.rb +135 -0
  18. data/generated/google/apis/admin_directory_v1/representations.rb +62 -0
  19. data/generated/google/apis/admin_directory_v1/service.rb +72 -0
  20. data/generated/google/apis/admin_reports_v1.rb +1 -1
  21. data/generated/google/apis/admob_v1.rb +4 -1
  22. data/generated/google/apis/admob_v1/classes.rb +29 -29
  23. data/generated/google/apis/admob_v1/service.rb +4 -0
  24. data/generated/google/apis/admob_v1beta.rb +38 -0
  25. data/generated/google/apis/admob_v1beta/classes.rb +1035 -0
  26. data/generated/google/apis/admob_v1beta/representations.rb +472 -0
  27. data/generated/google/apis/admob_v1beta/service.rb +279 -0
  28. data/generated/google/apis/analyticsadmin_v1alpha.rb +1 -1
  29. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +19 -18
  30. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +12 -13
  31. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  32. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +179 -50
  33. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +50 -14
  34. data/generated/google/apis/analyticsdata_v1alpha/service.rb +49 -38
  35. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +6 -0
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  38. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  39. data/generated/google/apis/androidmanagement_v1/classes.rb +29 -26
  40. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  41. data/generated/google/apis/androidpublisher_v3/classes.rb +2 -1
  42. data/generated/google/apis/androidpublisher_v3/service.rb +5 -2
  43. data/generated/google/apis/apigateway_v1beta.rb +1 -1
  44. data/generated/google/apis/apigateway_v1beta/classes.rb +8 -5
  45. data/generated/google/apis/apigateway_v1beta/representations.rb +1 -0
  46. data/generated/google/apis/apigee_v1.rb +1 -1
  47. data/generated/google/apis/apigee_v1/classes.rb +377 -137
  48. data/generated/google/apis/apigee_v1/representations.rb +109 -18
  49. data/generated/google/apis/apigee_v1/service.rb +673 -56
  50. data/generated/google/apis/area120tables_v1alpha1.rb +46 -0
  51. data/generated/google/apis/area120tables_v1alpha1/classes.rb +481 -0
  52. data/generated/google/apis/area120tables_v1alpha1/representations.rb +279 -0
  53. data/generated/google/apis/area120tables_v1alpha1/service.rb +448 -0
  54. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  55. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +7 -7
  56. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +1 -1
  57. data/generated/google/apis/assuredworkloads_v1beta1.rb +1 -1
  58. data/generated/google/apis/assuredworkloads_v1beta1/classes.rb +20 -0
  59. data/generated/google/apis/assuredworkloads_v1beta1/representations.rb +2 -0
  60. data/generated/google/apis/bigquery_v2.rb +1 -1
  61. data/generated/google/apis/bigquery_v2/classes.rb +158 -5
  62. data/generated/google/apis/bigquery_v2/representations.rb +67 -0
  63. data/generated/google/apis/bigquery_v2/service.rb +46 -0
  64. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  65. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -0
  66. data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +1 -0
  67. data/generated/google/apis/billingbudgets_v1.rb +1 -1
  68. data/generated/google/apis/billingbudgets_v1/classes.rb +12 -1
  69. data/generated/google/apis/billingbudgets_v1/representations.rb +1 -0
  70. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  71. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +12 -1
  72. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +1 -0
  73. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  74. data/generated/google/apis/binaryauthorization_v1/classes.rb +3 -4
  75. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  76. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +3 -4
  77. data/generated/google/apis/books_v1.rb +1 -1
  78. data/generated/google/apis/books_v1/service.rb +52 -52
  79. data/generated/google/apis/calendar_v3.rb +1 -1
  80. data/generated/google/apis/calendar_v3/classes.rb +2 -2
  81. data/generated/google/apis/chat_v1.rb +1 -1
  82. data/generated/google/apis/chat_v1/classes.rb +7 -0
  83. data/generated/google/apis/chat_v1/representations.rb +1 -0
  84. data/generated/google/apis/civicinfo_v2.rb +1 -1
  85. data/generated/google/apis/civicinfo_v2/classes.rb +0 -24
  86. data/generated/google/apis/civicinfo_v2/representations.rb +0 -3
  87. data/generated/google/apis/classroom_v1.rb +1 -1
  88. data/generated/google/apis/classroom_v1/classes.rb +21 -21
  89. data/generated/google/apis/cloudasset_v1.rb +1 -1
  90. data/generated/google/apis/cloudasset_v1/classes.rb +1122 -0
  91. data/generated/google/apis/cloudasset_v1/representations.rb +474 -0
  92. data/generated/google/apis/cloudasset_v1/service.rb +171 -0
  93. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  94. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  95. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  96. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  97. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  98. data/generated/google/apis/cloudbilling_v1/classes.rb +1 -1
  99. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  100. data/generated/google/apis/cloudbuild_v1/classes.rb +2 -1
  101. data/generated/google/apis/cloudbuild_v1/service.rb +10 -2
  102. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  103. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  104. data/generated/google/apis/cloudidentity_v1/service.rb +7 -3
  105. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  106. data/generated/google/apis/cloudidentity_v1beta1/service.rb +29 -17
  107. data/generated/google/apis/cloudiot_v1.rb +1 -1
  108. data/generated/google/apis/cloudiot_v1/classes.rb +1 -2
  109. data/generated/google/apis/cloudkms_v1.rb +1 -1
  110. data/generated/google/apis/cloudkms_v1/classes.rb +1 -2
  111. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  112. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +401 -7
  113. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +280 -1
  114. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  115. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +401 -7
  116. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +280 -1
  117. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  118. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +405 -11
  119. data/generated/google/apis/cloudresourcemanager_v2/representations.rb +280 -1
  120. data/generated/google/apis/cloudresourcemanager_v2/service.rb +13 -13
  121. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  122. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +405 -11
  123. data/generated/google/apis/cloudresourcemanager_v2beta1/representations.rb +280 -1
  124. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +13 -13
  125. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  126. data/generated/google/apis/cloudtasks_v2/classes.rb +1 -2
  127. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  128. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +1 -2
  129. data/generated/google/apis/cloudtasks_v2beta2/service.rb +12 -2
  130. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  131. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +1 -2
  132. data/generated/google/apis/compute_v1.rb +1 -1
  133. data/generated/google/apis/compute_v1/classes.rb +282 -29
  134. data/generated/google/apis/compute_v1/representations.rb +43 -0
  135. data/generated/google/apis/compute_v1/service.rb +4 -1
  136. data/generated/google/apis/container_v1.rb +1 -1
  137. data/generated/google/apis/container_v1/classes.rb +22 -10
  138. data/generated/google/apis/container_v1beta1.rb +1 -1
  139. data/generated/google/apis/container_v1beta1/classes.rb +51 -10
  140. data/generated/google/apis/container_v1beta1/representations.rb +15 -0
  141. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  142. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +1 -2
  143. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  144. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +1 -2
  145. data/generated/google/apis/content_v2.rb +3 -4
  146. data/generated/google/apis/content_v2/classes.rb +511 -1219
  147. data/generated/google/apis/content_v2/service.rb +380 -651
  148. data/generated/google/apis/content_v2_1.rb +3 -4
  149. data/generated/google/apis/content_v2_1/classes.rb +1353 -1061
  150. data/generated/google/apis/content_v2_1/representations.rb +342 -0
  151. data/generated/google/apis/content_v2_1/service.rb +948 -809
  152. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  153. data/generated/google/apis/datacatalog_v1beta1/classes.rb +26 -12
  154. data/generated/google/apis/datacatalog_v1beta1/representations.rb +5 -0
  155. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  156. data/generated/google/apis/dataflow_v1b3/classes.rb +12 -0
  157. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  158. data/generated/google/apis/datalabeling_v1beta1.rb +34 -0
  159. data/generated/google/apis/datalabeling_v1beta1/classes.rb +6207 -0
  160. data/generated/google/apis/datalabeling_v1beta1/representations.rb +3156 -0
  161. data/generated/google/apis/datalabeling_v1beta1/service.rb +1762 -0
  162. data/generated/google/apis/datamigration_v1beta1.rb +34 -0
  163. data/generated/google/apis/datamigration_v1beta1/classes.rb +1670 -0
  164. data/generated/google/apis/datamigration_v1beta1/representations.rb +678 -0
  165. data/generated/google/apis/datamigration_v1beta1/service.rb +1172 -0
  166. data/generated/google/apis/dataproc_v1.rb +1 -1
  167. data/generated/google/apis/dataproc_v1/classes.rb +18 -7
  168. data/generated/google/apis/dataproc_v1/representations.rb +1 -0
  169. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  170. data/generated/google/apis/dataproc_v1beta2/classes.rb +18 -7
  171. data/generated/google/apis/dataproc_v1beta2/representations.rb +1 -0
  172. data/generated/google/apis/datastore_v1.rb +1 -1
  173. data/generated/google/apis/datastore_v1/classes.rb +4 -4
  174. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  175. data/generated/google/apis/datastore_v1beta3/classes.rb +4 -4
  176. data/generated/google/apis/deploymentmanager_v2.rb +6 -4
  177. data/generated/google/apis/deploymentmanager_v2/classes.rb +209 -558
  178. data/generated/google/apis/deploymentmanager_v2/representations.rb +1 -132
  179. data/generated/google/apis/deploymentmanager_v2/service.rb +169 -213
  180. data/generated/google/apis/deploymentmanager_v2beta.rb +6 -5
  181. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +253 -609
  182. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +1 -132
  183. data/generated/google/apis/deploymentmanager_v2beta/service.rb +278 -359
  184. data/generated/google/apis/dfareporting_v3_3.rb +2 -2
  185. data/generated/google/apis/dfareporting_v3_3/classes.rb +6 -6
  186. data/generated/google/apis/dfareporting_v3_3/service.rb +12 -12
  187. data/generated/google/apis/dfareporting_v3_4.rb +2 -2
  188. data/generated/google/apis/dfareporting_v3_4/classes.rb +6 -6
  189. data/generated/google/apis/dfareporting_v3_4/service.rb +12 -12
  190. data/generated/google/apis/dialogflow_v2.rb +1 -1
  191. data/generated/google/apis/dialogflow_v2/classes.rb +649 -385
  192. data/generated/google/apis/dialogflow_v2/representations.rb +279 -192
  193. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  194. data/generated/google/apis/dialogflow_v2beta1/classes.rb +649 -385
  195. data/generated/google/apis/dialogflow_v2beta1/representations.rb +283 -196
  196. data/generated/google/apis/dialogflow_v2beta1/service.rb +14 -8
  197. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  198. data/generated/google/apis/dialogflow_v3beta1/classes.rb +712 -391
  199. data/generated/google/apis/dialogflow_v3beta1/representations.rb +301 -195
  200. data/generated/google/apis/dialogflow_v3beta1/service.rb +1 -1
  201. data/generated/google/apis/displayvideo_v1.rb +1 -1
  202. data/generated/google/apis/displayvideo_v1/classes.rb +241 -63
  203. data/generated/google/apis/displayvideo_v1/representations.rb +77 -0
  204. data/generated/google/apis/displayvideo_v1/service.rb +257 -17
  205. data/generated/google/apis/dlp_v2.rb +1 -1
  206. data/generated/google/apis/dlp_v2/classes.rb +39 -32
  207. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  208. data/generated/google/apis/dns_v1.rb +2 -2
  209. data/generated/google/apis/dns_v1/classes.rb +181 -0
  210. data/generated/google/apis/dns_v1/representations.rb +83 -0
  211. data/generated/google/apis/dns_v1/service.rb +1 -1
  212. data/generated/google/apis/dns_v1beta2.rb +2 -2
  213. data/generated/google/apis/dns_v1beta2/classes.rb +195 -1
  214. data/generated/google/apis/dns_v1beta2/representations.rb +95 -0
  215. data/generated/google/apis/dns_v1beta2/service.rb +177 -1
  216. data/generated/google/apis/domains_v1alpha2.rb +34 -0
  217. data/generated/google/apis/domains_v1alpha2/classes.rb +1534 -0
  218. data/generated/google/apis/domains_v1alpha2/representations.rb +605 -0
  219. data/generated/google/apis/domains_v1alpha2/service.rb +805 -0
  220. data/generated/google/apis/domains_v1beta1.rb +34 -0
  221. data/generated/google/apis/domains_v1beta1/classes.rb +1534 -0
  222. data/generated/google/apis/domains_v1beta1/representations.rb +605 -0
  223. data/generated/google/apis/domains_v1beta1/service.rb +805 -0
  224. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  225. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +2 -1
  226. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  227. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +2 -1
  228. data/generated/google/apis/drive_v2.rb +1 -1
  229. data/generated/google/apis/drive_v2/classes.rb +22 -20
  230. data/generated/google/apis/drive_v2/service.rb +2 -2
  231. data/generated/google/apis/drive_v3.rb +1 -1
  232. data/generated/google/apis/drive_v3/classes.rb +12 -9
  233. data/generated/google/apis/eventarc_v1beta1.rb +34 -0
  234. data/generated/google/apis/eventarc_v1beta1/classes.rb +937 -0
  235. data/generated/google/apis/eventarc_v1beta1/representations.rb +380 -0
  236. data/generated/google/apis/eventarc_v1beta1/service.rb +579 -0
  237. data/generated/google/apis/file_v1.rb +1 -1
  238. data/generated/google/apis/file_v1/classes.rb +505 -4
  239. data/generated/google/apis/file_v1/representations.rb +203 -0
  240. data/generated/google/apis/file_v1/service.rb +229 -1
  241. data/generated/google/apis/file_v1beta1.rb +1 -1
  242. data/generated/google/apis/file_v1beta1/classes.rb +346 -6
  243. data/generated/google/apis/file_v1beta1/representations.rb +149 -0
  244. data/generated/google/apis/file_v1beta1/service.rb +6 -2
  245. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  246. data/generated/google/apis/firebase_v1beta1/service.rb +17 -4
  247. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  248. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +2 -0
  249. data/generated/google/apis/firestore_v1.rb +1 -1
  250. data/generated/google/apis/firestore_v1/classes.rb +4 -4
  251. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  252. data/generated/google/apis/firestore_v1beta1/classes.rb +4 -4
  253. data/generated/google/apis/fitness_v1.rb +1 -1
  254. data/generated/google/apis/fitness_v1/service.rb +3 -1
  255. data/generated/google/apis/games_v1.rb +1 -1
  256. data/generated/google/apis/games_v1/classes.rb +300 -0
  257. data/generated/google/apis/games_v1/representations.rb +116 -0
  258. data/generated/google/apis/games_v1/service.rb +34 -0
  259. data/generated/google/apis/gameservices_v1.rb +1 -1
  260. data/generated/google/apis/gameservices_v1/classes.rb +16 -16
  261. data/generated/google/apis/gameservices_v1/service.rb +54 -51
  262. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  263. data/generated/google/apis/gameservices_v1beta/classes.rb +16 -16
  264. data/generated/google/apis/gameservices_v1beta/service.rb +54 -51
  265. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  266. data/generated/google/apis/genomics_v2alpha1/classes.rb +25 -0
  267. data/generated/google/apis/genomics_v2alpha1/representations.rb +15 -0
  268. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +1 -1
  269. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +10 -10
  270. data/generated/google/apis/healthcare_v1.rb +1 -1
  271. data/generated/google/apis/healthcare_v1/classes.rb +10 -4
  272. data/generated/google/apis/healthcare_v1/representations.rb +1 -0
  273. data/generated/google/apis/healthcare_v1/service.rb +2 -1
  274. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  275. data/generated/google/apis/healthcare_v1beta1/classes.rb +350 -46
  276. data/generated/google/apis/healthcare_v1beta1/representations.rb +150 -18
  277. data/generated/google/apis/healthcare_v1beta1/service.rb +91 -13
  278. data/generated/google/apis/iam_v1.rb +2 -5
  279. data/generated/google/apis/iam_v1/classes.rb +8 -11
  280. data/generated/google/apis/iam_v1/representations.rb +0 -1
  281. data/generated/google/apis/iam_v1/service.rb +1 -4
  282. data/generated/google/apis/iamcredentials_v1.rb +3 -4
  283. data/generated/google/apis/iamcredentials_v1/service.rb +2 -3
  284. data/generated/google/apis/iap_v1.rb +1 -1
  285. data/generated/google/apis/iap_v1/classes.rb +1 -13
  286. data/generated/google/apis/iap_v1/representations.rb +0 -1
  287. data/generated/google/apis/iap_v1beta1.rb +1 -1
  288. data/generated/google/apis/iap_v1beta1/classes.rb +1 -2
  289. data/generated/google/apis/licensing_v1.rb +1 -1
  290. data/generated/google/apis/localservices_v1.rb +1 -1
  291. data/generated/google/apis/localservices_v1/classes.rb +7 -0
  292. data/generated/google/apis/localservices_v1/representations.rb +2 -0
  293. data/generated/google/apis/localservices_v1/service.rb +20 -20
  294. data/generated/google/apis/logging_v2.rb +1 -1
  295. data/generated/google/apis/logging_v2/classes.rb +186 -10
  296. data/generated/google/apis/logging_v2/representations.rb +77 -0
  297. data/generated/google/apis/logging_v2/service.rb +446 -25
  298. data/generated/google/apis/managedidentities_v1.rb +1 -1
  299. data/generated/google/apis/managedidentities_v1/classes.rb +347 -7
  300. data/generated/google/apis/managedidentities_v1/representations.rb +149 -0
  301. data/generated/google/apis/managedidentities_v1/service.rb +1 -4
  302. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  303. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +426 -15
  304. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +182 -1
  305. data/generated/google/apis/managedidentities_v1alpha1/service.rb +83 -5
  306. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  307. data/generated/google/apis/managedidentities_v1beta1/classes.rb +427 -15
  308. data/generated/google/apis/managedidentities_v1beta1/representations.rb +182 -1
  309. data/generated/google/apis/managedidentities_v1beta1/service.rb +83 -5
  310. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  311. data/generated/google/apis/memcache_v1beta2/classes.rb +345 -4
  312. data/generated/google/apis/memcache_v1beta2/representations.rb +149 -0
  313. data/generated/google/apis/ml_v1.rb +1 -1
  314. data/generated/google/apis/ml_v1/classes.rb +273 -79
  315. data/generated/google/apis/ml_v1/representations.rb +43 -0
  316. data/generated/google/apis/ml_v1/service.rb +35 -0
  317. data/generated/google/apis/monitoring_v3.rb +1 -1
  318. data/generated/google/apis/monitoring_v3/classes.rb +19 -13
  319. data/generated/google/apis/monitoring_v3/service.rb +50 -1
  320. data/generated/google/apis/networkmanagement_v1.rb +1 -1
  321. data/generated/google/apis/networkmanagement_v1/classes.rb +6 -0
  322. data/generated/google/apis/networkmanagement_v1/representations.rb +1 -0
  323. data/generated/google/apis/networkmanagement_v1beta1.rb +1 -1
  324. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +57 -0
  325. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +31 -0
  326. data/generated/google/apis/notebooks_v1.rb +34 -0
  327. data/generated/google/apis/notebooks_v1/classes.rb +1461 -0
  328. data/generated/google/apis/notebooks_v1/representations.rb +581 -0
  329. data/generated/google/apis/notebooks_v1/service.rb +1042 -0
  330. data/generated/google/apis/people_v1.rb +1 -1
  331. data/generated/google/apis/people_v1/classes.rb +49 -49
  332. data/generated/google/apis/people_v1/service.rb +21 -18
  333. data/generated/google/apis/playablelocations_v3.rb +1 -1
  334. data/generated/google/apis/playablelocations_v3/classes.rb +6 -6
  335. data/generated/google/apis/playcustomapp_v1.rb +1 -1
  336. data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
  337. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  338. data/generated/google/apis/poly_v1.rb +3 -4
  339. data/generated/google/apis/poly_v1/classes.rb +65 -79
  340. data/generated/google/apis/poly_v1/service.rb +50 -63
  341. data/generated/google/apis/privateca_v1beta1.rb +36 -0
  342. data/generated/google/apis/privateca_v1beta1/classes.rb +2466 -0
  343. data/generated/google/apis/privateca_v1beta1/representations.rb +996 -0
  344. data/generated/google/apis/privateca_v1beta1/service.rb +1437 -0
  345. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  346. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +109 -0
  347. data/generated/google/apis/pubsub_v1.rb +1 -1
  348. data/generated/google/apis/pubsub_v1/classes.rb +1 -2
  349. data/generated/google/apis/pubsub_v1/service.rb +2 -2
  350. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  351. data/generated/google/apis/pubsub_v1beta2/classes.rb +1 -2
  352. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  353. data/generated/google/apis/realtimebidding_v1/classes.rb +578 -33
  354. data/generated/google/apis/realtimebidding_v1/representations.rb +232 -0
  355. data/generated/google/apis/realtimebidding_v1/service.rb +454 -4
  356. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  357. data/generated/google/apis/recommendationengine_v1beta1/classes.rb +32 -0
  358. data/generated/google/apis/recommendationengine_v1beta1/representations.rb +25 -0
  359. data/generated/google/apis/recommender_v1.rb +1 -1
  360. data/generated/google/apis/recommender_v1/classes.rb +1 -1
  361. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  362. data/generated/google/apis/recommender_v1beta1/classes.rb +1 -1
  363. data/generated/google/apis/redis_v1.rb +1 -1
  364. data/generated/google/apis/redis_v1/classes.rb +86 -0
  365. data/generated/google/apis/redis_v1/representations.rb +34 -0
  366. data/generated/google/apis/redis_v1/service.rb +34 -0
  367. data/generated/google/apis/redis_v1beta1.rb +1 -1
  368. data/generated/google/apis/redis_v1beta1/classes.rb +58 -0
  369. data/generated/google/apis/redis_v1beta1/representations.rb +20 -0
  370. data/generated/google/apis/run_v1.rb +1 -1
  371. data/generated/google/apis/run_v1/classes.rb +7 -6
  372. data/generated/google/apis/run_v1alpha1.rb +1 -1
  373. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  374. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +0 -7
  375. data/generated/google/apis/runtimeconfig_v1beta1/representations.rb +0 -1
  376. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  377. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  378. data/generated/google/apis/sasportal_v1alpha1/service.rb +109 -0
  379. data/generated/google/apis/secretmanager_v1.rb +1 -1
  380. data/generated/google/apis/secretmanager_v1/classes.rb +0 -7
  381. data/generated/google/apis/secretmanager_v1/representations.rb +0 -1
  382. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  383. data/generated/google/apis/secretmanager_v1beta1/classes.rb +0 -7
  384. data/generated/google/apis/secretmanager_v1beta1/representations.rb +0 -1
  385. data/generated/google/apis/securitycenter_v1.rb +1 -1
  386. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  387. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  388. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +6 -64
  389. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +0 -18
  390. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  391. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +6 -64
  392. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +0 -18
  393. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  394. data/generated/google/apis/servicecontrol_v1/classes.rb +77 -2
  395. data/generated/google/apis/servicecontrol_v1/representations.rb +10 -0
  396. data/generated/google/apis/servicecontrol_v2.rb +1 -1
  397. data/generated/google/apis/servicecontrol_v2/classes.rb +62 -0
  398. data/generated/google/apis/servicecontrol_v2/representations.rb +8 -0
  399. data/generated/google/apis/servicedirectory_v1beta1.rb +1 -1
  400. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +27 -8
  401. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  402. data/generated/google/apis/servicemanagement_v1/classes.rb +6 -64
  403. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -18
  404. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  405. data/generated/google/apis/servicenetworking_v1/classes.rb +207 -65
  406. data/generated/google/apis/servicenetworking_v1/representations.rb +77 -14
  407. data/generated/google/apis/servicenetworking_v1/service.rb +82 -2
  408. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  409. data/generated/google/apis/servicenetworking_v1beta/classes.rb +140 -65
  410. data/generated/google/apis/servicenetworking_v1beta/representations.rb +46 -14
  411. data/generated/google/apis/serviceusage_v1.rb +1 -1
  412. data/generated/google/apis/serviceusage_v1/classes.rb +6 -64
  413. data/generated/google/apis/serviceusage_v1/representations.rb +0 -18
  414. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  415. data/generated/google/apis/serviceusage_v1beta1/classes.rb +36 -64
  416. data/generated/google/apis/serviceusage_v1beta1/representations.rb +15 -18
  417. data/generated/google/apis/serviceusage_v1beta1/service.rb +36 -0
  418. data/generated/google/apis/sheets_v4.rb +1 -1
  419. data/generated/google/apis/sheets_v4/classes.rb +23 -7
  420. data/generated/google/apis/sheets_v4/representations.rb +3 -0
  421. data/generated/google/apis/smartdevicemanagement_v1.rb +1 -1
  422. data/generated/google/apis/smartdevicemanagement_v1/classes.rb +0 -34
  423. data/generated/google/apis/smartdevicemanagement_v1/representations.rb +0 -16
  424. data/generated/google/apis/smartdevicemanagement_v1/service.rb +3 -8
  425. data/generated/google/apis/spanner_v1.rb +1 -1
  426. data/generated/google/apis/spanner_v1/classes.rb +2 -3
  427. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  428. data/generated/google/apis/sqladmin_v1beta4/classes.rb +28 -4
  429. data/generated/google/apis/sqladmin_v1beta4/representations.rb +3 -0
  430. data/generated/google/apis/storage_v1.rb +1 -1
  431. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  432. data/generated/google/apis/storagetransfer_v1/classes.rb +82 -50
  433. data/generated/google/apis/storagetransfer_v1/representations.rb +4 -0
  434. data/generated/google/apis/storagetransfer_v1/service.rb +20 -21
  435. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  436. data/generated/google/apis/streetviewpublish_v1/classes.rb +4 -4
  437. data/generated/google/apis/sts_v1beta.rb +1 -1
  438. data/generated/google/apis/sts_v1beta/classes.rb +12 -11
  439. data/generated/google/apis/tagmanager_v2.rb +1 -1
  440. data/generated/google/apis/tagmanager_v2/classes.rb +12 -0
  441. data/generated/google/apis/tagmanager_v2/representations.rb +3 -0
  442. data/generated/google/apis/testing_v1.rb +1 -1
  443. data/generated/google/apis/testing_v1/classes.rb +45 -33
  444. data/generated/google/apis/testing_v1/representations.rb +1 -0
  445. data/generated/google/apis/testing_v1/service.rb +4 -4
  446. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  447. data/generated/google/apis/toolresults_v1beta3/classes.rb +13 -0
  448. data/generated/google/apis/toolresults_v1beta3/representations.rb +12 -0
  449. data/generated/google/apis/tpu_v1.rb +1 -1
  450. data/generated/google/apis/tpu_v1/classes.rb +3 -3
  451. data/generated/google/apis/tpu_v1/service.rb +8 -8
  452. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  453. data/generated/google/apis/tpu_v1alpha1/classes.rb +3 -3
  454. data/generated/google/apis/tpu_v1alpha1/service.rb +8 -8
  455. data/generated/google/apis/transcoder_v1beta1.rb +34 -0
  456. data/generated/google/apis/transcoder_v1beta1/classes.rb +1684 -0
  457. data/generated/google/apis/transcoder_v1beta1/representations.rb +756 -0
  458. data/generated/google/apis/transcoder_v1beta1/service.rb +329 -0
  459. data/generated/google/apis/translate_v3.rb +1 -1
  460. data/generated/google/apis/translate_v3/classes.rb +2 -1
  461. data/generated/google/apis/translate_v3beta1.rb +1 -1
  462. data/generated/google/apis/translate_v3beta1/classes.rb +2 -1
  463. data/generated/google/apis/vault_v1.rb +1 -1
  464. data/generated/google/apis/vault_v1/classes.rb +333 -0
  465. data/generated/google/apis/vault_v1/representations.rb +162 -0
  466. data/generated/google/apis/vault_v1/service.rb +151 -0
  467. data/generated/google/apis/videointelligence_v1.rb +1 -1
  468. data/generated/google/apis/videointelligence_v1/service.rb +0 -62
  469. data/generated/google/apis/vision_v1.rb +1 -1
  470. data/generated/google/apis/vision_v1/classes.rb +16 -16
  471. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  472. data/generated/google/apis/vision_v1p1beta1/classes.rb +16 -16
  473. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  474. data/generated/google/apis/vision_v1p2beta1/classes.rb +16 -16
  475. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  476. data/generated/google/apis/youtube_v3.rb +1 -1
  477. data/generated/google/apis/youtube_v3/service.rb +8 -8
  478. data/google-api-client.gemspec +25 -25
  479. data/lib/google/apis/core/api_command.rb +1 -0
  480. data/lib/google/apis/core/http_command.rb +2 -1
  481. data/lib/google/apis/options.rb +8 -5
  482. data/lib/google/apis/version.rb +1 -1
  483. data/synth.py +40 -0
  484. metadata +47 -16
  485. data/generated/google/apis/displayvideo_v1beta.rb +0 -38
  486. data/generated/google/apis/displayvideo_v1beta/classes.rb +0 -146
  487. data/generated/google/apis/displayvideo_v1beta/representations.rb +0 -72
  488. data/generated/google/apis/displayvideo_v1beta/service.rb +0 -161
  489. data/generated/google/apis/displayvideo_v1beta2.rb +0 -38
  490. data/generated/google/apis/displayvideo_v1beta2/classes.rb +0 -146
  491. data/generated/google/apis/displayvideo_v1beta2/representations.rb +0 -72
  492. data/generated/google/apis/displayvideo_v1beta2/service.rb +0 -130
  493. data/generated/google/apis/displayvideo_v1dev.rb +0 -38
  494. data/generated/google/apis/displayvideo_v1dev/classes.rb +0 -146
  495. data/generated/google/apis/displayvideo_v1dev/representations.rb +0 -72
  496. data/generated/google/apis/displayvideo_v1dev/service.rb +0 -130
@@ -0,0 +1,34 @@
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/transcoder_v1beta1/service.rb'
16
+ require 'google/apis/transcoder_v1beta1/classes.rb'
17
+ require 'google/apis/transcoder_v1beta1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Transcoder API
22
+ #
23
+ # This API converts video files into formats suitable for consumer distribution.
24
+ #
25
+ # @see https://cloud.google.com/transcoder/docs/
26
+ module TranscoderV1beta1
27
+ VERSION = 'V1beta1'
28
+ REVISION = '20201111'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,1684 @@
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 TranscoderV1beta1
24
+
25
+ # Ad break.
26
+ class AdBreak
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Start time in seconds for the ad break, relative to the output file timeline.
30
+ # The default is `0s`.
31
+ # Corresponds to the JSON property `startTimeOffset`
32
+ # @return [String]
33
+ attr_accessor :start_time_offset
34
+
35
+ def initialize(**args)
36
+ update!(**args)
37
+ end
38
+
39
+ # Update properties of this object
40
+ def update!(**args)
41
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
42
+ end
43
+ end
44
+
45
+ # Configuration for AES-128 encryption.
46
+ class Aes128Encryption
47
+ include Google::Apis::Core::Hashable
48
+
49
+ # Required. URI of the key delivery service. This URI is inserted into the M3U8
50
+ # header.
51
+ # Corresponds to the JSON property `keyUri`
52
+ # @return [String]
53
+ attr_accessor :key_uri
54
+
55
+ def initialize(**args)
56
+ update!(**args)
57
+ end
58
+
59
+ # Update properties of this object
60
+ def update!(**args)
61
+ @key_uri = args[:key_uri] if args.key?(:key_uri)
62
+ end
63
+ end
64
+
65
+ # Animation types.
66
+ class Animation
67
+ include Google::Apis::Core::Hashable
68
+
69
+ # End previous overlay animation from the video. Without AnimationEnd, the
70
+ # overlay object will keep the state of previous animation until the end of the
71
+ # video.
72
+ # Corresponds to the JSON property `animationEnd`
73
+ # @return [Google::Apis::TranscoderV1beta1::AnimationEnd]
74
+ attr_accessor :animation_end
75
+
76
+ # Display overlay object with fade animation.
77
+ # Corresponds to the JSON property `animationFade`
78
+ # @return [Google::Apis::TranscoderV1beta1::AnimationFade]
79
+ attr_accessor :animation_fade
80
+
81
+ # Display static overlay object.
82
+ # Corresponds to the JSON property `animationStatic`
83
+ # @return [Google::Apis::TranscoderV1beta1::AnimationStatic]
84
+ attr_accessor :animation_static
85
+
86
+ def initialize(**args)
87
+ update!(**args)
88
+ end
89
+
90
+ # Update properties of this object
91
+ def update!(**args)
92
+ @animation_end = args[:animation_end] if args.key?(:animation_end)
93
+ @animation_fade = args[:animation_fade] if args.key?(:animation_fade)
94
+ @animation_static = args[:animation_static] if args.key?(:animation_static)
95
+ end
96
+ end
97
+
98
+ # End previous overlay animation from the video. Without AnimationEnd, the
99
+ # overlay object will keep the state of previous animation until the end of the
100
+ # video.
101
+ class AnimationEnd
102
+ include Google::Apis::Core::Hashable
103
+
104
+ # The time to end overlay object, in seconds. Default: 0
105
+ # Corresponds to the JSON property `startTimeOffset`
106
+ # @return [String]
107
+ attr_accessor :start_time_offset
108
+
109
+ def initialize(**args)
110
+ update!(**args)
111
+ end
112
+
113
+ # Update properties of this object
114
+ def update!(**args)
115
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
116
+ end
117
+ end
118
+
119
+ # Display overlay object with fade animation.
120
+ class AnimationFade
121
+ include Google::Apis::Core::Hashable
122
+
123
+ # The time to end the fade animation, in seconds. Default: `start_time_offset` +
124
+ # 1s
125
+ # Corresponds to the JSON property `endTimeOffset`
126
+ # @return [String]
127
+ attr_accessor :end_time_offset
128
+
129
+ # Required. Type of fade animation: `FADE_IN` or `FADE_OUT`.
130
+ # Corresponds to the JSON property `fadeType`
131
+ # @return [String]
132
+ attr_accessor :fade_type
133
+
134
+ # The time to start the fade animation, in seconds. Default: 0
135
+ # Corresponds to the JSON property `startTimeOffset`
136
+ # @return [String]
137
+ attr_accessor :start_time_offset
138
+
139
+ # 2D normalized coordinates. Default: ``0.0, 0.0``
140
+ # Corresponds to the JSON property `xy`
141
+ # @return [Google::Apis::TranscoderV1beta1::NormalizedCoordinate]
142
+ attr_accessor :xy
143
+
144
+ def initialize(**args)
145
+ update!(**args)
146
+ end
147
+
148
+ # Update properties of this object
149
+ def update!(**args)
150
+ @end_time_offset = args[:end_time_offset] if args.key?(:end_time_offset)
151
+ @fade_type = args[:fade_type] if args.key?(:fade_type)
152
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
153
+ @xy = args[:xy] if args.key?(:xy)
154
+ end
155
+ end
156
+
157
+ # Display static overlay object.
158
+ class AnimationStatic
159
+ include Google::Apis::Core::Hashable
160
+
161
+ # The time to start displaying the overlay object, in seconds. Default: 0
162
+ # Corresponds to the JSON property `startTimeOffset`
163
+ # @return [String]
164
+ attr_accessor :start_time_offset
165
+
166
+ # 2D normalized coordinates. Default: ``0.0, 0.0``
167
+ # Corresponds to the JSON property `xy`
168
+ # @return [Google::Apis::TranscoderV1beta1::NormalizedCoordinate]
169
+ attr_accessor :xy
170
+
171
+ def initialize(**args)
172
+ update!(**args)
173
+ end
174
+
175
+ # Update properties of this object
176
+ def update!(**args)
177
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
178
+ @xy = args[:xy] if args.key?(:xy)
179
+ end
180
+ end
181
+
182
+ # Audio preprocessing configuration.
183
+ class Audio
184
+ include Google::Apis::Core::Hashable
185
+
186
+ # Enable boosting high frequency components. The default is `false`.
187
+ # Corresponds to the JSON property `highBoost`
188
+ # @return [Boolean]
189
+ attr_accessor :high_boost
190
+ alias_method :high_boost?, :high_boost
191
+
192
+ # Enable boosting low frequency components. The default is `false`.
193
+ # Corresponds to the JSON property `lowBoost`
194
+ # @return [Boolean]
195
+ attr_accessor :low_boost
196
+ alias_method :low_boost?, :low_boost
197
+
198
+ # Specify audio loudness normalization in loudness units relative to full scale (
199
+ # LUFS). Enter a value between -24 and 0, where -24 is the Advanced Television
200
+ # Systems Committee (ATSC A/85), -23 is the EU R128 broadcast standard, -19 is
201
+ # the prior standard for online mono audio, -18 is the ReplayGain standard, -16
202
+ # is the prior standard for stereo audio, -14 is the new online audio standard
203
+ # recommended by Spotify, as well as Amazon Echo, and 0 disables normalization.
204
+ # The default is 0.
205
+ # Corresponds to the JSON property `lufs`
206
+ # @return [Float]
207
+ attr_accessor :lufs
208
+
209
+ def initialize(**args)
210
+ update!(**args)
211
+ end
212
+
213
+ # Update properties of this object
214
+ def update!(**args)
215
+ @high_boost = args[:high_boost] if args.key?(:high_boost)
216
+ @low_boost = args[:low_boost] if args.key?(:low_boost)
217
+ @lufs = args[:lufs] if args.key?(:lufs)
218
+ end
219
+ end
220
+
221
+ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
222
+ class AudioAtom
223
+ include Google::Apis::Core::Hashable
224
+
225
+ # List of `Channel`s for this audio stream. for in-depth explanation.
226
+ # Corresponds to the JSON property `channels`
227
+ # @return [Array<Google::Apis::TranscoderV1beta1::AudioChannel>]
228
+ attr_accessor :channels
229
+
230
+ # Required. The `EditAtom.key` that references the atom with audio inputs in the
231
+ # `Job.edit_list`.
232
+ # Corresponds to the JSON property `key`
233
+ # @return [String]
234
+ attr_accessor :key
235
+
236
+ def initialize(**args)
237
+ update!(**args)
238
+ end
239
+
240
+ # Update properties of this object
241
+ def update!(**args)
242
+ @channels = args[:channels] if args.key?(:channels)
243
+ @key = args[:key] if args.key?(:key)
244
+ end
245
+ end
246
+
247
+ # The audio channel.
248
+ class AudioChannel
249
+ include Google::Apis::Core::Hashable
250
+
251
+ # List of `Job.inputs` for this audio channel.
252
+ # Corresponds to the JSON property `inputs`
253
+ # @return [Array<Google::Apis::TranscoderV1beta1::AudioChannelInput>]
254
+ attr_accessor :inputs
255
+
256
+ def initialize(**args)
257
+ update!(**args)
258
+ end
259
+
260
+ # Update properties of this object
261
+ def update!(**args)
262
+ @inputs = args[:inputs] if args.key?(:inputs)
263
+ end
264
+ end
265
+
266
+ # Identifies which input file, track, and channel should be used.
267
+ class AudioChannelInput
268
+ include Google::Apis::Core::Hashable
269
+
270
+ # Required. The zero-based index of the channel in the input file.
271
+ # Corresponds to the JSON property `channel`
272
+ # @return [Fixnum]
273
+ attr_accessor :channel
274
+
275
+ # Audio volume control in dB. Negative values decrease volume, positive values
276
+ # increase. The default is 0.
277
+ # Corresponds to the JSON property `gainDb`
278
+ # @return [Float]
279
+ attr_accessor :gain_db
280
+
281
+ # Required. The `Input.key` that identifies the input file.
282
+ # Corresponds to the JSON property `key`
283
+ # @return [String]
284
+ attr_accessor :key
285
+
286
+ # Required. The zero-based index of the track in the input file.
287
+ # Corresponds to the JSON property `track`
288
+ # @return [Fixnum]
289
+ attr_accessor :track
290
+
291
+ def initialize(**args)
292
+ update!(**args)
293
+ end
294
+
295
+ # Update properties of this object
296
+ def update!(**args)
297
+ @channel = args[:channel] if args.key?(:channel)
298
+ @gain_db = args[:gain_db] if args.key?(:gain_db)
299
+ @key = args[:key] if args.key?(:key)
300
+ @track = args[:track] if args.key?(:track)
301
+ end
302
+ end
303
+
304
+ # Audio stream resource.
305
+ class AudioStream
306
+ include Google::Apis::Core::Hashable
307
+
308
+ # Required. Audio bitrate in bits per second. Must be between 1 and 10,000,000.
309
+ # Corresponds to the JSON property `bitrateBps`
310
+ # @return [Fixnum]
311
+ attr_accessor :bitrate_bps
312
+
313
+ # Number of audio channels. Must be between 1 and 6. The default is 2.
314
+ # Corresponds to the JSON property `channelCount`
315
+ # @return [Fixnum]
316
+ attr_accessor :channel_count
317
+
318
+ # A list of channel names specifying layout of the audio channels. This only
319
+ # affects the metadata embedded in the container headers, if supported by the
320
+ # specified format. The default is `["fl", "fr"]`. Supported channel names: - '
321
+ # fl' - Front left channel - 'fr' - Front right channel - 'sl' - Side left
322
+ # channel - 'sr' - Side right channel - 'fc' - Front center channel - 'lfe' -
323
+ # Low frequency
324
+ # Corresponds to the JSON property `channelLayout`
325
+ # @return [Array<String>]
326
+ attr_accessor :channel_layout
327
+
328
+ # The codec for this audio stream. The default is `"aac"`. Supported audio
329
+ # codecs: - 'aac' - 'aac-he' - 'aac-he-v2' - 'mp3' - 'ac3' - 'eac3'
330
+ # Corresponds to the JSON property `codec`
331
+ # @return [String]
332
+ attr_accessor :codec
333
+
334
+ # The mapping for the `Job.edit_list` atoms with audio `EditAtom.inputs`.
335
+ # Corresponds to the JSON property `mapping`
336
+ # @return [Array<Google::Apis::TranscoderV1beta1::AudioAtom>]
337
+ attr_accessor :mapping
338
+
339
+ # The audio sample rate in Hertz. The default is 48000 Hertz.
340
+ # Corresponds to the JSON property `sampleRateHertz`
341
+ # @return [Fixnum]
342
+ attr_accessor :sample_rate_hertz
343
+
344
+ def initialize(**args)
345
+ update!(**args)
346
+ end
347
+
348
+ # Update properties of this object
349
+ def update!(**args)
350
+ @bitrate_bps = args[:bitrate_bps] if args.key?(:bitrate_bps)
351
+ @channel_count = args[:channel_count] if args.key?(:channel_count)
352
+ @channel_layout = args[:channel_layout] if args.key?(:channel_layout)
353
+ @codec = args[:codec] if args.key?(:codec)
354
+ @mapping = args[:mapping] if args.key?(:mapping)
355
+ @sample_rate_hertz = args[:sample_rate_hertz] if args.key?(:sample_rate_hertz)
356
+ end
357
+ end
358
+
359
+ # Color preprocessing configuration.
360
+ class Color
361
+ include Google::Apis::Core::Hashable
362
+
363
+ # Control brightness of the video. Enter a value between -1 and 1, where -1 is
364
+ # minimum brightness and 1 is maximum brightness. 0 is no change. The default is
365
+ # 0.
366
+ # Corresponds to the JSON property `brightness`
367
+ # @return [Float]
368
+ attr_accessor :brightness
369
+
370
+ # Control black and white contrast of the video. Enter a value between -1 and 1,
371
+ # where -1 is minimum contrast and 1 is maximum contrast. 0 is no change. The
372
+ # default is 0.
373
+ # Corresponds to the JSON property `contrast`
374
+ # @return [Float]
375
+ attr_accessor :contrast
376
+
377
+ # Control color saturation of the video. Enter a value between -1 and 1, where -
378
+ # 1 is fully desaturated and 1 is maximum saturation. 0 is no change. The
379
+ # default is 0.
380
+ # Corresponds to the JSON property `saturation`
381
+ # @return [Float]
382
+ attr_accessor :saturation
383
+
384
+ def initialize(**args)
385
+ update!(**args)
386
+ end
387
+
388
+ # Update properties of this object
389
+ def update!(**args)
390
+ @brightness = args[:brightness] if args.key?(:brightness)
391
+ @contrast = args[:contrast] if args.key?(:contrast)
392
+ @saturation = args[:saturation] if args.key?(:saturation)
393
+ end
394
+ end
395
+
396
+ # Video cropping configuration.
397
+ class Crop
398
+ include Google::Apis::Core::Hashable
399
+
400
+ # The number of pixels to crop from the bottom. The default is 0.
401
+ # Corresponds to the JSON property `bottomPixels`
402
+ # @return [Fixnum]
403
+ attr_accessor :bottom_pixels
404
+
405
+ # The number of pixels to crop from the left. The default is 0.
406
+ # Corresponds to the JSON property `leftPixels`
407
+ # @return [Fixnum]
408
+ attr_accessor :left_pixels
409
+
410
+ # The number of pixels to crop from the right. The default is 0.
411
+ # Corresponds to the JSON property `rightPixels`
412
+ # @return [Fixnum]
413
+ attr_accessor :right_pixels
414
+
415
+ # The number of pixels to crop from the top. The default is 0.
416
+ # Corresponds to the JSON property `topPixels`
417
+ # @return [Fixnum]
418
+ attr_accessor :top_pixels
419
+
420
+ def initialize(**args)
421
+ update!(**args)
422
+ end
423
+
424
+ # Update properties of this object
425
+ def update!(**args)
426
+ @bottom_pixels = args[:bottom_pixels] if args.key?(:bottom_pixels)
427
+ @left_pixels = args[:left_pixels] if args.key?(:left_pixels)
428
+ @right_pixels = args[:right_pixels] if args.key?(:right_pixels)
429
+ @top_pixels = args[:top_pixels] if args.key?(:top_pixels)
430
+ end
431
+ end
432
+
433
+ # Deblock preprocessing configuration.
434
+ class Deblock
435
+ include Google::Apis::Core::Hashable
436
+
437
+ # Enable deblocker. The default is `false`.
438
+ # Corresponds to the JSON property `enabled`
439
+ # @return [Boolean]
440
+ attr_accessor :enabled
441
+ alias_method :enabled?, :enabled
442
+
443
+ # Set strength of the deblocker. Enter a value between 0 and 1. The higher the
444
+ # value, the stronger the block removal. 0 is no deblocking. The default is 0.
445
+ # Corresponds to the JSON property `strength`
446
+ # @return [Float]
447
+ attr_accessor :strength
448
+
449
+ def initialize(**args)
450
+ update!(**args)
451
+ end
452
+
453
+ # Update properties of this object
454
+ def update!(**args)
455
+ @enabled = args[:enabled] if args.key?(:enabled)
456
+ @strength = args[:strength] if args.key?(:strength)
457
+ end
458
+ end
459
+
460
+ # Denoise preprocessing configuration.
461
+ class Denoise
462
+ include Google::Apis::Core::Hashable
463
+
464
+ # Set strength of the denoise. Enter a value between 0 and 1. The higher the
465
+ # value, the smoother the image. 0 is no denoising. The default is 0.
466
+ # Corresponds to the JSON property `strength`
467
+ # @return [Float]
468
+ attr_accessor :strength
469
+
470
+ # Set the denoiser mode. The default is `"standard"`. Supported denoiser modes: -
471
+ # 'standard' - 'grain'
472
+ # Corresponds to the JSON property `tune`
473
+ # @return [String]
474
+ attr_accessor :tune
475
+
476
+ def initialize(**args)
477
+ update!(**args)
478
+ end
479
+
480
+ # Update properties of this object
481
+ def update!(**args)
482
+ @strength = args[:strength] if args.key?(:strength)
483
+ @tune = args[:tune] if args.key?(:tune)
484
+ end
485
+ end
486
+
487
+ # Edit atom.
488
+ class EditAtom
489
+ include Google::Apis::Core::Hashable
490
+
491
+ # End time in seconds for the atom, relative to the input file timeline. When `
492
+ # end_time_offset` is not specified, the `inputs` are used until the end of the
493
+ # atom.
494
+ # Corresponds to the JSON property `endTimeOffset`
495
+ # @return [String]
496
+ attr_accessor :end_time_offset
497
+
498
+ # List of `Input.key`s identifying files that should be used in this atom. The
499
+ # listed `inputs` must have the same timeline.
500
+ # Corresponds to the JSON property `inputs`
501
+ # @return [Array<String>]
502
+ attr_accessor :inputs
503
+
504
+ # A unique key for this atom. Must be specified when using advanced mapping.
505
+ # Corresponds to the JSON property `key`
506
+ # @return [String]
507
+ attr_accessor :key
508
+
509
+ # Start time in seconds for the atom, relative to the input file timeline. The
510
+ # default is `0s`.
511
+ # Corresponds to the JSON property `startTimeOffset`
512
+ # @return [String]
513
+ attr_accessor :start_time_offset
514
+
515
+ def initialize(**args)
516
+ update!(**args)
517
+ end
518
+
519
+ # Update properties of this object
520
+ def update!(**args)
521
+ @end_time_offset = args[:end_time_offset] if args.key?(:end_time_offset)
522
+ @inputs = args[:inputs] if args.key?(:inputs)
523
+ @key = args[:key] if args.key?(:key)
524
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
525
+ end
526
+ end
527
+
528
+ # Encoding of an input file such as an audio, video, or text track. Elementary
529
+ # streams must be packaged before mapping and sharing between different output
530
+ # formats.
531
+ class ElementaryStream
532
+ include Google::Apis::Core::Hashable
533
+
534
+ # Audio stream resource.
535
+ # Corresponds to the JSON property `audioStream`
536
+ # @return [Google::Apis::TranscoderV1beta1::AudioStream]
537
+ attr_accessor :audio_stream
538
+
539
+ # A unique key for this elementary stream.
540
+ # Corresponds to the JSON property `key`
541
+ # @return [String]
542
+ attr_accessor :key
543
+
544
+ # Encoding of a text stream. For example, closed captions or subtitles.
545
+ # Corresponds to the JSON property `textStream`
546
+ # @return [Google::Apis::TranscoderV1beta1::TextStream]
547
+ attr_accessor :text_stream
548
+
549
+ # Video stream resource.
550
+ # Corresponds to the JSON property `videoStream`
551
+ # @return [Google::Apis::TranscoderV1beta1::VideoStream]
552
+ attr_accessor :video_stream
553
+
554
+ def initialize(**args)
555
+ update!(**args)
556
+ end
557
+
558
+ # Update properties of this object
559
+ def update!(**args)
560
+ @audio_stream = args[:audio_stream] if args.key?(:audio_stream)
561
+ @key = args[:key] if args.key?(:key)
562
+ @text_stream = args[:text_stream] if args.key?(:text_stream)
563
+ @video_stream = args[:video_stream] if args.key?(:video_stream)
564
+ end
565
+ end
566
+
567
+ # A generic empty message that you can re-use to avoid defining duplicated empty
568
+ # messages in your APIs. A typical example is to use it as the request or the
569
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
570
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
571
+ # `Empty` is empty JSON object ````.
572
+ class Empty
573
+ include Google::Apis::Core::Hashable
574
+
575
+ def initialize(**args)
576
+ update!(**args)
577
+ end
578
+
579
+ # Update properties of this object
580
+ def update!(**args)
581
+ end
582
+ end
583
+
584
+ # Encryption settings.
585
+ class Encryption
586
+ include Google::Apis::Core::Hashable
587
+
588
+ # Configuration for AES-128 encryption.
589
+ # Corresponds to the JSON property `aes128`
590
+ # @return [Google::Apis::TranscoderV1beta1::Aes128Encryption]
591
+ attr_accessor :aes128
592
+
593
+ # Required. 128 bit Initialization Vector (IV) represented as lowercase
594
+ # hexadecimal digits.
595
+ # Corresponds to the JSON property `iv`
596
+ # @return [String]
597
+ attr_accessor :iv
598
+
599
+ # Required. 128 bit encryption key represented as lowercase hexadecimal digits.
600
+ # Corresponds to the JSON property `key`
601
+ # @return [String]
602
+ attr_accessor :key
603
+
604
+ # Configuration for MPEG Common Encryption (MPEG-CENC).
605
+ # Corresponds to the JSON property `mpegCenc`
606
+ # @return [Google::Apis::TranscoderV1beta1::MpegCommonEncryption]
607
+ attr_accessor :mpeg_cenc
608
+
609
+ # Configuration for SAMPLE-AES encryption.
610
+ # Corresponds to the JSON property `sampleAes`
611
+ # @return [Google::Apis::TranscoderV1beta1::SampleAesEncryption]
612
+ attr_accessor :sample_aes
613
+
614
+ def initialize(**args)
615
+ update!(**args)
616
+ end
617
+
618
+ # Update properties of this object
619
+ def update!(**args)
620
+ @aes128 = args[:aes128] if args.key?(:aes128)
621
+ @iv = args[:iv] if args.key?(:iv)
622
+ @key = args[:key] if args.key?(:key)
623
+ @mpeg_cenc = args[:mpeg_cenc] if args.key?(:mpeg_cenc)
624
+ @sample_aes = args[:sample_aes] if args.key?(:sample_aes)
625
+ end
626
+ end
627
+
628
+ # Additional information about the reasons for the failure.
629
+ class FailureDetail
630
+ include Google::Apis::Core::Hashable
631
+
632
+ # A description of the failure.
633
+ # Corresponds to the JSON property `description`
634
+ # @return [String]
635
+ attr_accessor :description
636
+
637
+ def initialize(**args)
638
+ update!(**args)
639
+ end
640
+
641
+ # Update properties of this object
642
+ def update!(**args)
643
+ @description = args[:description] if args.key?(:description)
644
+ end
645
+ end
646
+
647
+ # Overlaid jpeg image.
648
+ class Image
649
+ include Google::Apis::Core::Hashable
650
+
651
+ # Target image opacity. Valid values: `1` (solid, default), `0` (transparent).
652
+ # Corresponds to the JSON property `alpha`
653
+ # @return [Float]
654
+ attr_accessor :alpha
655
+
656
+ # 2D normalized coordinates. Default: ``0.0, 0.0``
657
+ # Corresponds to the JSON property `resolution`
658
+ # @return [Google::Apis::TranscoderV1beta1::NormalizedCoordinate]
659
+ attr_accessor :resolution
660
+
661
+ # Required. URI of the image in Cloud Storage. For example, `gs://bucket/inputs/
662
+ # image.jpeg`.
663
+ # Corresponds to the JSON property `uri`
664
+ # @return [String]
665
+ attr_accessor :uri
666
+
667
+ def initialize(**args)
668
+ update!(**args)
669
+ end
670
+
671
+ # Update properties of this object
672
+ def update!(**args)
673
+ @alpha = args[:alpha] if args.key?(:alpha)
674
+ @resolution = args[:resolution] if args.key?(:resolution)
675
+ @uri = args[:uri] if args.key?(:uri)
676
+ end
677
+ end
678
+
679
+ # Input asset.
680
+ class Input
681
+ include Google::Apis::Core::Hashable
682
+
683
+ # A unique key for this input. Must be specified when using advanced mapping and
684
+ # edit lists.
685
+ # Corresponds to the JSON property `key`
686
+ # @return [String]
687
+ attr_accessor :key
688
+
689
+ # Preprocessing configurations.
690
+ # Corresponds to the JSON property `preprocessingConfig`
691
+ # @return [Google::Apis::TranscoderV1beta1::PreprocessingConfig]
692
+ attr_accessor :preprocessing_config
693
+
694
+ # URI of the media. It must be stored in Cloud Storage. Example `gs://bucket/
695
+ # inputs/file.mp4`. If empty the value will be populated from `Job.input_uri`.
696
+ # Corresponds to the JSON property `uri`
697
+ # @return [String]
698
+ attr_accessor :uri
699
+
700
+ def initialize(**args)
701
+ update!(**args)
702
+ end
703
+
704
+ # Update properties of this object
705
+ def update!(**args)
706
+ @key = args[:key] if args.key?(:key)
707
+ @preprocessing_config = args[:preprocessing_config] if args.key?(:preprocessing_config)
708
+ @uri = args[:uri] if args.key?(:uri)
709
+ end
710
+ end
711
+
712
+ # Transcoding job resource.
713
+ class Job
714
+ include Google::Apis::Core::Hashable
715
+
716
+ # Job configuration
717
+ # Corresponds to the JSON property `config`
718
+ # @return [Google::Apis::TranscoderV1beta1::JobConfig]
719
+ attr_accessor :config
720
+
721
+ # Output only. The time the job was created.
722
+ # Corresponds to the JSON property `createTime`
723
+ # @return [String]
724
+ attr_accessor :create_time
725
+
726
+ # Output only. The time the transcoding finished.
727
+ # Corresponds to the JSON property `endTime`
728
+ # @return [String]
729
+ attr_accessor :end_time
730
+
731
+ # Output only. List of failure details. This property may contain additional
732
+ # information about the failure when `failure_reason` is present. *Note*: This
733
+ # feature is not yet available.
734
+ # Corresponds to the JSON property `failureDetails`
735
+ # @return [Array<Google::Apis::TranscoderV1beta1::FailureDetail>]
736
+ attr_accessor :failure_details
737
+
738
+ # Output only. A description of the reason for the failure. This property is
739
+ # always present when `state` is `FAILED`.
740
+ # Corresponds to the JSON property `failureReason`
741
+ # @return [String]
742
+ attr_accessor :failure_reason
743
+
744
+ # Input only. Specify the `input_uri` to populate empty `uri` fields in each
745
+ # element of `Job.config.inputs` or `JobTemplate.config.inputs` when using
746
+ # template. URI of the media. It must be stored in Cloud Storage. For example, `
747
+ # gs://bucket/inputs/file.mp4`.
748
+ # Corresponds to the JSON property `inputUri`
749
+ # @return [String]
750
+ attr_accessor :input_uri
751
+
752
+ # The resource name of the job. Format: `projects/`project`/locations/`location`/
753
+ # jobs/`job``
754
+ # Corresponds to the JSON property `name`
755
+ # @return [String]
756
+ attr_accessor :name
757
+
758
+ # The origin URI.
759
+ # Corresponds to the JSON property `originUri`
760
+ # @return [Google::Apis::TranscoderV1beta1::OriginUri]
761
+ attr_accessor :origin_uri
762
+
763
+ # Input only. Specify the `output_uri` to populate an empty `Job.config.output.
764
+ # uri` or `JobTemplate.config.output.uri` when using template. URI for the
765
+ # output file(s). For example, `gs://my-bucket/outputs/`.
766
+ # Corresponds to the JSON property `outputUri`
767
+ # @return [String]
768
+ attr_accessor :output_uri
769
+
770
+ # Specify the priority of the job. Enter a value between 0 and 100, where 0 is
771
+ # the lowest priority and 100 is the highest priority. The default is 0.
772
+ # Corresponds to the JSON property `priority`
773
+ # @return [Fixnum]
774
+ attr_accessor :priority
775
+
776
+ # Estimated fractional progress for each step, from `0` to `1`.
777
+ # Corresponds to the JSON property `progress`
778
+ # @return [Google::Apis::TranscoderV1beta1::Progress]
779
+ attr_accessor :progress
780
+
781
+ # Output only. The time the transcoding started.
782
+ # Corresponds to the JSON property `startTime`
783
+ # @return [String]
784
+ attr_accessor :start_time
785
+
786
+ # Output only. The current state of the job.
787
+ # Corresponds to the JSON property `state`
788
+ # @return [String]
789
+ attr_accessor :state
790
+
791
+ # Input only. Specify the `template_id` to use for populating `Job.config`. The
792
+ # default is `preset/web-hd`. Preset Transcoder templates: - `preset/`preset_id``
793
+ # - User defined JobTemplate: ``job_template_id``
794
+ # Corresponds to the JSON property `templateId`
795
+ # @return [String]
796
+ attr_accessor :template_id
797
+
798
+ def initialize(**args)
799
+ update!(**args)
800
+ end
801
+
802
+ # Update properties of this object
803
+ def update!(**args)
804
+ @config = args[:config] if args.key?(:config)
805
+ @create_time = args[:create_time] if args.key?(:create_time)
806
+ @end_time = args[:end_time] if args.key?(:end_time)
807
+ @failure_details = args[:failure_details] if args.key?(:failure_details)
808
+ @failure_reason = args[:failure_reason] if args.key?(:failure_reason)
809
+ @input_uri = args[:input_uri] if args.key?(:input_uri)
810
+ @name = args[:name] if args.key?(:name)
811
+ @origin_uri = args[:origin_uri] if args.key?(:origin_uri)
812
+ @output_uri = args[:output_uri] if args.key?(:output_uri)
813
+ @priority = args[:priority] if args.key?(:priority)
814
+ @progress = args[:progress] if args.key?(:progress)
815
+ @start_time = args[:start_time] if args.key?(:start_time)
816
+ @state = args[:state] if args.key?(:state)
817
+ @template_id = args[:template_id] if args.key?(:template_id)
818
+ end
819
+ end
820
+
821
+ # Job configuration
822
+ class JobConfig
823
+ include Google::Apis::Core::Hashable
824
+
825
+ # List of ad breaks. Specifies where to insert ad break tags in the output
826
+ # manifests.
827
+ # Corresponds to the JSON property `adBreaks`
828
+ # @return [Array<Google::Apis::TranscoderV1beta1::AdBreak>]
829
+ attr_accessor :ad_breaks
830
+
831
+ # List of `Edit atom`s. Defines the ultimate timeline of the resulting file or
832
+ # manifest.
833
+ # Corresponds to the JSON property `editList`
834
+ # @return [Array<Google::Apis::TranscoderV1beta1::EditAtom>]
835
+ attr_accessor :edit_list
836
+
837
+ # List of elementary streams.
838
+ # Corresponds to the JSON property `elementaryStreams`
839
+ # @return [Array<Google::Apis::TranscoderV1beta1::ElementaryStream>]
840
+ attr_accessor :elementary_streams
841
+
842
+ # List of input assets stored in Cloud Storage.
843
+ # Corresponds to the JSON property `inputs`
844
+ # @return [Array<Google::Apis::TranscoderV1beta1::Input>]
845
+ attr_accessor :inputs
846
+
847
+ # List of output manifests.
848
+ # Corresponds to the JSON property `manifests`
849
+ # @return [Array<Google::Apis::TranscoderV1beta1::Manifest>]
850
+ attr_accessor :manifests
851
+
852
+ # List of multiplexing settings for output streams.
853
+ # Corresponds to the JSON property `muxStreams`
854
+ # @return [Array<Google::Apis::TranscoderV1beta1::MuxStream>]
855
+ attr_accessor :mux_streams
856
+
857
+ # Location of output file(s) in a Cloud Storage bucket.
858
+ # Corresponds to the JSON property `output`
859
+ # @return [Google::Apis::TranscoderV1beta1::Output]
860
+ attr_accessor :output
861
+
862
+ # List of overlays on the output video, in descending Z-order.
863
+ # Corresponds to the JSON property `overlays`
864
+ # @return [Array<Google::Apis::TranscoderV1beta1::Overlay>]
865
+ attr_accessor :overlays
866
+
867
+ # A Pub/Sub destination.
868
+ # Corresponds to the JSON property `pubsubDestination`
869
+ # @return [Google::Apis::TranscoderV1beta1::PubsubDestination]
870
+ attr_accessor :pubsub_destination
871
+
872
+ # List of output sprite sheets.
873
+ # Corresponds to the JSON property `spriteSheets`
874
+ # @return [Array<Google::Apis::TranscoderV1beta1::SpriteSheet>]
875
+ attr_accessor :sprite_sheets
876
+
877
+ def initialize(**args)
878
+ update!(**args)
879
+ end
880
+
881
+ # Update properties of this object
882
+ def update!(**args)
883
+ @ad_breaks = args[:ad_breaks] if args.key?(:ad_breaks)
884
+ @edit_list = args[:edit_list] if args.key?(:edit_list)
885
+ @elementary_streams = args[:elementary_streams] if args.key?(:elementary_streams)
886
+ @inputs = args[:inputs] if args.key?(:inputs)
887
+ @manifests = args[:manifests] if args.key?(:manifests)
888
+ @mux_streams = args[:mux_streams] if args.key?(:mux_streams)
889
+ @output = args[:output] if args.key?(:output)
890
+ @overlays = args[:overlays] if args.key?(:overlays)
891
+ @pubsub_destination = args[:pubsub_destination] if args.key?(:pubsub_destination)
892
+ @sprite_sheets = args[:sprite_sheets] if args.key?(:sprite_sheets)
893
+ end
894
+ end
895
+
896
+ # Transcoding job template resource.
897
+ class JobTemplate
898
+ include Google::Apis::Core::Hashable
899
+
900
+ # Job configuration
901
+ # Corresponds to the JSON property `config`
902
+ # @return [Google::Apis::TranscoderV1beta1::JobConfig]
903
+ attr_accessor :config
904
+
905
+ # The resource name of the job template. Format: `projects/`project`/locations/`
906
+ # location`/jobTemplates/`job_template``
907
+ # Corresponds to the JSON property `name`
908
+ # @return [String]
909
+ attr_accessor :name
910
+
911
+ def initialize(**args)
912
+ update!(**args)
913
+ end
914
+
915
+ # Update properties of this object
916
+ def update!(**args)
917
+ @config = args[:config] if args.key?(:config)
918
+ @name = args[:name] if args.key?(:name)
919
+ end
920
+ end
921
+
922
+ # Response message for `TranscoderService.ListJobTemplates`.
923
+ class ListJobTemplatesResponse
924
+ include Google::Apis::Core::Hashable
925
+
926
+ # List of job templates in the specified region.
927
+ # Corresponds to the JSON property `jobTemplates`
928
+ # @return [Array<Google::Apis::TranscoderV1beta1::JobTemplate>]
929
+ attr_accessor :job_templates
930
+
931
+ # The pagination token.
932
+ # Corresponds to the JSON property `nextPageToken`
933
+ # @return [String]
934
+ attr_accessor :next_page_token
935
+
936
+ def initialize(**args)
937
+ update!(**args)
938
+ end
939
+
940
+ # Update properties of this object
941
+ def update!(**args)
942
+ @job_templates = args[:job_templates] if args.key?(:job_templates)
943
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
944
+ end
945
+ end
946
+
947
+ # Response message for `TranscoderService.ListJobs`.
948
+ class ListJobsResponse
949
+ include Google::Apis::Core::Hashable
950
+
951
+ # List of jobs in the specified region.
952
+ # Corresponds to the JSON property `jobs`
953
+ # @return [Array<Google::Apis::TranscoderV1beta1::Job>]
954
+ attr_accessor :jobs
955
+
956
+ # The pagination token.
957
+ # Corresponds to the JSON property `nextPageToken`
958
+ # @return [String]
959
+ attr_accessor :next_page_token
960
+
961
+ def initialize(**args)
962
+ update!(**args)
963
+ end
964
+
965
+ # Update properties of this object
966
+ def update!(**args)
967
+ @jobs = args[:jobs] if args.key?(:jobs)
968
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
969
+ end
970
+ end
971
+
972
+ # Manifest configuration.
973
+ class Manifest
974
+ include Google::Apis::Core::Hashable
975
+
976
+ # The name of the generated file. The default is `"manifest"` with the extension
977
+ # suffix corresponding to the `Manifest.type`.
978
+ # Corresponds to the JSON property `fileName`
979
+ # @return [String]
980
+ attr_accessor :file_name
981
+
982
+ # Required. List of user given `MuxStream.key`s that should appear in this
983
+ # manifest. When `Manifest.type` is `HLS`, a media manifest with name `MuxStream.
984
+ # key` and `.m3u8` extension is generated for each element of the `Manifest.
985
+ # mux_streams`.
986
+ # Corresponds to the JSON property `muxStreams`
987
+ # @return [Array<String>]
988
+ attr_accessor :mux_streams
989
+
990
+ # Required. Type of the manifest, can be "HLS" or "DASH".
991
+ # Corresponds to the JSON property `type`
992
+ # @return [String]
993
+ attr_accessor :type
994
+
995
+ def initialize(**args)
996
+ update!(**args)
997
+ end
998
+
999
+ # Update properties of this object
1000
+ def update!(**args)
1001
+ @file_name = args[:file_name] if args.key?(:file_name)
1002
+ @mux_streams = args[:mux_streams] if args.key?(:mux_streams)
1003
+ @type = args[:type] if args.key?(:type)
1004
+ end
1005
+ end
1006
+
1007
+ # Configuration for MPEG Common Encryption (MPEG-CENC).
1008
+ class MpegCommonEncryption
1009
+ include Google::Apis::Core::Hashable
1010
+
1011
+ # Required. 128 bit Key ID represented as lowercase hexadecimal digits for use
1012
+ # with common encryption.
1013
+ # Corresponds to the JSON property `keyId`
1014
+ # @return [String]
1015
+ attr_accessor :key_id
1016
+
1017
+ # Required. Specify the encryption scheme. Supported encryption schemes: - 'cenc'
1018
+ # - 'cbcs'
1019
+ # Corresponds to the JSON property `scheme`
1020
+ # @return [String]
1021
+ attr_accessor :scheme
1022
+
1023
+ def initialize(**args)
1024
+ update!(**args)
1025
+ end
1026
+
1027
+ # Update properties of this object
1028
+ def update!(**args)
1029
+ @key_id = args[:key_id] if args.key?(:key_id)
1030
+ @scheme = args[:scheme] if args.key?(:scheme)
1031
+ end
1032
+ end
1033
+
1034
+ # Multiplexing settings for output stream.
1035
+ class MuxStream
1036
+ include Google::Apis::Core::Hashable
1037
+
1038
+ # The container format. The default is `"mp4"` Supported container formats: - '
1039
+ # ts' - 'fmp4'- the corresponding file extension is `".m4s"` - 'mp4' - 'vtt'
1040
+ # Corresponds to the JSON property `container`
1041
+ # @return [String]
1042
+ attr_accessor :container
1043
+
1044
+ # List of `ElementaryStream.key`s multiplexed in this stream.
1045
+ # Corresponds to the JSON property `elementaryStreams`
1046
+ # @return [Array<String>]
1047
+ attr_accessor :elementary_streams
1048
+
1049
+ # Encryption settings.
1050
+ # Corresponds to the JSON property `encryption`
1051
+ # @return [Google::Apis::TranscoderV1beta1::Encryption]
1052
+ attr_accessor :encryption
1053
+
1054
+ # The name of the generated file. The default is `MuxStream.key` with the
1055
+ # extension suffix corresponding to the `MuxStream.container`. Individual
1056
+ # segments also have an incremental 10-digit zero-padded suffix starting from 0
1057
+ # before the extension, such as `"mux_stream0000000123.ts"`.
1058
+ # Corresponds to the JSON property `fileName`
1059
+ # @return [String]
1060
+ attr_accessor :file_name
1061
+
1062
+ # A unique key for this multiplexed stream. HLS media manifests will be named `
1063
+ # MuxStream.key` with the `".m3u8"` extension suffix.
1064
+ # Corresponds to the JSON property `key`
1065
+ # @return [String]
1066
+ attr_accessor :key
1067
+
1068
+ # Segment settings for `"ts"`, `"fmp4"` and `"vtt"`.
1069
+ # Corresponds to the JSON property `segmentSettings`
1070
+ # @return [Google::Apis::TranscoderV1beta1::SegmentSettings]
1071
+ attr_accessor :segment_settings
1072
+
1073
+ def initialize(**args)
1074
+ update!(**args)
1075
+ end
1076
+
1077
+ # Update properties of this object
1078
+ def update!(**args)
1079
+ @container = args[:container] if args.key?(:container)
1080
+ @elementary_streams = args[:elementary_streams] if args.key?(:elementary_streams)
1081
+ @encryption = args[:encryption] if args.key?(:encryption)
1082
+ @file_name = args[:file_name] if args.key?(:file_name)
1083
+ @key = args[:key] if args.key?(:key)
1084
+ @segment_settings = args[:segment_settings] if args.key?(:segment_settings)
1085
+ end
1086
+ end
1087
+
1088
+ # 2D normalized coordinates. Default: ``0.0, 0.0``
1089
+ class NormalizedCoordinate
1090
+ include Google::Apis::Core::Hashable
1091
+
1092
+ # Normalized x coordinate.
1093
+ # Corresponds to the JSON property `x`
1094
+ # @return [Float]
1095
+ attr_accessor :x
1096
+
1097
+ # Normalized y coordinate.
1098
+ # Corresponds to the JSON property `y`
1099
+ # @return [Float]
1100
+ attr_accessor :y
1101
+
1102
+ def initialize(**args)
1103
+ update!(**args)
1104
+ end
1105
+
1106
+ # Update properties of this object
1107
+ def update!(**args)
1108
+ @x = args[:x] if args.key?(:x)
1109
+ @y = args[:y] if args.key?(:y)
1110
+ end
1111
+ end
1112
+
1113
+ # The origin URI.
1114
+ class OriginUri
1115
+ include Google::Apis::Core::Hashable
1116
+
1117
+ # Dash manifest URI. If multiple Dash manifests are created, only the first one
1118
+ # is listed.
1119
+ # Corresponds to the JSON property `dash`
1120
+ # @return [String]
1121
+ attr_accessor :dash
1122
+
1123
+ # HLS manifest URI per https://tools.ietf.org/html/rfc8216#section-4.3.4. If
1124
+ # multiple HLS manifests are created, only the first one is listed.
1125
+ # Corresponds to the JSON property `hls`
1126
+ # @return [String]
1127
+ attr_accessor :hls
1128
+
1129
+ def initialize(**args)
1130
+ update!(**args)
1131
+ end
1132
+
1133
+ # Update properties of this object
1134
+ def update!(**args)
1135
+ @dash = args[:dash] if args.key?(:dash)
1136
+ @hls = args[:hls] if args.key?(:hls)
1137
+ end
1138
+ end
1139
+
1140
+ # Location of output file(s) in a Cloud Storage bucket.
1141
+ class Output
1142
+ include Google::Apis::Core::Hashable
1143
+
1144
+ # URI for the output file(s). For example, `gs://my-bucket/outputs/`. If empty
1145
+ # the value is populated from `Job.output_uri`.
1146
+ # Corresponds to the JSON property `uri`
1147
+ # @return [String]
1148
+ attr_accessor :uri
1149
+
1150
+ def initialize(**args)
1151
+ update!(**args)
1152
+ end
1153
+
1154
+ # Update properties of this object
1155
+ def update!(**args)
1156
+ @uri = args[:uri] if args.key?(:uri)
1157
+ end
1158
+ end
1159
+
1160
+ # Overlay configuration.
1161
+ class Overlay
1162
+ include Google::Apis::Core::Hashable
1163
+
1164
+ # List of Animations. The list should be chronological, without any time overlap.
1165
+ # Corresponds to the JSON property `animations`
1166
+ # @return [Array<Google::Apis::TranscoderV1beta1::Animation>]
1167
+ attr_accessor :animations
1168
+
1169
+ # Overlaid jpeg image.
1170
+ # Corresponds to the JSON property `image`
1171
+ # @return [Google::Apis::TranscoderV1beta1::Image]
1172
+ attr_accessor :image
1173
+
1174
+ def initialize(**args)
1175
+ update!(**args)
1176
+ end
1177
+
1178
+ # Update properties of this object
1179
+ def update!(**args)
1180
+ @animations = args[:animations] if args.key?(:animations)
1181
+ @image = args[:image] if args.key?(:image)
1182
+ end
1183
+ end
1184
+
1185
+ # Preprocessing configurations.
1186
+ class PreprocessingConfig
1187
+ include Google::Apis::Core::Hashable
1188
+
1189
+ # Audio preprocessing configuration.
1190
+ # Corresponds to the JSON property `audio`
1191
+ # @return [Google::Apis::TranscoderV1beta1::Audio]
1192
+ attr_accessor :audio
1193
+
1194
+ # Color preprocessing configuration.
1195
+ # Corresponds to the JSON property `color`
1196
+ # @return [Google::Apis::TranscoderV1beta1::Color]
1197
+ attr_accessor :color
1198
+
1199
+ # Video cropping configuration.
1200
+ # Corresponds to the JSON property `crop`
1201
+ # @return [Google::Apis::TranscoderV1beta1::Crop]
1202
+ attr_accessor :crop
1203
+
1204
+ # Deblock preprocessing configuration.
1205
+ # Corresponds to the JSON property `deblock`
1206
+ # @return [Google::Apis::TranscoderV1beta1::Deblock]
1207
+ attr_accessor :deblock
1208
+
1209
+ # Denoise preprocessing configuration.
1210
+ # Corresponds to the JSON property `denoise`
1211
+ # @return [Google::Apis::TranscoderV1beta1::Denoise]
1212
+ attr_accessor :denoise
1213
+
1214
+ def initialize(**args)
1215
+ update!(**args)
1216
+ end
1217
+
1218
+ # Update properties of this object
1219
+ def update!(**args)
1220
+ @audio = args[:audio] if args.key?(:audio)
1221
+ @color = args[:color] if args.key?(:color)
1222
+ @crop = args[:crop] if args.key?(:crop)
1223
+ @deblock = args[:deblock] if args.key?(:deblock)
1224
+ @denoise = args[:denoise] if args.key?(:denoise)
1225
+ end
1226
+ end
1227
+
1228
+ # Estimated fractional progress for each step, from `0` to `1`.
1229
+ class Progress
1230
+ include Google::Apis::Core::Hashable
1231
+
1232
+ # Estimated fractional progress for `analyzing` step.
1233
+ # Corresponds to the JSON property `analyzed`
1234
+ # @return [Float]
1235
+ attr_accessor :analyzed
1236
+
1237
+ # Estimated fractional progress for `encoding` step.
1238
+ # Corresponds to the JSON property `encoded`
1239
+ # @return [Float]
1240
+ attr_accessor :encoded
1241
+
1242
+ # Estimated fractional progress for `notifying` step.
1243
+ # Corresponds to the JSON property `notified`
1244
+ # @return [Float]
1245
+ attr_accessor :notified
1246
+
1247
+ # Estimated fractional progress for `uploading` step.
1248
+ # Corresponds to the JSON property `uploaded`
1249
+ # @return [Float]
1250
+ attr_accessor :uploaded
1251
+
1252
+ def initialize(**args)
1253
+ update!(**args)
1254
+ end
1255
+
1256
+ # Update properties of this object
1257
+ def update!(**args)
1258
+ @analyzed = args[:analyzed] if args.key?(:analyzed)
1259
+ @encoded = args[:encoded] if args.key?(:encoded)
1260
+ @notified = args[:notified] if args.key?(:notified)
1261
+ @uploaded = args[:uploaded] if args.key?(:uploaded)
1262
+ end
1263
+ end
1264
+
1265
+ # A Pub/Sub destination.
1266
+ class PubsubDestination
1267
+ include Google::Apis::Core::Hashable
1268
+
1269
+ # The name of the Pub/Sub topic to publish job completion notification to. For
1270
+ # example: `projects/`project`/topics/`topic``.
1271
+ # Corresponds to the JSON property `topic`
1272
+ # @return [String]
1273
+ attr_accessor :topic
1274
+
1275
+ def initialize(**args)
1276
+ update!(**args)
1277
+ end
1278
+
1279
+ # Update properties of this object
1280
+ def update!(**args)
1281
+ @topic = args[:topic] if args.key?(:topic)
1282
+ end
1283
+ end
1284
+
1285
+ # Configuration for SAMPLE-AES encryption.
1286
+ class SampleAesEncryption
1287
+ include Google::Apis::Core::Hashable
1288
+
1289
+ # Required. URI of the key delivery service. This URI is inserted into the M3U8
1290
+ # header.
1291
+ # Corresponds to the JSON property `keyUri`
1292
+ # @return [String]
1293
+ attr_accessor :key_uri
1294
+
1295
+ def initialize(**args)
1296
+ update!(**args)
1297
+ end
1298
+
1299
+ # Update properties of this object
1300
+ def update!(**args)
1301
+ @key_uri = args[:key_uri] if args.key?(:key_uri)
1302
+ end
1303
+ end
1304
+
1305
+ # Segment settings for `"ts"`, `"fmp4"` and `"vtt"`.
1306
+ class SegmentSettings
1307
+ include Google::Apis::Core::Hashable
1308
+
1309
+ # Required. Create an individual segment file. The default is `false`.
1310
+ # Corresponds to the JSON property `individualSegments`
1311
+ # @return [Boolean]
1312
+ attr_accessor :individual_segments
1313
+ alias_method :individual_segments?, :individual_segments
1314
+
1315
+ # Duration of the segments in seconds. The default is `"6.0s"`.
1316
+ # Corresponds to the JSON property `segmentDuration`
1317
+ # @return [String]
1318
+ attr_accessor :segment_duration
1319
+
1320
+ def initialize(**args)
1321
+ update!(**args)
1322
+ end
1323
+
1324
+ # Update properties of this object
1325
+ def update!(**args)
1326
+ @individual_segments = args[:individual_segments] if args.key?(:individual_segments)
1327
+ @segment_duration = args[:segment_duration] if args.key?(:segment_duration)
1328
+ end
1329
+ end
1330
+
1331
+ # Sprite sheet configuration.
1332
+ class SpriteSheet
1333
+ include Google::Apis::Core::Hashable
1334
+
1335
+ # The maximum number of sprites per row in a sprite sheet. The default is 0,
1336
+ # which indicates no maximum limit.
1337
+ # Corresponds to the JSON property `columnCount`
1338
+ # @return [Fixnum]
1339
+ attr_accessor :column_count
1340
+
1341
+ # End time in seconds, relative to the output file timeline. When `
1342
+ # end_time_offset` is not specified, the sprites are generated until the end of
1343
+ # the output file.
1344
+ # Corresponds to the JSON property `endTimeOffset`
1345
+ # @return [String]
1346
+ attr_accessor :end_time_offset
1347
+
1348
+ # Required. File name prefix for the generated sprite sheets. Each sprite sheet
1349
+ # has an incremental 10-digit zero-padded suffix starting from 0 before the
1350
+ # extension, such as `"sprite_sheet0000000123.jpeg"`.
1351
+ # Corresponds to the JSON property `filePrefix`
1352
+ # @return [String]
1353
+ attr_accessor :file_prefix
1354
+
1355
+ # Format type. The default is `"jpeg"`. Supported formats: - 'jpeg'
1356
+ # Corresponds to the JSON property `format`
1357
+ # @return [String]
1358
+ attr_accessor :format
1359
+
1360
+ # Starting from `0s`, create sprites at regular intervals. Specify the interval
1361
+ # value in seconds.
1362
+ # Corresponds to the JSON property `interval`
1363
+ # @return [String]
1364
+ attr_accessor :interval
1365
+
1366
+ # The maximum number of rows per sprite sheet. When the sprite sheet is full, a
1367
+ # new sprite sheet is created. The default is 0, which indicates no maximum
1368
+ # limit.
1369
+ # Corresponds to the JSON property `rowCount`
1370
+ # @return [Fixnum]
1371
+ attr_accessor :row_count
1372
+
1373
+ # Required. The height of sprite in pixels. Must be an even integer.
1374
+ # Corresponds to the JSON property `spriteHeightPixels`
1375
+ # @return [Fixnum]
1376
+ attr_accessor :sprite_height_pixels
1377
+
1378
+ # Required. The width of sprite in pixels. Must be an even integer.
1379
+ # Corresponds to the JSON property `spriteWidthPixels`
1380
+ # @return [Fixnum]
1381
+ attr_accessor :sprite_width_pixels
1382
+
1383
+ # Start time in seconds, relative to the output file timeline. Determines the
1384
+ # first sprite to pick. The default is `0s`.
1385
+ # Corresponds to the JSON property `startTimeOffset`
1386
+ # @return [String]
1387
+ attr_accessor :start_time_offset
1388
+
1389
+ # Total number of sprites. Create the specified number of sprites distributed
1390
+ # evenly across the timeline of the output media. The default is 100.
1391
+ # Corresponds to the JSON property `totalCount`
1392
+ # @return [Fixnum]
1393
+ attr_accessor :total_count
1394
+
1395
+ def initialize(**args)
1396
+ update!(**args)
1397
+ end
1398
+
1399
+ # Update properties of this object
1400
+ def update!(**args)
1401
+ @column_count = args[:column_count] if args.key?(:column_count)
1402
+ @end_time_offset = args[:end_time_offset] if args.key?(:end_time_offset)
1403
+ @file_prefix = args[:file_prefix] if args.key?(:file_prefix)
1404
+ @format = args[:format] if args.key?(:format)
1405
+ @interval = args[:interval] if args.key?(:interval)
1406
+ @row_count = args[:row_count] if args.key?(:row_count)
1407
+ @sprite_height_pixels = args[:sprite_height_pixels] if args.key?(:sprite_height_pixels)
1408
+ @sprite_width_pixels = args[:sprite_width_pixels] if args.key?(:sprite_width_pixels)
1409
+ @start_time_offset = args[:start_time_offset] if args.key?(:start_time_offset)
1410
+ @total_count = args[:total_count] if args.key?(:total_count)
1411
+ end
1412
+ end
1413
+
1414
+ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
1415
+ class TextAtom
1416
+ include Google::Apis::Core::Hashable
1417
+
1418
+ # List of `Job.inputs` that should be embedded in this atom. Only one input is
1419
+ # supported.
1420
+ # Corresponds to the JSON property `inputs`
1421
+ # @return [Array<Google::Apis::TranscoderV1beta1::TextInput>]
1422
+ attr_accessor :inputs
1423
+
1424
+ # Required. The `EditAtom.key` that references atom with text inputs in the `Job.
1425
+ # edit_list`.
1426
+ # Corresponds to the JSON property `key`
1427
+ # @return [String]
1428
+ attr_accessor :key
1429
+
1430
+ def initialize(**args)
1431
+ update!(**args)
1432
+ end
1433
+
1434
+ # Update properties of this object
1435
+ def update!(**args)
1436
+ @inputs = args[:inputs] if args.key?(:inputs)
1437
+ @key = args[:key] if args.key?(:key)
1438
+ end
1439
+ end
1440
+
1441
+ # Identifies which input file and track should be used.
1442
+ class TextInput
1443
+ include Google::Apis::Core::Hashable
1444
+
1445
+ # Required. The `Input.key` that identifies the input file.
1446
+ # Corresponds to the JSON property `key`
1447
+ # @return [String]
1448
+ attr_accessor :key
1449
+
1450
+ # Required. The zero-based index of the track in the input file.
1451
+ # Corresponds to the JSON property `track`
1452
+ # @return [Fixnum]
1453
+ attr_accessor :track
1454
+
1455
+ def initialize(**args)
1456
+ update!(**args)
1457
+ end
1458
+
1459
+ # Update properties of this object
1460
+ def update!(**args)
1461
+ @key = args[:key] if args.key?(:key)
1462
+ @track = args[:track] if args.key?(:track)
1463
+ end
1464
+ end
1465
+
1466
+ # Encoding of a text stream. For example, closed captions or subtitles.
1467
+ class TextStream
1468
+ include Google::Apis::Core::Hashable
1469
+
1470
+ # The codec for this text stream. The default is `"webvtt"`. Supported text
1471
+ # codecs: - 'srt' - 'ttml' - 'cea608' - 'cea708' - 'webvtt'
1472
+ # Corresponds to the JSON property `codec`
1473
+ # @return [String]
1474
+ attr_accessor :codec
1475
+
1476
+ # Required. The BCP-47 language code, such as `"en-US"` or `"sr-Latn"`. For more
1477
+ # information, see https://www.unicode.org/reports/tr35/#
1478
+ # Unicode_locale_identifier.
1479
+ # Corresponds to the JSON property `languageCode`
1480
+ # @return [String]
1481
+ attr_accessor :language_code
1482
+
1483
+ # The mapping for the `Job.edit_list` atoms with text `EditAtom.inputs`.
1484
+ # Corresponds to the JSON property `mapping`
1485
+ # @return [Array<Google::Apis::TranscoderV1beta1::TextAtom>]
1486
+ attr_accessor :mapping
1487
+
1488
+ def initialize(**args)
1489
+ update!(**args)
1490
+ end
1491
+
1492
+ # Update properties of this object
1493
+ def update!(**args)
1494
+ @codec = args[:codec] if args.key?(:codec)
1495
+ @language_code = args[:language_code] if args.key?(:language_code)
1496
+ @mapping = args[:mapping] if args.key?(:mapping)
1497
+ end
1498
+ end
1499
+
1500
+ # Video stream resource.
1501
+ class VideoStream
1502
+ include Google::Apis::Core::Hashable
1503
+
1504
+ # Specifies whether an open Group of Pictures (GOP) structure should be allowed
1505
+ # or not. The default is `false`.
1506
+ # Corresponds to the JSON property `allowOpenGop`
1507
+ # @return [Boolean]
1508
+ attr_accessor :allow_open_gop
1509
+ alias_method :allow_open_gop?, :allow_open_gop
1510
+
1511
+ # Specify the intensity of the adaptive quantizer (AQ). Must be between 0 and 1,
1512
+ # where 0 disables the quantizer and 1 maximizes the quantizer. A higher value
1513
+ # equals a lower bitrate but smoother image. The default is 0.
1514
+ # Corresponds to the JSON property `aqStrength`
1515
+ # @return [Float]
1516
+ attr_accessor :aq_strength
1517
+
1518
+ # The number of consecutive B-frames. Must be greater than or equal to zero.
1519
+ # Must be less than `VideoStream.gop_frame_count` if set. The default is 0.
1520
+ # Corresponds to the JSON property `bFrameCount`
1521
+ # @return [Fixnum]
1522
+ attr_accessor :b_frame_count
1523
+
1524
+ # Allow B-pyramid for reference frame selection. This may not be supported on
1525
+ # all decoders. The default is `false`.
1526
+ # Corresponds to the JSON property `bPyramid`
1527
+ # @return [Boolean]
1528
+ attr_accessor :b_pyramid
1529
+ alias_method :b_pyramid?, :b_pyramid
1530
+
1531
+ # Required. The video bitrate in bits per second. Must be between 1 and 1,000,
1532
+ # 000,000.
1533
+ # Corresponds to the JSON property `bitrateBps`
1534
+ # @return [Fixnum]
1535
+ attr_accessor :bitrate_bps
1536
+
1537
+ # Codec type. The following codecs are supported: * `h264` (default) * `h265` * `
1538
+ # vp9`
1539
+ # Corresponds to the JSON property `codec`
1540
+ # @return [String]
1541
+ attr_accessor :codec
1542
+
1543
+ # Target CRF level. Must be between 10 and 36, where 10 is the highest quality
1544
+ # and 36 is the most efficient compression. The default is 21.
1545
+ # Corresponds to the JSON property `crfLevel`
1546
+ # @return [Fixnum]
1547
+ attr_accessor :crf_level
1548
+
1549
+ # Use two-pass encoding strategy to achieve better video quality. `VideoStream.
1550
+ # rate_control_mode` must be `"vbr"`. The default is `false`.
1551
+ # Corresponds to the JSON property `enableTwoPass`
1552
+ # @return [Boolean]
1553
+ attr_accessor :enable_two_pass
1554
+ alias_method :enable_two_pass?, :enable_two_pass
1555
+
1556
+ # The entropy coder to use. The default is `"cabac"`. Supported entropy coders: -
1557
+ # 'cavlc' - 'cabac'
1558
+ # Corresponds to the JSON property `entropyCoder`
1559
+ # @return [String]
1560
+ attr_accessor :entropy_coder
1561
+
1562
+ # Required. The target video frame rate in frames per second (FPS). Must be less
1563
+ # than or equal to 120. Will default to the input frame rate if larger than the
1564
+ # input frame rate. The API will generate an output FPS that is divisible by the
1565
+ # input FPS, and smaller or equal to the target FPS. The following table shows
1566
+ # the computed video FPS given the target FPS (in parenthesis) and input FPS (in
1567
+ # the first column): | | (30) | (60) | (25) | (50) | |--------|--------|--------|
1568
+ # ------|------| | 240 | Fail | Fail | Fail | Fail | | 120 | 30 | 60 | 20 | 30 |
1569
+ # | 100 | 25 | 50 | 20 | 30 | | 50 | 25 | 50 | 20 | 30 | | 60 | 30 | 60 | 20 |
1570
+ # 30 | | 59.94 | 29.97 | 59.94 | 20 | 30 | | 48 | 24 | 48 | 20 | 30 | | 30 | 30 |
1571
+ # 30 | 20 | 30 | | 25 | 25 | 25 | 20 | 30 | | 24 | 24 | 24 | 20 | 30 | | 23.976
1572
+ # | 23.976 | 23.976 | 20 | 30 | | 15 | 15 | 15 | 20 | 30 | | 12 | 12 | 12 | 20 |
1573
+ # 30 | | 10 | 10 | 10 | 20 | 30 |
1574
+ # Corresponds to the JSON property `frameRate`
1575
+ # @return [Float]
1576
+ attr_accessor :frame_rate
1577
+
1578
+ # Select the GOP size based on the specified duration. The default is `"3s"`.
1579
+ # Corresponds to the JSON property `gopDuration`
1580
+ # @return [String]
1581
+ attr_accessor :gop_duration
1582
+
1583
+ # Select the GOP size based on the specified frame count. Must be greater than
1584
+ # zero.
1585
+ # Corresponds to the JSON property `gopFrameCount`
1586
+ # @return [Fixnum]
1587
+ attr_accessor :gop_frame_count
1588
+
1589
+ # The height of the video in pixels. Must be an even integer. When not specified,
1590
+ # the height is adjusted to match the specified width and input aspect ratio.
1591
+ # If both are omitted, the input height is used.
1592
+ # Corresponds to the JSON property `heightPixels`
1593
+ # @return [Fixnum]
1594
+ attr_accessor :height_pixels
1595
+
1596
+ # Pixel format to use. The default is `"yuv420p"`. Supported pixel formats: - '
1597
+ # yuv420p' pixel format. - 'yuv422p' pixel format. - 'yuv444p' pixel format. - '
1598
+ # yuv420p10' 10-bit HDR pixel format. - 'yuv422p10' 10-bit HDR pixel format. - '
1599
+ # yuv444p10' 10-bit HDR pixel format. - 'yuv420p12' 12-bit HDR pixel format. - '
1600
+ # yuv422p12' 12-bit HDR pixel format. - 'yuv444p12' 12-bit HDR pixel format.
1601
+ # Corresponds to the JSON property `pixelFormat`
1602
+ # @return [String]
1603
+ attr_accessor :pixel_format
1604
+
1605
+ # Enforces the specified codec preset. The default is `veryfast`. The available
1606
+ # options are FFmpeg-compatible. Note that certain values for this field may
1607
+ # cause the transcoder to override other fields you set in the `VideoStream`
1608
+ # message.
1609
+ # Corresponds to the JSON property `preset`
1610
+ # @return [String]
1611
+ attr_accessor :preset
1612
+
1613
+ # Enforces the specified codec profile. The following profiles are supported: * `
1614
+ # baseline` * `main` * `high` (default) The available options are FFmpeg-
1615
+ # compatible. Note that certain values for this field may cause the transcoder
1616
+ # to override other fields you set in the `VideoStream` message.
1617
+ # Corresponds to the JSON property `profile`
1618
+ # @return [String]
1619
+ attr_accessor :profile
1620
+
1621
+ # Specify the `rate_control_mode`. The default is `"vbr"`. Supported rate
1622
+ # control modes: - 'vbr' - variable bitrate - 'crf' - constant rate factor
1623
+ # Corresponds to the JSON property `rateControlMode`
1624
+ # @return [String]
1625
+ attr_accessor :rate_control_mode
1626
+
1627
+ # Enforces the specified codec tune. The available options are FFmpeg-compatible.
1628
+ # Note that certain values for this field may cause the transcoder to override
1629
+ # other fields you set in the `VideoStream` message.
1630
+ # Corresponds to the JSON property `tune`
1631
+ # @return [String]
1632
+ attr_accessor :tune
1633
+
1634
+ # Initial fullness of the Video Buffering Verifier (VBV) buffer in bits. Must be
1635
+ # greater than zero. The default is equal to 90% of `VideoStream.vbv_size_bits`.
1636
+ # Corresponds to the JSON property `vbvFullnessBits`
1637
+ # @return [Fixnum]
1638
+ attr_accessor :vbv_fullness_bits
1639
+
1640
+ # Size of the Video Buffering Verifier (VBV) buffer in bits. Must be greater
1641
+ # than zero. The default is equal to `VideoStream.bitrate_bps`.
1642
+ # Corresponds to the JSON property `vbvSizeBits`
1643
+ # @return [Fixnum]
1644
+ attr_accessor :vbv_size_bits
1645
+
1646
+ # The width of the video in pixels. Must be an even integer. When not specified,
1647
+ # the width is adjusted to match the specified height and input aspect ratio. If
1648
+ # both are omitted, the input width is used.
1649
+ # Corresponds to the JSON property `widthPixels`
1650
+ # @return [Fixnum]
1651
+ attr_accessor :width_pixels
1652
+
1653
+ def initialize(**args)
1654
+ update!(**args)
1655
+ end
1656
+
1657
+ # Update properties of this object
1658
+ def update!(**args)
1659
+ @allow_open_gop = args[:allow_open_gop] if args.key?(:allow_open_gop)
1660
+ @aq_strength = args[:aq_strength] if args.key?(:aq_strength)
1661
+ @b_frame_count = args[:b_frame_count] if args.key?(:b_frame_count)
1662
+ @b_pyramid = args[:b_pyramid] if args.key?(:b_pyramid)
1663
+ @bitrate_bps = args[:bitrate_bps] if args.key?(:bitrate_bps)
1664
+ @codec = args[:codec] if args.key?(:codec)
1665
+ @crf_level = args[:crf_level] if args.key?(:crf_level)
1666
+ @enable_two_pass = args[:enable_two_pass] if args.key?(:enable_two_pass)
1667
+ @entropy_coder = args[:entropy_coder] if args.key?(:entropy_coder)
1668
+ @frame_rate = args[:frame_rate] if args.key?(:frame_rate)
1669
+ @gop_duration = args[:gop_duration] if args.key?(:gop_duration)
1670
+ @gop_frame_count = args[:gop_frame_count] if args.key?(:gop_frame_count)
1671
+ @height_pixels = args[:height_pixels] if args.key?(:height_pixels)
1672
+ @pixel_format = args[:pixel_format] if args.key?(:pixel_format)
1673
+ @preset = args[:preset] if args.key?(:preset)
1674
+ @profile = args[:profile] if args.key?(:profile)
1675
+ @rate_control_mode = args[:rate_control_mode] if args.key?(:rate_control_mode)
1676
+ @tune = args[:tune] if args.key?(:tune)
1677
+ @vbv_fullness_bits = args[:vbv_fullness_bits] if args.key?(:vbv_fullness_bits)
1678
+ @vbv_size_bits = args[:vbv_size_bits] if args.key?(:vbv_size_bits)
1679
+ @width_pixels = args[:width_pixels] if args.key?(:width_pixels)
1680
+ end
1681
+ end
1682
+ end
1683
+ end
1684
+ end