google-api-client 0.44.2 → 0.46.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/autoapprove.yml +49 -0
  3. data/.gitignore +2 -0
  4. data/CHANGELOG.md +295 -0
  5. data/api_list_config.yaml +8 -0
  6. data/bin/generate-api +77 -15
  7. data/generated/google/apis/acceleratedmobilepageurl_v1.rb +1 -1
  8. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +7 -9
  9. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +2 -2
  10. data/generated/google/apis/accessapproval_v1.rb +1 -1
  11. data/generated/google/apis/accessapproval_v1/classes.rb +25 -16
  12. data/generated/google/apis/accessapproval_v1/service.rb +27 -27
  13. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  14. data/generated/google/apis/accesscontextmanager_v1/classes.rb +68 -0
  15. data/generated/google/apis/accesscontextmanager_v1/representations.rb +30 -0
  16. data/generated/google/apis/accesscontextmanager_v1/service.rb +180 -0
  17. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  18. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +30 -30
  19. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  20. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +25 -0
  21. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +15 -0
  22. data/generated/google/apis/admin_directory_v1.rb +1 -1
  23. data/generated/google/apis/admin_directory_v1/classes.rb +135 -0
  24. data/generated/google/apis/admin_directory_v1/representations.rb +62 -0
  25. data/generated/google/apis/admin_directory_v1/service.rb +72 -0
  26. data/generated/google/apis/admin_reports_v1.rb +1 -1
  27. data/generated/google/apis/admob_v1.rb +6 -2
  28. data/generated/google/apis/admob_v1/classes.rb +31 -31
  29. data/generated/google/apis/admob_v1/service.rb +2 -1
  30. data/generated/google/apis/adsense_v1_4.rb +1 -1
  31. data/generated/google/apis/adsense_v1_4/service.rb +4 -1
  32. data/generated/google/apis/analyticsadmin_v1alpha.rb +43 -0
  33. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +1361 -0
  34. data/generated/google/apis/analyticsadmin_v1alpha/representations.rb +610 -0
  35. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +2134 -0
  36. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  37. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +32 -1
  38. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +17 -0
  39. data/generated/google/apis/analyticsdata_v1alpha/service.rb +39 -0
  40. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  41. data/generated/google/apis/androidenterprise_v1/service.rb +2 -2
  42. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  43. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  44. data/generated/google/apis/androidpublisher_v3/classes.rb +7 -0
  45. data/generated/google/apis/androidpublisher_v3/representations.rb +1 -0
  46. data/generated/google/apis/apigee_v1.rb +1 -1
  47. data/generated/google/apis/apigee_v1/classes.rb +442 -14
  48. data/generated/google/apis/apigee_v1/representations.rb +161 -1
  49. data/generated/google/apis/apigee_v1/service.rb +264 -44
  50. data/generated/google/apis/appengine_v1.rb +1 -1
  51. data/generated/google/apis/appengine_v1beta.rb +1 -1
  52. data/generated/google/apis/appsmarket_v2.rb +1 -1
  53. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  54. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +14 -0
  55. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +2 -0
  56. data/generated/google/apis/{apigateway_v1alpha1.rb → assuredworkloads_v1beta1.rb} +8 -8
  57. data/generated/google/apis/assuredworkloads_v1beta1/classes.rb +722 -0
  58. data/generated/google/apis/assuredworkloads_v1beta1/representations.rb +359 -0
  59. data/generated/google/apis/assuredworkloads_v1beta1/service.rb +328 -0
  60. data/generated/google/apis/bigquery_v2.rb +1 -1
  61. data/generated/google/apis/bigquery_v2/classes.rb +140 -23
  62. data/generated/google/apis/bigquery_v2/representations.rb +36 -0
  63. data/generated/google/apis/bigquery_v2/service.rb +46 -0
  64. data/generated/google/apis/billingbudgets_v1.rb +38 -0
  65. data/generated/google/apis/billingbudgets_v1/classes.rb +362 -0
  66. data/generated/google/apis/billingbudgets_v1/representations.rb +170 -0
  67. data/generated/google/apis/billingbudgets_v1/service.rb +249 -0
  68. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  69. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +16 -6
  70. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +1 -0
  71. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  72. data/generated/google/apis/binaryauthorization_v1/classes.rb +187 -0
  73. data/generated/google/apis/binaryauthorization_v1/representations.rb +74 -0
  74. data/generated/google/apis/binaryauthorization_v1/service.rb +35 -0
  75. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  76. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +187 -0
  77. data/generated/google/apis/binaryauthorization_v1beta1/representations.rb +74 -0
  78. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +35 -0
  79. data/generated/google/apis/books_v1.rb +1 -1
  80. data/generated/google/apis/books_v1/service.rb +2 -2
  81. data/generated/google/apis/calendar_v3.rb +1 -1
  82. data/generated/google/apis/calendar_v3/classes.rb +2 -1
  83. data/generated/google/apis/chat_v1.rb +1 -1
  84. data/generated/google/apis/chat_v1/classes.rb +79 -5
  85. data/generated/google/apis/chat_v1/representations.rb +35 -0
  86. data/generated/google/apis/civicinfo_v2.rb +1 -1
  87. data/generated/google/apis/civicinfo_v2/classes.rb +0 -24
  88. data/generated/google/apis/civicinfo_v2/representations.rb +0 -3
  89. data/generated/google/apis/classroom_v1.rb +7 -1
  90. data/generated/google/apis/classroom_v1/classes.rb +153 -21
  91. data/generated/google/apis/classroom_v1/representations.rb +43 -0
  92. data/generated/google/apis/classroom_v1/service.rb +240 -0
  93. data/generated/google/apis/cloudasset_v1.rb +1 -1
  94. data/generated/google/apis/cloudasset_v1/classes.rb +52 -0
  95. data/generated/google/apis/cloudasset_v1/representations.rb +16 -0
  96. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  97. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +7 -5
  98. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  99. data/generated/google/apis/cloudbilling_v1/classes.rb +4 -4
  100. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  101. data/generated/google/apis/cloudbuild_v1/classes.rb +0 -34
  102. data/generated/google/apis/cloudbuild_v1/representations.rb +0 -15
  103. data/generated/google/apis/cloudbuild_v1/service.rb +7 -4
  104. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  105. data/generated/google/apis/cloudfunctions_v1/classes.rb +12 -1
  106. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  107. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  108. data/generated/google/apis/cloudidentity_v1/classes.rb +127 -63
  109. data/generated/google/apis/cloudidentity_v1/representations.rb +29 -0
  110. data/generated/google/apis/cloudidentity_v1/service.rb +124 -70
  111. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  112. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +188 -0
  113. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +94 -0
  114. data/generated/google/apis/cloudidentity_v1beta1/service.rb +179 -0
  115. data/generated/google/apis/cloudkms_v1.rb +1 -1
  116. data/generated/google/apis/cloudkms_v1/classes.rb +7 -0
  117. data/generated/google/apis/cloudkms_v1/representations.rb +1 -0
  118. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  119. data/generated/google/apis/cloudresourcemanager_v1/service.rb +2 -2
  120. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  121. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +2 -2
  122. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  123. data/generated/google/apis/cloudsearch_v1/classes.rb +2 -1
  124. data/generated/google/apis/cloudshell_v1.rb +1 -1
  125. data/generated/google/apis/cloudshell_v1/classes.rb +342 -0
  126. data/generated/google/apis/cloudshell_v1/representations.rb +200 -0
  127. data/generated/google/apis/cloudshell_v1/service.rb +177 -0
  128. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  129. data/generated/google/apis/cloudtasks_v2/classes.rb +7 -0
  130. data/generated/google/apis/cloudtasks_v2/representations.rb +1 -0
  131. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  132. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +25 -19
  133. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +1 -0
  134. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  135. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +7 -0
  136. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +1 -0
  137. data/generated/google/apis/composer_v1.rb +1 -1
  138. data/generated/google/apis/composer_v1/classes.rb +2 -3
  139. data/generated/google/apis/composer_v1beta1.rb +1 -1
  140. data/generated/google/apis/composer_v1beta1/classes.rb +4 -4
  141. data/generated/google/apis/composer_v1beta1/service.rb +37 -35
  142. data/generated/google/apis/compute_alpha.rb +1 -1
  143. data/generated/google/apis/compute_alpha/classes.rb +633 -146
  144. data/generated/google/apis/compute_alpha/representations.rb +131 -8
  145. data/generated/google/apis/compute_alpha/service.rb +1995 -1013
  146. data/generated/google/apis/compute_beta.rb +1 -1
  147. data/generated/google/apis/compute_beta/classes.rb +566 -94
  148. data/generated/google/apis/compute_beta/representations.rb +100 -1
  149. data/generated/google/apis/compute_beta/service.rb +805 -136
  150. data/generated/google/apis/compute_v1.rb +1 -1
  151. data/generated/google/apis/compute_v1/classes.rb +336 -53
  152. data/generated/google/apis/compute_v1/representations.rb +57 -1
  153. data/generated/google/apis/compute_v1/service.rb +739 -133
  154. data/generated/google/apis/container_v1.rb +1 -1
  155. data/generated/google/apis/container_v1/classes.rb +22 -10
  156. data/generated/google/apis/container_v1beta1.rb +1 -1
  157. data/generated/google/apis/container_v1beta1/classes.rb +50 -10
  158. data/generated/google/apis/container_v1beta1/representations.rb +15 -0
  159. data/generated/google/apis/content_v2.rb +1 -1
  160. data/generated/google/apis/content_v2/classes.rb +2 -1
  161. data/generated/google/apis/content_v2_1.rb +1 -1
  162. data/generated/google/apis/content_v2_1/classes.rb +108 -5
  163. data/generated/google/apis/content_v2_1/representations.rb +47 -0
  164. data/generated/google/apis/content_v2_1/service.rb +38 -1
  165. data/generated/google/apis/customsearch_v1.rb +1 -1
  166. data/generated/google/apis/customsearch_v1/service.rb +2 -2
  167. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  168. data/generated/google/apis/datacatalog_v1beta1/classes.rb +1 -1
  169. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  170. data/generated/google/apis/dataflow_v1b3/classes.rb +152 -5
  171. data/generated/google/apis/dataflow_v1b3/representations.rb +30 -0
  172. data/generated/google/apis/dataflow_v1b3/service.rb +10 -1
  173. data/generated/google/apis/datafusion_v1.rb +1 -1
  174. data/generated/google/apis/dataproc_v1.rb +1 -1
  175. data/generated/google/apis/dataproc_v1/classes.rb +29 -3
  176. data/generated/google/apis/dataproc_v1/representations.rb +15 -0
  177. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  178. data/generated/google/apis/dataproc_v1beta2/classes.rb +33 -6
  179. data/generated/google/apis/dataproc_v1beta2/representations.rb +15 -0
  180. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  181. data/generated/google/apis/dfareporting_v3_3/classes.rb +0 -164
  182. data/generated/google/apis/dfareporting_v3_3/representations.rb +0 -42
  183. data/generated/google/apis/dfareporting_v3_3/service.rb +51 -54
  184. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  185. data/generated/google/apis/dfareporting_v3_4/classes.rb +0 -164
  186. data/generated/google/apis/dfareporting_v3_4/representations.rb +0 -42
  187. data/generated/google/apis/dfareporting_v3_4/service.rb +51 -54
  188. data/generated/google/apis/dialogflow_v2.rb +1 -1
  189. data/generated/google/apis/dialogflow_v2/classes.rb +208 -30
  190. data/generated/google/apis/dialogflow_v2/representations.rb +118 -7
  191. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  192. data/generated/google/apis/dialogflow_v2beta1/classes.rb +215 -38
  193. data/generated/google/apis/dialogflow_v2beta1/representations.rb +118 -7
  194. data/generated/google/apis/dialogflow_v2beta1/service.rb +60 -10
  195. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  196. data/generated/google/apis/dialogflow_v3beta1/classes.rb +311 -33
  197. data/generated/google/apis/dialogflow_v3beta1/representations.rb +153 -7
  198. data/generated/google/apis/dialogflow_v3beta1/service.rb +22 -9
  199. data/generated/google/apis/displayvideo_v1.rb +1 -1
  200. data/generated/google/apis/displayvideo_v1/classes.rb +38 -30
  201. data/generated/google/apis/displayvideo_v1/representations.rb +1 -0
  202. data/generated/google/apis/displayvideo_v1/service.rb +21 -18
  203. data/generated/google/apis/dlp_v2.rb +1 -1
  204. data/generated/google/apis/dlp_v2/classes.rb +30 -3
  205. data/generated/google/apis/dlp_v2/representations.rb +16 -0
  206. data/generated/google/apis/dlp_v2/service.rb +328 -328
  207. data/generated/google/apis/dns_v1.rb +1 -1
  208. data/generated/google/apis/dns_v1/classes.rb +181 -0
  209. data/generated/google/apis/dns_v1/representations.rb +83 -0
  210. data/generated/google/apis/dns_v1/service.rb +10 -10
  211. data/generated/google/apis/dns_v1beta2.rb +1 -1
  212. data/generated/google/apis/dns_v1beta2/classes.rb +181 -0
  213. data/generated/google/apis/dns_v1beta2/representations.rb +83 -0
  214. data/generated/google/apis/dns_v1beta2/service.rb +10 -10
  215. data/generated/google/apis/documentai_v1beta3.rb +36 -0
  216. data/generated/google/apis/documentai_v1beta3/classes.rb +6149 -0
  217. data/generated/google/apis/documentai_v1beta3/representations.rb +2666 -0
  218. data/generated/google/apis/documentai_v1beta3/service.rb +263 -0
  219. data/generated/google/apis/domains_v1alpha2.rb +34 -0
  220. data/generated/google/apis/domains_v1alpha2/classes.rb +1534 -0
  221. data/generated/google/apis/domains_v1alpha2/representations.rb +605 -0
  222. data/generated/google/apis/domains_v1alpha2/service.rb +805 -0
  223. data/generated/google/apis/{appsactivity_v1.rb → domains_v1beta1.rb} +11 -11
  224. data/generated/google/apis/domains_v1beta1/classes.rb +1534 -0
  225. data/generated/google/apis/domains_v1beta1/representations.rb +605 -0
  226. data/generated/google/apis/domains_v1beta1/service.rb +805 -0
  227. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  228. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  229. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  230. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +3 -3
  231. data/generated/google/apis/drive_v2.rb +1 -1
  232. data/generated/google/apis/drive_v2/classes.rb +4 -1
  233. data/generated/google/apis/drive_v3.rb +1 -1
  234. data/generated/google/apis/drive_v3/classes.rb +4 -2
  235. data/generated/google/apis/file_v1.rb +1 -1
  236. data/generated/google/apis/file_v1/classes.rb +1 -1
  237. data/generated/google/apis/file_v1beta1.rb +1 -1
  238. data/generated/google/apis/file_v1beta1/classes.rb +1 -1
  239. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  240. data/generated/google/apis/firebasehosting_v1beta1/service.rb +4 -4
  241. data/generated/google/apis/firestore_v1.rb +1 -1
  242. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  243. data/generated/google/apis/fitness_v1.rb +13 -1
  244. data/generated/google/apis/fitness_v1/service.rb +3 -1
  245. data/generated/google/apis/gameservices_v1.rb +1 -1
  246. data/generated/google/apis/gameservices_v1/classes.rb +15 -14
  247. data/generated/google/apis/gameservices_v1/service.rb +54 -51
  248. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  249. data/generated/google/apis/gameservices_v1beta/classes.rb +15 -14
  250. data/generated/google/apis/gameservices_v1beta/service.rb +54 -51
  251. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  252. data/generated/google/apis/genomics_v2alpha1/classes.rb +104 -0
  253. data/generated/google/apis/genomics_v2alpha1/representations.rb +47 -0
  254. data/generated/google/apis/gmail_v1.rb +1 -1
  255. data/generated/google/apis/gmail_v1/service.rb +1 -1
  256. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +1 -1
  257. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +10 -10
  258. data/generated/google/apis/healthcare_v1.rb +1 -1
  259. data/generated/google/apis/healthcare_v1/classes.rb +7 -5
  260. data/generated/google/apis/healthcare_v1/service.rb +1 -3
  261. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  262. data/generated/google/apis/healthcare_v1beta1/classes.rb +1111 -278
  263. data/generated/google/apis/healthcare_v1beta1/representations.rb +486 -68
  264. data/generated/google/apis/healthcare_v1beta1/service.rb +1475 -247
  265. data/generated/google/apis/iam_v1.rb +1 -1
  266. data/generated/google/apis/iam_v1/service.rb +2 -1
  267. data/generated/google/apis/jobs_v2.rb +1 -1
  268. data/generated/google/apis/jobs_v2/classes.rb +798 -0
  269. data/generated/google/apis/jobs_v2/representations.rb +272 -0
  270. data/generated/google/apis/jobs_v3.rb +1 -1
  271. data/generated/google/apis/jobs_v3/classes.rb +798 -0
  272. data/generated/google/apis/jobs_v3/representations.rb +272 -0
  273. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  274. data/generated/google/apis/jobs_v3p1beta1/classes.rb +759 -0
  275. data/generated/google/apis/jobs_v3p1beta1/representations.rb +257 -0
  276. data/generated/google/apis/licensing_v1.rb +4 -3
  277. data/generated/google/apis/licensing_v1/classes.rb +1 -1
  278. data/generated/google/apis/licensing_v1/service.rb +55 -85
  279. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  280. data/generated/google/apis/lifesciences_v2beta/classes.rb +104 -0
  281. data/generated/google/apis/lifesciences_v2beta/representations.rb +47 -0
  282. data/generated/google/apis/localservices_v1.rb +1 -1
  283. data/generated/google/apis/localservices_v1/service.rb +20 -20
  284. data/generated/google/apis/logging_v2.rb +1 -1
  285. data/generated/google/apis/logging_v2/classes.rb +98 -55
  286. data/generated/google/apis/logging_v2/representations.rb +32 -0
  287. data/generated/google/apis/logging_v2/service.rb +1214 -264
  288. data/generated/google/apis/managedidentities_v1.rb +1 -1
  289. data/generated/google/apis/managedidentities_v1/classes.rb +8 -1
  290. data/generated/google/apis/managedidentities_v1/representations.rb +1 -0
  291. data/generated/google/apis/managedidentities_v1/service.rb +1 -4
  292. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  293. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +87 -9
  294. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +34 -1
  295. data/generated/google/apis/managedidentities_v1alpha1/service.rb +83 -5
  296. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  297. data/generated/google/apis/managedidentities_v1beta1/classes.rb +88 -9
  298. data/generated/google/apis/managedidentities_v1beta1/representations.rb +34 -1
  299. data/generated/google/apis/managedidentities_v1beta1/service.rb +83 -5
  300. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  301. data/generated/google/apis/memcache_v1beta2/classes.rb +1 -1
  302. data/generated/google/apis/memcache_v1beta2/service.rb +5 -5
  303. data/generated/google/apis/monitoring_v1.rb +1 -1
  304. data/generated/google/apis/monitoring_v1/classes.rb +10 -10
  305. data/generated/google/apis/monitoring_v3.rb +1 -1
  306. data/generated/google/apis/monitoring_v3/classes.rb +99 -45
  307. data/generated/google/apis/monitoring_v3/representations.rb +18 -0
  308. data/generated/google/apis/monitoring_v3/service.rb +5 -5
  309. data/generated/google/apis/networkmanagement_v1beta1.rb +1 -1
  310. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +68 -0
  311. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +23 -0
  312. data/generated/google/apis/{plus_v1.rb → oauth2_v2.rb} +12 -15
  313. data/generated/google/apis/oauth2_v2/classes.rb +165 -0
  314. data/generated/google/apis/oauth2_v2/representations.rb +68 -0
  315. data/generated/google/apis/oauth2_v2/service.rb +158 -0
  316. data/generated/google/apis/osconfig_v1.rb +3 -3
  317. data/generated/google/apis/osconfig_v1/service.rb +4 -4
  318. data/generated/google/apis/osconfig_v1beta.rb +3 -3
  319. data/generated/google/apis/osconfig_v1beta/service.rb +4 -4
  320. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  321. data/generated/google/apis/oslogin_v1alpha/classes.rb +2 -2
  322. data/generated/google/apis/oslogin_v1alpha/service.rb +13 -13
  323. data/generated/google/apis/people_v1.rb +1 -1
  324. data/generated/google/apis/people_v1/classes.rb +48 -47
  325. data/generated/google/apis/people_v1/service.rb +12 -10
  326. data/generated/google/apis/playablelocations_v3.rb +1 -1
  327. data/generated/google/apis/playablelocations_v3/classes.rb +6 -6
  328. data/generated/google/apis/poly_v1.rb +3 -4
  329. data/generated/google/apis/poly_v1/classes.rb +65 -79
  330. data/generated/google/apis/poly_v1/service.rb +50 -63
  331. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  332. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +109 -0
  333. data/generated/google/apis/pubsub_v1.rb +1 -1
  334. data/generated/google/apis/pubsub_v1/classes.rb +7 -0
  335. data/generated/google/apis/pubsub_v1/representations.rb +1 -0
  336. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  337. data/generated/google/apis/pubsub_v1beta2/classes.rb +7 -0
  338. data/generated/google/apis/pubsub_v1beta2/representations.rb +1 -0
  339. data/generated/google/apis/pubsublite_v1.rb +1 -1
  340. data/generated/google/apis/pubsublite_v1/classes.rb +72 -0
  341. data/generated/google/apis/pubsublite_v1/representations.rb +33 -0
  342. data/generated/google/apis/pubsublite_v1/service.rb +33 -0
  343. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  344. data/generated/google/apis/realtimebidding_v1/classes.rb +84 -123
  345. data/generated/google/apis/realtimebidding_v1/representations.rb +18 -32
  346. data/generated/google/apis/realtimebidding_v1/service.rb +4 -1
  347. data/generated/google/apis/recommender_v1.rb +1 -1
  348. data/generated/google/apis/recommender_v1/service.rb +4 -2
  349. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  350. data/generated/google/apis/recommender_v1beta1/service.rb +4 -2
  351. data/generated/google/apis/redis_v1.rb +1 -1
  352. data/generated/google/apis/redis_v1/classes.rb +5 -391
  353. data/generated/google/apis/redis_v1/representations.rb +0 -139
  354. data/generated/google/apis/redis_v1/service.rb +2 -2
  355. data/generated/google/apis/redis_v1beta1.rb +1 -1
  356. data/generated/google/apis/redis_v1beta1/classes.rb +33 -391
  357. data/generated/google/apis/redis_v1beta1/representations.rb +12 -137
  358. data/generated/google/apis/redis_v1beta1/service.rb +36 -2
  359. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  360. data/generated/google/apis/remotebuildexecution_v1/classes.rb +6 -0
  361. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -0
  362. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  363. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +6 -0
  364. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -0
  365. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  366. data/generated/google/apis/remotebuildexecution_v2/classes.rb +6 -0
  367. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -0
  368. data/generated/google/apis/reseller_v1.rb +2 -2
  369. data/generated/google/apis/reseller_v1/classes.rb +151 -219
  370. data/generated/google/apis/reseller_v1/service.rb +122 -173
  371. data/generated/google/apis/run_v1.rb +1 -1
  372. data/generated/google/apis/run_v1/classes.rb +15 -135
  373. data/generated/google/apis/run_v1/representations.rb +0 -61
  374. data/generated/google/apis/run_v1/service.rb +0 -342
  375. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  376. data/generated/google/apis/sasportal_v1alpha1/classes.rb +20 -0
  377. data/generated/google/apis/sasportal_v1alpha1/representations.rb +13 -0
  378. data/generated/google/apis/sasportal_v1alpha1/service.rb +479 -0
  379. data/generated/google/apis/searchconsole_v1.rb +7 -1
  380. data/generated/google/apis/searchconsole_v1/classes.rb +388 -0
  381. data/generated/google/apis/searchconsole_v1/representations.rb +162 -0
  382. data/generated/google/apis/searchconsole_v1/service.rb +287 -0
  383. data/generated/google/apis/secretmanager_v1.rb +1 -1
  384. data/generated/google/apis/securitycenter_v1.rb +1 -1
  385. data/generated/google/apis/securitycenter_v1/classes.rb +5 -199
  386. data/generated/google/apis/securitycenter_v1/representations.rb +0 -72
  387. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  388. data/generated/google/apis/securitycenter_v1beta1/classes.rb +2 -196
  389. data/generated/google/apis/securitycenter_v1beta1/representations.rb +0 -72
  390. data/generated/google/apis/securitycenter_v1beta2.rb +1 -1
  391. data/generated/google/apis/securitycenter_v1beta2/classes.rb +2 -196
  392. data/generated/google/apis/securitycenter_v1beta2/representations.rb +0 -72
  393. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  394. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +12 -12
  395. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +32 -30
  396. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  397. data/generated/google/apis/servicecontrol_v1/classes.rb +6 -4
  398. data/generated/google/apis/servicecontrol_v2.rb +1 -1
  399. data/generated/google/apis/servicecontrol_v2/classes.rb +5 -3
  400. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  401. data/generated/google/apis/servicemanagement_v1/classes.rb +0 -22
  402. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -13
  403. data/generated/google/apis/servicemanagement_v1/service.rb +0 -36
  404. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  405. data/generated/google/apis/servicenetworking_v1/classes.rb +107 -4
  406. data/generated/google/apis/servicenetworking_v1/representations.rb +34 -0
  407. data/generated/google/apis/servicenetworking_v1/service.rb +2 -2
  408. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  409. data/generated/google/apis/servicenetworking_v1beta/classes.rb +107 -4
  410. data/generated/google/apis/servicenetworking_v1beta/representations.rb +34 -0
  411. data/generated/google/apis/sheets_v4.rb +1 -1
  412. data/generated/google/apis/sheets_v4/classes.rb +175 -85
  413. data/generated/google/apis/smartdevicemanagement_v1.rb +35 -0
  414. data/generated/google/apis/smartdevicemanagement_v1/classes.rb +307 -0
  415. data/generated/google/apis/smartdevicemanagement_v1/representations.rb +173 -0
  416. data/generated/google/apis/smartdevicemanagement_v1/service.rb +309 -0
  417. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  418. data/generated/google/apis/sourcerepo_v1/classes.rb +250 -400
  419. data/generated/google/apis/sourcerepo_v1/service.rb +40 -49
  420. data/generated/google/apis/spanner_v1.rb +1 -1
  421. data/generated/google/apis/spanner_v1/classes.rb +7 -0
  422. data/generated/google/apis/spanner_v1/representations.rb +1 -0
  423. data/generated/google/apis/{sql_v1beta4.rb → sqladmin_v1beta4.rb} +5 -5
  424. data/generated/google/apis/{sql_v1beta4 → sqladmin_v1beta4}/classes.rb +229 -109
  425. data/generated/google/apis/{sql_v1beta4 → sqladmin_v1beta4}/representations.rb +137 -87
  426. data/generated/google/apis/{sql_v1beta4 → sqladmin_v1beta4}/service.rb +244 -244
  427. data/generated/google/apis/storage_v1.rb +1 -1
  428. data/generated/google/apis/storage_v1/classes.rb +2 -10
  429. data/generated/google/apis/storage_v1/representations.rb +0 -1
  430. data/generated/google/apis/storage_v1/service.rb +3 -2
  431. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  432. data/generated/google/apis/storagetransfer_v1/classes.rb +21 -0
  433. data/generated/google/apis/storagetransfer_v1/representations.rb +13 -0
  434. data/generated/google/apis/storagetransfer_v1/service.rb +22 -20
  435. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  436. data/generated/google/apis/streetviewpublish_v1/classes.rb +4 -4
  437. data/generated/google/apis/sts_v1.rb +1 -1
  438. data/generated/google/apis/sts_v1/classes.rb +10 -9
  439. data/generated/google/apis/sts_v1beta.rb +1 -1
  440. data/generated/google/apis/sts_v1beta/classes.rb +67 -67
  441. data/generated/google/apis/sts_v1beta/service.rb +2 -2
  442. data/generated/google/apis/tagmanager_v2.rb +1 -1
  443. data/generated/google/apis/tasks_v1.rb +1 -1
  444. data/generated/google/apis/tasks_v1/classes.rb +1 -1
  445. data/generated/google/apis/tasks_v1/service.rb +4 -3
  446. data/generated/google/apis/testing_v1.rb +1 -1
  447. data/generated/google/apis/testing_v1/classes.rb +49 -2
  448. data/generated/google/apis/testing_v1/representations.rb +20 -0
  449. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  450. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  451. data/generated/google/apis/tpu_v1.rb +1 -1
  452. data/generated/google/apis/tpu_v1/classes.rb +3 -3
  453. data/generated/google/apis/tpu_v1/service.rb +8 -8
  454. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  455. data/generated/google/apis/tpu_v1alpha1/classes.rb +3 -3
  456. data/generated/google/apis/tpu_v1alpha1/service.rb +8 -8
  457. data/generated/google/apis/translate_v3.rb +1 -1
  458. data/generated/google/apis/translate_v3/classes.rb +2 -2
  459. data/generated/google/apis/vault_v1.rb +1 -1
  460. data/generated/google/apis/vault_v1/classes.rb +333 -0
  461. data/generated/google/apis/vault_v1/representations.rb +162 -0
  462. data/generated/google/apis/vault_v1/service.rb +151 -0
  463. data/generated/google/apis/videointelligence_v1.rb +1 -1
  464. data/generated/google/apis/videointelligence_v1/classes.rb +751 -28
  465. data/generated/google/apis/videointelligence_v1/representations.rb +402 -2
  466. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  467. data/generated/google/apis/videointelligence_v1beta2/classes.rb +751 -28
  468. data/generated/google/apis/videointelligence_v1beta2/representations.rb +402 -2
  469. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  470. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +749 -26
  471. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +402 -2
  472. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  473. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +734 -11
  474. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +402 -2
  475. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  476. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +667 -28
  477. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +368 -2
  478. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  479. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  480. data/generated/google/apis/workflowexecutions_v1beta.rb +2 -2
  481. data/generated/google/apis/workflowexecutions_v1beta/service.rb +1 -1
  482. data/generated/google/apis/workflows_v1beta.rb +3 -2
  483. data/generated/google/apis/workflows_v1beta/service.rb +2 -1
  484. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  485. data/generated/google/apis/youtube_v3.rb +1 -1
  486. data/generated/google/apis/youtube_v3/classes.rb +12 -945
  487. data/generated/google/apis/youtube_v3/representations.rb +0 -445
  488. data/generated/google/apis/youtube_v3/service.rb +3 -198
  489. data/google-api-client.gemspec +1 -1
  490. data/lib/google/apis/core/api_command.rb +1 -0
  491. data/lib/google/apis/version.rb +1 -1
  492. data/synth.py +40 -0
  493. metadata +41 -19
  494. data/generated/google/apis/apigateway_v1alpha1/classes.rb +0 -633
  495. data/generated/google/apis/apigateway_v1alpha1/representations.rb +0 -250
  496. data/generated/google/apis/apigateway_v1alpha1/service.rb +0 -623
  497. data/generated/google/apis/appsactivity_v1/classes.rb +0 -415
  498. data/generated/google/apis/appsactivity_v1/representations.rb +0 -209
  499. data/generated/google/apis/appsactivity_v1/service.rb +0 -126
  500. data/generated/google/apis/plus_v1/classes.rb +0 -2094
  501. data/generated/google/apis/plus_v1/representations.rb +0 -907
  502. data/generated/google/apis/plus_v1/service.rb +0 -451
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/bigquery/
26
26
  module BigqueryV2
