google-api-client 0.41.2 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (897) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +529 -0
  3. data/docs/oauth-server.md +4 -6
  4. data/generated/google/apis/abusiveexperiencereport_v1.rb +1 -1
  5. data/generated/google/apis/abusiveexperiencereport_v1/classes.rb +8 -13
  6. data/generated/google/apis/abusiveexperiencereport_v1/service.rb +2 -3
  7. data/generated/google/apis/accessapproval_v1.rb +1 -1
  8. data/generated/google/apis/accessapproval_v1/classes.rb +57 -83
  9. data/generated/google/apis/accessapproval_v1/representations.rb +1 -0
  10. data/generated/google/apis/accessapproval_v1/service.rb +93 -129
  11. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  12. data/generated/google/apis/accesscontextmanager_v1/classes.rb +198 -236
  13. data/generated/google/apis/accesscontextmanager_v1/service.rb +128 -171
  14. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  15. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +153 -184
  16. data/generated/google/apis/accesscontextmanager_v1beta/service.rb +82 -111
  17. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  18. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +532 -651
  19. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +1 -0
  20. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +467 -631
  21. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  22. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +47 -2
  23. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +18 -0
  24. data/generated/google/apis/adexperiencereport_v1.rb +1 -1
  25. data/generated/google/apis/adexperiencereport_v1/classes.rb +11 -18
  26. data/generated/google/apis/adexperiencereport_v1/service.rb +2 -3
  27. data/generated/google/apis/admin_datatransfer_v1.rb +6 -4
  28. data/generated/google/apis/admin_datatransfer_v1/classes.rb +16 -4
  29. data/generated/google/apis/admin_datatransfer_v1/service.rb +30 -48
  30. data/generated/google/apis/admin_directory_v1.rb +6 -8
  31. data/generated/google/apis/admin_directory_v1/classes.rb +224 -243
  32. data/generated/google/apis/admin_directory_v1/representations.rb +14 -40
  33. data/generated/google/apis/admin_directory_v1/service.rb +475 -1026
  34. data/generated/google/apis/admin_reports_v1.rb +6 -5
  35. data/generated/google/apis/admin_reports_v1/classes.rb +31 -33
  36. data/generated/google/apis/admin_reports_v1/service.rb +131 -187
  37. data/generated/google/apis/admob_v1.rb +1 -1
  38. data/generated/google/apis/admob_v1/classes.rb +139 -268
  39. data/generated/google/apis/admob_v1/service.rb +11 -13
  40. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  41. data/generated/google/apis/alertcenter_v1beta1/classes.rb +107 -138
  42. data/generated/google/apis/alertcenter_v1beta1/service.rb +50 -55
  43. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  44. data/generated/google/apis/analyticsreporting_v4/classes.rb +315 -399
  45. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  46. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +193 -220
  47. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +55 -61
  48. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  49. data/generated/google/apis/androidenterprise_v1/classes.rb +452 -557
  50. data/generated/google/apis/androidenterprise_v1/service.rb +181 -240
  51. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  52. data/generated/google/apis/androidmanagement_v1/classes.rb +95 -59
  53. data/generated/google/apis/androidmanagement_v1/representations.rb +17 -0
  54. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  55. data/generated/google/apis/androidpublisher_v3/classes.rb +281 -342
  56. data/generated/google/apis/androidpublisher_v3/service.rb +127 -155
  57. data/generated/google/apis/apigee_v1.rb +6 -8
  58. data/generated/google/apis/apigee_v1/classes.rb +2060 -1099
  59. data/generated/google/apis/apigee_v1/representations.rb +593 -0
  60. data/generated/google/apis/apigee_v1/service.rb +2596 -1692
  61. data/generated/google/apis/appengine_v1.rb +1 -1
  62. data/generated/google/apis/appengine_v1/classes.rb +45 -35
  63. data/generated/google/apis/appengine_v1/representations.rb +2 -0
  64. data/generated/google/apis/appengine_v1/service.rb +38 -44
  65. data/generated/google/apis/appengine_v1alpha.rb +1 -1
  66. data/generated/google/apis/appengine_v1alpha/classes.rb +9 -11
  67. data/generated/google/apis/appengine_v1beta.rb +1 -1
  68. data/generated/google/apis/appengine_v1beta/classes.rb +45 -35
  69. data/generated/google/apis/appengine_v1beta/representations.rb +2 -0
  70. data/generated/google/apis/appengine_v1beta/service.rb +37 -43
  71. data/generated/google/apis/appsmarket_v2.rb +1 -1
  72. data/generated/google/apis/appsmarket_v2/classes.rb +14 -16
  73. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  74. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +235 -337
  75. data/generated/google/apis/artifactregistry_v1beta1/service.rb +44 -57
  76. data/generated/google/apis/bigquery_v2.rb +1 -1
  77. data/generated/google/apis/bigquery_v2/classes.rb +538 -541
  78. data/generated/google/apis/bigquery_v2/representations.rb +71 -0
  79. data/generated/google/apis/bigquery_v2/service.rb +32 -40
  80. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  81. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +192 -337
  82. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +29 -32
  83. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  84. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +132 -158
  85. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +232 -282
  86. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  87. data/generated/google/apis/bigqueryreservation_v1/classes.rb +146 -119
  88. data/generated/google/apis/bigqueryreservation_v1/representations.rb +18 -0
  89. data/generated/google/apis/bigqueryreservation_v1/service.rb +174 -160
  90. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  91. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +88 -100
  92. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +77 -100
  93. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  94. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +99 -96
  95. data/generated/google/apis/bigqueryreservation_v1beta1/representations.rb +3 -0
  96. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +114 -151
  97. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  98. data/generated/google/apis/bigtableadmin_v1/classes.rb +317 -0
  99. data/generated/google/apis/bigtableadmin_v1/representations.rb +129 -0
  100. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  101. data/generated/google/apis/bigtableadmin_v2/classes.rb +405 -0
  102. data/generated/google/apis/bigtableadmin_v2/representations.rb +175 -0
  103. data/generated/google/apis/bigtableadmin_v2/service.rb +298 -0
  104. data/generated/google/apis/billingbudgets_v1beta1.rb +4 -1
  105. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +103 -109
  106. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +1 -0
  107. data/generated/google/apis/billingbudgets_v1beta1/service.rb +30 -33
  108. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  109. data/generated/google/apis/binaryauthorization_v1/classes.rb +239 -354
  110. data/generated/google/apis/binaryauthorization_v1/service.rb +74 -89
  111. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  112. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +239 -354
  113. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +74 -89
  114. data/generated/google/apis/blogger_v2.rb +2 -3
  115. data/generated/google/apis/blogger_v2/classes.rb +1 -2
  116. data/generated/google/apis/blogger_v2/service.rb +1 -2
  117. data/generated/google/apis/blogger_v3.rb +2 -3
  118. data/generated/google/apis/blogger_v3/classes.rb +1 -2
  119. data/generated/google/apis/blogger_v3/service.rb +1 -2
  120. data/generated/google/apis/books_v1.rb +1 -1
  121. data/generated/google/apis/books_v1/classes.rb +140 -159
  122. data/generated/google/apis/books_v1/service.rb +47 -49
  123. data/generated/google/apis/calendar_v3.rb +1 -1
  124. data/generated/google/apis/chat_v1.rb +1 -1
  125. data/generated/google/apis/chat_v1/classes.rb +211 -106
  126. data/generated/google/apis/chat_v1/representations.rb +63 -0
  127. data/generated/google/apis/chat_v1/service.rb +95 -36
  128. data/generated/google/apis/chromeuxreport_v1.rb +1 -1
  129. data/generated/google/apis/chromeuxreport_v1/classes.rb +68 -57
  130. data/generated/google/apis/chromeuxreport_v1/representations.rb +2 -0
  131. data/generated/google/apis/civicinfo_v2.rb +1 -1
  132. data/generated/google/apis/civicinfo_v2/classes.rb +9 -1
  133. data/generated/google/apis/civicinfo_v2/representations.rb +1 -0
  134. data/generated/google/apis/civicinfo_v2/service.rb +1 -1
  135. data/generated/google/apis/classroom_v1.rb +1 -1
  136. data/generated/google/apis/classroom_v1/classes.rb +250 -365
  137. data/generated/google/apis/classroom_v1/service.rb +645 -900
  138. data/generated/google/apis/cloudasset_v1.rb +1 -1
  139. data/generated/google/apis/cloudasset_v1/classes.rb +713 -1036
  140. data/generated/google/apis/cloudasset_v1/service.rb +131 -156
  141. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  142. data/generated/google/apis/cloudasset_v1beta1/classes.rb +531 -775
  143. data/generated/google/apis/cloudasset_v1beta1/service.rb +59 -75
  144. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  145. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +204 -349
  146. data/generated/google/apis/cloudasset_v1p1beta1/service.rb +35 -47
  147. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  148. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +220 -276
  149. data/generated/google/apis/cloudasset_v1p4beta1/service.rb +75 -93
  150. data/generated/google/apis/{securitycenter_v1p1alpha1.rb → cloudasset_v1p5beta1.rb} +9 -10
  151. data/generated/google/apis/cloudasset_v1p5beta1/classes.rb +1300 -0
  152. data/generated/google/apis/cloudasset_v1p5beta1/representations.rb +399 -0
  153. data/generated/google/apis/cloudasset_v1p5beta1/service.rb +126 -0
  154. data/generated/google/apis/cloudbilling_v1.rb +7 -1
  155. data/generated/google/apis/cloudbilling_v1/classes.rb +284 -445
  156. data/generated/google/apis/cloudbilling_v1/service.rb +104 -124
  157. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  158. data/generated/google/apis/cloudbuild_v1/classes.rb +292 -344
  159. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  160. data/generated/google/apis/cloudbuild_v1/service.rb +48 -63
  161. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  162. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +283 -329
  163. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +1 -0
  164. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +15 -18
  165. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  166. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +269 -313
  167. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +1 -0
  168. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +22 -28
  169. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  170. data/generated/google/apis/clouddebugger_v2/classes.rb +185 -252
  171. data/generated/google/apis/clouddebugger_v2/service.rb +53 -59
  172. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  173. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +132 -154
  174. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +1 -0
  175. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +53 -69
  176. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  177. data/generated/google/apis/cloudfunctions_v1/classes.rb +333 -534
  178. data/generated/google/apis/cloudfunctions_v1/representations.rb +2 -17
  179. data/generated/google/apis/cloudfunctions_v1/service.rb +79 -93
  180. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  181. data/generated/google/apis/cloudidentity_v1/classes.rb +625 -75
  182. data/generated/google/apis/cloudidentity_v1/representations.rb +203 -0
  183. data/generated/google/apis/cloudidentity_v1/service.rb +43 -61
  184. data/generated/google/apis/cloudidentity_v1beta1.rb +4 -1
  185. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +1051 -298
  186. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +346 -22
  187. data/generated/google/apis/cloudidentity_v1beta1/service.rb +742 -96
  188. data/generated/google/apis/cloudiot_v1.rb +1 -1
  189. data/generated/google/apis/cloudiot_v1/classes.rb +263 -373
  190. data/generated/google/apis/cloudiot_v1/service.rb +147 -154
  191. data/generated/google/apis/cloudkms_v1.rb +1 -1
  192. data/generated/google/apis/cloudkms_v1/classes.rb +502 -692
  193. data/generated/google/apis/cloudkms_v1/representations.rb +17 -0
  194. data/generated/google/apis/cloudkms_v1/service.rb +170 -216
  195. data/generated/google/apis/cloudprofiler_v2.rb +1 -1
  196. data/generated/google/apis/cloudprofiler_v2/classes.rb +28 -33
  197. data/generated/google/apis/cloudprofiler_v2/service.rb +17 -19
  198. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  199. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +503 -754
  200. data/generated/google/apis/cloudresourcemanager_v1/service.rb +198 -249
  201. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  202. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +258 -429
  203. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +136 -178
  204. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  205. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +258 -414
  206. data/generated/google/apis/cloudresourcemanager_v2/service.rb +96 -129
  207. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  208. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +258 -414
  209. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +96 -129
  210. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  211. data/generated/google/apis/cloudscheduler_v1/classes.rb +280 -380
  212. data/generated/google/apis/cloudscheduler_v1/representations.rb +1 -0
  213. data/generated/google/apis/cloudscheduler_v1/service.rb +45 -62
  214. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  215. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +281 -381
  216. data/generated/google/apis/cloudscheduler_v1beta1/representations.rb +1 -0
  217. data/generated/google/apis/cloudscheduler_v1beta1/service.rb +45 -62
  218. data/generated/google/apis/cloudsearch_v1.rb +2 -2
  219. data/generated/google/apis/cloudsearch_v1/classes.rb +650 -782
  220. data/generated/google/apis/cloudsearch_v1/representations.rb +15 -0
  221. data/generated/google/apis/cloudsearch_v1/service.rb +286 -326
  222. data/generated/google/apis/cloudshell_v1.rb +1 -1
  223. data/generated/google/apis/cloudshell_v1/classes.rb +36 -227
  224. data/generated/google/apis/cloudshell_v1/representations.rb +0 -67
  225. data/generated/google/apis/cloudshell_v1/service.rb +21 -25
  226. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  227. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +66 -72
  228. data/generated/google/apis/cloudshell_v1alpha1/service.rb +20 -24
  229. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  230. data/generated/google/apis/cloudtasks_v2/classes.rb +605 -933
  231. data/generated/google/apis/cloudtasks_v2/service.rb +146 -217
  232. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  233. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +602 -964
  234. data/generated/google/apis/cloudtasks_v2beta2/service.rb +178 -270
  235. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  236. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +609 -938
  237. data/generated/google/apis/cloudtasks_v2beta3/service.rb +146 -217
  238. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  239. data/generated/google/apis/cloudtrace_v1/classes.rb +39 -62
  240. data/generated/google/apis/cloudtrace_v1/service.rb +37 -57
  241. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  242. data/generated/google/apis/cloudtrace_v2/classes.rb +93 -107
  243. data/generated/google/apis/cloudtrace_v2/service.rb +8 -14
  244. data/generated/google/apis/cloudtrace_v2beta1.rb +1 -1
  245. data/generated/google/apis/cloudtrace_v2beta1/classes.rb +23 -33
  246. data/generated/google/apis/cloudtrace_v2beta1/service.rb +30 -37
  247. data/generated/google/apis/composer_v1.rb +1 -1
  248. data/generated/google/apis/composer_v1/classes.rb +190 -242
  249. data/generated/google/apis/composer_v1/service.rb +79 -150
  250. data/generated/google/apis/composer_v1beta1.rb +1 -1
  251. data/generated/google/apis/composer_v1beta1/classes.rb +203 -262
  252. data/generated/google/apis/composer_v1beta1/service.rb +92 -179
  253. data/generated/google/apis/compute_alpha.rb +1 -1
  254. data/generated/google/apis/compute_alpha/classes.rb +1021 -137
  255. data/generated/google/apis/compute_alpha/representations.rb +208 -4
  256. data/generated/google/apis/compute_alpha/service.rb +710 -699
  257. data/generated/google/apis/compute_beta.rb +1 -1
  258. data/generated/google/apis/compute_beta/classes.rb +879 -75
  259. data/generated/google/apis/compute_beta/representations.rb +204 -1
  260. data/generated/google/apis/compute_beta/service.rb +875 -607
  261. data/generated/google/apis/compute_v1.rb +1 -1
  262. data/generated/google/apis/compute_v1/classes.rb +1324 -130
  263. data/generated/google/apis/compute_v1/representations.rb +480 -15
  264. data/generated/google/apis/compute_v1/service.rb +1076 -43
  265. data/generated/google/apis/container_v1.rb +1 -1
  266. data/generated/google/apis/container_v1/classes.rb +946 -961
  267. data/generated/google/apis/container_v1/representations.rb +69 -0
  268. data/generated/google/apis/container_v1/service.rb +435 -502
  269. data/generated/google/apis/container_v1beta1.rb +1 -1
  270. data/generated/google/apis/container_v1beta1/classes.rb +1032 -1039
  271. data/generated/google/apis/container_v1beta1/representations.rb +72 -0
  272. data/generated/google/apis/container_v1beta1/service.rb +403 -466
  273. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  274. data/generated/google/apis/containeranalysis_v1alpha1/classes.rb +456 -596
  275. data/generated/google/apis/containeranalysis_v1alpha1/service.rb +149 -169
  276. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  277. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +454 -613
  278. data/generated/google/apis/containeranalysis_v1beta1/service.rb +75 -90
  279. data/generated/google/apis/content_v2.rb +1 -1
  280. data/generated/google/apis/content_v2/classes.rb +20 -3
  281. data/generated/google/apis/content_v2/representations.rb +1 -0
  282. data/generated/google/apis/content_v2_1.rb +1 -1
  283. data/generated/google/apis/content_v2_1/classes.rb +112 -6
  284. data/generated/google/apis/content_v2_1/representations.rb +35 -0
  285. data/generated/google/apis/content_v2_1/service.rb +53 -2
  286. data/generated/google/apis/{androidpublisher_v1.rb → customsearch_v1.rb} +8 -8
  287. data/generated/google/apis/customsearch_v1/classes.rb +1421 -0
  288. data/generated/google/apis/customsearch_v1/representations.rb +372 -0
  289. data/generated/google/apis/customsearch_v1/service.rb +461 -0
  290. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  291. data/generated/google/apis/datacatalog_v1beta1/classes.rb +382 -570
  292. data/generated/google/apis/datacatalog_v1beta1/service.rb +319 -440
  293. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  294. data/generated/google/apis/dataflow_v1b3/classes.rb +1015 -972
  295. data/generated/google/apis/dataflow_v1b3/representations.rb +115 -0
  296. data/generated/google/apis/dataflow_v1b3/service.rb +299 -257
  297. data/generated/google/apis/datafusion_v1.rb +40 -0
  298. data/generated/google/apis/datafusion_v1/classes.rb +1025 -0
  299. data/generated/google/apis/{cloudfunctions_v1beta2 → datafusion_v1}/representations.rb +141 -93
  300. data/generated/google/apis/datafusion_v1/service.rb +667 -0
  301. data/generated/google/apis/datafusion_v1beta1.rb +5 -8
  302. data/generated/google/apis/datafusion_v1beta1/classes.rb +268 -397
  303. data/generated/google/apis/datafusion_v1beta1/representations.rb +3 -0
  304. data/generated/google/apis/datafusion_v1beta1/service.rb +81 -95
  305. data/generated/google/apis/dataproc_v1.rb +1 -1
  306. data/generated/google/apis/dataproc_v1/classes.rb +238 -329
  307. data/generated/google/apis/dataproc_v1/representations.rb +16 -0
  308. data/generated/google/apis/dataproc_v1/service.rb +134 -168
  309. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  310. data/generated/google/apis/dataproc_v1beta2/classes.rb +263 -326
  311. data/generated/google/apis/dataproc_v1beta2/representations.rb +31 -0
  312. data/generated/google/apis/dataproc_v1beta2/service.rb +137 -192
  313. data/generated/google/apis/datastore_v1.rb +1 -1
  314. data/generated/google/apis/datastore_v1/classes.rb +331 -473
  315. data/generated/google/apis/datastore_v1/service.rb +52 -63
  316. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  317. data/generated/google/apis/datastore_v1beta1/classes.rb +150 -217
  318. data/generated/google/apis/datastore_v1beta1/service.rb +11 -12
  319. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  320. data/generated/google/apis/datastore_v1beta3/classes.rb +255 -371
  321. data/generated/google/apis/datastore_v1beta3/service.rb +1 -2
  322. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  323. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  324. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  325. data/generated/google/apis/dfareporting_v3_3.rb +2 -2
  326. data/generated/google/apis/dfareporting_v3_3/classes.rb +326 -339
  327. data/generated/google/apis/dfareporting_v3_3/representations.rb +42 -0
  328. data/generated/google/apis/dfareporting_v3_3/service.rb +673 -1286
  329. data/generated/google/apis/dfareporting_v3_4.rb +2 -2
  330. data/generated/google/apis/dfareporting_v3_4/classes.rb +769 -350
  331. data/generated/google/apis/dfareporting_v3_4/representations.rb +225 -0
  332. data/generated/google/apis/dfareporting_v3_4/service.rb +708 -1285
  333. data/generated/google/apis/dialogflow_v2.rb +1 -1
  334. data/generated/google/apis/dialogflow_v2/classes.rb +1365 -1563
  335. data/generated/google/apis/dialogflow_v2/representations.rb +67 -15
  336. data/generated/google/apis/dialogflow_v2/service.rb +324 -444
  337. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  338. data/generated/google/apis/dialogflow_v2beta1/classes.rb +1443 -1641
  339. data/generated/google/apis/dialogflow_v2beta1/representations.rb +67 -15
  340. data/generated/google/apis/dialogflow_v2beta1/service.rb +779 -984
  341. data/generated/google/apis/dialogflow_v3beta1.rb +38 -0
  342. data/generated/google/apis/dialogflow_v3beta1/classes.rb +8183 -0
  343. data/generated/google/apis/dialogflow_v3beta1/representations.rb +3459 -0
  344. data/generated/google/apis/dialogflow_v3beta1/service.rb +2812 -0
  345. data/generated/google/apis/displayvideo_v1.rb +7 -1
  346. data/generated/google/apis/displayvideo_v1/classes.rb +1817 -1719
  347. data/generated/google/apis/displayvideo_v1/representations.rb +305 -0
  348. data/generated/google/apis/displayvideo_v1/service.rb +1287 -923
  349. data/generated/google/apis/dlp_v2.rb +1 -1
  350. data/generated/google/apis/dlp_v2/classes.rb +1076 -1298
  351. data/generated/google/apis/dlp_v2/service.rb +962 -905
  352. data/generated/google/apis/dns_v1.rb +4 -4
  353. data/generated/google/apis/dns_v1/classes.rb +290 -162
  354. data/generated/google/apis/dns_v1/service.rb +232 -180
  355. data/generated/google/apis/dns_v1beta2.rb +1 -1
  356. data/generated/google/apis/dns_v1beta2/classes.rb +180 -205
  357. data/generated/google/apis/dns_v1beta2/service.rb +82 -97
  358. data/generated/google/apis/docs_v1.rb +1 -1
  359. data/generated/google/apis/docs_v1/classes.rb +894 -1229
  360. data/generated/google/apis/docs_v1/service.rb +17 -22
  361. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  362. data/generated/google/apis/documentai_v1beta2/classes.rb +1186 -810
  363. data/generated/google/apis/documentai_v1beta2/representations.rb +303 -0
  364. data/generated/google/apis/documentai_v1beta2/service.rb +22 -24
  365. data/generated/google/apis/domainsrdap_v1.rb +1 -1
  366. data/generated/google/apis/domainsrdap_v1/classes.rb +42 -69
  367. data/generated/google/apis/domainsrdap_v1/service.rb +16 -16
  368. data/generated/google/apis/doubleclickbidmanager_v1.rb +3 -2
  369. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +7 -13
  370. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +37 -66
  371. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +3 -2
  372. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +201 -13
  373. data/generated/google/apis/doubleclickbidmanager_v1_1/representations.rb +107 -0
  374. data/generated/google/apis/doubleclickbidmanager_v1_1/service.rb +37 -66
  375. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  376. data/generated/google/apis/doubleclicksearch_v2/classes.rb +109 -126
  377. data/generated/google/apis/doubleclicksearch_v2/service.rb +5 -6
  378. data/generated/google/apis/drive_v2.rb +1 -1
  379. data/generated/google/apis/drive_v2/classes.rb +82 -8
  380. data/generated/google/apis/drive_v2/representations.rb +23 -0
  381. data/generated/google/apis/drive_v2/service.rb +102 -25
  382. data/generated/google/apis/drive_v3.rb +1 -1
  383. data/generated/google/apis/drive_v3/classes.rb +87 -8
  384. data/generated/google/apis/drive_v3/representations.rb +24 -0
  385. data/generated/google/apis/drive_v3/service.rb +67 -16
  386. data/generated/google/apis/driveactivity_v2.rb +1 -1
  387. data/generated/google/apis/driveactivity_v2/classes.rb +55 -68
  388. data/generated/google/apis/factchecktools_v1alpha1.rb +1 -1
  389. data/generated/google/apis/factchecktools_v1alpha1/classes.rb +46 -56
  390. data/generated/google/apis/factchecktools_v1alpha1/service.rb +30 -33
  391. data/generated/google/apis/fcm_v1.rb +1 -1
  392. data/generated/google/apis/fcm_v1/classes.rb +245 -393
  393. data/generated/google/apis/fcm_v1/service.rb +5 -6
  394. data/generated/google/apis/file_v1.rb +1 -1
  395. data/generated/google/apis/file_v1/classes.rb +154 -173
  396. data/generated/google/apis/file_v1/service.rb +43 -52
  397. data/generated/google/apis/file_v1beta1.rb +1 -1
  398. data/generated/google/apis/file_v1beta1/classes.rb +334 -193
  399. data/generated/google/apis/file_v1beta1/representations.rb +55 -0
  400. data/generated/google/apis/file_v1beta1/service.rb +267 -55
  401. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  402. data/generated/google/apis/firebase_v1beta1/classes.rb +321 -381
  403. data/generated/google/apis/firebase_v1beta1/representations.rb +3 -16
  404. data/generated/google/apis/firebase_v1beta1/service.rb +364 -421
  405. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  406. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +89 -112
  407. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +18 -21
  408. data/generated/google/apis/{androidpublisher_v2.rb → firebasehosting_v1.rb} +11 -12
  409. data/generated/google/apis/firebasehosting_v1/classes.rb +182 -0
  410. data/generated/google/apis/{androidpublisher_v2 → firebasehosting_v1}/representations.rb +22 -32
  411. data/generated/google/apis/{securitycenter_v1p1alpha1 → firebasehosting_v1}/service.rb +51 -82
  412. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  413. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +174 -177
  414. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +15 -0
  415. data/generated/google/apis/firebasehosting_v1beta1/service.rb +112 -143
  416. data/generated/google/apis/firebaseml_v1.rb +1 -1
  417. data/generated/google/apis/firebaseml_v1/classes.rb +39 -44
  418. data/generated/google/apis/firebaseml_v1/service.rb +19 -22
  419. data/generated/google/apis/firebaseml_v1beta2.rb +1 -1
  420. data/generated/google/apis/firebaseml_v1beta2/classes.rb +59 -68
  421. data/generated/google/apis/firebaseml_v1beta2/service.rb +16 -18
  422. data/generated/google/apis/firebaserules_v1.rb +1 -1
  423. data/generated/google/apis/firebaserules_v1/classes.rb +102 -137
  424. data/generated/google/apis/firebaserules_v1/service.rb +87 -110
  425. data/generated/google/apis/firestore_v1.rb +1 -1
  426. data/generated/google/apis/firestore_v1/classes.rb +506 -450
  427. data/generated/google/apis/firestore_v1/representations.rb +63 -0
  428. data/generated/google/apis/firestore_v1/service.rb +227 -185
  429. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  430. data/generated/google/apis/firestore_v1beta1/classes.rb +438 -361
  431. data/generated/google/apis/firestore_v1beta1/representations.rb +63 -0
  432. data/generated/google/apis/firestore_v1beta1/service.rb +168 -106
  433. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  434. data/generated/google/apis/firestore_v1beta2/classes.rb +135 -165
  435. data/generated/google/apis/firestore_v1beta2/service.rb +65 -86
  436. data/generated/google/apis/fitness_v1.rb +1 -1
  437. data/generated/google/apis/fitness_v1/classes.rb +170 -208
  438. data/generated/google/apis/fitness_v1/service.rb +125 -146
  439. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  440. data/generated/google/apis/games_configuration_v1configuration/classes.rb +2 -3
  441. data/generated/google/apis/games_configuration_v1configuration/service.rb +8 -8
  442. data/generated/google/apis/games_management_v1management.rb +2 -3
  443. data/generated/google/apis/games_management_v1management/classes.rb +14 -20
  444. data/generated/google/apis/games_management_v1management/service.rb +37 -38
  445. data/generated/google/apis/games_v1.rb +5 -4
  446. data/generated/google/apis/games_v1/classes.rb +320 -2085
  447. data/generated/google/apis/games_v1/representations.rb +14 -647
  448. data/generated/google/apis/games_v1/service.rb +161 -1109
  449. data/generated/google/apis/gameservices_v1.rb +1 -1
  450. data/generated/google/apis/gameservices_v1/classes.rb +344 -523
  451. data/generated/google/apis/gameservices_v1/service.rb +167 -207
  452. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  453. data/generated/google/apis/gameservices_v1beta/classes.rb +344 -523
  454. data/generated/google/apis/gameservices_v1beta/service.rb +167 -207
  455. data/generated/google/apis/genomics_v1.rb +1 -1
  456. data/generated/google/apis/genomics_v1/classes.rb +70 -76
  457. data/generated/google/apis/genomics_v1/service.rb +28 -43
  458. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  459. data/generated/google/apis/genomics_v1alpha2/classes.rb +223 -290
  460. data/generated/google/apis/genomics_v1alpha2/service.rb +54 -76
  461. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  462. data/generated/google/apis/genomics_v2alpha1/classes.rb +252 -347
  463. data/generated/google/apis/genomics_v2alpha1/representations.rb +1 -27
  464. data/generated/google/apis/genomics_v2alpha1/service.rb +47 -100
  465. data/generated/google/apis/gmail_v1.rb +3 -3
  466. data/generated/google/apis/gmail_v1/classes.rb +207 -266
  467. data/generated/google/apis/gmail_v1/service.rb +263 -290
  468. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +5 -2
  469. data/generated/google/apis/gmailpostmastertools_v1beta1/classes.rb +37 -42
  470. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +35 -41
  471. data/generated/google/apis/groupsmigration_v1.rb +3 -3
  472. data/generated/google/apis/groupsmigration_v1/service.rb +4 -4
  473. data/generated/google/apis/groupssettings_v1.rb +1 -1
  474. data/generated/google/apis/groupssettings_v1/classes.rb +1 -1
  475. data/generated/google/apis/healthcare_v1.rb +1 -1
  476. data/generated/google/apis/healthcare_v1/classes.rb +563 -826
  477. data/generated/google/apis/healthcare_v1/service.rb +687 -806
  478. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  479. data/generated/google/apis/healthcare_v1beta1/classes.rb +880 -1086
  480. data/generated/google/apis/healthcare_v1beta1/representations.rb +59 -0
  481. data/generated/google/apis/healthcare_v1beta1/service.rb +939 -1053
  482. data/generated/google/apis/homegraph_v1.rb +1 -1
  483. data/generated/google/apis/homegraph_v1/classes.rb +76 -164
  484. data/generated/google/apis/homegraph_v1/service.rb +23 -35
  485. data/generated/google/apis/iam_v1.rb +5 -2
  486. data/generated/google/apis/iam_v1/classes.rb +388 -573
  487. data/generated/google/apis/iam_v1/service.rb +430 -544
  488. data/generated/google/apis/iamcredentials_v1.rb +4 -2
  489. data/generated/google/apis/iamcredentials_v1/classes.rb +75 -85
  490. data/generated/google/apis/iamcredentials_v1/service.rb +15 -13
  491. data/generated/google/apis/iap_v1.rb +1 -1
  492. data/generated/google/apis/iap_v1/classes.rb +246 -355
  493. data/generated/google/apis/iap_v1/service.rb +61 -71
  494. data/generated/google/apis/iap_v1beta1.rb +1 -1
  495. data/generated/google/apis/iap_v1beta1/classes.rb +157 -254
  496. data/generated/google/apis/iap_v1beta1/service.rb +17 -19
  497. data/generated/google/apis/indexing_v3.rb +1 -1
  498. data/generated/google/apis/indexing_v3/classes.rb +11 -11
  499. data/generated/google/apis/kgsearch_v1.rb +1 -1
  500. data/generated/google/apis/kgsearch_v1/classes.rb +4 -4
  501. data/generated/google/apis/kgsearch_v1/service.rb +11 -11
  502. data/generated/google/apis/language_v1.rb +1 -1
  503. data/generated/google/apis/language_v1/classes.rb +93 -111
  504. data/generated/google/apis/language_v1/service.rb +4 -4
  505. data/generated/google/apis/language_v1beta1.rb +1 -1
  506. data/generated/google/apis/language_v1beta1/classes.rb +78 -90
  507. data/generated/google/apis/language_v1beta1/service.rb +2 -2
  508. data/generated/google/apis/language_v1beta2.rb +1 -1
  509. data/generated/google/apis/language_v1beta2/classes.rb +95 -112
  510. data/generated/google/apis/language_v1beta2/service.rb +4 -4
  511. data/generated/google/apis/libraryagent_v1.rb +1 -1
  512. data/generated/google/apis/libraryagent_v1/classes.rb +10 -16
  513. data/generated/google/apis/libraryagent_v1/service.rb +13 -16
  514. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  515. data/generated/google/apis/lifesciences_v2beta/classes.rb +262 -290
  516. data/generated/google/apis/lifesciences_v2beta/service.rb +30 -42
  517. data/generated/google/apis/{androidpublisher_v1/classes.rb → localservices_v1.rb} +11 -6
  518. data/generated/google/apis/localservices_v1/classes.rb +419 -0
  519. data/generated/google/apis/localservices_v1/representations.rb +172 -0
  520. data/generated/google/apis/localservices_v1/service.rb +199 -0
  521. data/generated/google/apis/logging_v2.rb +1 -1
  522. data/generated/google/apis/logging_v2/classes.rb +174 -214
  523. data/generated/google/apis/logging_v2/representations.rb +15 -0
  524. data/generated/google/apis/logging_v2/service.rb +1017 -584
  525. data/generated/google/apis/managedidentities_v1.rb +1 -1
  526. data/generated/google/apis/managedidentities_v1/classes.rb +326 -452
  527. data/generated/google/apis/managedidentities_v1/service.rb +78 -99
  528. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  529. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +336 -457
  530. data/generated/google/apis/managedidentities_v1alpha1/service.rb +88 -112
  531. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  532. data/generated/google/apis/managedidentities_v1beta1/classes.rb +332 -456
  533. data/generated/google/apis/managedidentities_v1beta1/service.rb +76 -96
  534. data/generated/google/apis/manufacturers_v1.rb +1 -1
  535. data/generated/google/apis/manufacturers_v1/classes.rb +99 -109
  536. data/generated/google/apis/manufacturers_v1/service.rb +44 -55
  537. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  538. data/generated/google/apis/memcache_v1beta2/classes.rb +170 -710
  539. data/generated/google/apis/memcache_v1beta2/representations.rb +0 -120
  540. data/generated/google/apis/memcache_v1beta2/service.rb +58 -190
  541. data/generated/google/apis/ml_v1.rb +1 -1
  542. data/generated/google/apis/ml_v1/classes.rb +954 -1143
  543. data/generated/google/apis/ml_v1/representations.rb +64 -0
  544. data/generated/google/apis/ml_v1/service.rb +194 -253
  545. data/generated/google/apis/monitoring_v1.rb +1 -1
  546. data/generated/google/apis/monitoring_v1/classes.rb +117 -38
  547. data/generated/google/apis/monitoring_v1/representations.rb +35 -0
  548. data/generated/google/apis/monitoring_v1/service.rb +10 -11
  549. data/generated/google/apis/monitoring_v3.rb +1 -1
  550. data/generated/google/apis/monitoring_v3/classes.rb +263 -315
  551. data/generated/google/apis/monitoring_v3/representations.rb +3 -0
  552. data/generated/google/apis/monitoring_v3/service.rb +126 -141
  553. data/generated/google/apis/networkmanagement_v1.rb +1 -1
  554. data/generated/google/apis/networkmanagement_v1/classes.rb +273 -429
  555. data/generated/google/apis/networkmanagement_v1/service.rb +97 -120
  556. data/generated/google/apis/networkmanagement_v1beta1.rb +1 -1
  557. data/generated/google/apis/networkmanagement_v1beta1/classes.rb +388 -429
  558. data/generated/google/apis/networkmanagement_v1beta1/representations.rb +40 -0
  559. data/generated/google/apis/networkmanagement_v1beta1/service.rb +97 -120
  560. data/generated/google/apis/osconfig_v1.rb +1 -1
  561. data/generated/google/apis/osconfig_v1/classes.rb +931 -179
  562. data/generated/google/apis/osconfig_v1/representations.rb +372 -0
  563. data/generated/google/apis/osconfig_v1/service.rb +22 -27
  564. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  565. data/generated/google/apis/osconfig_v1beta/classes.rb +1158 -463
  566. data/generated/google/apis/osconfig_v1beta/representations.rb +372 -0
  567. data/generated/google/apis/osconfig_v1beta/service.rb +39 -52
  568. data/generated/google/apis/oslogin_v1.rb +1 -1
  569. data/generated/google/apis/oslogin_v1/classes.rb +14 -12
  570. data/generated/google/apis/oslogin_v1/representations.rb +1 -0
  571. data/generated/google/apis/oslogin_v1/service.rb +12 -16
  572. data/generated/google/apis/oslogin_v1alpha.rb +1 -1
  573. data/generated/google/apis/oslogin_v1alpha/classes.rb +14 -12
  574. data/generated/google/apis/oslogin_v1alpha/representations.rb +1 -0
  575. data/generated/google/apis/oslogin_v1alpha/service.rb +14 -14
  576. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  577. data/generated/google/apis/oslogin_v1beta/classes.rb +14 -12
  578. data/generated/google/apis/oslogin_v1beta/representations.rb +1 -0
  579. data/generated/google/apis/oslogin_v1beta/service.rb +12 -16
  580. data/generated/google/apis/pagespeedonline_v5.rb +2 -2
  581. data/generated/google/apis/pagespeedonline_v5/classes.rb +18 -24
  582. data/generated/google/apis/pagespeedonline_v5/service.rb +3 -4
  583. data/generated/google/apis/people_v1.rb +1 -1
  584. data/generated/google/apis/people_v1/classes.rb +493 -403
  585. data/generated/google/apis/people_v1/representations.rb +98 -0
  586. data/generated/google/apis/people_v1/service.rb +169 -385
  587. data/generated/google/apis/playablelocations_v3.rb +1 -1
  588. data/generated/google/apis/playablelocations_v3/classes.rb +108 -155
  589. data/generated/google/apis/playablelocations_v3/service.rb +10 -10
  590. data/generated/google/apis/playcustomapp_v1.rb +1 -1
  591. data/generated/google/apis/playcustomapp_v1/classes.rb +2 -2
  592. data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
  593. data/generated/google/apis/policytroubleshooter_v1/classes.rb +232 -394
  594. data/generated/google/apis/policytroubleshooter_v1/service.rb +2 -2
  595. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  596. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +232 -393
  597. data/generated/google/apis/policytroubleshooter_v1beta/service.rb +2 -2
  598. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  599. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +128 -219
  600. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +1 -32
  601. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +38 -526
  602. data/generated/google/apis/pubsub_v1.rb +1 -1
  603. data/generated/google/apis/pubsub_v1/classes.rb +407 -516
  604. data/generated/google/apis/pubsub_v1/representations.rb +3 -0
  605. data/generated/google/apis/pubsub_v1/service.rb +217 -252
  606. data/generated/google/apis/pubsub_v1beta1a.rb +1 -1
  607. data/generated/google/apis/pubsub_v1beta1a/classes.rb +71 -86
  608. data/generated/google/apis/pubsub_v1beta1a/service.rb +31 -38
  609. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  610. data/generated/google/apis/pubsub_v1beta2/classes.rb +244 -354
  611. data/generated/google/apis/pubsub_v1beta2/service.rb +96 -108
  612. data/generated/google/apis/{accessapproval_v1beta1.rb → pubsublite_v1.rb} +9 -9
  613. data/generated/google/apis/pubsublite_v1/classes.rb +389 -0
  614. data/generated/google/apis/{accessapproval_v1beta1 → pubsublite_v1}/representations.rb +78 -53
  615. data/generated/google/apis/pubsublite_v1/service.rb +525 -0
  616. data/generated/google/apis/realtimebidding_v1.rb +1 -4
  617. data/generated/google/apis/realtimebidding_v1/classes.rb +198 -291
  618. data/generated/google/apis/realtimebidding_v1/service.rb +98 -135
  619. data/generated/google/apis/recommendationengine_v1beta1.rb +36 -0
  620. data/generated/google/apis/recommendationengine_v1beta1/classes.rb +1896 -0
  621. data/generated/google/apis/recommendationengine_v1beta1/representations.rb +832 -0
  622. data/generated/google/apis/recommendationengine_v1beta1/service.rb +924 -0
  623. data/generated/google/apis/recommender_v1.rb +1 -1
  624. data/generated/google/apis/recommender_v1/classes.rb +271 -84
  625. data/generated/google/apis/recommender_v1/representations.rb +96 -0
  626. data/generated/google/apis/recommender_v1/service.rb +143 -35
  627. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  628. data/generated/google/apis/recommender_v1beta1/classes.rb +75 -99
  629. data/generated/google/apis/recommender_v1beta1/service.rb +43 -58
  630. data/generated/google/apis/redis_v1.rb +1 -1
  631. data/generated/google/apis/redis_v1/classes.rb +477 -116
  632. data/generated/google/apis/redis_v1/representations.rb +139 -0
  633. data/generated/google/apis/redis_v1/service.rb +93 -110
  634. data/generated/google/apis/redis_v1beta1.rb +1 -1
  635. data/generated/google/apis/redis_v1beta1/classes.rb +481 -120
  636. data/generated/google/apis/redis_v1beta1/representations.rb +139 -0
  637. data/generated/google/apis/redis_v1beta1/service.rb +93 -110
  638. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  639. data/generated/google/apis/remotebuildexecution_v1/classes.rb +951 -1078
  640. data/generated/google/apis/remotebuildexecution_v1/representations.rb +61 -0
  641. data/generated/google/apis/remotebuildexecution_v1/service.rb +26 -33
  642. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  643. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +946 -1071
  644. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +61 -0
  645. data/generated/google/apis/remotebuildexecution_v1alpha/service.rb +103 -65
  646. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  647. data/generated/google/apis/remotebuildexecution_v2/classes.rb +1099 -1250
  648. data/generated/google/apis/remotebuildexecution_v2/representations.rb +61 -0
  649. data/generated/google/apis/remotebuildexecution_v2/service.rb +147 -206
  650. data/generated/google/apis/reseller_v1.rb +4 -3
  651. data/generated/google/apis/reseller_v1/classes.rb +219 -160
  652. data/generated/google/apis/reseller_v1/service.rb +247 -252
  653. data/generated/google/apis/run_v1.rb +2 -2
  654. data/generated/google/apis/run_v1/classes.rb +837 -1244
  655. data/generated/google/apis/run_v1/representations.rb +1 -1
  656. data/generated/google/apis/run_v1/service.rb +234 -248
  657. data/generated/google/apis/run_v1alpha1.rb +2 -2
  658. data/generated/google/apis/run_v1alpha1/classes.rb +935 -1332
  659. data/generated/google/apis/run_v1alpha1/representations.rb +1 -1
  660. data/generated/google/apis/run_v1alpha1/service.rb +322 -378
  661. data/generated/google/apis/run_v1beta1.rb +2 -2
  662. data/generated/google/apis/run_v1beta1/classes.rb +210 -276
  663. data/generated/google/apis/run_v1beta1/service.rb +17 -19
  664. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  665. data/generated/google/apis/runtimeconfig_v1/classes.rb +36 -40
  666. data/generated/google/apis/runtimeconfig_v1/service.rb +19 -22
  667. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  668. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +295 -412
  669. data/generated/google/apis/runtimeconfig_v1beta1/service.rb +135 -159
  670. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  671. data/generated/google/apis/safebrowsing_v4/classes.rb +55 -64
  672. data/generated/google/apis/safebrowsing_v4/service.rb +4 -4
  673. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  674. data/generated/google/apis/sasportal_v1alpha1/classes.rb +128 -219
  675. data/generated/google/apis/sasportal_v1alpha1/representations.rb +1 -32
  676. data/generated/google/apis/sasportal_v1alpha1/service.rb +38 -526
  677. data/generated/google/apis/script_v1.rb +1 -1
  678. data/generated/google/apis/script_v1/classes.rb +88 -111
  679. data/generated/google/apis/script_v1/service.rb +63 -69
  680. data/generated/google/apis/searchconsole_v1.rb +4 -3
  681. data/generated/google/apis/searchconsole_v1/classes.rb +2 -2
  682. data/generated/google/apis/searchconsole_v1/service.rb +3 -2
  683. data/generated/google/apis/secretmanager_v1.rb +1 -1
  684. data/generated/google/apis/secretmanager_v1/classes.rb +211 -363
  685. data/generated/google/apis/secretmanager_v1/service.rb +66 -82
  686. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  687. data/generated/google/apis/secretmanager_v1beta1/classes.rb +211 -363
  688. data/generated/google/apis/secretmanager_v1beta1/service.rb +66 -82
  689. data/generated/google/apis/securitycenter_v1.rb +1 -1
  690. data/generated/google/apis/securitycenter_v1/classes.rb +584 -826
  691. data/generated/google/apis/securitycenter_v1/representations.rb +1 -0
  692. data/generated/google/apis/securitycenter_v1/service.rb +250 -332
  693. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  694. data/generated/google/apis/securitycenter_v1beta1/classes.rb +533 -746
  695. data/generated/google/apis/securitycenter_v1beta1/representations.rb +1 -0
  696. data/generated/google/apis/securitycenter_v1beta1/service.rb +160 -202
  697. data/generated/google/apis/{securitycenter_v1p1beta1.rb → securitycenter_v1beta2.rb} +6 -6
  698. data/generated/google/apis/{securitycenter_v1p1alpha1 → securitycenter_v1beta2}/classes.rb +415 -269
  699. data/generated/google/apis/{securitycenter_v1p1alpha1 → securitycenter_v1beta2}/representations.rb +101 -30
  700. data/generated/google/apis/securitycenter_v1beta2/service.rb +1494 -0
  701. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  702. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +1120 -1784
  703. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +114 -141
  704. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  705. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +1107 -1774
  706. data/generated/google/apis/serviceconsumermanagement_v1beta1/service.rb +52 -66
  707. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  708. data/generated/google/apis/servicecontrol_v1/classes.rb +523 -641
  709. data/generated/google/apis/servicecontrol_v1/service.rb +36 -46
  710. data/generated/google/apis/servicecontrol_v2.rb +38 -0
  711. data/generated/google/apis/servicecontrol_v2/classes.rb +1075 -0
  712. data/generated/google/apis/servicecontrol_v2/representations.rb +405 -0
  713. data/generated/google/apis/servicecontrol_v2/service.rb +155 -0
  714. data/generated/google/apis/servicedirectory_v1beta1.rb +1 -1
  715. data/generated/google/apis/servicedirectory_v1beta1/classes.rb +214 -333
  716. data/generated/google/apis/servicedirectory_v1beta1/service.rb +94 -129
  717. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  718. data/generated/google/apis/servicemanagement_v1/classes.rb +1288 -2090
  719. data/generated/google/apis/servicemanagement_v1/representations.rb +14 -0
  720. data/generated/google/apis/servicemanagement_v1/service.rb +144 -195
  721. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  722. data/generated/google/apis/servicenetworking_v1/classes.rb +1164 -1758
  723. data/generated/google/apis/servicenetworking_v1/representations.rb +52 -0
  724. data/generated/google/apis/servicenetworking_v1/service.rb +210 -114
  725. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  726. data/generated/google/apis/servicenetworking_v1beta/classes.rb +1091 -1684
  727. data/generated/google/apis/servicenetworking_v1beta/representations.rb +38 -0
  728. data/generated/google/apis/servicenetworking_v1beta/service.rb +52 -63
  729. data/generated/google/apis/serviceusage_v1.rb +1 -1
  730. data/generated/google/apis/serviceusage_v1/classes.rb +1144 -1823
  731. data/generated/google/apis/serviceusage_v1/representations.rb +4 -0
  732. data/generated/google/apis/serviceusage_v1/service.rb +67 -80
  733. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  734. data/generated/google/apis/serviceusage_v1beta1/classes.rb +1273 -1986
  735. data/generated/google/apis/serviceusage_v1beta1/representations.rb +8 -0
  736. data/generated/google/apis/serviceusage_v1beta1/service.rb +130 -162
  737. data/generated/google/apis/sheets_v4.rb +1 -1
  738. data/generated/google/apis/sheets_v4/classes.rb +3932 -5007
  739. data/generated/google/apis/sheets_v4/representations.rb +625 -0
  740. data/generated/google/apis/sheets_v4/service.rb +113 -149
  741. data/generated/google/apis/site_verification_v1.rb +1 -1
  742. data/generated/google/apis/slides_v1.rb +1 -1
  743. data/generated/google/apis/slides_v1/classes.rb +841 -1114
  744. data/generated/google/apis/slides_v1/service.rb +23 -30
  745. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  746. data/generated/google/apis/sourcerepo_v1/classes.rb +6 -6
  747. data/generated/google/apis/spanner_v1.rb +1 -1
  748. data/generated/google/apis/spanner_v1/classes.rb +1546 -2156
  749. data/generated/google/apis/spanner_v1/service.rb +443 -618
  750. data/generated/google/apis/speech_v1.rb +1 -1
  751. data/generated/google/apis/speech_v1/classes.rb +174 -220
  752. data/generated/google/apis/speech_v1/service.rb +27 -32
  753. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  754. data/generated/google/apis/speech_v1p1beta1/classes.rb +253 -306
  755. data/generated/google/apis/speech_v1p1beta1/service.rb +27 -32
  756. data/generated/google/apis/speech_v2beta1.rb +1 -1
  757. data/generated/google/apis/speech_v2beta1/classes.rb +66 -76
  758. data/generated/google/apis/speech_v2beta1/service.rb +10 -12
  759. data/generated/google/apis/sql_v1beta4.rb +1 -1
  760. data/generated/google/apis/sql_v1beta4/classes.rb +322 -374
  761. data/generated/google/apis/sql_v1beta4/representations.rb +3 -0
  762. data/generated/google/apis/sql_v1beta4/service.rb +49 -54
  763. data/generated/google/apis/storage_v1.rb +1 -1
  764. data/generated/google/apis/storage_v1/classes.rb +8 -7
  765. data/generated/google/apis/storage_v1/representations.rb +2 -2
  766. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  767. data/generated/google/apis/storagetransfer_v1/classes.rb +263 -343
  768. data/generated/google/apis/storagetransfer_v1/service.rb +43 -40
  769. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  770. data/generated/google/apis/streetviewpublish_v1/classes.rb +106 -148
  771. data/generated/google/apis/streetviewpublish_v1/service.rb +94 -177
  772. data/generated/google/apis/tagmanager_v1.rb +2 -3
  773. data/generated/google/apis/tagmanager_v1/classes.rb +225 -288
  774. data/generated/google/apis/tagmanager_v1/service.rb +22 -23
  775. data/generated/google/apis/tagmanager_v2.rb +2 -3
  776. data/generated/google/apis/tagmanager_v2/classes.rb +240 -280
  777. data/generated/google/apis/tagmanager_v2/representations.rb +1 -0
  778. data/generated/google/apis/tagmanager_v2/service.rb +189 -285
  779. data/generated/google/apis/tasks_v1.rb +1 -1
  780. data/generated/google/apis/tasks_v1/classes.rb +20 -21
  781. data/generated/google/apis/tasks_v1/service.rb +16 -17
  782. data/generated/google/apis/testing_v1.rb +1 -1
  783. data/generated/google/apis/testing_v1/classes.rb +383 -374
  784. data/generated/google/apis/testing_v1/representations.rb +35 -0
  785. data/generated/google/apis/testing_v1/service.rb +22 -28
  786. data/generated/google/apis/texttospeech_v1.rb +1 -1
  787. data/generated/google/apis/texttospeech_v1/classes.rb +51 -57
  788. data/generated/google/apis/texttospeech_v1/service.rb +9 -10
  789. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  790. data/generated/google/apis/texttospeech_v1beta1/classes.rb +96 -57
  791. data/generated/google/apis/texttospeech_v1beta1/representations.rb +19 -0
  792. data/generated/google/apis/texttospeech_v1beta1/service.rb +9 -10
  793. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  794. data/generated/google/apis/toolresults_v1beta3/classes.rb +678 -928
  795. data/generated/google/apis/toolresults_v1beta3/representations.rb +2 -0
  796. data/generated/google/apis/toolresults_v1beta3/service.rb +522 -640
  797. data/generated/google/apis/tpu_v1.rb +1 -1
  798. data/generated/google/apis/tpu_v1/classes.rb +79 -78
  799. data/generated/google/apis/tpu_v1/representations.rb +1 -0
  800. data/generated/google/apis/tpu_v1/service.rb +21 -25
  801. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  802. data/generated/google/apis/tpu_v1alpha1/classes.rb +79 -78
  803. data/generated/google/apis/tpu_v1alpha1/representations.rb +1 -0
  804. data/generated/google/apis/tpu_v1alpha1/service.rb +21 -25
  805. data/generated/google/apis/{cloudfunctions_v1beta2.rb → trafficdirector_v2.rb} +9 -9
  806. data/generated/google/apis/trafficdirector_v2/classes.rb +1347 -0
  807. data/generated/google/apis/trafficdirector_v2/representations.rb +620 -0
  808. data/generated/google/apis/trafficdirector_v2/service.rb +89 -0
  809. data/generated/google/apis/translate_v3.rb +1 -1
  810. data/generated/google/apis/translate_v3/classes.rb +148 -175
  811. data/generated/google/apis/translate_v3/service.rb +122 -138
  812. data/generated/google/apis/translate_v3beta1.rb +1 -1
  813. data/generated/google/apis/translate_v3beta1/classes.rb +149 -170
  814. data/generated/google/apis/translate_v3beta1/service.rb +122 -138
  815. data/generated/google/apis/vectortile_v1.rb +1 -1
  816. data/generated/google/apis/vectortile_v1/classes.rb +185 -267
  817. data/generated/google/apis/vectortile_v1/service.rb +75 -88
  818. data/generated/google/apis/videointelligence_v1.rb +1 -1
  819. data/generated/google/apis/videointelligence_v1/classes.rb +753 -918
  820. data/generated/google/apis/videointelligence_v1/service.rb +40 -48
  821. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  822. data/generated/google/apis/videointelligence_v1beta2/classes.rb +748 -911
  823. data/generated/google/apis/videointelligence_v1beta2/service.rb +4 -4
  824. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  825. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +748 -911
  826. data/generated/google/apis/videointelligence_v1p1beta1/service.rb +4 -4
  827. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  828. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +748 -911
  829. data/generated/google/apis/videointelligence_v1p2beta1/service.rb +4 -4
  830. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  831. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +754 -920
  832. data/generated/google/apis/videointelligence_v1p3beta1/service.rb +4 -4
  833. data/generated/google/apis/vision_v1.rb +1 -1
  834. data/generated/google/apis/vision_v1/classes.rb +1304 -1868
  835. data/generated/google/apis/vision_v1/service.rb +254 -340
  836. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  837. data/generated/google/apis/vision_v1p1beta1/classes.rb +1246 -1788
  838. data/generated/google/apis/vision_v1p1beta1/service.rb +91 -121
  839. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  840. data/generated/google/apis/vision_v1p2beta1/classes.rb +1246 -1788
  841. data/generated/google/apis/vision_v1p2beta1/service.rb +91 -121
  842. data/generated/google/apis/webfonts_v1.rb +2 -3
  843. data/generated/google/apis/webfonts_v1/classes.rb +1 -2
  844. data/generated/google/apis/webfonts_v1/service.rb +4 -6
  845. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  846. data/generated/google/apis/websecurityscanner_v1/classes.rb +71 -95
  847. data/generated/google/apis/websecurityscanner_v1/service.rb +46 -65
  848. data/generated/google/apis/websecurityscanner_v1alpha.rb +1 -1
  849. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +55 -63
  850. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +46 -65
  851. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  852. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +77 -92
  853. data/generated/google/apis/websecurityscanner_v1beta/service.rb +46 -65
  854. data/generated/google/apis/youtube_analytics_v2.rb +1 -1
  855. data/generated/google/apis/youtube_analytics_v2/classes.rb +77 -104
  856. data/generated/google/apis/youtube_analytics_v2/service.rb +106 -126
  857. data/generated/google/apis/youtube_partner_v1.rb +4 -3
  858. data/generated/google/apis/youtube_partner_v1/classes.rb +1106 -690
  859. data/generated/google/apis/youtube_partner_v1/representations.rb +357 -256
  860. data/generated/google/apis/youtube_partner_v1/service.rb +519 -1079
  861. data/generated/google/apis/youtube_v3.rb +1 -1
  862. data/generated/google/apis/youtube_v3/classes.rb +1826 -1157
  863. data/generated/google/apis/youtube_v3/representations.rb +458 -0
  864. data/generated/google/apis/youtube_v3/service.rb +1303 -1274
  865. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  866. data/generated/google/apis/youtubereporting_v1/classes.rb +20 -29
  867. data/generated/google/apis/youtubereporting_v1/service.rb +40 -43
  868. data/lib/google/apis/core/base_service.rb +7 -1
  869. data/lib/google/apis/version.rb +1 -1
  870. metadata +47 -43
  871. data/generated/google/apis/accessapproval_v1beta1/classes.rb +0 -417
  872. data/generated/google/apis/accessapproval_v1beta1/service.rb +0 -854
  873. data/generated/google/apis/androidpublisher_v1/representations.rb +0 -26
  874. data/generated/google/apis/androidpublisher_v1/service.rb +0 -64
  875. data/generated/google/apis/androidpublisher_v1_1.rb +0 -34
  876. data/generated/google/apis/androidpublisher_v1_1/classes.rb +0 -94
  877. data/generated/google/apis/androidpublisher_v1_1/representations.rb +0 -45
  878. data/generated/google/apis/androidpublisher_v1_1/service.rb +0 -104
  879. data/generated/google/apis/androidpublisher_v2/classes.rb +0 -223
  880. data/generated/google/apis/androidpublisher_v2/service.rb +0 -160
  881. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +0 -841
  882. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +0 -486
  883. data/generated/google/apis/dns_v2beta1.rb +0 -43
  884. data/generated/google/apis/dns_v2beta1/classes.rb +0 -1296
  885. data/generated/google/apis/dns_v2beta1/representations.rb +0 -588
  886. data/generated/google/apis/dns_v2beta1/service.rb +0 -861
  887. data/generated/google/apis/oauth2_v2.rb +0 -40
  888. data/generated/google/apis/oauth2_v2/classes.rb +0 -165
  889. data/generated/google/apis/oauth2_v2/representations.rb +0 -68
  890. data/generated/google/apis/oauth2_v2/service.rb +0 -158
  891. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +0 -2305
  892. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +0 -789
  893. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +0 -1326
  894. data/generated/google/apis/storage_v1beta2.rb +0 -40
  895. data/generated/google/apis/storage_v1beta2/classes.rb +0 -1047
  896. data/generated/google/apis/storage_v1beta2/representations.rb +0 -425
  897. data/generated/google/apis/storage_v1beta2/service.rb +0 -1667
