google-api-client 0.41.2 → 0.44.0

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