27
27
  VERSION = 'V2'
28
- REVISION = '20200827'
28
+ REVISION = '20201007'
29
29
 
30
30
  # View and manage your data in Google BigQuery
31
31
  AUTH_BIGQUERY = 'https://www.googleapis.com/auth/bigquery'
@@ -1443,6 +1443,12 @@ module Google
1443
1443
  # @return [String]
1444
1444
  attr_accessor :location
1445
1445
 
1446
+ # [Output-only] Reserved for future use.
1447
+ # Corresponds to the JSON property `satisfiesPZS`
1448
+ # @return [Boolean]
1449
+ attr_accessor :satisfies_pzs
1450
+ alias_method :satisfies_pzs?, :satisfies_pzs
1451
+
1446
1452
  # [Output-only] A URL that can be used to access the resource again. You can use
1447
1453
  # this URL in Get or Update requests to the resource.
1448
1454
  # Corresponds to the JSON property `selfLink`
@@ -1469,6 +1475,7 @@ module Google
1469
1475
  @labels = args[:labels] if args.key?(:labels)
1470
1476
  @last_modified_time = args[:last_modified_time] if args.key?(:last_modified_time)
1471
1477
  @location = args[:location] if args.key?(:location)
1478
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
1472
1479
  @self_link = args[:self_link] if args.key?(:self_link)