@@ -47,102 +47,86 @@ module Google
47
47
  @batch_path = 'batch'
48
48
  end
49
49
 
50
- # Analyzes IAM policies to answer which identities have what accesses on
51
- # which resources.
50
+ # Analyzes IAM policies to answer which identities have what accesses on which
51
+ # resources.
52
52
  # @param [String] parent
53
53
  # Required. The relative name of the root asset. Only resources and IAM policies
54
- # within
55
- # the parent will be analyzed. This can only be an organization number (such
56
- # as "organizations/123") or a folder number (such as "folders/123").
57
- # To know how to get organization id, visit [here
58
- # ](https://cloud.google.com/resource-manager/docs/creating-managing-
59
- # organization#retrieving_your_organization_id).
60
- # To know how to get folder id, visit [here
61
- # ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#
62
- # viewing_or_listing_folders_and_projects).
54
+ # within the parent will be analyzed. This can only be an organization number (
55
+ # such as "organizations/123"), a folder number (such as "folders/123"), a
56
+ # project ID (such as "projects/my-project-id"), or a project number (such as "
57
+ # projects/12345"). To know how to get organization id, visit [here ](https://
58
+ # cloud.google.com/resource-manager/docs/creating-managing-organization#
59
+ # retrieving_your_organization_id). To know how to get folder or project id,
60
+ # visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-
61
+ # folders#viewing_or_listing_folders_and_projects).
63
62
  # @param [Array<String>, String] analysis_query_access_selector_permissions
