google-api-client 0.46.2 → 0.51.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 (556) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release-please.yml +79 -0
  3. data/.kokoro/trampoline.sh +0 -0
  4. data/CHANGELOG.md +736 -192
  5. data/Gemfile +1 -0
  6. data/Rakefile +31 -3
  7. data/generated/google/apis/accessapproval_v1.rb +1 -1
  8. data/generated/google/apis/accessapproval_v1/classes.rb +13 -15
  9. data/generated/google/apis/accessapproval_v1/service.rb +12 -9
  10. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +50 -6
  12. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +18 -0
  13. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +3 -1
  14. data/generated/google/apis/admob_v1.rb +4 -1
  15. data/generated/google/apis/admob_v1/service.rb +4 -0
  16. data/generated/google/apis/admob_v1beta.rb +38 -0
  17. data/generated/google/apis/admob_v1beta/classes.rb +1035 -0
  18. data/generated/google/apis/admob_v1beta/representations.rb +472 -0
  19. data/generated/google/apis/admob_v1beta/service.rb +279 -0
  20. data/generated/google/apis/analyticsadmin_v1alpha.rb +1 -1
  21. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +13 -12
  22. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +28 -12
  23. data/generated/google/apis/analyticsdata_v1alpha.rb +2 -2
  24. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +263 -69
  25. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +52 -14
  26. data/generated/google/apis/analyticsdata_v1alpha/service.rb +44 -33
  27. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  28. data/generated/google/apis/androidenterprise_v1/classes.rb +6 -0
  29. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -0
  30. data/generated/google/apis/androidenterprise_v1/service.rb +4 -1
  31. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  32. data/generated/google/apis/androidmanagement_v1/classes.rb +98 -30
  33. data/generated/google/apis/androidmanagement_v1/representations.rb +19 -0
  34. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  35. data/generated/google/apis/androidpublisher_v3/classes.rb +2 -1
  36. data/generated/google/apis/androidpublisher_v3/service.rb +4 -4
  37. data/generated/google/apis/apigateway_v1beta.rb +1 -1
  38. data/generated/google/apis/apigateway_v1beta/classes.rb +8 -5
  39. data/generated/google/apis/apigateway_v1beta/representations.rb +1 -0
  40. data/generated/google/apis/apigee_v1.rb +1 -1
  41. data/generated/google/apis/apigee_v1/classes.rb +378 -138
  42. data/generated/google/apis/apigee_v1/representations.rb +109 -18
  43. data/generated/google/apis/apigee_v1/service.rb +674 -56
  44. data/generated/google/apis/appengine_v1beta.rb +1 -1
  45. data/generated/google/apis/appengine_v1beta/classes.rb +8 -0
  46. data/generated/google/apis/appengine_v1beta/representations.rb +1 -0
  47. data/generated/google/apis/area120tables_v1alpha1.rb +49 -0
  48. data/generated/google/apis/area120tables_v1alpha1/classes.rb +481 -0
  49. data/generated/google/apis/area120tables_v1alpha1/representations.rb +279 -0
  50. data/generated/google/apis/area120tables_v1alpha1/service.rb +448 -0
  51. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  52. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +0 -7
  53. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +0 -1
  54. data/generated/google/apis/artifactregistry_v1beta2.rb +38 -0
  55. data/generated/google/apis/artifactregistry_v1beta2/classes.rb +1037 -0
  56. data/generated/google/apis/artifactregistry_v1beta2/representations.rb +443 -0
  57. data/generated/google/apis/artifactregistry_v1beta2/service.rb +944 -0
  58. data/generated/google/apis/{assuredworkloads_v1beta1.rb → assuredworkloads_v1.rb} +6 -6
  59. data/generated/google/apis/{assuredworkloads_v1beta1 → assuredworkloads_v1}/classes.rb +69 -137
  60. data/generated/google/apis/{assuredworkloads_v1beta1 → assuredworkloads_v1}/representations.rb +29 -87
  61. data/generated/google/apis/{assuredworkloads_v1beta1 → assuredworkloads_v1}/service.rb +46 -46
  62. data/generated/google/apis/bigquery_v2.rb +1 -1
  63. data/generated/google/apis/bigquery_v2/classes.rb +78 -0
  64. data/generated/google/apis/bigquery_v2/representations.rb +34 -0
  65. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  66. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -0
  67. data/generated/google/apis/bigqueryconnection_v1beta1/representations.rb +1 -0
  68. data/generated/google/apis/billingbudgets_v1.rb +1 -1
  69. data/generated/google/apis/billingbudgets_v1/classes.rb +11 -0
  70. data/generated/google/apis/billingbudgets_v1/representations.rb +1 -0
  71. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  72. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +11 -0
  73. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +1 -0
  74. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  75. data/generated/google/apis/binaryauthorization_v1/classes.rb +2 -9
  76. data/generated/google/apis/binaryauthorization_v1/representations.rb +0 -1
  77. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  78. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +4 -10
  79. data/generated/google/apis/binaryauthorization_v1beta1/representations.rb +0 -1
  80. data/generated/google/apis/books_v1.rb +1 -1
  81. data/generated/google/apis/books_v1/service.rb +52 -52
  82. data/generated/google/apis/calendar_v3.rb +1 -1
  83. data/generated/google/apis/calendar_v3/classes.rb +2 -2
  84. data/generated/google/apis/chat_v1.rb +1 -1
  85. data/generated/google/apis/chat_v1/classes.rb +7 -0
  86. data/generated/google/apis/chat_v1/representations.rb +1 -0
  87. data/generated/google/apis/chat_v1/service.rb +176 -0
  88. data/generated/google/apis/cloudasset_v1.rb +1 -1
  89. data/generated/google/apis/cloudasset_v1/classes.rb +1125 -0
  90. data/generated/google/apis/cloudasset_v1/representations.rb +474 -0
  91. data/generated/google/apis/cloudasset_v1/service.rb +171 -0
  92. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  93. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  94. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  95. data/generated/google/apis/cloudasset_v1p5beta1.rb +1 -1
  96. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  97. data/generated/google/apis/cloudbilling_v1/classes.rb +1 -1
  98. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  99. data/generated/google/apis/cloudbuild_v1/classes.rb +3 -2
  100. data/generated/google/apis/cloudbuild_v1/service.rb +11 -3
  101. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  102. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  103. data/generated/google/apis/cloudidentity_v1/service.rb +15 -7
  104. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  105. data/generated/google/apis/cloudidentity_v1beta1/service.rb +37 -21
  106. data/generated/google/apis/cloudiot_v1.rb +1 -1
  107. data/generated/google/apis/cloudiot_v1/classes.rb +0 -7
  108. data/generated/google/apis/cloudiot_v1/representations.rb +0 -1
  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/cloudsearch_v1.rb +1 -1
  126. data/generated/google/apis/cloudsearch_v1/classes.rb +10 -5
  127. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  128. data/generated/google/apis/cloudtasks_v2/classes.rb +0 -7
  129. data/generated/google/apis/cloudtasks_v2/representations.rb +0 -1
  130. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  131. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +0 -7
  132. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +0 -1
  133. data/generated/google/apis/cloudtasks_v2beta2/service.rb +12 -2
  134. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  135. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +0 -7
  136. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +0 -1
  137. data/generated/google/apis/composer_v1.rb +1 -1
  138. data/generated/google/apis/composer_v1/classes.rb +123 -0
  139. data/generated/google/apis/composer_v1/representations.rb +49 -0
  140. data/generated/google/apis/composer_v1/service.rb +19 -15
  141. data/generated/google/apis/composer_v1beta1.rb +1 -1
  142. data/generated/google/apis/composer_v1beta1/classes.rb +109 -0
  143. data/generated/google/apis/composer_v1beta1/representations.rb +46 -0
  144. data/generated/google/apis/composer_v1beta1/service.rb +39 -1
  145. data/generated/google/apis/compute_v1.rb +1 -1
  146. data/generated/google/apis/compute_v1/classes.rb +289 -31
  147. data/generated/google/apis/compute_v1/representations.rb +44 -0
  148. data/generated/google/apis/compute_v1/service.rb +695 -545
  149. data/generated/google/apis/container_v1beta1.rb +1 -1
  150. data/generated/google/apis/container_v1beta1/classes.rb +29 -0
  151. data/generated/google/apis/container_v1beta1/representations.rb +15 -0
  152. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  153. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +0 -7
  154. data/generated/google/apis/containeranalysis_v1alpha1/representations.rb +0 -1
  155. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  156. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +2 -8
  157. data/generated/google/apis/containeranalysis_v1beta1/representations.rb +0 -1
  158. data/generated/google/apis/content_v2.rb +3 -4
  159. data/generated/google/apis/content_v2/classes.rb +514 -1222
  160. data/generated/google/apis/content_v2/service.rb +380 -651
  161. data/generated/google/apis/content_v2_1.rb +3 -4
  162. data/generated/google/apis/content_v2_1/classes.rb +1522 -1062
  163. data/generated/google/apis/content_v2_1/representations.rb +420 -0
  164. data/generated/google/apis/content_v2_1/service.rb +1127 -809
  165. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  166. data/generated/google/apis/datacatalog_v1beta1/classes.rb +25 -17
  167. data/generated/google/apis/datacatalog_v1beta1/representations.rb +5 -1
  168. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  169. data/generated/google/apis/dataflow_v1b3/classes.rb +29 -1
  170. data/generated/google/apis/dataflow_v1b3/representations.rb +5 -0
  171. data/generated/google/apis/datalabeling_v1beta1.rb +34 -0
  172. data/generated/google/apis/datalabeling_v1beta1/classes.rb +6207 -0
  173. data/generated/google/apis/datalabeling_v1beta1/representations.rb +3156 -0
  174. data/generated/google/apis/datalabeling_v1beta1/service.rb +1762 -0
  175. data/generated/google/apis/datamigration_v1beta1.rb +34 -0
  176. data/generated/google/apis/datamigration_v1beta1/classes.rb +1670 -0
  177. data/generated/google/apis/datamigration_v1beta1/representations.rb +678 -0
  178. data/generated/google/apis/datamigration_v1beta1/service.rb +1172 -0
  179. data/generated/google/apis/dataproc_v1.rb +1 -1
  180. data/generated/google/apis/dataproc_v1/classes.rb +95 -12
  181. data/generated/google/apis/dataproc_v1/representations.rb +23 -1
  182. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  183. data/generated/google/apis/dataproc_v1beta2/classes.rb +63 -12
  184. data/generated/google/apis/dataproc_v1beta2/representations.rb +19 -1
  185. data/generated/google/apis/datastore_v1.rb +1 -1
  186. data/generated/google/apis/datastore_v1/classes.rb +4 -4
  187. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  188. data/generated/google/apis/datastore_v1beta3/classes.rb +4 -4
  189. data/generated/google/apis/deploymentmanager_v2.rb +6 -4
  190. data/generated/google/apis/deploymentmanager_v2/classes.rb +203 -558
  191. data/generated/google/apis/deploymentmanager_v2/representations.rb +0 -132
  192. data/generated/google/apis/deploymentmanager_v2/service.rb +169 -213
  193. data/generated/google/apis/deploymentmanager_v2beta.rb +6 -5
  194. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +247 -609
  195. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +0 -132
  196. data/generated/google/apis/deploymentmanager_v2beta/service.rb +278 -359
  197. data/generated/google/apis/dfareporting_v3_3.rb +2 -2
  198. data/generated/google/apis/dfareporting_v3_3/classes.rb +6 -6
  199. data/generated/google/apis/dfareporting_v3_3/service.rb +12 -12
  200. data/generated/google/apis/dfareporting_v3_4.rb +2 -2
  201. data/generated/google/apis/dfareporting_v3_4/classes.rb +6 -6
  202. data/generated/google/apis/dfareporting_v3_4/service.rb +12 -12
  203. data/generated/google/apis/dialogflow_v2.rb +1 -1
  204. data/generated/google/apis/dialogflow_v2/classes.rb +19 -387
  205. data/generated/google/apis/dialogflow_v2/representations.rb +1 -212
  206. data/generated/google/apis/dialogflow_v2/service.rb +12 -4
  207. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  208. data/generated/google/apis/dialogflow_v2beta1/classes.rb +17 -390
  209. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1 -212
  210. data/generated/google/apis/dialogflow_v2beta1/service.rb +510 -40
  211. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  212. data/generated/google/apis/dialogflow_v3beta1/classes.rb +76 -387
  213. data/generated/google/apis/dialogflow_v3beta1/representations.rb +20 -212
  214. data/generated/google/apis/dialogflow_v3beta1/service.rb +11 -3
  215. data/generated/google/apis/displayvideo_v1.rb +1 -1
  216. data/generated/google/apis/displayvideo_v1/classes.rb +306 -34
  217. data/generated/google/apis/displayvideo_v1/representations.rb +122 -0
  218. data/generated/google/apis/displayvideo_v1/service.rb +342 -38
  219. data/generated/google/apis/dlp_v2.rb +1 -1
  220. data/generated/google/apis/dlp_v2/classes.rb +35 -29
  221. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  222. data/generated/google/apis/dns_v1.rb +2 -2
  223. data/generated/google/apis/dns_v1/classes.rb +6 -0
  224. data/generated/google/apis/dns_v1/representations.rb +1 -0
  225. data/generated/google/apis/dns_v1/service.rb +1 -1
  226. data/generated/google/apis/dns_v1beta2.rb +2 -2
  227. data/generated/google/apis/dns_v1beta2/classes.rb +20 -1
  228. data/generated/google/apis/dns_v1beta2/representations.rb +13 -0
  229. data/generated/google/apis/dns_v1beta2/service.rb +177 -1
  230. data/generated/google/apis/domains_v1alpha2.rb +1 -1
  231. data/generated/google/apis/domains_v1beta1.rb +1 -1
  232. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  233. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +3 -2
  234. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  235. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +3 -2
  236. data/generated/google/apis/drive_v2.rb +1 -1
  237. data/generated/google/apis/drive_v2/classes.rb +24 -21
  238. data/generated/google/apis/drive_v2/service.rb +26 -58
  239. data/generated/google/apis/drive_v3.rb +1 -1
  240. data/generated/google/apis/drive_v3/classes.rb +12 -8
  241. data/generated/google/apis/drive_v3/service.rb +14 -30
  242. data/generated/google/apis/eventarc_v1beta1.rb +34 -0
  243. data/generated/google/apis/eventarc_v1beta1/classes.rb +931 -0
  244. data/generated/google/apis/eventarc_v1beta1/representations.rb +379 -0
  245. data/generated/google/apis/eventarc_v1beta1/service.rb +579 -0
  246. data/generated/google/apis/file_v1.rb +1 -1
  247. data/generated/google/apis/file_v1/classes.rb +505 -4
  248. data/generated/google/apis/file_v1/representations.rb +203 -0
  249. data/generated/google/apis/file_v1/service.rb +229 -1
  250. data/generated/google/apis/file_v1beta1.rb +1 -1
  251. data/generated/google/apis/file_v1beta1/classes.rb +346 -6
  252. data/generated/google/apis/file_v1beta1/representations.rb +149 -0
  253. data/generated/google/apis/file_v1beta1/service.rb +6 -2
  254. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  255. data/generated/google/apis/firebase_v1beta1/service.rb +17 -4
  256. data/generated/google/apis/firebasedatabase_v1beta.rb +44 -0
  257. data/generated/google/apis/firebasedatabase_v1beta/classes.rb +130 -0
  258. data/generated/google/apis/{displayvideo_v1dev → firebasedatabase_v1beta}/representations.rb +26 -16
  259. data/generated/google/apis/firebasedatabase_v1beta/service.rb +292 -0
  260. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  261. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +2 -0
  262. data/generated/google/apis/firestore_v1.rb +1 -1
  263. data/generated/google/apis/firestore_v1/classes.rb +4 -4
  264. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  265. data/generated/google/apis/firestore_v1beta1/classes.rb +4 -4
  266. data/generated/google/apis/games_v1.rb +1 -1
  267. data/generated/google/apis/games_v1/classes.rb +353 -0
  268. data/generated/google/apis/games_v1/representations.rb +145 -0
  269. data/generated/google/apis/games_v1/service.rb +67 -0
  270. data/generated/google/apis/gameservices_v1.rb +1 -1
  271. data/generated/google/apis/gameservices_v1/classes.rb +1 -2
  272. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  273. data/generated/google/apis/gameservices_v1beta/classes.rb +1 -2
  274. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  275. data/generated/google/apis/genomics_v2alpha1/classes.rb +25 -0
  276. data/generated/google/apis/genomics_v2alpha1/representations.rb +15 -0
  277. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +1 -1
  278. data/generated/google/apis/gmailpostmastertools_v1beta1/classes.rb +9 -0
  279. data/generated/google/apis/gmailpostmastertools_v1beta1/representations.rb +1 -0
  280. data/generated/google/apis/healthcare_v1.rb +1 -1
  281. data/generated/google/apis/healthcare_v1/classes.rb +24 -17
  282. data/generated/google/apis/healthcare_v1/representations.rb +1 -0
  283. data/generated/google/apis/healthcare_v1/service.rb +2 -1
  284. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  285. data/generated/google/apis/healthcare_v1beta1/classes.rb +361 -57
  286. data/generated/google/apis/healthcare_v1beta1/representations.rb +150 -18
  287. data/generated/google/apis/healthcare_v1beta1/service.rb +91 -13
  288. data/generated/google/apis/iam_v1.rb +2 -5
  289. data/generated/google/apis/iam_v1/classes.rb +109 -11
  290. data/generated/google/apis/iam_v1/representations.rb +33 -1
  291. data/generated/google/apis/iam_v1/service.rb +63 -4
  292. data/generated/google/apis/iamcredentials_v1.rb +3 -4
  293. data/generated/google/apis/iamcredentials_v1/service.rb +2 -3
  294. data/generated/google/apis/iap_v1.rb +1 -1
  295. data/generated/google/apis/iap_v1/classes.rb +1 -13
  296. data/generated/google/apis/iap_v1/representations.rb +0 -1
  297. data/generated/google/apis/iap_v1beta1.rb +1 -1
  298. data/generated/google/apis/iap_v1beta1/classes.rb +1 -2
  299. data/generated/google/apis/jobs_v3.rb +1 -1
  300. data/generated/google/apis/jobs_v3/classes.rb +9 -807
  301. data/generated/google/apis/jobs_v3/representations.rb +0 -272
  302. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  303. data/generated/google/apis/jobs_v3p1beta1/classes.rb +9 -768
  304. data/generated/google/apis/jobs_v3p1beta1/representations.rb +0 -257
  305. data/generated/google/apis/{jobs_v2.rb → jobs_v4.rb} +6 -6
  306. data/generated/google/apis/jobs_v4/classes.rb +2699 -0
  307. data/generated/google/apis/jobs_v4/representations.rb +934 -0
  308. data/generated/google/apis/jobs_v4/service.rb +903 -0
  309. data/generated/google/apis/licensing_v1.rb +1 -1
  310. data/generated/google/apis/licensing_v1/classes.rb +26 -8
  311. data/generated/google/apis/licensing_v1/representations.rb +12 -0
  312. data/generated/google/apis/licensing_v1/service.rb +34 -31
  313. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  314. data/generated/google/apis/lifesciences_v2beta/classes.rb +25 -0
  315. data/generated/google/apis/lifesciences_v2beta/representations.rb +15 -0
  316. data/generated/google/apis/localservices_v1.rb +1 -1
  317. data/generated/google/apis/localservices_v1/classes.rb +7 -0
  318. data/generated/google/apis/localservices_v1/representations.rb +2 -0
  319. data/generated/google/apis/logging_v2.rb +1 -1
  320. data/generated/google/apis/logging_v2/classes.rb +191 -14
  321. data/generated/google/apis/logging_v2/representations.rb +77 -0
  322. data/generated/google/apis/logging_v2/service.rb +446 -25
  323. data/generated/google/apis/managedidentities_v1.rb +1 -1
  324. data/generated/google/apis/managedidentities_v1/classes.rb +361 -16
  325. data/generated/google/apis/managedidentities_v1/representations.rb +149 -1
  326. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  327. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +363 -17
  328. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +149 -1
  329. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  330. data/generated/google/apis/managedidentities_v1beta1/classes.rb +349 -12
  331. data/generated/google/apis/managedidentities_v1beta1/representations.rb +149 -1
  332. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  333. data/generated/google/apis/memcache_v1beta2/classes.rb +345 -4
  334. data/generated/google/apis/memcache_v1beta2/representations.rb +149 -0
  335. data/generated/google/apis/ml_v1.rb +1 -1
  336. data/generated/google/apis/ml_v1/classes.rb +272 -84
  337. data/generated/google/apis/ml_v1/representations.rb +43 -1
  338. data/generated/google/apis/ml_v1/service.rb +35 -0
  339. data/generated/google/apis/monitoring_v3.rb +1 -1
  340. data/generated/google/apis/monitoring_v3/classes.rb +16 -9
  341. data/generated/google/apis/monitoring_v3/service.rb +55 -5
  342. data/generated/google/apis/networkmanagement_v1.rb +1 -1
  343. data/generated/google/apis/networkmanagement_v1/classes.rb +6 -0
  344. data/generated/google/apis/networkmanagement_v1/representations.rb +1 -0
  345. data/generated/google/apis/networkmanagement_v1beta1.rb +1 -1
  346. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +57 -0
  347. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +31 -0
  348. data/generated/google/apis/notebooks_v1.rb +34 -0
  349. data/generated/google/apis/notebooks_v1/classes.rb +1455 -0
  350. data/generated/google/apis/notebooks_v1/representations.rb +580 -0
  351. data/generated/google/apis/notebooks_v1/service.rb +1042 -0
  352. data/generated/google/apis/osconfig_v1.rb +1 -1
  353. data/generated/google/apis/osconfig_v1/classes.rb +419 -0
  354. data/generated/google/apis/osconfig_v1/representations.rb +168 -0
  355. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  356. data/generated/google/apis/osconfig_v1beta/classes.rb +419 -0
  357. data/generated/google/apis/osconfig_v1beta/representations.rb +168 -0
  358. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  359. data/generated/google/apis/pagespeedonline_v5/service.rb +3 -3
  360. data/generated/google/apis/people_v1.rb +1 -1
  361. data/generated/google/apis/people_v1/classes.rb +10 -6
  362. data/generated/google/apis/people_v1/service.rb +21 -18
  363. data/generated/google/apis/playcustomapp_v1.rb +1 -1
  364. data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
  365. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  366. data/generated/google/apis/privateca_v1beta1.rb +36 -0
  367. data/generated/google/apis/privateca_v1beta1/classes.rb +2466 -0
  368. data/generated/google/apis/privateca_v1beta1/representations.rb +996 -0
  369. data/generated/google/apis/privateca_v1beta1/service.rb +1437 -0
  370. data/generated/google/apis/pubsub_v1.rb +1 -1
  371. data/generated/google/apis/pubsub_v1/classes.rb +0 -7
  372. data/generated/google/apis/pubsub_v1/representations.rb +0 -1
  373. data/generated/google/apis/pubsub_v1/service.rb +2 -2
  374. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  375. data/generated/google/apis/pubsub_v1beta2/classes.rb +0 -7
  376. data/generated/google/apis/pubsub_v1beta2/representations.rb +0 -1
  377. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  378. data/generated/google/apis/realtimebidding_v1/classes.rb +545 -0
  379. data/generated/google/apis/realtimebidding_v1/representations.rb +232 -0
  380. data/generated/google/apis/realtimebidding_v1/service.rb +450 -0
  381. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  382. data/generated/google/apis/recommendationengine_v1beta1/classes.rb +32 -0
  383. data/generated/google/apis/recommendationengine_v1beta1/representations.rb +25 -0
  384. data/generated/google/apis/recommender_v1.rb +1 -1
  385. data/generated/google/apis/recommender_v1/classes.rb +3 -3
  386. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  387. data/generated/google/apis/recommender_v1beta1/classes.rb +3 -3
  388. data/generated/google/apis/redis_v1.rb +1 -1
  389. data/generated/google/apis/redis_v1/classes.rb +86 -0
  390. data/generated/google/apis/redis_v1/representations.rb +34 -0
  391. data/generated/google/apis/redis_v1/service.rb +34 -0
  392. data/generated/google/apis/redis_v1beta1.rb +1 -1
  393. data/generated/google/apis/redis_v1beta1/classes.rb +58 -0
  394. data/generated/google/apis/redis_v1beta1/representations.rb +20 -0
  395. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  396. data/generated/google/apis/remotebuildexecution_v1/classes.rb +5 -30
  397. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -16
  398. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  399. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +5 -30
  400. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -16
  401. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  402. data/generated/google/apis/remotebuildexecution_v2/classes.rb +5 -30
  403. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -16
  404. data/generated/google/apis/reseller_v1.rb +4 -4
  405. data/generated/google/apis/reseller_v1/service.rb +5 -5
  406. data/generated/google/apis/run_v1.rb +1 -1
  407. data/generated/google/apis/run_v1/classes.rb +2 -1
  408. data/generated/google/apis/run_v1alpha1.rb +1 -1
  409. data/generated/google/apis/run_v1alpha1/classes.rb +2 -1
  410. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  411. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +0 -7
  412. data/generated/google/apis/runtimeconfig_v1beta1/representations.rb +0 -1
  413. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  414. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  415. data/generated/google/apis/sasportal_v1alpha1/service.rb +109 -0
  416. data/generated/google/apis/secretmanager_v1.rb +1 -1
  417. data/generated/google/apis/secretmanager_v1/classes.rb +0 -7
  418. data/generated/google/apis/secretmanager_v1/representations.rb +0 -1
  419. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  420. data/generated/google/apis/secretmanager_v1beta1/classes.rb +0 -7
  421. data/generated/google/apis/secretmanager_v1beta1/representations.rb +0 -1
  422. data/generated/google/apis/securitycenter_v1.rb +1 -1
  423. data/generated/google/apis/securitycenter_v1/classes.rb +91 -0
  424. data/generated/google/apis/securitycenter_v1/representations.rb +37 -0
  425. data/generated/google/apis/securitycenter_v1/service.rb +1448 -414
  426. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  427. data/generated/google/apis/securitycenter_v1beta1/classes.rb +68 -0
  428. data/generated/google/apis/securitycenter_v1beta1/representations.rb +32 -0
  429. data/generated/google/apis/securitycenter_v1beta2.rb +1 -1
  430. data/generated/google/apis/securitycenter_v1beta2/classes.rb +68 -0
  431. data/generated/google/apis/securitycenter_v1beta2/representations.rb +32 -0
  432. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  433. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +6 -64
  434. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +0 -18
  435. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  436. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +6 -64
  437. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +0 -18
  438. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  439. data/generated/google/apis/servicecontrol_v1/classes.rb +77 -2
  440. data/generated/google/apis/servicecontrol_v1/representations.rb +10 -0
  441. data/generated/google/apis/servicecontrol_v2.rb +1 -1
  442. data/generated/google/apis/servicecontrol_v2/classes.rb +62 -0
  443. data/generated/google/apis/servicecontrol_v2/representations.rb +8 -0
  444. data/generated/google/apis/servicedirectory_v1beta1.rb +1 -1
  445. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +26 -13
  446. data/generated/google/apis/servicedirectory_v1beta1/representations.rb +0 -1
  447. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  448. data/generated/google/apis/servicemanagement_v1/classes.rb +6 -64
  449. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -18
  450. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  451. data/generated/google/apis/servicenetworking_v1/classes.rb +156 -64
  452. data/generated/google/apis/servicenetworking_v1/representations.rb +62 -15
  453. data/generated/google/apis/servicenetworking_v1/service.rb +80 -0
  454. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  455. data/generated/google/apis/servicenetworking_v1beta/classes.rb +69 -64
  456. data/generated/google/apis/servicenetworking_v1beta/representations.rb +29 -15
  457. data/generated/google/apis/serviceusage_v1.rb +1 -1
  458. data/generated/google/apis/serviceusage_v1/classes.rb +6 -64
  459. data/generated/google/apis/serviceusage_v1/representations.rb +0 -18
  460. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  461. data/generated/google/apis/serviceusage_v1beta1/classes.rb +36 -64
  462. data/generated/google/apis/serviceusage_v1beta1/representations.rb +15 -18
  463. data/generated/google/apis/serviceusage_v1beta1/service.rb +36 -0
  464. data/generated/google/apis/sheets_v4.rb +1 -1
  465. data/generated/google/apis/sheets_v4/classes.rb +332 -7
  466. data/generated/google/apis/sheets_v4/representations.rb +102 -0
  467. data/generated/google/apis/slides_v1.rb +1 -1
  468. data/generated/google/apis/smartdevicemanagement_v1.rb +1 -1
  469. data/generated/google/apis/smartdevicemanagement_v1/classes.rb +0 -34
  470. data/generated/google/apis/smartdevicemanagement_v1/representations.rb +0 -16
  471. data/generated/google/apis/smartdevicemanagement_v1/service.rb +3 -8
  472. data/generated/google/apis/spanner_v1.rb +1 -1
  473. data/generated/google/apis/spanner_v1/classes.rb +10 -8
  474. data/generated/google/apis/spanner_v1/representations.rb +1 -1
  475. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  476. data/generated/google/apis/speech_v1p1beta1/classes.rb +22 -0
  477. data/generated/google/apis/speech_v1p1beta1/representations.rb +2 -0
  478. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  479. data/generated/google/apis/sqladmin_v1beta4/classes.rb +118 -11
  480. data/generated/google/apis/sqladmin_v1beta4/representations.rb +37 -0
  481. data/generated/google/apis/sqladmin_v1beta4/service.rb +1 -1
  482. data/generated/google/apis/storage_v1.rb +1 -1
  483. data/generated/google/apis/storage_v1/classes.rb +7 -0
  484. data/generated/google/apis/storage_v1/representations.rb +1 -0
  485. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  486. data/generated/google/apis/storagetransfer_v1/classes.rb +72 -50
  487. data/generated/google/apis/storagetransfer_v1/representations.rb +3 -0
  488. data/generated/google/apis/storagetransfer_v1/service.rb +3 -3
  489. data/generated/google/apis/tagmanager_v2.rb +1 -1
  490. data/generated/google/apis/tagmanager_v2/classes.rb +12 -0
  491. data/generated/google/apis/tagmanager_v2/representations.rb +3 -0
  492. data/generated/google/apis/testing_v1.rb +1 -1
  493. data/generated/google/apis/testing_v1/classes.rb +45 -33
  494. data/generated/google/apis/testing_v1/representations.rb +1 -0
  495. data/generated/google/apis/testing_v1/service.rb +4 -4
  496. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  497. data/generated/google/apis/toolresults_v1beta3/classes.rb +13 -0
  498. data/generated/google/apis/toolresults_v1beta3/representations.rb +12 -0
  499. data/generated/google/apis/transcoder_v1beta1.rb +34 -0
  500. data/generated/google/apis/transcoder_v1beta1/classes.rb +1684 -0
  501. data/generated/google/apis/transcoder_v1beta1/representations.rb +756 -0
  502. data/generated/google/apis/transcoder_v1beta1/service.rb +329 -0
  503. data/generated/google/apis/translate_v3.rb +1 -1
  504. data/generated/google/apis/translate_v3/classes.rb +2 -1
  505. data/generated/google/apis/translate_v3beta1.rb +1 -1
  506. data/generated/google/apis/translate_v3beta1/classes.rb +2 -1
  507. data/generated/google/apis/vault_v1.rb +1 -1
  508. data/generated/google/apis/vault_v1/classes.rb +76 -0
  509. data/generated/google/apis/vault_v1/representations.rb +45 -0
  510. data/generated/google/apis/vectortile_v1.rb +1 -1
  511. data/generated/google/apis/vectortile_v1/classes.rb +59 -4
  512. data/generated/google/apis/vectortile_v1/representations.rb +19 -0
  513. data/generated/google/apis/videointelligence_v1.rb +1 -1
  514. data/generated/google/apis/videointelligence_v1/classes.rb +65 -0
  515. data/generated/google/apis/videointelligence_v1/representations.rb +15 -0
  516. data/generated/google/apis/videointelligence_v1/service.rb +0 -62
  517. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  518. data/generated/google/apis/videointelligence_v1beta2/classes.rb +65 -0
  519. data/generated/google/apis/videointelligence_v1beta2/representations.rb +15 -0
  520. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  521. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +65 -0
  522. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +15 -0
  523. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  524. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +65 -0
  525. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +15 -0
  526. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  527. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +65 -0
  528. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +15 -0
  529. data/generated/google/apis/vision_v1.rb +1 -1
  530. data/generated/google/apis/vision_v1/classes.rb +16 -16
  531. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  532. data/generated/google/apis/vision_v1p1beta1/classes.rb +16 -16
  533. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  534. data/generated/google/apis/vision_v1p2beta1/classes.rb +16 -16
  535. data/generated/google/apis/youtube_v3.rb +1 -1
  536. data/generated/google/apis/youtube_v3/classes.rb +2 -2
  537. data/generated/google/apis/youtube_v3/service.rb +6 -6
  538. data/google-api-client.gemspec +25 -25
  539. data/lib/google/apis/core/http_command.rb +2 -1
  540. data/lib/google/apis/options.rb +8 -5
  541. data/lib/google/apis/version.rb +1 -1
  542. metadata +53 -24
  543. data/generated/google/apis/displayvideo_v1beta.rb +0 -38
  544. data/generated/google/apis/displayvideo_v1beta/classes.rb +0 -146
  545. data/generated/google/apis/displayvideo_v1beta/representations.rb +0 -72
  546. data/generated/google/apis/displayvideo_v1beta/service.rb +0 -161
  547. data/generated/google/apis/displayvideo_v1beta2.rb +0 -38
  548. data/generated/google/apis/displayvideo_v1beta2/classes.rb +0 -146
  549. data/generated/google/apis/displayvideo_v1beta2/representations.rb +0 -72
  550. data/generated/google/apis/displayvideo_v1beta2/service.rb +0 -130
  551. data/generated/google/apis/displayvideo_v1dev.rb +0 -38
  552. data/generated/google/apis/displayvideo_v1dev/classes.rb +0 -146
  553. data/generated/google/apis/displayvideo_v1dev/service.rb +0 -130
  554. data/generated/google/apis/jobs_v2/classes.rb +0 -4012
  555. data/generated/google/apis/jobs_v2/representations.rb +0 -1396
  556. data/generated/google/apis/jobs_v2/service.rb +0 -693