1473
1480
  end
1474
1481
 
@@ -2472,25 +2479,36 @@ module Google
2472
2479
  class HivePartitioningOptions
2473
2480
  include Google::Apis::Core::Hashable
2474
2481
 
2475
- # [Optional, Trusted Tester] When set, what mode of hive partitioning to use
2476
- # when reading data. Two modes are supported. (1) AUTO: automatically infer
2477
- # partition key name(s) and type(s). (2) STRINGS: automatically infer partition
2478
- # key name(s). All types are interpreted as strings. Not all storage formats
2479
- # support hive partitioning. Requesting hive partitioning on an unsupported
2480
- # format will lead to an error. Currently supported types include: AVRO, CSV,
2481
- # JSON, ORC and Parquet.
2482
+ # [Optional] When set, what mode of hive partitioning to use when reading data.
2483
+ # The following modes are supported. (1) AUTO: automatically infer partition key
2484
+ # name(s) and type(s). (2) STRINGS: automatically infer partition key name(s).
2485
+ # All types are interpreted as strings. (3) CUSTOM: partition key schema is
2486
+ # encoded in the source URI prefix. Not all storage formats support hive
2487
+ # partitioning. Requesting hive partitioning on an unsupported format will lead
2488
+ # to an error. Currently supported types include: AVRO, CSV, JSON, ORC and
2489
+ # Parquet.
2482
2490
  # Corresponds to the JSON property `mode`