64
63
  # Optional. The permissions to appear in result.
65
64
  # @param [Array<String>, String] analysis_query_access_selector_roles
66
65
  # Optional. The roles to appear in result.
67
66
  # @param [String] analysis_query_identity_selector_identity
68
- # Required. The identity appear in the form of members in
69
- # [IAM policy
70
- # binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
71
- # The examples of supported forms are:
72
- # "user:mike@example.com",
73
- # "group:admins@example.com",
74
- # "domain:google.com",
75
- # "serviceAccount:my-project-id@appspot.gserviceaccount.com".
76
- # Notice that wildcard characters (such as * and ?) are not supported.
77
- # You must give a specific identity.
67
+ # Required. The identity appear in the form of members in [IAM policy binding](
68
+ # https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of
69
+ # supported forms are: "user:mike@example.com", "group:admins@example.com", "
70
+ # domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com".
71
+ # Notice that wildcard characters (such as * and ?) are not supported. You must
72
+ # give a specific identity.
78
73
  # @param [String] analysis_query_resource_selector_full_resource_name
79
- # Required. The [full resource
80
- # name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
81
- # of a resource of [supported resource
82
- # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#
74
+ # Required. The [full resource name](https://cloud.google.com/asset-inventory/
75
+ # docs/resource-name-format) of a resource of [supported resource types](https://
76
+ # cloud.google.com/asset-inventory/docs/supported-asset-types#
83
77
  # analyzable_asset_types).