@@ -350,6 +350,9 @@ module Google
350
350
  class Schedule
351
351
  # @private
352
352
  class Representation < Google::Apis::Core::JsonRepresentation
353
+ property :end_time_of_day, as: 'endTimeOfDay', class: Google::Apis::StoragetransferV1::TimeOfDay, decorator: Google::Apis::StoragetransferV1::TimeOfDay::Representation
354
+
355
+ property :repeat_interval, as: 'repeatInterval'
353
356
  property :schedule_end_date, as: 'scheduleEndDate', class: Google::Apis::StoragetransferV1::Date, decorator: Google::Apis::StoragetransferV1::Date::Representation
354
357
 
355
358
  property :schedule_start_date, as: 'scheduleStartDate', class: Google::Apis::StoragetransferV1::Date, decorator: Google::Apis::StoragetransferV1::Date::Representation
@@ -191,9 +191,9 @@ module Google
191
191
  end
192
192
 
193
193
  # Updates a transfer job. Updating a job's transfer spec does not affect
194
- # transfer operations that are running already. Updating a job's schedule is not
195
- # allowed. **Note:** The job's status field can be modified using this RPC (for
196
- # example, to set a job's status to DELETED, DISABLED, or ENABLED).
194
+ # transfer operations that are running already. **Note:** The job's status field
195
+ # can be modified using this RPC (for example, to set a job's status to DELETED,
196
+ # DISABLED, or ENABLED).
197
197
  # @param [String] job_name