2483
2491
  # @return [String]
2484
2492
  attr_accessor :mode
2485
2493
 
2486
- # [Optional, Trusted Tester] When hive partition detection is requested, a
2487
- # common prefix for all source uris should be supplied. The prefix must end
2488
- # immediately before the partition key encoding begins. For example, consider
2489
- # files following this data layout. gs://bucket/path_to_table/dt=2019-01-01/
2490
- # country=BR/id=7/file.avro gs://bucket/path_to_table/dt=2018-12-31/country=CA/
2491
- # id=3/file.avro When hive partitioning is requested with either AUTO or STRINGS
2492
- # detection, the common prefix can be either of gs://bucket/path_to_table or gs:/
2493
- # /bucket/path_to_table/ (trailing slash does not matter).
2494
+ # [Optional] If set to true, queries over this table require a partition filter
2495
+ # that can be used for partition elimination to be specified. Note that this
2496
+ # field should only be true when creating a permanent external table or querying
2497
+ # a temporary external table. Hive-partitioned loads with requirePartitionFilter
2498
+ # explicitly set to true will fail.
2499
+ # Corresponds to the JSON property `requirePartitionFilter`
2500
+ # @return [Boolean]
2501
+ attr_accessor :require_partition_filter
2502
+ alias_method :require_partition_filter?, :require_partition_filter
2503
+
2504
+ # [Optional] When hive partition detection is requested, a common prefix for all
2505
+ # source uris should be supplied. The prefix must end immediately before the
2506
+ # partition key encoding begins. For example, consider files following this data
2507
+ # layout. gs://bucket/path_to_table/dt=2019-01-01/country=BR/id=7/file.avro gs://
2508
+ # bucket/path_to_table/dt=2018-12-31/country=CA/id=3/file.avro When hive
2509
+ # partitioning is requested with either AUTO or STRINGS detection, the common
2510
+ # prefix can be either of gs://bucket/path_to_table or gs://bucket/path_to_table/
2511
+ # (trailing slash does not matter).
2494
2512
  # Corresponds to the JSON property `sourceUriPrefix`