84
78
  # @param [Boolean] options_analyze_service_account_impersonation
85
79
  # Optional. If true, the response will include access analysis from identities
86
- # to
87
- # resources via service account impersonation. This is a very expensive
88
- # operation, because many derived queries will be executed. We highly
89
- # recommend you use AssetService.ExportIamPolicyAnalysis rpc instead.
90
- # For example, if the request analyzes for which resources user A has
91
- # permission P, and there's an IAM policy states user A has
92
- # iam.serviceAccounts.getAccessToken permission to a service account SA,
93
- # and there's another IAM policy states service account SA has permission P
94
- # to a GCP folder F, then user A potentially has access to the GCP folder
95
- # F. And those advanced analysis results will be included in
96
- # AnalyzeIamPolicyResponse.service_account_impersonation_analysis.
97
- # Another example, if the request analyzes for who has
98
- # permission P to a GCP folder F, and there's an IAM policy states user A
99
- # has iam.serviceAccounts.actAs permission to a service account SA, and
100
- # there's another IAM policy states service account SA has permission P to
101
- # the GCP folder F, then user A potentially has access to the GCP folder
102
- # F. And those advanced analysis results will be included in
103
- # AnalyzeIamPolicyResponse.service_account_impersonation_analysis.
104
- # Default is false.
80
+ # to resources via service account impersonation. This is a very expensive
81
+ # operation, because many derived queries will be executed. We highly recommend
82
+ # you use AssetService.ExportIamPolicyAnalysis rpc instead. For example, if the
83
+ # request analyzes for which resources user A has permission P, and there's an
84
+ # IAM policy states user A has iam.serviceAccounts.getAccessToken permission to
85
+ # a service account SA, and there's another IAM policy states service account SA
86
+ # has permission P to a GCP folder F, then user A potentially has access to the
87
+ # GCP folder F. And those advanced analysis results will be included in
88
+ # AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another
89
+ # example, if the request analyzes for who has permission P to a GCP folder F,
90
+ # and there's an IAM policy states user A has iam.serviceAccounts.actAs
91
+ # permission to a service account SA, and there's another IAM policy states
92
+ # service account SA has permission P to the GCP folder F, then user A
93
+ # potentially has access to the GCP folder F. And those advanced analysis
94
+ # results will be included in AnalyzeIamPolicyResponse.
95
+ # service_account_impersonation_analysis. Default is false.
105
96
  # @param [String] options_execution_timeout