198
198
  # Required. The name of job to update.
199
199
  # @param [Google::Apis::StoragetransferV1::UpdateTransferJobRequest] update_transfer_job_request_object
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/tag-manager
26
26
  module TagmanagerV2
27
27
  VERSION = 'V2'
28
- REVISION = '20200916'
28
+ REVISION = '20201022'
29
29
 
30
30
  # Delete your Google Tag Manager containers
31
31
  AUTH_TAGMANAGER_DELETE_CONTAINERS = 'https://www.googleapis.com/auth/tagmanager.delete.containers'
@@ -546,6 +546,11 @@ module Google
546
546
  # @return [String]
547
547
  attr_accessor :name
548
548
 
549
+ # Number of clients in the container version.
550
+ # Corresponds to the JSON property `numClients`
551
+ # @return [String]
552
+ attr_accessor :num_clients
553
+
549
554
  # Number of custom templates in the container version.
550
555
  # Corresponds to the JSON property `numCustomTemplates`
551
556
  # @return [String]
@@ -597,6 +602,7 @@ module Google
597
602
  @container_version_id = args[:container_version_id] if args.key?(:container_version_id)
598
603
  @deleted = args[:deleted] if args.key?(:deleted)
599
604
  @name = args[:name] if args.key?(:name)
605
+ @num_clients = args[:num_clients] if args.key?(:num_clients)
600
606
  @num_custom_templates = args[:num_custom_templates] if args.key?(:num_custom_templates)