2495
2513
  # @return [String]
2496
2514
  attr_accessor :source_uri_prefix
@@ -2502,6 +2520,7 @@ module Google
2502
2520
  # Update properties of this object
2503
2521
  def update!(**args)
2504
2522
  @mode = args[:mode] if args.key?(:mode)
2523
+ @require_partition_filter = args[:require_partition_filter] if args.key?(:require_partition_filter)
2505
2524
  @source_uri_prefix = args[:source_uri_prefix] if args.key?(:source_uri_prefix)
2506
2525
  end
2507
2526
  end
@@ -2739,7 +2758,7 @@ module Google
2739
2758
  attr_accessor :compression
2740
2759
 
2741
2760
  # [Optional] The exported file format. Possible values include CSV,
2742
- # NEWLINE_DELIMITED_JSON or AVRO for tables and ML_TF_SAVED_MODEL or
2761
+ # NEWLINE_DELIMITED_JSON, PARQUET or AVRO for tables and ML_TF_SAVED_MODEL or
2743
2762
  # ML_XGBOOST_BOOSTER for models. The default value for tables is CSV. Tables
2744
2763
  # with nested or repeated fields cannot be exported as CSV. The default value
2745
2764
  # for models is ML_TF_SAVED_MODEL.
@@ -2855,6 +2874,27 @@ module Google
2855
2874
  # @return [String]
2856
2875
  attr_accessor :create_disposition
2857
2876
 
2877
+ # [Trusted Tester] Defines the list of possible SQL data types to which the
2878
+ # source decimal values are converted. This list and the precision and the scale
2879
+ # parameters of the decimal field determine the target type. In the order of
2880
+ # NUMERIC, BIGNUMERIC, and STRING, a type is picked if it is in the specified
2881
+ # list and if it supports the precision and the scale. STRING supports all
2882
+ # precision and scale values. If none of the listed types supports the precision
2883
+ # and the scale, the type supporting the widest range in the specified list is
2884
+ # picked, and if a value exceeds the supported range when reading the data, an
2885
+ # error will be thrown. For example: suppose decimal_target_type = ["NUMERIC", "
2886
+ # BIGNUMERIC"]. Then if (precision,scale) is: * (38,9) -> NUMERIC; * (39,9) ->
2887
+ # BIGNUMERIC (NUMERIC cannot hold 30 integer digits); * (38,10) -> BIGNUMERIC (
2888
+ # NUMERIC cannot hold 10 fractional digits); * (76,38) -> BIGNUMERIC; * (77,38) -
2889
+ # > BIGNUMERIC (error if value exeeds supported range). For duplicated types in
2890
+ # this field, only one will be considered and the rest will be ignored. The
2891
+ # order of the types in this field is ignored. For example, ["BIGNUMERIC", "
2892
+ # NUMERIC"] is the same as ["NUMERIC", "BIGNUMERIC"] and NUMERIC always takes
2893
+ # precedence over BIGNUMERIC.
2894
+ # Corresponds to the JSON property `decimalTargetTypes`
2895
+ # @return [Array<String>]
2896
+ attr_accessor :decimal_target_types
2897
+
2858
2898
  # Custom encryption configuration (e.g., Cloud KMS keys).
2859
2899
  # Corresponds to the JSON property `destinationEncryptionConfiguration`
2860
2900
  # @return [Google::Apis::BigqueryV2::EncryptionConfiguration]
@@ -3044,6 +3084,7 @@ module Google
3044
3084
  @autodetect = args[:autodetect] if args.key?(:autodetect)
3045
3085
  @clustering = args[:clustering] if args.key?(:clustering)
3046
3086
  @create_disposition = args[:create_disposition] if args.key?(:create_disposition)
3087
+ @decimal_target_types = args[:decimal_target_types] if args.key?(:decimal_target_types)
3047
3088
  @destination_encryption_configuration = args[:destination_encryption_configuration] if args.key?(:destination_encryption_configuration)
3048
3089
  @destination_table = args[:destination_table] if args.key?(:destination_table)
3049
3090
  @destination_table_properties = args[:destination_table_properties] if args.key?(:destination_table_properties)
@@ -4028,6 +4069,31 @@ module Google
4028
4069
  end
4029
4070
  end
4030
4071
 
4072
+ # Response message for the ListRowAccessPolicies method.
4073
+ class ListRowAccessPoliciesResponse
4074
+ include Google::Apis::Core::Hashable
4075
+
4076
+ # A token to request the next page of results.
4077
+ # Corresponds to the JSON property `nextPageToken`
4078
+ # @return [String]
4079
+ attr_accessor :next_page_token
4080
+
4081
+ # Row access policies on the requested table.
4082
+ # Corresponds to the JSON property `rowAccessPolicies`
4083
+ # @return [Array<Google::Apis::BigqueryV2::RowAccessPolicy>]
4084
+ attr_accessor :row_access_policies
4085
+
4086
+ def initialize(**args)
4087
+ update!(**args)
4088
+ end
4089
+
4090
+ # Update properties of this object
4091
+ def update!(**args)
4092
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
4093
+ @row_access_policies = args[:row_access_policies] if args.key?(:row_access_policies)
4094
+ end
4095
+ end
4096
+
4031
4097
  # BigQuery-specific metadata about a location. This will be set on google.cloud.
4032
4098
  # location.Location.metadata in Cloud Location API responses.
4033
4099
  class LocationMetadata
@@ -5253,6 +5319,56 @@ module Google
5253
5319
  end
5254
5320
  end
5255
5321
 