106
- # Optional. Amount of time executable has to complete. See JSON representation
107
- # of
108
- # [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
97
+ # Optional. Amount of time executable has to complete. See JSON representation
98
+ # of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
109
99
  # If this field is set with a value less than the RPC deadline, and the
110
- # execution of your query hasn't finished in the specified
111
- # execution timeout, you will get a response with partial result.
112
- # Otherwise, your query's execution will continue until the RPC deadline.
113
- # If it's not finished until then, you will get a DEADLINE_EXCEEDED error.
114
- # Default is empty.
100
+ # execution of your query hasn't finished in the specified execution timeout,
101
+ # you will get a response with partial result. Otherwise, your query's execution
102
+ # will continue until the RPC deadline. If it's not finished until then, you
103
+ # will get a DEADLINE_EXCEEDED error. Default is empty.
115
104
  # @param [Boolean] options_expand_groups
116
- # Optional. If true, the identities section of the result will expand any
117
- # Google groups appearing in an IAM policy binding.
118
- # If identity_selector is specified, the identity in the result will
119
- # be determined by the selector, and this flag will have no effect.
120
- # Default is false.
105
+ # Optional. If true, the identities section of the result will expand any Google
106
+ # groups appearing in an IAM policy binding. If identity_selector is specified,
107
+ # the identity in the result will be determined by the selector, and this flag
108
+ # will have no effect. Default is false.
121
109
  # @param [Boolean] options_expand_resources
122
- # Optional. If true, the resource section of the result will expand any
123
- # resource attached to an IAM policy to include resources lower in the
124
- # resource hierarchy.
110
+ # Optional. If true, the resource section of the result will expand any resource
111
+ # attached to an IAM policy to include resources lower in the resource hierarchy.
125
112
  # For example, if the request analyzes for which resources user A has
126
- # permission P, and the results include an IAM policy with P on a GCP
127
- # folder, the results will also include resources in that folder with
128
- # permission P.
129
- # If resource_selector is specified, the resource section of the result
130
- # will be determined by the selector, and this flag will have no effect.
131
- # Default is false.
113
+ # permission P, and the results include an IAM policy with P on a GCP folder,
114
+ # the results will also include resources in that folder with permission P. If
115
+ # resource_selector is specified, the resource section of the result will be
116
+ # determined by the selector, and this flag will have no effect. Default is
117
+ # false.
132
118
  # @param [Boolean] options_expand_roles
133
119
  # Optional. If true, the access section of result will expand any roles
134
- # appearing in IAM policy bindings to include their permissions.
135
- # If access_selector is specified, the access section of the result
136
- # will be determined by the selector, and this flag will have no effect.
137
- # Default is false.
120
+ # appearing in IAM policy bindings to include their permissions. If
121
+ # access_selector is specified, the access section of the result will be
122
+ # determined by the selector, and this flag will have no effect. Default is
123
+ # false.
138
124
  # @param [Boolean] options_output_group_edges
139
- # Optional. If true, the result will output group identity edges, starting
140
- # from the binding's group members, to any expanded identities.
141
- # Default is false.
125
+ # Optional. If true, the result will output group identity edges, starting from
126
+ # the binding's group members, to any expanded identities. Default is false.
142
127
  # @param [Boolean] options_output_resource_edges
143
- # Optional. If true, the result will output resource edges, starting
144
- # from the policy attached resource, to any expanded resources.
145
- # Default is false.
128
+ # Optional. If true, the result will output resource edges, starting from the
129
+ # policy attached resource, to any expanded resources. Default is false.
146
130
  # @param [String] fields
147
131
  # Selector specifying which fields to include in a partial response.
148
132
  # @param [String] quota_user
@@ -181,25 +165,23 @@ module Google
181
165
  execute_or_queue_command(command, &block)
182
166
  end
183
167
 
184
- # Exports the answers of which identities have what accesses on which
185
- # resources to a Google Cloud Storage destination. The output format is
186
- # the JSON format that represents a AnalyzeIamPolicyResponse
187
- # in the JSON format.
188
- # This method implements the google.longrunning.Operation, which allows
189
- # you to keep track of the export. We recommend intervals of at least 2
190
- # seconds with exponential retry to poll the export operation result. The
191
- # metadata contains the request to help callers to map responses to requests.
168
+ # Exports the answers of which identities have what accesses on which resources
169
+ # to a Google Cloud Storage destination. The output format is the JSON format
170
+ # that represents a AnalyzeIamPolicyResponse in the JSON format. This method
171
+ # implements the google.longrunning.Operation, which allows you to keep track of
172
+ # the export. We recommend intervals of at least 2 seconds with exponential
173
+ # retry to poll the export operation result. The metadata contains the request
174
+ # to help callers to map responses to requests.
192
175
  # @param [String] parent
193
176
  # Required. The relative name of the root asset. Only resources and IAM policies
194
- # within
195
- # the parent will be analyzed. This can only be an organization number (such
196
- # as "organizations/123") or a folder number (such as "folders/123").
197
- # To know how to get organization id, visit [here
198
- # ](https://cloud.google.com/resource-manager/docs/creating-managing-
199
- # organization#retrieving_your_organization_id).
200
- # To know how to get folder id, visit [here
201
- # ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#
202
- # viewing_or_listing_folders_and_projects).
177
+ # within the parent will be analyzed. This can only be an organization number (
178
+ # such as "organizations/123"), a folder number (such as "folders/123"), a
179
+ # project ID (such as "projects/my-project-id"), or a project number (such as "
180
+ # projects/12345"). To know how to get organization id, visit [here ](https://
181
+ # cloud.google.com/resource-manager/docs/creating-managing-organization#
182
+ # retrieving_your_organization_id). To know how to get folder or project id,
183
+ # visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-
184
+ # folders#viewing_or_listing_folders_and_projects).
203
185
  # @param [Google::Apis::CloudassetV1p4beta1::ExportIamPolicyAnalysisRequest] export_iam_policy_analysis_request_object
204
186
  # @param [String] fields
205
187
  # Selector specifying which fields to include in a partial response.
@@ -12,21 +12,20 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'google/apis/securitycenter_v1p1alpha1/service.rb'
16
- require 'google/apis/securitycenter_v1p1alpha1/classes.rb'
17
- require 'google/apis/securitycenter_v1p1alpha1/representations.rb'
15
+ require 'google/apis/cloudasset_v1p5beta1/service.rb'
16
+ require 'google/apis/cloudasset_v1p5beta1/classes.rb'
17
+ require 'google/apis/cloudasset_v1p5beta1/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Security Command Center API
21
+ # Cloud Asset API
22
22
  #
23
- # Security Command Center API provides access to temporal views of assets and
24
- # findings within an organization.
23
+ # The cloud asset API manages the history and inventory of cloud resources.
25
24
  #
26
- # @see https://console.cloud.google.com/apis/api/securitycenter.googleapis.com/overview
27
- module SecuritycenterV1p1alpha1
28
- VERSION = 'V1p1alpha1'
29
- REVISION = '20200605'
25
+ # @see https://cloud.google.com/asset-inventory/docs/quickstart
26
+ module CloudassetV1p5beta1
27
+ VERSION = 'V1p5beta1'
28
+ REVISION = '20200810'
30
29
 
31
30
  # View and manage your data across Google Cloud Platform services