601
607
  @num_macros = args[:num_macros] if args.key?(:num_macros)
602
608
  @num_rules = args[:num_rules] if args.key?(:num_rules)
@@ -776,6 +782,11 @@ module Google
776
782
  # @return [String]
777
783
  attr_accessor :change_status
778
784
 
785
+ # The client being represented by the entity.
786
+ # Corresponds to the JSON property `client`
787
+ # @return [Google::Apis::TagmanagerV2::Client]
788
+ attr_accessor :client
789
+
779
790
  # Represents a Google Tag Manager Folder.
780
791
  # Corresponds to the JSON property `folder`
781
792
  # @return [Google::Apis::TagmanagerV2::Folder]
@@ -803,6 +814,7 @@ module Google
803
814
  # Update properties of this object
804
815
  def update!(**args)
805
816
  @change_status = args[:change_status] if args.key?(:change_status)
817
+ @client = args[:client] if args.key?(:client)
806
818
  @folder = args[:folder] if args.key?(:folder)
807
819
  @tag = args[:tag] if args.key?(:tag)
808
820
  @trigger = args[:trigger] if args.key?(:trigger)
@@ -488,6 +488,7 @@ module Google
488
488
  property :container_version_id, as: 'containerVersionId'
489
489
  property :deleted, as: 'deleted'