5322
+ # Represents access on a subset of rows on the specified table, defined by its
5323
+ # filter predicate. Access to the subset of rows is controlled by its IAM policy.
5324
+ class RowAccessPolicy
5325
+ include Google::Apis::Core::Hashable
5326
+
5327
+ # Output only. The time when this row access policy was created, in milliseconds
5328
+ # since the epoch.
5329
+ # Corresponds to the JSON property `creationTime`
5330
+ # @return [String]
5331
+ attr_accessor :creation_time
5332
+
5333
+ # Output only. A hash of this resource.
5334
+ # Corresponds to the JSON property `etag`
5335
+ # @return [String]
5336
+ attr_accessor :etag
5337
+
5338
+ # Required. A SQL boolean expression that represents the rows defined by this
5339
+ # row access policy, similar to the boolean expression in a WHERE clause of a
5340
+ # SELECT query on a table. References to other tables, routines, and temporary
5341
+ # functions are not supported. Examples: region="EU" date_field = CAST('2019-9-
5342
+ # 27' as DATE) nullable_field is not NULL numeric_field BETWEEN 1.0 AND 5.0
5343
+ # Corresponds to the JSON property `filterPredicate`
5344
+ # @return [String]
5345
+ attr_accessor :filter_predicate
5346
+
5347
+ # Output only. The time when this row access policy was last modified, in
5348
+ # milliseconds since the epoch.
5349
+ # Corresponds to the JSON property `lastModifiedTime`
5350
+ # @return [String]
5351
+ attr_accessor :last_modified_time
5352
+
5353
+ # Required. Reference describing the ID of this row access policy.
5354
+ # Corresponds to the JSON property `rowAccessPolicyReference`
5355
+ # @return [Google::Apis::BigqueryV2::RowAccessPolicyReference]
5356
+ attr_accessor :row_access_policy_reference
5357
+
5358
+ def initialize(**args)
5359
+ update!(**args)
5360
+ end
5361
+
5362
+ # Update properties of this object
5363
+ def update!(**args)
5364
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
5365
+ @etag = args[:etag] if args.key?(:etag)
5366
+ @filter_predicate = args[:filter_predicate] if args.key?(:filter_predicate)
5367
+ @last_modified_time = args[:last_modified_time] if args.key?(:last_modified_time)
5368
+ @row_access_policy_reference = args[:row_access_policy_reference] if args.key?(:row_access_policy_reference)
5369
+ end
5370
+ end
5371
+
5256
5372
  #
5257
5373
  class RowAccessPolicyReference
5258
5374
  include Google::Apis::Core::Hashable
@@ -5757,11 +5873,11 @@ module Google
5757
5873
  attr_accessor :time_partitioning
5758
5874
 
5759
5875
  # [Output-only] Describes the table type. The following values are supported:
5760
- # TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. [
5761
- # TrustedTester] SNAPSHOT: An immutable, read-only table that is a copy of
5762
- # another table. [TrustedTester] MATERIALIZED_VIEW: SQL query whose result is
5763
- # persisted. EXTERNAL: A table that references data stored in an external
5764
- # storage system, such as Google Cloud Storage. The default value is TABLE.
5876
+ # TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query.
5877
+ # SNAPSHOT: An immutable, read-only table that is a copy of another table. [
5878
+ # TrustedTester] MATERIALIZED_VIEW: SQL query whose result is persisted.
5879
+ # EXTERNAL: A table that references data stored in an external storage system,
5880
+ # such as Google Cloud Storage. The default value is TABLE.
5765
5881
  # Corresponds to the JSON property `type`
5766
5882
  # @return [String]
5767
5883
  attr_accessor :type
@@ -6393,8 +6509,9 @@ module Google
6393
6509
  attr_accessor :require_partition_filter
6394
6510
  alias_method :require_partition_filter?, :require_partition_filter
6395
6511
 
6396
- # [Required] The only type supported is DAY, which will generate one partition
6397
- # per day.
6512
+ # [Required] The supported types are DAY, HOUR, MONTH, and YEAR, which will
6513
+ # generate one partition per day, hour, month, and year, respectively. When the
6514
+ # type is not specified, the default behavior is DAY.
6398
6515
  # Corresponds to the JSON property `type`
6399
6516
  # @return [String]
6400
6517
  attr_accessor :type
@@ -454,6 +454,12 @@ module Google
454
454
  include Google::Apis::Core::JsonObjectSupport
455
455
  end
456
456
 
457
+ class ListRowAccessPoliciesResponse
458
+ class Representation < Google::Apis::Core::JsonRepresentation; end
459
+
460
+ include Google::Apis::Core::JsonObjectSupport
461
+ end
462
+
457
463
  class LocationMetadata
458
464
  class Representation < Google::Apis::Core::JsonRepresentation; end
459
465
 
@@ -604,6 +610,12 @@ module Google
604
610
  include Google::Apis::Core::JsonObjectSupport
605
611
  end
606
612
 
613
+ class RowAccessPolicy
614
+ class Representation < Google::Apis::Core::JsonRepresentation; end
615
+
616
+ include Google::Apis::Core::JsonObjectSupport
617
+ end
618
+
607
619
  class RowAccessPolicyReference
608
620
  class Representation < Google::Apis::Core::JsonRepresentation; end
609
621
 
@@ -1157,6 +1169,7 @@ module Google
1157
1169
  hash :labels, as: 'labels'
1158
1170
  property :last_modified_time, :numeric_string => true, as: 'lastModifiedTime'
1159
1171
  property :location, as: 'location'
1172
+ property :satisfies_pzs, as: 'satisfiesPZS'
1160
1173
  property :self_link, as: 'selfLink'
1161
1174
  end
1162
1175
 
@@ -1404,6 +1417,7 @@ module Google
1404
1417
  # @private
1405
1418
  class Representation < Google::Apis::Core::JsonRepresentation
1406
1419
  property :mode, as: 'mode'
1420
+ property :require_partition_filter, as: 'requirePartitionFilter'
1407
1421
  property :source_uri_prefix, as: 'sourceUriPrefix'
1408
1422
  end
1409
1423
  end
@@ -1495,6 +1509,7 @@ module Google
1495
1509
  property :clustering, as: 'clustering', class: Google::Apis::BigqueryV2::Clustering, decorator: Google::Apis::BigqueryV2::Clustering::Representation
1496
1510
 
1497
1511
  property :create_disposition, as: 'createDisposition'
1512
+ collection :decimal_target_types, as: 'decimalTargetTypes'
1498
1513
  property :destination_encryption_configuration, as: 'destinationEncryptionConfiguration', class: Google::Apis::BigqueryV2::EncryptionConfiguration, decorator: Google::Apis::BigqueryV2::EncryptionConfiguration::Representation
1499
1514
 
1500
1515
  property :destination_table, as: 'destinationTable', class: Google::Apis::BigqueryV2::TableReference, decorator: Google::Apis::BigqueryV2::TableReference::Representation
@@ -1760,6 +1775,15 @@ module Google
1760
1775
  end
1761
1776
  end
1762
1777
 
1778
+ class ListRowAccessPoliciesResponse
1779
+ # @private
1780
+ class Representation < Google::Apis::Core::JsonRepresentation
1781
+ property :next_page_token, as: 'nextPageToken'
1782
+ collection :row_access_policies, as: 'rowAccessPolicies', class: Google::Apis::BigqueryV2::RowAccessPolicy, decorator: Google::Apis::BigqueryV2::RowAccessPolicy::Representation
1783
+
1784
+ end
1785
+ end
1786
+
1763
1787
  class LocationMetadata
1764
1788
  # @private
1765
1789
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -2061,6 +2085,18 @@ module Google
2061
2085
  end
2062
2086
  end
2063
2087
 
2088
+ class RowAccessPolicy
2089
+ # @private
2090
+ class Representation < Google::Apis::Core::JsonRepresentation
2091
+ property :creation_time, as: 'creationTime'
2092
+ property :etag, as: 'etag'
2093
+ property :filter_predicate, as: 'filterPredicate'
2094
+ property :last_modified_time, as: 'lastModifiedTime'
2095
+ property :row_access_policy_reference, as: 'rowAccessPolicyReference', class: Google::Apis::BigqueryV2::RowAccessPolicyReference, decorator: Google::Apis::BigqueryV2::RowAccessPolicyReference::Representation
2096
+
2097
+ end
2098
+ end
2099
+
2064
2100
  class RowAccessPolicyReference
2065
2101
  # @private
2066
2102
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1028,6 +1028,52 @@ module Google
1028
1028
  execute_or_queue_command(command, &block)
1029
1029
  end
1030
1030
 