32
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -0,0 +1,1300 @@
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 CloudassetV1p5beta1
24
+
25
+ # An asset in Google Cloud. An asset can be any resource in the Google Cloud [
26
+ # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
27
+ # platform-resource-hierarchy), a resource outside the Google Cloud resource
28
+ # hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy
29
+ # (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/
30
+ # asset-inventory/docs/supported-asset-types) for more information.
31
+ class Asset
32
+ include Google::Apis::Core::Hashable
33
+
34
+ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
35
+ # services, along with a list of requirements necessary for the label to be
36
+ # applied.
37
+ # Corresponds to the JSON property `accessLevel`
38
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1AccessLevel]
39
+ attr_accessor :access_level
40
+
41
+ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
42
+ # attributes to use Google Cloud services) and `ServicePerimeters` (which define
43
+ # regions of services able to freely pass data within a perimeter). An access
44
+ # policy is globally visible within an organization, and the restrictions it
45
+ # specifies apply to all projects within an organization.
46
+ # Corresponds to the JSON property `accessPolicy`
47
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1AccessPolicy]
48
+ attr_accessor :access_policy
49
+
50
+ # The ancestry path of an asset in Google Cloud [resource hierarchy](https://
51
+ # cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
52
+ # represented as a list of relative resource names. An ancestry path starts with
53
+ # the closest ancestor in the hierarchy and ends at root. If the asset is a
54
+ # project, folder, or organization, the ancestry path starts from the asset
55
+ # itself. Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
56
+ # Corresponds to the JSON property `ancestors`
57
+ # @return [Array<String>]
58
+ attr_accessor :ancestors
59
+
60
+ # The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported
61
+ # asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-
62
+ # types) for more information.
63
+ # Corresponds to the JSON property `assetType`
64
+ # @return [String]
65
+ attr_accessor :asset_type
66
+
67
+ # An Identity and Access Management (IAM) policy, which specifies access
68
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
69
+ # A `binding` binds one or more `members` to a single `role`. Members can be
70
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
71
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
72
+ # role or a user-created custom role. For some types of Google Cloud resources,
73
+ # a `binding` can also specify a `condition`, which is a logical expression that
74
+ # allows access to a resource only if the expression evaluates to `true`. A
75
+ # condition can add constraints based on attributes of the request, the resource,
76
+ # or both. To learn which resources support conditions in their IAM policies,
77
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
78
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
79
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
80
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
81
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
82
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
83
+ # title": "expirable access", "description": "Does not grant access after Sep
84
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
85
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
86
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
87
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
88
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
89
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
90
+ # description: Does not grant access after Sep 2020 expression: request.time <
91
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
92
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
93
+ # google.com/iam/docs/).
94
+ # Corresponds to the JSON property `iamPolicy`
95
+ # @return [Google::Apis::CloudassetV1p5beta1::Policy]
96
+ attr_accessor :iam_policy
97
+
98
+ # The full name of the asset. Example: `//compute.googleapis.com/projects/
99
+ # my_project_123/zones/zone1/instances/instance1` See [Resource names](https://
100
+ # cloud.google.com/apis/design/resource_names#full_resource_name) for more
101
+ # information.
102
+ # Corresponds to the JSON property `name`
103
+ # @return [String]
104
+ attr_accessor :name
105
+
106
+ # A representation of an [organization policy](https://cloud.google.com/resource-
107
+ # manager/docs/organization-policy/overview#organization_policy). There can be
108
+ # more than one organization policy with different constraints set on a given
109
+ # resource.
110
+ # Corresponds to the JSON property `orgPolicy`
111
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::GoogleCloudOrgpolicyV1Policy>]
112
+ attr_accessor :org_policy
113
+
114
+ # A representation of a Google Cloud resource.
115
+ # Corresponds to the JSON property `resource`
116
+ # @return [Google::Apis::CloudassetV1p5beta1::Resource]
117
+ attr_accessor :resource
118
+
119
+ # `ServicePerimeter` describes a set of Google Cloud resources which can freely
120
+ # import and export data amongst themselves, but not export outside of the `
121
+ # ServicePerimeter`. If a request with a source within this `ServicePerimeter`
122
+ # has a target outside of the `ServicePerimeter`, the request will be blocked.
123
+ # Otherwise the request is allowed. There are two types of Service Perimeter -
124
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google
125
+ # Cloud project can only belong to a single regular Service Perimeter. Service
126
+ # Perimeter Bridges can contain only Google Cloud projects as members, a single
127
+ # Google Cloud project may belong to multiple Service Perimeter Bridges.
128
+ # Corresponds to the JSON property `servicePerimeter`
129
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter]
130
+ attr_accessor :service_perimeter
131
+
132
+ def initialize(**args)
133
+ update!(**args)
134
+ end
135
+
136
+ # Update properties of this object
137
+ def update!(**args)
138
+ @access_level = args[:access_level] if args.key?(:access_level)
139
+ @access_policy = args[:access_policy] if args.key?(:access_policy)
140
+ @ancestors = args[:ancestors] if args.key?(:ancestors)
141
+ @asset_type = args[:asset_type] if args.key?(:asset_type)
142
+ @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
143
+ @name = args[:name] if args.key?(:name)
144
+ @org_policy = args[:org_policy] if args.key?(:org_policy)
145
+ @resource = args[:resource] if args.key?(:resource)
146
+ @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
147
+ end
148
+ end
149
+
150
+ # Specifies the audit configuration for a service. The configuration determines
151
+ # which permission types are logged, and what identities, if any, are exempted
152
+ # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
153
+ # are AuditConfigs for both `allServices` and a specific service, the union of
154
+ # the two AuditConfigs is used for that service: the log_types specified in each
155
+ # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are
156
+ # exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` "
157
+ # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", "
158
+ # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `,
159
+ # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com",
160
+ # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
161
+ # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
162
+ # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
163
+ # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
164
+ # DATA_WRITE logging.
165
+ class AuditConfig
166
+ include Google::Apis::Core::Hashable
167
+
168
+ # The configuration for logging of each type of permission.
169
+ # Corresponds to the JSON property `auditLogConfigs`
170
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::AuditLogConfig>]
171
+ attr_accessor :audit_log_configs
172
+
173
+ # Specifies a service that will be enabled for audit logging. For example, `
174
+ # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
175
+ # value that covers all services.
176
+ # Corresponds to the JSON property `service`
177
+ # @return [String]
178
+ attr_accessor :service
179
+
180
+ def initialize(**args)
181
+ update!(**args)
182
+ end
183
+
184
+ # Update properties of this object
185
+ def update!(**args)
186
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
187
+ @service = args[:service] if args.key?(:service)
188
+ end
189
+ end
190
+
191
+ # Provides the configuration for logging a type of permissions. Example: ` "
192
+ # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user:
193
+ # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables '
194
+ # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
195
+ # DATA_READ logging.
196
+ class AuditLogConfig
197
+ include Google::Apis::Core::Hashable
198
+
199
+ # Specifies the identities that do not cause logging for this type of permission.
200
+ # Follows the same format of Binding.members.
201
+ # Corresponds to the JSON property `exemptedMembers`
202
+ # @return [Array<String>]
203
+ attr_accessor :exempted_members
204
+
205
+ # The log type that this config enables.
206
+ # Corresponds to the JSON property `logType`
207
+ # @return [String]
208
+ attr_accessor :log_type
209
+
210
+ def initialize(**args)
211
+ update!(**args)
212
+ end
213
+
214
+ # Update properties of this object
215
+ def update!(**args)
216
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
217
+ @log_type = args[:log_type] if args.key?(:log_type)
218
+ end
219
+ end
220
+
221
+ # Associates `members` with a `role`.
222
+ class Binding
223
+ include Google::Apis::Core::Hashable
224
+
225
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
226
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
227
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
228
+ # "Summary size limit" description: "Determines if a summary is less than 100
229
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
230
+ # Requestor is owner" description: "Determines if requestor is the document
231
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
232
+ # Logic): title: "Public documents" description: "Determine whether the document
233
+ # should be publicly visible" expression: "document.type != 'private' &&
234
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
235
+ # string" description: "Create a notification string with a timestamp."
236
+ # expression: "'New message received at ' + string(document.create_time)" The
237
+ # exact variables and functions that may be referenced within an expression are
238
+ # determined by the service that evaluates it. See the service documentation for
239
+ # additional information.
240
+ # Corresponds to the JSON property `condition`
241
+ # @return [Google::Apis::CloudassetV1p5beta1::Expr]
242
+ attr_accessor :condition
243
+
244
+ # Specifies the identities requesting access for a Cloud Platform resource. `
245
+ # members` can have the following values: * `allUsers`: A special identifier
246
+ # that represents anyone who is on the internet; with or without a Google
247
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
248
+ # anyone who is authenticated with a Google account or a service account. * `
249
+ # user:`emailid``: An email address that represents a specific Google account.
250
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
251
+ # address that represents a service account. For example, `my-other-app@appspot.
252
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
253
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
254
+ # `uniqueid``: An email address (plus unique identifier) representing a user
255
+ # that has been recently deleted. For example, `alice@example.com?uid=
256
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
257
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
258
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
259
+ # identifier) representing a service account that has been recently deleted. For
260
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
261
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
262
+ # emailid`` and the undeleted service account retains the role in the binding. *
263
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
264
+ # identifier) representing a Google group that has been recently deleted. For
265
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
266
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
267
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
268
+ # primary) that represents all the users of that domain. For example, `google.
269
+ # com` or `example.com`.
270
+ # Corresponds to the JSON property `members`
271
+ # @return [Array<String>]
272
+ attr_accessor :members
273
+
274
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
275
+ # , or `roles/owner`.
276
+ # Corresponds to the JSON property `role`
277
+ # @return [String]
278
+ attr_accessor :role
279
+
280
+ def initialize(**args)
281
+ update!(**args)
282
+ end
283
+
284
+ # Update properties of this object
285
+ def update!(**args)
286
+ @condition = args[:condition] if args.key?(:condition)
287
+ @members = args[:members] if args.key?(:members)
288
+ @role = args[:role] if args.key?(:role)
289
+ end
290
+ end
291
+
292
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
293
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
294
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
295
+ # "Summary size limit" description: "Determines if a summary is less than 100
296
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
297
+ # Requestor is owner" description: "Determines if requestor is the document
298
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
299
+ # Logic): title: "Public documents" description: "Determine whether the document
300
+ # should be publicly visible" expression: "document.type != 'private' &&
301
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
302
+ # string" description: "Create a notification string with a timestamp."
303
+ # expression: "'New message received at ' + string(document.create_time)" The
304
+ # exact variables and functions that may be referenced within an expression are
305
+ # determined by the service that evaluates it. See the service documentation for
306
+ # additional information.
307
+ class Expr
308
+ include Google::Apis::Core::Hashable
309
+
310
+ # Optional. Description of the expression. This is a longer text which describes
311
+ # the expression, e.g. when hovered over it in a UI.
312
+ # Corresponds to the JSON property `description`
313
+ # @return [String]
314
+ attr_accessor :description
315
+
316
+ # Textual representation of an expression in Common Expression Language syntax.
317
+ # Corresponds to the JSON property `expression`
318
+ # @return [String]
319
+ attr_accessor :expression
320
+
321
+ # Optional. String indicating the location of the expression for error reporting,
322
+ # e.g. a file name and a position in the file.
323
+ # Corresponds to the JSON property `location`
324
+ # @return [String]
325
+ attr_accessor :location
326
+
327
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
328
+ # This can be used e.g. in UIs which allow to enter the expression.
329
+ # Corresponds to the JSON property `title`
330
+ # @return [String]
331
+ attr_accessor :title
332
+
333
+ def initialize(**args)
334
+ update!(**args)
335
+ end
336
+
337
+ # Update properties of this object
338
+ def update!(**args)
339
+ @description = args[:description] if args.key?(:description)
340
+ @expression = args[:expression] if args.key?(:expression)
341
+ @location = args[:location] if args.key?(:location)
342
+ @title = args[:title] if args.key?(:title)
343
+ end
344
+ end
345
+
346
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
347
+ # resource.
348
+ class GoogleCloudOrgpolicyV1BooleanPolicy
349
+ include Google::Apis::Core::Hashable
350
+
351
+ # If `true`, then the `Policy` is enforced. If `false`, then any configuration
352
+ # is acceptable. Suppose you have a `Constraint` `constraints/compute.
353
+ # disableSerialPortAccess` with `constraint_default` set to `ALLOW`. A `Policy`
354
+ # for that `Constraint` exhibits the following behavior: - If the `Policy` at
355
+ # this resource has enforced set to `false`, serial port connection attempts
356
+ # will be allowed. - If the `Policy` at this resource has enforced set to `true`,
357
+ # serial port connection attempts will be refused. - If the `Policy` at this
358
+ # resource is `RestoreDefault`, serial port connection attempts will be allowed.
359
+ # - If no `Policy` is set at this resource or anywhere higher in the resource
360
+ # hierarchy, serial port connection attempts will be allowed. - If no `Policy`
361
+ # is set at this resource, but one exists higher in the resource hierarchy, the
362
+ # behavior is as if the`Policy` were set at this resource. The following
363
+ # examples demonstrate the different possible layerings: Example 1 (nearest `
364
+ # Constraint` wins): `organizations/foo` has a `Policy` with: `enforced: false` `
365
+ # projects/bar` has no `Policy` set. The constraint at `projects/bar` and `
366
+ # organizations/foo` will not be enforced. Example 2 (enforcement gets replaced):
367
+ # `organizations/foo` has a `Policy` with: `enforced: false` `projects/bar` has
368
+ # a `Policy` with: `enforced: true` The constraint at `organizations/foo` is not
369
+ # enforced. The constraint at `projects/bar` is enforced. Example 3 (
370
+ # RestoreDefault): `organizations/foo` has a `Policy` with: `enforced: true` `
371
+ # projects/bar` has a `Policy` with: `RestoreDefault: ``` The constraint at `
372
+ # organizations/foo` is enforced. The constraint at `projects/bar` is not
373
+ # enforced, because `constraint_default` for the `Constraint` is `ALLOW`.
374
+ # Corresponds to the JSON property `enforced`
375
+ # @return [Boolean]
376
+ attr_accessor :enforced
377
+ alias_method :enforced?, :enforced
378
+
379
+ def initialize(**args)
380
+ update!(**args)
381
+ end
382
+
383
+ # Update properties of this object
384
+ def update!(**args)
385
+ @enforced = args[:enforced] if args.key?(:enforced)
386
+ end
387
+ end
388
+
389
+ # Used in `policy_type` to specify how `list_policy` behaves at this resource. `
390
+ # ListPolicy` can define specific values and subtrees of Cloud Resource Manager
391
+ # resource hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed
392
+ # or denied by setting the `allowed_values` and `denied_values` fields. This is
393
+ # achieved by using the `under:` and optional `is:` prefixes. The `under:`
394
+ # prefix is used to denote resource subtree values. The `is:` prefix is used to
395
+ # denote specific values, and is required only if the value contains a ":".
396
+ # Values prefixed with "is:" are treated the same as values with no prefix.
397
+ # Ancestry subtrees must be in one of the following formats: - "projects/", e.g.
398
+ # "projects/tokyo-rain-123" - "folders/", e.g. "folders/1234" - "organizations/",
399
+ # e.g. "organizations/1234" The `supports_under` field of the associated `
400
+ # Constraint` defines whether ancestry prefixes can be used. You can set `
401
+ # allowed_values` and `denied_values` in the same `Policy` if `all_values` is `
402
+ # ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
403
+ # values. If `all_values` is set to either `ALLOW` or `DENY`, `allowed_values`
404
+ # and `denied_values` must be unset.
405
+ class GoogleCloudOrgpolicyV1ListPolicy
406
+ include Google::Apis::Core::Hashable
407
+
408
+ # The policy all_values state.
409
+ # Corresponds to the JSON property `allValues`
410
+ # @return [String]
411
+ attr_accessor :all_values
412
+
413
+ # List of values allowed at this resource. Can only be set if `all_values` is
414
+ # set to `ALL_VALUES_UNSPECIFIED`.
415
+ # Corresponds to the JSON property `allowedValues`
416
+ # @return [Array<String>]
417
+ attr_accessor :allowed_values
418
+
419
+ # List of values denied at this resource. Can only be set if `all_values` is set
420
+ # to `ALL_VALUES_UNSPECIFIED`.
421
+ # Corresponds to the JSON property `deniedValues`
422
+ # @return [Array<String>]
423
+ attr_accessor :denied_values
424
+
425
+ # Determines the inheritance behavior for this `Policy`. By default, a `
426
+ # ListPolicy` set at a resource supersedes any `Policy` set anywhere up the
427
+ # resource hierarchy. However, if `inherit_from_parent` is set to `true`, then
428
+ # the values from the effective `Policy` of the parent resource are inherited,
429
+ # meaning the values set in this `Policy` are added to the values inherited up
430
+ # the hierarchy. Setting `Policy` hierarchies that inherit both allowed values
431
+ # and denied values isn't recommended in most circumstances to keep the
432
+ # configuration simple and understandable. However, it is possible to set a `
433
+ # Policy` with `allowed_values` set that inherits a `Policy` with `denied_values`
434
+ # set. In this case, the values that are allowed must be in `allowed_values`
435
+ # and not present in `denied_values`. For example, suppose you have a `
436
+ # Constraint` `constraints/serviceuser.services`, which has a `constraint_type`
437
+ # of `list_constraint`, and with `constraint_default` set to `ALLOW`. Suppose
438
+ # that at the Organization level, a `Policy` is applied that restricts the
439
+ # allowed API activations to ``E1`, `E2``. Then, if a `Policy` is applied to a
440
+ # project below the Organization that has `inherit_from_parent` set to `false`
441
+ # and field all_values set to DENY, then an attempt to activate any API will be
442
+ # denied. The following examples demonstrate different possible layerings for `
443
+ # projects/bar` parented by `organizations/foo`: Example 1 (no inherited values):
444
+ # `organizations/foo` has a `Policy` with values: `allowed_values: "E1"
445
+ # allowed_values:"E2"` `projects/bar` has `inherit_from_parent` `false` and
446
+ # values: `allowed_values: "E3" allowed_values: "E4"` The accepted values at `
447
+ # organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `
448
+ # E3`, and `E4`. Example 2 (inherited values): `organizations/foo` has a `Policy`
449
+ # with values: `allowed_values: "E1" allowed_values:"E2"` `projects/bar` has a `
450
+ # Policy` with values: `value: "E3" value: "E4" inherit_from_parent: true` The
451
+ # accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `
452
+ # projects/bar` are `E1`, `E2`, `E3`, and `E4`. Example 3 (inheriting both
453
+ # allowed and denied values): `organizations/foo` has a `Policy` with values: `
454
+ # allowed_values: "E1" allowed_values: "E2"` `projects/bar` has a `Policy` with:
455
+ # `denied_values: "E1"` The accepted values at `organizations/foo` are `E1`, `E2`
456
+ # . The value accepted at `projects/bar` is `E2`. Example 4 (RestoreDefault): `
457
+ # organizations/foo` has a `Policy` with values: `allowed_values: "E1"
458
+ # allowed_values:"E2"` `projects/bar` has a `Policy` with values: `
459
+ # RestoreDefault: ``` The accepted values at `organizations/foo` are `E1`, `E2`.
460
+ # The accepted values at `projects/bar` are either all or none depending on the
461
+ # value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5 (
462
+ # no policy inherits parent policy): `organizations/foo` has no `Policy` set. `
463
+ # projects/bar` has no `Policy` set. The accepted values at both levels are
464
+ # either all or none depending on the value of `constraint_default` (if `ALLOW`,
465
+ # all; if `DENY`, none). Example 6 (ListConstraint allowing all): `organizations/
466
+ # foo` has a `Policy` with values: `allowed_values: "E1" allowed_values: "E2"` `
467
+ # projects/bar` has a `Policy` with: `all: ALLOW` The accepted values at `
468
+ # organizations/foo` are `E1`, E2`. Any value is accepted at `projects/bar`.
469
+ # Example 7 (ListConstraint allowing none): `organizations/foo` has a `Policy`
470
+ # with values: `allowed_values: "E1" allowed_values: "E2"` `projects/bar` has a `
471
+ # Policy` with: `all: DENY` The accepted values at `organizations/foo` are `E1`,
472
+ # E2`. No value is accepted at `projects/bar`. Example 10 (allowed and denied
473
+ # subtrees of Resource Manager hierarchy): Given the following resource
474
+ # hierarchy O1->`F1, F2`; F1->`P1`; F2->`P2, P3`, `organizations/foo` has a `
475
+ # Policy` with values: `allowed_values: "under:organizations/O1"` `projects/bar`
476
+ # has a `Policy` with: `allowed_values: "under:projects/P3"` `denied_values: "
477
+ # under:folders/F2"` The accepted values at `organizations/foo` are `
478
+ # organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, `
479
+ # projects/P3`. The accepted values at `projects/bar` are `organizations/O1`, `
480
+ # folders/F1`, `projects/P1`.
481
+ # Corresponds to the JSON property `inheritFromParent`
482
+ # @return [Boolean]
483
+ attr_accessor :inherit_from_parent
484
+ alias_method :inherit_from_parent?, :inherit_from_parent
485
+
486
+ # Optional. The Google Cloud Console will try to default to a configuration that
487
+ # matches the value specified in this `Policy`. If `suggested_value` is not set,
488
+ # it will inherit the value specified higher in the hierarchy, unless `
489
+ # inherit_from_parent` is `false`.
490
+ # Corresponds to the JSON property `suggestedValue`
491
+ # @return [String]
492
+ attr_accessor :suggested_value
493
+
494
+ def initialize(**args)
495
+ update!(**args)
496
+ end
497
+
498
+ # Update properties of this object
499
+ def update!(**args)
500
+ @all_values = args[:all_values] if args.key?(:all_values)
501
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
502
+ @denied_values = args[:denied_values] if args.key?(:denied_values)
503
+ @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent)
504
+ @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
505
+ end
506
+ end
507
+
508
+ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
509
+ # for configurations of Cloud Platform resources.
510
+ class GoogleCloudOrgpolicyV1Policy
511
+ include Google::Apis::Core::Hashable
512
+
513
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
514
+ # resource.
515
+ # Corresponds to the JSON property `booleanPolicy`
516
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleCloudOrgpolicyV1BooleanPolicy]
517
+ attr_accessor :boolean_policy
518
+
519
+ # The name of the `Constraint` the `Policy` is configuring, for example, `
520
+ # constraints/serviceuser.services`. A [list of available constraints](/resource-
521
+ # manager/docs/organization-policy/org-policy-constraints) is available.
522
+ # Immutable after creation.
523
+ # Corresponds to the JSON property `constraint`
524
+ # @return [String]
525
+ attr_accessor :constraint
526
+
527
+ # An opaque tag indicating the current version of the `Policy`, used for
528
+ # concurrency control. When the `Policy` is returned from either a `GetPolicy`
529
+ # or a `ListOrgPolicy` request, this `etag` indicates the version of the current
530
+ # `Policy` to use when executing a read-modify-write loop. When the `Policy` is
531
+ # returned from a `GetEffectivePolicy` request, the `etag` will be unset. When
532
+ # the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value that was
533
+ # returned from a `GetOrgPolicy` request as part of a read-modify-write loop for
534
+ # concurrency control. Not setting the `etag`in a `SetOrgPolicy` request will
535
+ # result in an unconditional write of the `Policy`.
536
+ # Corresponds to the JSON property `etag`
537
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
538
+ # @return [String]
539
+ attr_accessor :etag
540
+
541
+ # Used in `policy_type` to specify how `list_policy` behaves at this resource. `
542
+ # ListPolicy` can define specific values and subtrees of Cloud Resource Manager
543
+ # resource hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed
544
+ # or denied by setting the `allowed_values` and `denied_values` fields. This is
545
+ # achieved by using the `under:` and optional `is:` prefixes. The `under:`
546
+ # prefix is used to denote resource subtree values. The `is:` prefix is used to
547
+ # denote specific values, and is required only if the value contains a ":".
548
+ # Values prefixed with "is:" are treated the same as values with no prefix.
549
+ # Ancestry subtrees must be in one of the following formats: - "projects/", e.g.
550
+ # "projects/tokyo-rain-123" - "folders/", e.g. "folders/1234" - "organizations/",
551
+ # e.g. "organizations/1234" The `supports_under` field of the associated `
552
+ # Constraint` defines whether ancestry prefixes can be used. You can set `
553
+ # allowed_values` and `denied_values` in the same `Policy` if `all_values` is `
554
+ # ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
555
+ # values. If `all_values` is set to either `ALLOW` or `DENY`, `allowed_values`
556
+ # and `denied_values` must be unset.
557
+ # Corresponds to the JSON property `listPolicy`
558
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleCloudOrgpolicyV1ListPolicy]
559
+ attr_accessor :list_policy
560
+
561
+ # Ignores policies set above this resource and restores the `constraint_default`
562
+ # enforcement behavior of the specific `Constraint` at this resource. Suppose
563
+ # that `constraint_default` is set to `ALLOW` for the `Constraint` `constraints/
564
+ # serviceuser.services`. Suppose that organization foo.com sets a `Policy` at
565
+ # their Organization resource node that restricts the allowed service
566
+ # activations to deny all service activations. They could then set a `Policy`
567
+ # with the `policy_type` `restore_default` on several experimental projects,
568
+ # restoring the `constraint_default` enforcement of the `Constraint` for only
569
+ # those projects, allowing those projects to have all services activated.
570
+ # Corresponds to the JSON property `restoreDefault`
571
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleCloudOrgpolicyV1RestoreDefault]
572
+ attr_accessor :restore_default
573
+
574
+ # The time stamp the `Policy` was previously updated. This is set by the server,
575
+ # not specified by the caller, and represents the last time a call to `
576
+ # SetOrgPolicy` was made for that `Policy`. Any value set by the client will be
577
+ # ignored.
578
+ # Corresponds to the JSON property `updateTime`
579
+ # @return [String]
580
+ attr_accessor :update_time
581
+
582
+ # Version of the `Policy`. Default version is 0;
583
+ # Corresponds to the JSON property `version`
584
+ # @return [Fixnum]
585
+ attr_accessor :version
586
+
587
+ def initialize(**args)
588
+ update!(**args)
589
+ end
590
+
591
+ # Update properties of this object
592
+ def update!(**args)
593
+ @boolean_policy = args[:boolean_policy] if args.key?(:boolean_policy)
594
+ @constraint = args[:constraint] if args.key?(:constraint)
595
+ @etag = args[:etag] if args.key?(:etag)
596
+ @list_policy = args[:list_policy] if args.key?(:list_policy)
597
+ @restore_default = args[:restore_default] if args.key?(:restore_default)
598
+ @update_time = args[:update_time] if args.key?(:update_time)
599
+ @version = args[:version] if args.key?(:version)
600
+ end
601
+ end
602
+
603
+ # Ignores policies set above this resource and restores the `constraint_default`
604
+ # enforcement behavior of the specific `Constraint` at this resource. Suppose
605
+ # that `constraint_default` is set to `ALLOW` for the `Constraint` `constraints/
606
+ # serviceuser.services`. Suppose that organization foo.com sets a `Policy` at
607
+ # their Organization resource node that restricts the allowed service
608
+ # activations to deny all service activations. They could then set a `Policy`
609
+ # with the `policy_type` `restore_default` on several experimental projects,
610
+ # restoring the `constraint_default` enforcement of the `Constraint` for only
611
+ # those projects, allowing those projects to have all services activated.
612
+ class GoogleCloudOrgpolicyV1RestoreDefault
613
+ include Google::Apis::Core::Hashable
614
+
615
+ def initialize(**args)
616
+ update!(**args)
617
+ end
618
+
619
+ # Update properties of this object
620
+ def update!(**args)
621
+ end
622
+ end
623
+
624
+ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
625
+ # services, along with a list of requirements necessary for the label to be
626
+ # applied.
627
+ class GoogleIdentityAccesscontextmanagerV1AccessLevel
628
+ include Google::Apis::Core::Hashable
629
+
630
+ # `BasicLevel` is an `AccessLevel` using a set of recommended features.
631
+ # Corresponds to the JSON property `basic`
632
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1BasicLevel]
633
+ attr_accessor :basic
634
+
635
+ # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language
636
+ # to represent the necessary conditions for the level to apply to a request. See
637
+ # CEL spec at: https://github.com/google/cel-spec
638
+ # Corresponds to the JSON property `custom`
639
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1CustomLevel]
640
+ attr_accessor :custom
641
+
642
+ # Description of the `AccessLevel` and its use. Does not affect behavior.
643
+ # Corresponds to the JSON property `description`
644
+ # @return [String]
645
+ attr_accessor :description
646
+
647
+ # Required. Resource name for the Access Level. The `short_name` component must
648
+ # begin with a letter and only include alphanumeric and '_'. Format: `
649
+ # accessPolicies/`policy_id`/accessLevels/`short_name``. The maximum length of
650
+ # the `short_name` component is 50 characters.
651
+ # Corresponds to the JSON property `name`
652
+ # @return [String]
653
+ attr_accessor :name
654
+
655
+ # Human readable title. Must be unique within the Policy.
656
+ # Corresponds to the JSON property `title`
657
+ # @return [String]
658
+ attr_accessor :title
659
+
660
+ def initialize(**args)
661
+ update!(**args)
662
+ end
663
+
664
+ # Update properties of this object
665
+ def update!(**args)
666
+ @basic = args[:basic] if args.key?(:basic)
667
+ @custom = args[:custom] if args.key?(:custom)
668
+ @description = args[:description] if args.key?(:description)
669
+ @name = args[:name] if args.key?(:name)
670
+ @title = args[:title] if args.key?(:title)
671
+ end
672
+ end
673
+
674
+ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
675
+ # attributes to use Google Cloud services) and `ServicePerimeters` (which define
676
+ # regions of services able to freely pass data within a perimeter). An access
677
+ # policy is globally visible within an organization, and the restrictions it
678
+ # specifies apply to all projects within an organization.
679
+ class GoogleIdentityAccesscontextmanagerV1AccessPolicy
680
+ include Google::Apis::Core::Hashable
681
+
682
+ # Output only. An opaque identifier for the current version of the `AccessPolicy`
683
+ # . This will always be a strongly validated etag, meaning that two Access
684
+ # Polices will be identical if and only if their etags are identical. Clients
685
+ # should not expect this to be in any specific format.
686
+ # Corresponds to the JSON property `etag`
687
+ # @return [String]
688
+ attr_accessor :etag
689
+
690
+ # Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/`
691
+ # policy_id``
692
+ # Corresponds to the JSON property `name`
693
+ # @return [String]
694
+ attr_accessor :name
695
+
696
+ # Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy.
697
+ # Currently immutable once created. Format: `organizations/`organization_id``
698
+ # Corresponds to the JSON property `parent`
699
+ # @return [String]
700
+ attr_accessor :parent
701
+
702
+ # Required. Human readable title. Does not affect behavior.
703
+ # Corresponds to the JSON property `title`
704
+ # @return [String]
705
+ attr_accessor :title
706
+
707
+ def initialize(**args)
708
+ update!(**args)
709
+ end
710
+
711
+ # Update properties of this object
712
+ def update!(**args)
713
+ @etag = args[:etag] if args.key?(:etag)
714
+ @name = args[:name] if args.key?(:name)
715
+ @parent = args[:parent] if args.key?(:parent)
716
+ @title = args[:title] if args.key?(:title)
717
+ end
718
+ end
719
+
720
+ # `BasicLevel` is an `AccessLevel` using a set of recommended features.
721
+ class GoogleIdentityAccesscontextmanagerV1BasicLevel
722
+ include Google::Apis::Core::Hashable
723
+
724
+ # How the `conditions` list should be combined to determine if a request is
725
+ # granted this `AccessLevel`. If AND is used, each `Condition` in `conditions`
726
+ # must be satisfied for the `AccessLevel` to be applied. If OR is used, at least
727
+ # one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be
728
+ # applied. Default behavior is AND.
729
+ # Corresponds to the JSON property `combiningFunction`
730
+ # @return [String]
731
+ attr_accessor :combining_function
732
+
733
+ # Required. A list of requirements for the `AccessLevel` to be granted.
734
+ # Corresponds to the JSON property `conditions`
735
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1Condition>]
736
+ attr_accessor :conditions
737
+
738
+ def initialize(**args)
739
+ update!(**args)
740
+ end
741
+
742
+ # Update properties of this object
743
+ def update!(**args)
744
+ @combining_function = args[:combining_function] if args.key?(:combining_function)
745
+ @conditions = args[:conditions] if args.key?(:conditions)
746
+ end
747
+ end
748
+
749
+ # A condition necessary for an `AccessLevel` to be granted. The Condition is an
750
+ # AND over its fields. So a Condition is true if: 1) the request IP is from one
751
+ # of the listed subnetworks AND 2) the originating device complies with the
752
+ # listed device policy AND 3) all listed access levels are granted AND 4) the
753
+ # request was sent at a time allowed by the DateTimeRestriction.
754
+ class GoogleIdentityAccesscontextmanagerV1Condition
755
+ include Google::Apis::Core::Hashable
756
+
757
+ # `DevicePolicy` specifies device specific restrictions necessary to acquire a
758
+ # given access level. A `DevicePolicy` specifies requirements for requests from
759
+ # devices to be granted access levels, it does not do any enforcement on the
760
+ # device. `DevicePolicy` acts as an AND over all specified fields, and each
761
+ # repeated field is an OR over its elements. Any unset fields are ignored. For
762
+ # example, if the proto is ` os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX,
763
+ # encryption_status: ENCRYPTED`, then the DevicePolicy will be true for requests
764
+ # originating from encrypted Linux desktops and encrypted Windows desktops.
765
+ # Corresponds to the JSON property `devicePolicy`
766
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1DevicePolicy]
767
+ attr_accessor :device_policy
768
+
769
+ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a
770
+ # CIDR IP address block, the specified IP address portion must be properly
771
+ # truncated (i.e. all the host bits must be zero) or the input is considered
772
+ # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is not.
773
+ # Similarly, for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" is
774
+ # not. The originating IP of a request must be in one of the listed subnets in
775
+ # order for this Condition to be true. If empty, all IP addresses are allowed.
776
+ # Corresponds to the JSON property `ipSubnetworks`
777
+ # @return [Array<String>]
778
+ attr_accessor :ip_subnetworks
779
+
780
+ # The request must be made by one of the provided user or service accounts.
781
+ # Groups are not supported. Syntax: `user:`emailid`` `serviceAccount:`emailid``
782
+ # If not specified, a request may come from any user.
783
+ # Corresponds to the JSON property `members`
784
+ # @return [Array<String>]
785
+ attr_accessor :members
786
+
787
+ # Whether to negate the Condition. If true, the Condition becomes a NAND over
788
+ # its non-empty fields, each field must be false for the Condition overall to be
789
+ # satisfied. Defaults to false.
790
+ # Corresponds to the JSON property `negate`
791
+ # @return [Boolean]
792
+ attr_accessor :negate
793
+ alias_method :negate?, :negate
794
+
795
+ # The request must originate from one of the provided countries/regions. Must be
796
+ # valid ISO 3166-1 alpha-2 codes.
797
+ # Corresponds to the JSON property `regions`
798
+ # @return [Array<String>]
799
+ attr_accessor :regions
800
+
801
+ # A list of other access levels defined in the same `Policy`, referenced by
802
+ # resource name. Referencing an `AccessLevel` which does not exist is an error.
803
+ # All access levels listed must be granted for the Condition to be true. Example:
804
+ # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
805
+ # Corresponds to the JSON property `requiredAccessLevels`
806
+ # @return [Array<String>]
807
+ attr_accessor :required_access_levels
808
+
809
+ def initialize(**args)
810
+ update!(**args)
811
+ end
812
+
813
+ # Update properties of this object
814
+ def update!(**args)
815
+ @device_policy = args[:device_policy] if args.key?(:device_policy)
816
+ @ip_subnetworks = args[:ip_subnetworks] if args.key?(:ip_subnetworks)
817
+ @members = args[:members] if args.key?(:members)
818
+ @negate = args[:negate] if args.key?(:negate)
819
+ @regions = args[:regions] if args.key?(:regions)
820
+ @required_access_levels = args[:required_access_levels] if args.key?(:required_access_levels)
821
+ end
822
+ end
823
+
824
+ # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language
825
+ # to represent the necessary conditions for the level to apply to a request. See
826
+ # CEL spec at: https://github.com/google/cel-spec
827
+ class GoogleIdentityAccesscontextmanagerV1CustomLevel
828
+ include Google::Apis::Core::Hashable
829
+
830
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
831
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
832
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
833
+ # "Summary size limit" description: "Determines if a summary is less than 100
834
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
835
+ # Requestor is owner" description: "Determines if requestor is the document
836
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
837
+ # Logic): title: "Public documents" description: "Determine whether the document
838
+ # should be publicly visible" expression: "document.type != 'private' &&
839
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
840
+ # string" description: "Create a notification string with a timestamp."
841
+ # expression: "'New message received at ' + string(document.create_time)" The
842
+ # exact variables and functions that may be referenced within an expression are
843
+ # determined by the service that evaluates it. See the service documentation for
844
+ # additional information.
845
+ # Corresponds to the JSON property `expr`
846
+ # @return [Google::Apis::CloudassetV1p5beta1::Expr]
847
+ attr_accessor :expr
848
+
849
+ def initialize(**args)
850
+ update!(**args)
851
+ end
852
+
853
+ # Update properties of this object
854
+ def update!(**args)
855
+ @expr = args[:expr] if args.key?(:expr)
856
+ end
857
+ end
858
+
859
+ # `DevicePolicy` specifies device specific restrictions necessary to acquire a
860
+ # given access level. A `DevicePolicy` specifies requirements for requests from
861
+ # devices to be granted access levels, it does not do any enforcement on the
862
+ # device. `DevicePolicy` acts as an AND over all specified fields, and each
863
+ # repeated field is an OR over its elements. Any unset fields are ignored. For
864
+ # example, if the proto is ` os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX,
865
+ # encryption_status: ENCRYPTED`, then the DevicePolicy will be true for requests
866
+ # originating from encrypted Linux desktops and encrypted Windows desktops.
867
+ class GoogleIdentityAccesscontextmanagerV1DevicePolicy
868
+ include Google::Apis::Core::Hashable
869
+
870
+ # Allowed device management levels, an empty list allows all management levels.
871
+ # Corresponds to the JSON property `allowedDeviceManagementLevels`
872
+ # @return [Array<String>]
873
+ attr_accessor :allowed_device_management_levels
874
+
875
+ # Allowed encryptions statuses, an empty list allows all statuses.
876
+ # Corresponds to the JSON property `allowedEncryptionStatuses`
877
+ # @return [Array<String>]
878
+ attr_accessor :allowed_encryption_statuses
879
+
880
+ # Allowed OS versions, an empty list allows all types and all versions.
881
+ # Corresponds to the JSON property `osConstraints`
882
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1OsConstraint>]
883
+ attr_accessor :os_constraints
884
+
885
+ # Whether the device needs to be approved by the customer admin.
886
+ # Corresponds to the JSON property `requireAdminApproval`
887
+ # @return [Boolean]
888
+ attr_accessor :require_admin_approval
889
+ alias_method :require_admin_approval?, :require_admin_approval
890
+
891
+ # Whether the device needs to be corp owned.
892
+ # Corresponds to the JSON property `requireCorpOwned`
893
+ # @return [Boolean]
894
+ attr_accessor :require_corp_owned
895
+ alias_method :require_corp_owned?, :require_corp_owned
896
+
897
+ # Whether or not screenlock is required for the DevicePolicy to be true.
898
+ # Defaults to `false`.
899
+ # Corresponds to the JSON property `requireScreenlock`
900
+ # @return [Boolean]
901
+ attr_accessor :require_screenlock
902
+ alias_method :require_screenlock?, :require_screenlock
903
+
904
+ def initialize(**args)
905
+ update!(**args)
906
+ end
907
+
908
+ # Update properties of this object
909
+ def update!(**args)
910
+ @allowed_device_management_levels = args[:allowed_device_management_levels] if args.key?(:allowed_device_management_levels)
911
+ @allowed_encryption_statuses = args[:allowed_encryption_statuses] if args.key?(:allowed_encryption_statuses)
912
+ @os_constraints = args[:os_constraints] if args.key?(:os_constraints)
913
+ @require_admin_approval = args[:require_admin_approval] if args.key?(:require_admin_approval)
914
+ @require_corp_owned = args[:require_corp_owned] if args.key?(:require_corp_owned)
915
+ @require_screenlock = args[:require_screenlock] if args.key?(:require_screenlock)
916
+ end
917
+ end
918
+
919
+ # A restriction on the OS type and version of devices making requests.
920
+ class GoogleIdentityAccesscontextmanagerV1OsConstraint
921
+ include Google::Apis::Core::Hashable
922
+
923
+ # The minimum allowed OS version. If not set, any version of this OS satisfies
924
+ # the constraint. Format: `"major.minor.patch"`. Examples: `"10.5.301"`, `"9.2.1"
925
+ # `.
926
+ # Corresponds to the JSON property `minimumVersion`
927
+ # @return [String]
928
+ attr_accessor :minimum_version
929
+
930
+ # Required. The allowed OS type.
931
+ # Corresponds to the JSON property `osType`
932
+ # @return [String]
933
+ attr_accessor :os_type
934
+
935
+ # Only allows requests from devices with a verified Chrome OS. Verifications
936
+ # includes requirements that the device is enterprise-managed, conformant to
937
+ # domain policies, and the caller has permission to call the API targeted by the
938
+ # request.
939
+ # Corresponds to the JSON property `requireVerifiedChromeOs`
940
+ # @return [Boolean]
941
+ attr_accessor :require_verified_chrome_os
942
+ alias_method :require_verified_chrome_os?, :require_verified_chrome_os
943
+
944
+ def initialize(**args)
945
+ update!(**args)
946
+ end
947
+
948
+ # Update properties of this object
949
+ def update!(**args)
950
+ @minimum_version = args[:minimum_version] if args.key?(:minimum_version)
951
+ @os_type = args[:os_type] if args.key?(:os_type)
952
+ @require_verified_chrome_os = args[:require_verified_chrome_os] if args.key?(:require_verified_chrome_os)
953
+ end
954
+ end
955
+
956
+ # `ServicePerimeter` describes a set of Google Cloud resources which can freely
957
+ # import and export data amongst themselves, but not export outside of the `
958
+ # ServicePerimeter`. If a request with a source within this `ServicePerimeter`
959
+ # has a target outside of the `ServicePerimeter`, the request will be blocked.
960
+ # Otherwise the request is allowed. There are two types of Service Perimeter -
961
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google
962
+ # Cloud project can only belong to a single regular Service Perimeter. Service
963
+ # Perimeter Bridges can contain only Google Cloud projects as members, a single
964
+ # Google Cloud project may belong to multiple Service Perimeter Bridges.
965
+ class GoogleIdentityAccesscontextmanagerV1ServicePerimeter
966
+ include Google::Apis::Core::Hashable
967
+
968
+ # Description of the `ServicePerimeter` and its use. Does not affect behavior.
969
+ # Corresponds to the JSON property `description`
970
+ # @return [String]
971
+ attr_accessor :description
972
+
973
+ # Required. Resource name for the ServicePerimeter. The `short_name` component
974
+ # must begin with a letter and only include alphanumeric and '_'. Format: `
975
+ # accessPolicies/`policy_id`/servicePerimeters/`short_name``
976
+ # Corresponds to the JSON property `name`
977
+ # @return [String]
978
+ attr_accessor :name
979
+
980
+ # Perimeter type indicator. A single project is allowed to be a member of single
981
+ # regular perimeter, but multiple service perimeter bridges. A project cannot be
982
+ # a included in a perimeter bridge without being included in regular perimeter.
983
+ # For perimeter bridges, the restricted service list as well as access level
984
+ # lists must be empty.
985
+ # Corresponds to the JSON property `perimeterType`
986
+ # @return [String]
987
+ attr_accessor :perimeter_type
988
+
989
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
990
+ # describe specific Service Perimeter configuration.
991
+ # Corresponds to the JSON property `spec`
992
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig]
993
+ attr_accessor :spec
994
+
995
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
996
+ # describe specific Service Perimeter configuration.
997
+ # Corresponds to the JSON property `status`
998
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig]
999
+ attr_accessor :status
1000
+
1001
+ # Human readable title. Must be unique within the Policy.
1002
+ # Corresponds to the JSON property `title`
1003
+ # @return [String]
1004
+ attr_accessor :title
1005
+
1006
+ # Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
1007
+ # for all Service Perimeters, and that spec is identical to the status for those
1008
+ # Service Perimeters. When this flag is set, it inhibits the generation of the
1009
+ # implicit spec, thereby allowing the user to explicitly provide a configuration
1010
+ # ("spec") to use in a dry-run version of the Service Perimeter. This allows the
1011
+ # user to test changes to the enforced config ("status") without actually
1012
+ # enforcing them. This testing is done through analyzing the differences between
1013
+ # currently enforced and suggested restrictions. use_explicit_dry_run_spec must
1014
+ # bet set to True if any of the fields in the spec are set to non-default values.
1015
+ # Corresponds to the JSON property `useExplicitDryRunSpec`
1016
+ # @return [Boolean]
1017
+ attr_accessor :use_explicit_dry_run_spec
1018
+ alias_method :use_explicit_dry_run_spec?, :use_explicit_dry_run_spec
1019
+
1020
+ def initialize(**args)
1021
+ update!(**args)
1022
+ end
1023
+
1024
+ # Update properties of this object
1025
+ def update!(**args)
1026
+ @description = args[:description] if args.key?(:description)
1027
+ @name = args[:name] if args.key?(:name)
1028
+ @perimeter_type = args[:perimeter_type] if args.key?(:perimeter_type)
1029
+ @spec = args[:spec] if args.key?(:spec)
1030
+ @status = args[:status] if args.key?(:status)
1031
+ @title = args[:title] if args.key?(:title)
1032
+ @use_explicit_dry_run_spec = args[:use_explicit_dry_run_spec] if args.key?(:use_explicit_dry_run_spec)
1033
+ end
1034
+ end
1035
+
1036
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
1037
+ # describe specific Service Perimeter configuration.
1038
+ class GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig
1039
+ include Google::Apis::Core::Hashable
1040
+
1041
+ # A list of `AccessLevel` resource names that allow resources within the `
1042
+ # ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must
1043
+ # be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `
1044
+ # AccessLevel` is a syntax error. If no `AccessLevel` names are listed,
1045
+ # resources within the perimeter can only be accessed via Google Cloud calls
1046
+ # with request origins within the perimeter. Example: `"accessPolicies/MY_POLICY/
1047
+ # accessLevels/MY_LEVEL"`. For Service Perimeter Bridge, must be empty.
1048
+ # Corresponds to the JSON property `accessLevels`
1049
+ # @return [Array<String>]
1050
+ attr_accessor :access_levels
1051
+
1052
+ # A list of Google Cloud resources that are inside of the service perimeter.
1053
+ # Currently only projects are allowed. Format: `projects/`project_number``
1054
+ # Corresponds to the JSON property `resources`
1055
+ # @return [Array<String>]
1056
+ attr_accessor :resources
1057
+
1058
+ # Google Cloud services that are subject to the Service Perimeter restrictions.
1059
+ # For example, if `storage.googleapis.com` is specified, access to the storage
1060
+ # buckets inside the perimeter must meet the perimeter's access restrictions.
1061
+ # Corresponds to the JSON property `restrictedServices`
1062
+ # @return [Array<String>]
1063
+ attr_accessor :restricted_services
1064
+
1065
+ # Specifies how APIs are allowed to communicate within the Service Perimeter.
1066
+ # Corresponds to the JSON property `vpcAccessibleServices`
1067
+ # @return [Google::Apis::CloudassetV1p5beta1::GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices]
1068
+ attr_accessor :vpc_accessible_services
1069
+
1070
+ def initialize(**args)
1071
+ update!(**args)
1072
+ end
1073
+
1074
+ # Update properties of this object
1075
+ def update!(**args)
1076
+ @access_levels = args[:access_levels] if args.key?(:access_levels)
1077
+ @resources = args[:resources] if args.key?(:resources)
1078
+ @restricted_services = args[:restricted_services] if args.key?(:restricted_services)
1079
+ @vpc_accessible_services = args[:vpc_accessible_services] if args.key?(:vpc_accessible_services)
1080
+ end
1081
+ end
1082
+
1083
+ # Specifies how APIs are allowed to communicate within the Service Perimeter.
1084
+ class GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices
1085
+ include Google::Apis::Core::Hashable
1086
+
1087
+ # The list of APIs usable within the Service Perimeter. Must be empty unless '
1088
+ # enable_restriction' is True. You can specify a list of individual services, as
1089
+ # well as include the 'RESTRICTED-SERVICES' value, which automatically includes
1090
+ # all of the services protected by the perimeter.
1091
+ # Corresponds to the JSON property `allowedServices`
1092
+ # @return [Array<String>]
1093
+ attr_accessor :allowed_services
1094
+
1095
+ # Whether to restrict API calls within the Service Perimeter to the list of APIs
1096
+ # specified in 'allowed_services'.
1097
+ # Corresponds to the JSON property `enableRestriction`
1098
+ # @return [Boolean]
1099
+ attr_accessor :enable_restriction
1100
+ alias_method :enable_restriction?, :enable_restriction
1101
+
1102
+ def initialize(**args)
1103
+ update!(**args)
1104
+ end
1105
+
1106
+ # Update properties of this object
1107
+ def update!(**args)
1108
+ @allowed_services = args[:allowed_services] if args.key?(:allowed_services)
1109
+ @enable_restriction = args[:enable_restriction] if args.key?(:enable_restriction)
1110
+ end
1111
+ end
1112
+
1113
+ # ListAssets response.
1114
+ class ListAssetsResponse
1115
+ include Google::Apis::Core::Hashable
1116
+
1117
+ # Assets.
1118
+ # Corresponds to the JSON property `assets`
1119
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::Asset>]
1120
+ attr_accessor :assets
1121
+
1122
+ # Token to retrieve the next page of results. Set to empty if there are no
1123
+ # remaining results.
1124
+ # Corresponds to the JSON property `nextPageToken`
1125
+ # @return [String]
1126
+ attr_accessor :next_page_token
1127
+
1128
+ # Time the snapshot was taken.
1129
+ # Corresponds to the JSON property `readTime`
1130
+ # @return [String]
1131
+ attr_accessor :read_time
1132
+
1133
+ def initialize(**args)
1134
+ update!(**args)
1135
+ end
1136
+
1137
+ # Update properties of this object
1138
+ def update!(**args)
1139
+ @assets = args[:assets] if args.key?(:assets)
1140
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1141
+ @read_time = args[:read_time] if args.key?(:read_time)
1142
+ end
1143
+ end
1144
+
1145
+ # An Identity and Access Management (IAM) policy, which specifies access
1146
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1147
+ # A `binding` binds one or more `members` to a single `role`. Members can be
1148
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1149
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
1150
+ # role or a user-created custom role. For some types of Google Cloud resources,
1151
+ # a `binding` can also specify a `condition`, which is a logical expression that
1152
+ # allows access to a resource only if the expression evaluates to `true`. A
1153
+ # condition can add constraints based on attributes of the request, the resource,
1154
+ # or both. To learn which resources support conditions in their IAM policies,
1155
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1156
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1157
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1158
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1159
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1160
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1161
+ # title": "expirable access", "description": "Does not grant access after Sep
1162
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1163
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1164
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
1165
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1166
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1167
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
1168
+ # description: Does not grant access after Sep 2020 expression: request.time <
1169
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
1170
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1171
+ # google.com/iam/docs/).
1172
+ class Policy
1173
+ include Google::Apis::Core::Hashable
1174
+
1175
+ # Specifies cloud audit logging configuration for this policy.
1176
+ # Corresponds to the JSON property `auditConfigs`
1177
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::AuditConfig>]
1178
+ attr_accessor :audit_configs
1179
+
1180
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
1181
+ # condition` that determines how and when the `bindings` are applied. Each of
1182
+ # the `bindings` must contain at least one member.
1183
+ # Corresponds to the JSON property `bindings`
1184
+ # @return [Array<Google::Apis::CloudassetV1p5beta1::Binding>]
1185
+ attr_accessor :bindings
1186
+
1187
+ # `etag` is used for optimistic concurrency control as a way to help prevent
1188
+ # simultaneous updates of a policy from overwriting each other. It is strongly
1189
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
1190
+ # to perform policy updates in order to avoid race conditions: An `etag` is
1191
+ # returned in the response to `getIamPolicy`, and systems are expected to put
1192
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
1193
+ # applied to the same version of the policy. **Important:** If you use IAM
1194
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
1195
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
1196
+ # with a version `1` policy, and all of the conditions in the version `3` policy
1197
+ # are lost.
1198
+ # Corresponds to the JSON property `etag`
1199
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1200
+ # @return [String]
1201
+ attr_accessor :etag
1202
+
1203
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
1204
+ # Requests that specify an invalid value are rejected. Any operation that
1205
+ # affects conditional role bindings must specify version `3`. This requirement
1206
+ # applies to the following operations: * Getting a policy that includes a
1207
+ # conditional role binding * Adding a conditional role binding to a policy *
1208
+ # Changing a conditional role binding in a policy * Removing any role binding,
1209
+ # with or without a condition, from a policy that includes conditions **
1210
+ # Important:** If you use IAM Conditions, you must include the `etag` field
1211
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
1212
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
1213
+ # conditions in the version `3` policy are lost. If a policy does not include
1214
+ # any conditions, operations on that policy may specify any valid version or
1215
+ # leave the field unset. To learn which resources support conditions in their
1216
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
1217
+ # conditions/resource-policies).
1218
+ # Corresponds to the JSON property `version`
1219
+ # @return [Fixnum]
1220
+ attr_accessor :version
1221
+
1222
+ def initialize(**args)
1223
+ update!(**args)
1224
+ end
1225
+
1226
+ # Update properties of this object
1227
+ def update!(**args)
1228
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1229
+ @bindings = args[:bindings] if args.key?(:bindings)
1230
+ @etag = args[:etag] if args.key?(:etag)
1231
+ @version = args[:version] if args.key?(:version)
1232
+ end
1233
+ end
1234
+
1235
+ # A representation of a Google Cloud resource.
1236
+ class Resource
1237
+ include Google::Apis::Core::Hashable
1238
+
1239
+ # The content of the resource, in which some sensitive fields are removed and
1240
+ # may not be present.
1241
+ # Corresponds to the JSON property `data`
1242
+ # @return [Hash<String,Object>]
1243
+ attr_accessor :data
1244
+
1245
+ # The URL of the discovery document containing the resource's JSON schema.
1246
+ # Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This
1247
+ # value is unspecified for resources that do not have an API based on a
1248
+ # discovery document, such as Cloud Bigtable.
1249
+ # Corresponds to the JSON property `discoveryDocumentUri`
1250
+ # @return [String]
1251
+ attr_accessor :discovery_document_uri
1252
+
1253
+ # The JSON schema name listed in the discovery document. Example: `Project` This
1254
+ # value is unspecified for resources that do not have an API based on a
1255
+ # discovery document, such as Cloud Bigtable.
1256
+ # Corresponds to the JSON property `discoveryName`
1257
+ # @return [String]
1258
+ attr_accessor :discovery_name
1259
+
1260
+ # The full name of the immediate parent of this resource. See [Resource Names](
1261
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name) for
1262
+ # more information. For Google Cloud assets, this value is the parent resource
1263
+ # defined in the [Cloud IAM policy hierarchy](https://cloud.google.com/iam/docs/
1264
+ # overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/
1265
+ # projects/my_project_123` For third-party assets, this field may be set
1266
+ # differently.
1267
+ # Corresponds to the JSON property `parent`
1268
+ # @return [String]
1269
+ attr_accessor :parent
1270
+
1271
+ # The REST URL for accessing the resource. An HTTP `GET` request using this URL
1272
+ # returns the resource itself. Example: `https://cloudresourcemanager.googleapis.
1273
+ # com/v1/projects/my-project-123` This value is unspecified for resources
1274
+ # without a REST API.
1275
+ # Corresponds to the JSON property `resourceUrl`
1276
+ # @return [String]
1277
+ attr_accessor :resource_url
1278
+
1279
+ # The API version. Example: "v1".
1280
+ # Corresponds to the JSON property `version`
1281
+ # @return [String]
1282
+ attr_accessor :version
1283
+
1284
+ def initialize(**args)
1285
+ update!(**args)
1286
+ end
1287
+
1288
+ # Update properties of this object
1289
+ def update!(**args)
1290
+ @data = args[:data] if args.key?(:data)
1291
+ @discovery_document_uri = args[:discovery_document_uri] if args.key?(:discovery_document_uri)
1292
+ @discovery_name = args[:discovery_name] if args.key?(:discovery_name)
1293
+ @parent = args[:parent] if args.key?(:parent)
1294
+ @resource_url = args[:resource_url] if args.key?(:resource_url)
1295
+ @version = args[:version] if args.key?(:version)
1296
+ end
1297
+ end
1298
+ end
1299
+ end
1300
+ end