490
490
  property :name, as: 'name'
491
+ property :num_clients, as: 'numClients'
491
492
  property :num_custom_templates, as: 'numCustomTemplates'
492
493
  property :num_macros, as: 'numMacros'
493
494
  property :num_rules, as: 'numRules'
@@ -548,6 +549,8 @@ module Google
548
549
  # @private
549
550
  class Representation < Google::Apis::Core::JsonRepresentation
550
551
  property :change_status, as: 'changeStatus'
552
+ property :client, as: 'client', class: Google::Apis::TagmanagerV2::Client, decorator: Google::Apis::TagmanagerV2::Client::Representation
553
+
551
554
  property :folder, as: 'folder', class: Google::Apis::TagmanagerV2::Folder, decorator: Google::Apis::TagmanagerV2::Folder::Representation
552
555
 
553
556
  property :tag, as: 'tag', class: Google::Apis::TagmanagerV2::Tag, decorator: Google::Apis::TagmanagerV2::Tag::Representation
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/cloud-test-lab/
27
27
  module TestingV1
28
28
  VERSION = 'V1'
29
- REVISION = '20201001'
29
+ REVISION = '20201019'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -382,7 +382,7 @@ module Google
382
382
  end
383
383
 
384
384
  # A test of an android application that explores the application on a virtual or
