google-api-client 0.44.2 → 0.46.2

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