1031
+ # Lists all row access policies on the specified table.
1032
+ # @param [String] project_id
1033
+ # Required. Project ID of the row access policies to list.
1034
+ # @param [String] dataset_id
1035
+ # Required. Dataset ID of row access policies to list.
1036
+ # @param [String] table_id
1037
+ # Required. Table ID of the table to list row access policies.
1038
+ # @param [Fixnum] page_size
1039
+ # The maximum number of results to return in a single response page. Leverage
1040
+ # the page tokens to iterate through the entire collection.
1041
+ # @param [String] page_token
1042
+ # Page token, returned by a previous call, to request the next page of results.
1043
+ # @param [String] fields
1044
+ # Selector specifying which fields to include in a partial response.
1045
+ # @param [String] quota_user
1046
+ # An opaque string that represents a user for quota purposes. Must not exceed 40
1047
+ # characters.
1048
+ # @param [String] user_ip
1049
+ # Deprecated. Please use quotaUser instead.
1050
+ # @param [Google::Apis::RequestOptions] options
1051
+ # Request-specific options
1052
+ #
1053
+ # @yield [result, err] Result & error if block supplied
1054
+ # @yieldparam result [Google::Apis::BigqueryV2::ListRowAccessPoliciesResponse] parsed result object
1055
+ # @yieldparam err [StandardError] error object if request failed
1056
+ #
1057
+ # @return [Google::Apis::BigqueryV2::ListRowAccessPoliciesResponse]
1058
+ #
1059
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
1060
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
1061
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
1062
+ def list_row_access_policies(project_id, dataset_id, table_id, page_size: nil, page_token: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block)
1063
+ command = make_simple_command(:get, 'projects/{+projectId}/datasets/{+datasetId}/tables/{+tableId}/rowAccessPolicies', options)
1064
+ command.response_representation = Google::Apis::BigqueryV2::ListRowAccessPoliciesResponse::Representation
1065
+ command.response_class = Google::Apis::BigqueryV2::ListRowAccessPoliciesResponse
1066
+ command.params['projectId'] = project_id unless project_id.nil?
1067
+ command.params['datasetId'] = dataset_id unless dataset_id.nil?
1068
+ command.params['tableId'] = table_id unless table_id.nil?
1069
+ command.query['pageSize'] = page_size unless page_size.nil?
1070
+ command.query['pageToken'] = page_token unless page_token.nil?
1071
+ command.query['fields'] = fields unless fields.nil?
1072
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
1073
+ command.query['userIp'] = user_ip unless user_ip.nil?
1074
+ execute_or_queue_command(command, &block)
1075
+ end
1076
+
1031
1077
  # Streams data into BigQuery one record at a time without needing to run a load
1032
1078
  # job. Requires the WRITER dataset role.
1033
1079
  # @param [String] project_id