385
- # physical Android Device, finding culprits and crashes as it goes. Next tag: 29
385
+ # physical Android Device, finding culprits and crashes as it goes. Next tag: 30
386
386
  class AndroidRoboTest
387
387
  include Google::Apis::Core::Hashable
388
388
 
@@ -562,14 +562,14 @@ module Google
562
562
  # @return [String]
563
563
  attr_accessor :id
564
564
 
565
- # Represents a whole or partial calendar date, e.g. a birthday. The time of day
566
- # and time zone are either specified elsewhere or are not significant. The date
567
- # is relative to the Proleptic Gregorian Calendar. This can represent: * A full
568
- # date, with non-zero year, month and day values * A month and day value, with a
569
- # zero year, e.g. an anniversary * A year on its own, with zero month and day
570
- # values * A year and month value, with a zero day, e.g. a credit card
571
- # expiration date Related types are google.type.TimeOfDay and `google.protobuf.
572
- # Timestamp`.
565
+ # Represents a whole or partial calendar date, such as a birthday. The time of
566
+ # day and time zone are either specified elsewhere or are insignificant. The
567
+ # date is relative to the Gregorian Calendar. This can represent one of the
568
+ # following: * A full date, with non-zero year, month, and day values * A month
569
+ # and day value, with a zero year, such as an anniversary * A year on its own,
570
+ # with zero month and day values * A year and month value, with a zero day, such
571
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
572
+ # google.protobuf.Timestamp`.
573
573
  # Corresponds to the JSON property `releaseDate`
574
574
  # @return [Google::Apis::TestingV1::Date]
575
575
  attr_accessor :release_date
@@ -790,31 +790,31 @@ module Google
790
790
  end
791
791
  end
792
792
 
793
- # Represents a whole or partial calendar date, e.g. a birthday. The time of day
794
- # and time zone are either specified elsewhere or are not significant. The date
795
- # is relative to the Proleptic Gregorian Calendar. This can represent: * A full
796
- # date, with non-zero year, month and day values * A month and day value, with a
797
- # zero year, e.g. an anniversary * A year on its own, with zero month and day
798
- # values * A year and month value, with a zero day, e.g. a credit card
799
- # expiration date Related types are google.type.TimeOfDay and `google.protobuf.
800
- # Timestamp`.
793
+ # Represents a whole or partial calendar date, such as a birthday. The time of
794
+ # day and time zone are either specified elsewhere or are insignificant. The
795
+ # date is relative to the Gregorian Calendar. This can represent one of the
796
+ # following: * A full date, with non-zero year, month, and day values * A month
797
+ # and day value, with a zero year, such as an anniversary * A year on its own,
798
+ # with zero month and day values * A year and month value, with a zero day, such
799
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
800
+ # google.protobuf.Timestamp`.
801
801
  class Date
802
802
  include Google::Apis::Core::Hashable
803
803
 
804
- # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if
805
- # specifying a year by itself or a year and month where the day is not
806
- # significant.
804
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
805
+ # specify a year by itself or a year and month where the day isn't significant.
807
806
  # Corresponds to the JSON property `day`
808
807
  # @return [Fixnum]
809
808
  attr_accessor :day
810
809
 
811
- # Month of year. Must be from 1 to 12, or 0 if specifying a year without a month
810
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
812
811
  # and day.
813
812
  # Corresponds to the JSON property `month`
814
813
  # @return [Fixnum]
815
814
  attr_accessor :month
816
815
 
817
- # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
816
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
817
+ # year.
818
818
  # Corresponds to the JSON property `year`
819
819
  # @return [Fixnum]
820
820
  attr_accessor :year
@@ -860,14 +860,14 @@ module Google
860
860
  class DeviceIpBlock
861
861
  include Google::Apis::Core::Hashable
862
862
 
863
- # Represents a whole or partial calendar date, e.g. a birthday. The time of day
864
- # and time zone are either specified elsewhere or are not significant. The date
865
- # is relative to the Proleptic Gregorian Calendar. This can represent: * A full
866
- # date, with non-zero year, month and day values * A month and day value, with a
867
- # zero year, e.g. an anniversary * A year on its own, with zero month and day
868
- # values * A year and month value, with a zero day, e.g. a credit card
869
- # expiration date Related types are google.type.TimeOfDay and `google.protobuf.
870
- # Timestamp`.
863
+ # Represents a whole or partial calendar date, such as a birthday. The time of
864
+ # day and time zone are either specified elsewhere or are insignificant. The
865
+ # date is relative to the Gregorian Calendar. This can represent one of the
866
+ # following: * A full date, with non-zero year, month, and day values * A month
867
+ # and day value, with a zero year, such as an anniversary * A year on its own,
868
+ # with zero month and day values * A year and month value, with a zero day, such
869
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
870
+ # google.protobuf.Timestamp`.
871
871
  # Corresponds to the JSON property `addedDate`
872
872
  # @return [Google::Apis::TestingV1::Date]
873
873
  attr_accessor :added_date
@@ -1595,7 +1595,7 @@ module Google
1595
1595
  # Required. Group of packages, classes, and/or test methods to be run for each
1596
1596
  # shard. When any physical devices are selected, the number of