@@ -0,0 +1,38 @@
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/billingbudgets_v1/service.rb'
16
+ require 'google/apis/billingbudgets_v1/classes.rb'
17
+ require 'google/apis/billingbudgets_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Billing Budget API
22
+ #
23
+ # The Cloud Billing Budget API stores Cloud Billing budgets, which define a
24
+ # budget plan and the rules to execute as spend is tracked against that plan.
25
+ #
26
+ # @see https://cloud.google.com/billing/docs/how-to/budget-api-overview
27
+ module BillingbudgetsV1
28
+ VERSION = 'V1'
29
+ REVISION = '20201012'
30
+
31
+ # View and manage your Google Cloud Platform billing accounts
32
+ AUTH_CLOUD_BILLING = 'https://www.googleapis.com/auth/cloud-billing'
33
+
34
+ # View and manage your data across Google Cloud Platform services
35
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,362 @@
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 BillingbudgetsV1
24
+
25
+ # A budget is a plan that describes what you expect to spend on Cloud projects,
26
+ # plus the rules to execute as spend is tracked against that plan, (for example,
27
+ # send an alert when 90% of the target spend is met). Currently all plans are
28
+ # monthly budgets so the usage period(s) tracked are implied (calendar months of
29
+ # usage back-to-back).
30
+ class GoogleCloudBillingBudgetsV1Budget
31
+ include Google::Apis::Core::Hashable
32
+
33
+ # The budgeted amount for each usage period.
34
+ # Corresponds to the JSON property `amount`
35
+ # @return [Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1BudgetAmount]
36
+ attr_accessor :amount
37
+
38
+ # A filter for a budget, limiting the scope of the cost to calculate.
39
+ # Corresponds to the JSON property `budgetFilter`
40
+ # @return [Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1Filter]
41
+ attr_accessor :budget_filter
42
+
43
+ # User data for display name in UI. The name must be less than or equal to 60
44
+ # characters.
45
+ # Corresponds to the JSON property `displayName`
46
+ # @return [String]
47
+ attr_accessor :display_name
48
+
49
+ # Optional. Etag to validate that the object is unchanged for a read-modify-
50
+ # write operation. An empty etag will cause an update to overwrite other changes.
51
+ # Corresponds to the JSON property `etag`
52
+ # @return [String]
53
+ attr_accessor :etag
54
+
55
+ # Output only. Resource name of the budget. The resource name implies the scope
56
+ # of a budget. Values are of the form `billingAccounts/`billingAccountId`/
57
+ # budgets/`budgetId``.
58
+ # Corresponds to the JSON property `name`
59
+ # @return [String]
60
+ attr_accessor :name
61
+
62
+ # NotificationsRule defines notifications that are sent based on budget spend
63
+ # and thresholds.
64
+ # Corresponds to the JSON property `notificationsRule`
65
+ # @return [Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1NotificationsRule]
66
+ attr_accessor :notifications_rule
67
+
68
+ # Optional. Rules that trigger alerts (notifications of thresholds being crossed)
69
+ # when spend exceeds the specified percentages of the budget.
70
+ # Corresponds to the JSON property `thresholdRules`
71
+ # @return [Array<Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1ThresholdRule>]
72
+ attr_accessor :threshold_rules
73
+
74
+ def initialize(**args)
75
+ update!(**args)
76
+ end
77
+
78
+ # Update properties of this object
79
+ def update!(**args)
80
+ @amount = args[:amount] if args.key?(:amount)
81
+ @budget_filter = args[:budget_filter] if args.key?(:budget_filter)
82
+ @display_name = args[:display_name] if args.key?(:display_name)
83
+ @etag = args[:etag] if args.key?(:etag)
84
+ @name = args[:name] if args.key?(:name)
85
+ @notifications_rule = args[:notifications_rule] if args.key?(:notifications_rule)
86
+ @threshold_rules = args[:threshold_rules] if args.key?(:threshold_rules)
87
+ end
88
+ end
89
+
90
+ # The budgeted amount for each usage period.
91
+ class GoogleCloudBillingBudgetsV1BudgetAmount
92
+ include Google::Apis::Core::Hashable
93
+
94
+ # Describes a budget amount targeted to last period's spend. At this time, the
95
+ # amount is automatically 100% of last period's spend; that is, there are no
96
+ # other options yet. Future configuration will be described here (for example,
97
+ # configuring a percentage of last period's spend).
98
+ # Corresponds to the JSON property `lastPeriodAmount`
99
+ # @return [Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1LastPeriodAmount]
100
+ attr_accessor :last_period_amount
101
+
102
+ # Represents an amount of money with its currency type.
103
+ # Corresponds to the JSON property `specifiedAmount`
104
+ # @return [Google::Apis::BillingbudgetsV1::GoogleTypeMoney]
105
+ attr_accessor :specified_amount
106
+
107
+ def initialize(**args)
108
+ update!(**args)
109
+ end
110
+
111
+ # Update properties of this object
112
+ def update!(**args)
113
+ @last_period_amount = args[:last_period_amount] if args.key?(:last_period_amount)
114
+ @specified_amount = args[:specified_amount] if args.key?(:specified_amount)
115
+ end
116
+ end
117
+
118
+ # A filter for a budget, limiting the scope of the cost to calculate.
119
+ class GoogleCloudBillingBudgetsV1Filter
120
+ include Google::Apis::Core::Hashable
121
+
122
+ # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
123
+ # Corresponds to the JSON property `creditTypesTreatment`
124
+ # @return [String]
125
+ attr_accessor :credit_types_treatment
126
+
127
+ # Optional. A single label and value pair specifying that usage from only this
128
+ # set of labeled resources should be included in the budget. Currently, multiple
129
+ # entries or multiple values per entry are not allowed. If omitted, the report
130
+ # will include all labeled and unlabeled usage.
131
+ # Corresponds to the JSON property `labels`
132
+ # @return [Hash<String,Array<Object>>]
133
+ attr_accessor :labels
134
+
135
+ # Optional. A set of projects of the form `projects/`project``, specifying that
136
+ # usage from only this set of projects should be included in the budget. If
137
+ # omitted, the report will include all usage for the billing account, regardless
138
+ # of which project the usage occurred on. Only zero or one project can be
139
+ # specified currently.
140
+ # Corresponds to the JSON property `projects`
141
+ # @return [Array<String>]
142
+ attr_accessor :projects
143
+
144
+ # Optional. A set of services of the form `services/`service_id``, specifying
145
+ # that usage from only this set of services should be included in the budget. If
146
+ # omitted, the report will include usage for all the services. The service names
147
+ # are available through the Catalog API: https://cloud.google.com/billing/v1/how-
148
+ # tos/catalog-api.
149
+ # Corresponds to the JSON property `services`
150
+ # @return [Array<String>]
151
+ attr_accessor :services
152
+
153
+ # Optional. A set of subaccounts of the form `billingAccounts/`account_id``,
154
+ # specifying that usage from only this set of subaccounts should be included in
155
+ # the budget. If a subaccount is set to the name of the parent account, usage
156
+ # from the parent account will be included. If the field is omitted, the report
157
+ # will include usage from the parent account and all subaccounts, if they exist.
158
+ # Corresponds to the JSON property `subaccounts`
159
+ # @return [Array<String>]
160
+ attr_accessor :subaccounts
161
+
162
+ def initialize(**args)
163
+ update!(**args)
164
+ end
165
+
166
+ # Update properties of this object
167
+ def update!(**args)
168
+ @credit_types_treatment = args[:credit_types_treatment] if args.key?(:credit_types_treatment)
169
+ @labels = args[:labels] if args.key?(:labels)
170
+ @projects = args[:projects] if args.key?(:projects)
171
+ @services = args[:services] if args.key?(:services)
172
+ @subaccounts = args[:subaccounts] if args.key?(:subaccounts)
173
+ end
174
+ end
175
+
176
+ # Describes a budget amount targeted to last period's spend. At this time, the
177
+ # amount is automatically 100% of last period's spend; that is, there are no
178
+ # other options yet. Future configuration will be described here (for example,
179
+ # configuring a percentage of last period's spend).
180
+ class GoogleCloudBillingBudgetsV1LastPeriodAmount
181
+ include Google::Apis::Core::Hashable
182
+
183
+ def initialize(**args)
184
+ update!(**args)
185
+ end
186
+
187
+ # Update properties of this object
188
+ def update!(**args)
189
+ end
190
+ end
191
+
192
+ # Response for ListBudgets
193
+ class GoogleCloudBillingBudgetsV1ListBudgetsResponse
194
+ include Google::Apis::Core::Hashable
195
+
196
+ # List of the budgets owned by the requested billing account.
197
+ # Corresponds to the JSON property `budgets`
198
+ # @return [Array<Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1Budget>]
199
+ attr_accessor :budgets
200
+
201
+ # If not empty, indicates that there may be more budgets that match the request;
202
+ # this value should be passed in a new `ListBudgetsRequest`.
203
+ # Corresponds to the JSON property `nextPageToken`
204
+ # @return [String]
205
+ attr_accessor :next_page_token
206
+
207
+ def initialize(**args)
208
+ update!(**args)
209
+ end
210
+
211
+ # Update properties of this object
212
+ def update!(**args)
213
+ @budgets = args[:budgets] if args.key?(:budgets)
214
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
215
+ end
216
+ end
217
+
218
+ # NotificationsRule defines notifications that are sent based on budget spend
219
+ # and thresholds.
220
+ class GoogleCloudBillingBudgetsV1NotificationsRule
221
+ include Google::Apis::Core::Hashable
222
+
223
+ # Optional. When set to true, disables default notifications sent when a
224
+ # threshold is exceeded. Default notifications are sent to those with Billing
225
+ # Account Administrator and Billing Account User IAM roles for the target
226
+ # account.
227
+ # Corresponds to the JSON property `disableDefaultIamRecipients`
228
+ # @return [Boolean]
229
+ attr_accessor :disable_default_iam_recipients
230
+ alias_method :disable_default_iam_recipients?, :disable_default_iam_recipients
231
+
232
+ # Optional. Targets to send notifications to when a threshold is exceeded. This
233
+ # is in addition to default recipients who have billing account IAM roles. The
234
+ # value is the full REST resource name of a monitoring notification channel with
235
+ # the form `projects/`project_id`/notificationChannels/`channel_id``. A maximum
236
+ # of 5 channels are allowed. See https://cloud.google.com/billing/docs/how-to/
237
+ # budgets-notification-recipients for more details.
238
+ # Corresponds to the JSON property `monitoringNotificationChannels`
239
+ # @return [Array<String>]
240
+ attr_accessor :monitoring_notification_channels
241
+
242
+ # Optional. The name of the Pub/Sub topic where budget related messages will be
243
+ # published, in the form `projects/`project_id`/topics/`topic_id``. Updates are
244
+ # sent at regular intervals to the topic. The topic needs to be created before
245
+ # the budget is created; see https://cloud.google.com/billing/docs/how-to/
246
+ # budgets#manage-notifications for more details. Caller is expected to have `
247
+ # pubsub.topics.setIamPolicy` permission on the topic when it's set for a budget,
248
+ # otherwise, the API call will fail with PERMISSION_DENIED. See https://cloud.
249
+ # google.com/billing/docs/how-to/budgets-programmatic-notifications for more
250
+ # details on Pub/Sub roles and permissions.
251
+ # Corresponds to the JSON property `pubsubTopic`
252
+ # @return [String]
253
+ attr_accessor :pubsub_topic
254
+
255
+ # Optional. The schema version of the notification sent to `pubsub_topic`. Only "
256
+ # 1.0" is accepted. It represents the JSON schema as defined in https://cloud.
257
+ # google.com/billing/docs/how-to/budgets-programmatic-notifications#
258
+ # notification_format
259
+ # Corresponds to the JSON property `schemaVersion`
260
+ # @return [String]
261
+ attr_accessor :schema_version
262
+
263
+ def initialize(**args)
264
+ update!(**args)
265
+ end
266
+
267
+ # Update properties of this object
268
+ def update!(**args)
269
+ @disable_default_iam_recipients = args[:disable_default_iam_recipients] if args.key?(:disable_default_iam_recipients)
270
+ @monitoring_notification_channels = args[:monitoring_notification_channels] if args.key?(:monitoring_notification_channels)
271
+ @pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic)
272
+ @schema_version = args[:schema_version] if args.key?(:schema_version)
273
+ end
274
+ end
275
+
276
+ # ThresholdRule contains a definition of a threshold which triggers an alert (a
277
+ # notification of a threshold being crossed) to be sent when spend goes above
278
+ # the specified amount. Alerts are automatically e-mailed to users with the
279
+ # Billing Account Administrator role or the Billing Account User role. The
280
+ # thresholds here have no effect on notifications sent to anything configured
281
+ # under `Budget.all_updates_rule`.
282
+ class GoogleCloudBillingBudgetsV1ThresholdRule
283
+ include Google::Apis::Core::Hashable
284
+
285
+ # Optional. The type of basis used to determine if spend has passed the
286
+ # threshold. Behavior defaults to CURRENT_SPEND if not set.
287
+ # Corresponds to the JSON property `spendBasis`
288
+ # @return [String]
289
+ attr_accessor :spend_basis
290
+
291
+ # Required. Send an alert when this threshold is exceeded. This is a 1.0-based
292
+ # percentage, so 0.5 = 50%. Validation: non-negative number.
293
+ # Corresponds to the JSON property `thresholdPercent`
294
+ # @return [Float]
295
+ attr_accessor :threshold_percent
296
+
297
+ def initialize(**args)
298
+ update!(**args)
299
+ end
300
+
301
+ # Update properties of this object
302
+ def update!(**args)
303
+ @spend_basis = args[:spend_basis] if args.key?(:spend_basis)
304
+ @threshold_percent = args[:threshold_percent] if args.key?(:threshold_percent)
305
+ end
306
+ end
307
+
308
+ # A generic empty message that you can re-use to avoid defining duplicated empty
309
+ # messages in your APIs. A typical example is to use it as the request or the
310
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
311
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
312
+ # `Empty` is empty JSON object ````.
313
+ class GoogleProtobufEmpty
314
+ include Google::Apis::Core::Hashable
315
+
316
+ def initialize(**args)
317
+ update!(**args)
318
+ end
319
+
320
+ # Update properties of this object
321
+ def update!(**args)
322
+ end
323
+ end
324
+
325
+ # Represents an amount of money with its currency type.
326
+ class GoogleTypeMoney
327
+ include Google::Apis::Core::Hashable
328
+
329
+ # The three-letter currency code defined in ISO 4217.
330
+ # Corresponds to the JSON property `currencyCode`
331
+ # @return [String]
332
+ attr_accessor :currency_code
333
+
334
+ # Number of nano (10^-9) units of the amount. The value must be between -999,999,
335
+ # 999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be
336
+ # positive or zero. If `units` is zero, `nanos` can be positive, zero, or
337
+ # negative. If `units` is negative, `nanos` must be negative or zero. For
338
+ # example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
339
+ # Corresponds to the JSON property `nanos`
340
+ # @return [Fixnum]
341
+ attr_accessor :nanos
342
+
343
+ # The whole units of the amount. For example if `currencyCode` is `"USD"`, then
344
+ # 1 unit is one US dollar.
345
+ # Corresponds to the JSON property `units`
346
+ # @return [Fixnum]
347
+ attr_accessor :units
348
+
349
+ def initialize(**args)
350
+ update!(**args)
351
+ end
352
+
353
+ # Update properties of this object
354
+ def update!(**args)
355
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
356
+ @nanos = args[:nanos] if args.key?(:nanos)
357
+ @units = args[:units] if args.key?(:units)
358
+ end
359
+ end
360
+ end
361
+ end
362
+ end