1597
1597
  # test_targets_for_shard must be >= 1 and <= 50. When no physical devices are
1598
- # selected, the number must be >= 1 and <= 250.
1598
+ # selected, the number must be >= 1 and <= 500.
1599
1599
  # Corresponds to the JSON property `testTargetsForShard`
1600
1600
  # @return [Array<Google::Apis::TestingV1::TestTargetsForShard>]
1601
1601
  attr_accessor :test_targets_for_shard
@@ -2152,6 +2152,17 @@ module Google
2152
2152
  # @return [Google::Apis::TestingV1::EnvironmentMatrix]
2153
2153
  attr_accessor :environment_matrix
2154
2154
 
2155
+ # If true, only a single attempt at most will be made to run each execution/
2156
+ # shard in the matrix. Flaky test attempts are not affected. Normally, 2 or more
2157
+ # attempts are made if a potential infrastructure issue is detected. This
2158
+ # feature is for latency sensitive workloads. The incidence of execution
2159
+ # failures may be significantly greater for fail-fast matrices and support is
2160
+ # more limited because of that expectation.
2161
+ # Corresponds to the JSON property `failFast`
2162
+ # @return [Boolean]
2163
+ attr_accessor :fail_fast
2164
+ alias_method :fail_fast?, :fail_fast
2165
+
2155
2166
  # The number of times a TestExecution should be re-attempted if one or more of
2156
2167
  # its test cases fail for any reason. The maximum number of reruns allowed is 10.
2157
2168
  # Default is 0, which implies no reruns.
@@ -2215,6 +2226,7 @@ module Google
2215
2226
  def update!(**args)
2216
2227
  @client_info = args[:client_info] if args.key?(:client_info)
2217
2228
  @environment_matrix = args[:environment_matrix] if args.key?(:environment_matrix)
2229
+ @fail_fast = args[:fail_fast] if args.key?(:fail_fast)
2218
2230
  @flaky_test_attempts = args[:flaky_test_attempts] if args.key?(:flaky_test_attempts)
2219
2231
  @invalid_matrix_details = args[:invalid_matrix_details] if args.key?(:invalid_matrix_details)
2220
2232
  @outcome_summary = args[:outcome_summary] if args.key?(:outcome_summary)
@@ -2318,7 +2330,7 @@ module Google
2318
2330
  attr_accessor :android_instrumentation_test
2319
2331
 
2320
2332
  # A test of an android application that explores the application on a virtual or
2321
- # physical Android Device, finding culprits and crashes as it goes. Next tag: 29
2333
+ # physical Android Device, finding culprits and crashes as it goes. Next tag: 30
2322
2334
  # Corresponds to the JSON property `androidRoboTest`
2323
2335
  # @return [Google::Apis::TestingV1::AndroidRoboTest]
2324
2336
  attr_accessor :android_robo_test
@@ -2562,7 +2574,7 @@ module Google
2562
2574
 
2563
2575
  # Required. Total number of shards. When any physical devices are selected, the
2564
2576
  # number must be >= 1 and <= 50. When no physical devices are selected, the
2565
- # number must be >= 1 and <= 250.
2577
+ # number must be >= 1 and <= 500.
2566
2578
  # Corresponds to the JSON property `numShards`
2567
2579
  # @return [Fixnum]
2568
2580
  attr_accessor :num_shards
@@ -1074,6 +1074,7 @@ module Google
1074
1074
 
1075
1075
  property :environment_matrix, as: 'environmentMatrix', class: Google::Apis::TestingV1::EnvironmentMatrix, decorator: Google::Apis::TestingV1::EnvironmentMatrix::Representation
1076
1076
 
1077
+ property :fail_fast, as: 'failFast'
1077
1078
  property :flaky_test_attempts, as: 'flakyTestAttempts'
1078
1079
  property :invalid_matrix_details, as: 'invalidMatrixDetails'
1079
1080
  property :outcome_summary, as: 'outcomeSummary'
@@ -117,11 +117,11 @@ module Google
117
117
  end
118
118
 
119
119
  # Creates and runs a matrix of tests according to the given specifications.
120
- # Unsupported environments will be returned in the state UNSUPPORTED. Matrices
121
- # are limited to at most 200 supported executions. May return any of the
122
- # following canonical error codes: - PERMISSION_DENIED - if the user is not
120
+ # Unsupported environments will be returned in the state UNSUPPORTED. A test
121
+ # matrix is limited to use at most 2000 devices in parallel. May return any of
122
+ # the following canonical error codes: - PERMISSION_DENIED - if the user is not
123
123
  # authorized to write to project - INVALID_ARGUMENT - if the request is
124
- # malformed or if the matrix expands to more than 200 supported executions
124
+ # malformed or if the matrix tries to use too many simultaneous devices.
125
125
  # @param [String] project_id
126
126
  # The GCE project under which this job will run.
127
127
  # @param [Google::Apis::TestingV1::TestMatrix] test_matrix_object
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://firebase.google.com/docs/test-lab/
26
26
  module ToolresultsV1beta3
27
27
  VERSION = 'V1beta3'
28
- REVISION = '20200928'
28
+ REVISION = '20201029'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -487,6 +487,19 @@ module Google
487
487
  end
488
488
  end
489
489
 
490
+ # A warning that device ran out of memory
491
+ class DeviceOutOfMemory
492
+ include Google::Apis::Core::Hashable
493
+
494
+ def initialize(**args)
495
+ update!(**args)
496
+ end
497
+
498
+ # Update properties of this object
499
+ def update!(**args)
500
+ end
501
+ end
502
+
490
503
  # A Duration represents a signed, fixed-length span of time represented as a
491
504
  # count of seconds and fractions of seconds at nanosecond resolution. It is
492
505
  # independent of any calendar and concepts like "day" or "month". It is related
@@ -112,6 +112,12 @@ module Google
112
112
  include Google::Apis::Core::JsonObjectSupport
113
113
  end
114
114
 
115
+ class DeviceOutOfMemory
116
+ class Representation < Google::Apis::Core::JsonRepresentation; end
117
+
118
+ include Google::Apis::Core::JsonObjectSupport
119
+ end
120
+
115
121
  class Duration
116
122
  class Representation < Google::Apis::Core::JsonRepresentation; end
117
123
 
@@ -803,6 +809,12 @@ module Google
803
809
  end
804
810
  end
805
811
 
812
+ class DeviceOutOfMemory
813
+ # @private
814
+ class Representation < Google::Apis::Core::JsonRepresentation
815
+ end
816
+ end
817
+
806
818
  class Duration
807
819
  # @private
808
820
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -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