google-api-client 0.45.1 → 0.48.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (486) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/autoapprove.yml +49 -0
  3. data/.github/workflows/release-please.yml +77 -0
  4. data/.gitignore +2 -0
  5. data/.kokoro/trampoline.sh +0 -0
  6. data/CHANGELOG.md +609 -189
  7. data/Gemfile +1 -0
  8. data/Rakefile +31 -3
  9. data/api_list_config.yaml +8 -0
  10. data/bin/generate-api +77 -15
  11. data/generated/google/apis/accessapproval_v1.rb +1 -1
  12. data/generated/google/apis/accessapproval_v1/classes.rb +23 -16
  13. data/generated/google/apis/accessapproval_v1/service.rb +27 -27
  14. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  15. data/generated/google/apis/accesscontextmanager_v1/classes.rb +68 -0
  16. data/generated/google/apis/accesscontextmanager_v1/representations.rb +30 -0
  17. data/generated/google/apis/accesscontextmanager_v1/service.rb +180 -0
  18. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  19. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +30 -30
  20. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  21. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +25 -0
  22. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +15 -0
  23. data/generated/google/apis/admin_directory_v1.rb +1 -1
  24. data/generated/google/apis/admin_directory_v1/classes.rb +135 -0
  25. data/generated/google/apis/admin_directory_v1/representations.rb +62 -0
  26. data/generated/google/apis/admin_directory_v1/service.rb +72 -0
  27. data/generated/google/apis/admin_reports_v1.rb +1 -1
  28. data/generated/google/apis/admob_v1.rb +3 -2
  29. data/generated/google/apis/admob_v1/classes.rb +29 -29
  30. data/generated/google/apis/admob_v1/service.rb +2 -1
  31. data/generated/google/apis/adsense_v1_4.rb +1 -1
  32. data/generated/google/apis/adsense_v1_4/service.rb +4 -1
  33. data/generated/google/apis/analyticsadmin_v1alpha.rb +1 -1
  34. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +6 -6
  35. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +8 -9
  36. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  37. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +56 -11
  38. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +17 -0
  39. data/generated/google/apis/analyticsdata_v1alpha/service.rb +41 -0
  40. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  41. data/generated/google/apis/androidmanagement_v1/classes.rb +29 -26
  42. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  43. data/generated/google/apis/androidpublisher_v3/classes.rb +9 -1
  44. data/generated/google/apis/androidpublisher_v3/representations.rb +1 -0
  45. data/generated/google/apis/apigee_v1.rb +1 -1
  46. data/generated/google/apis/apigee_v1/classes.rb +252 -60
  47. data/generated/google/apis/apigee_v1/representations.rb +88 -18
  48. data/generated/google/apis/apigee_v1/service.rb +243 -33
  49. data/generated/google/apis/appsmarket_v2.rb +1 -1
  50. data/generated/google/apis/area120tables_v1alpha1.rb +46 -0
  51. data/generated/google/apis/area120tables_v1alpha1/classes.rb +423 -0
  52. data/generated/google/apis/{apigateway_v1alpha2 → area120tables_v1alpha1}/representations.rb +67 -69
  53. data/generated/google/apis/area120tables_v1alpha1/service.rb +381 -0
  54. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  55. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +7 -0
  56. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +1 -0
  57. data/generated/google/apis/assuredworkloads_v1beta1.rb +1 -1
  58. data/generated/google/apis/assuredworkloads_v1beta1/classes.rb +264 -0
  59. data/generated/google/apis/assuredworkloads_v1beta1/representations.rb +129 -0
  60. data/generated/google/apis/bigquery_v2.rb +1 -1
  61. data/generated/google/apis/bigquery_v2/classes.rb +190 -23
  62. data/generated/google/apis/bigquery_v2/representations.rb +68 -0
  63. data/generated/google/apis/bigquery_v2/service.rb +47 -1
  64. data/generated/google/apis/billingbudgets_v1.rb +38 -0
  65. data/generated/google/apis/billingbudgets_v1/classes.rb +373 -0
  66. data/generated/google/apis/billingbudgets_v1/representations.rb +171 -0
  67. data/generated/google/apis/billingbudgets_v1/service.rb +249 -0
  68. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  69. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +12 -1
  70. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +1 -0
  71. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  72. data/generated/google/apis/binaryauthorization_v1/classes.rb +2 -2
  73. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  74. data/generated/google/apis/binaryauthorization_v1beta1/classes.rb +2 -2
  75. data/generated/google/apis/books_v1.rb +1 -1
  76. data/generated/google/apis/books_v1/service.rb +54 -54
  77. data/generated/google/apis/chat_v1.rb +1 -1
  78. data/generated/google/apis/chat_v1/classes.rb +8 -0
  79. data/generated/google/apis/chat_v1/representations.rb +1 -0
  80. data/generated/google/apis/civicinfo_v2.rb +1 -1
  81. data/generated/google/apis/civicinfo_v2/classes.rb +0 -24
  82. data/generated/google/apis/civicinfo_v2/representations.rb +0 -3
  83. data/generated/google/apis/classroom_v1.rb +1 -1
  84. data/generated/google/apis/classroom_v1/classes.rb +21 -21
  85. data/generated/google/apis/cloudasset_v1.rb +1 -1
  86. data/generated/google/apis/cloudasset_v1/classes.rb +697 -0
  87. data/generated/google/apis/cloudasset_v1/representations.rb +304 -0
  88. data/generated/google/apis/cloudasset_v1/service.rb +171 -0
  89. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  90. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +3 -3
  91. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  92. data/generated/google/apis/cloudbilling_v1/classes.rb +1 -1
  93. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  94. data/generated/google/apis/cloudbuild_v1/classes.rb +2 -1
  95. data/generated/google/apis/cloudbuild_v1/service.rb +10 -2
  96. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  97. data/generated/google/apis/cloudidentity_v1/classes.rb +78 -64
  98. data/generated/google/apis/cloudidentity_v1/service.rb +85 -69
  99. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  100. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +3 -0
  101. data/generated/google/apis/cloudidentity_v1beta1/service.rb +26 -11
  102. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  103. data/generated/google/apis/cloudresourcemanager_v2/service.rb +7 -7
  104. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  105. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +7 -7
  106. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  107. data/generated/google/apis/cloudsearch_v1/classes.rb +2 -1
  108. data/generated/google/apis/cloudshell_v1.rb +1 -1
  109. data/generated/google/apis/cloudshell_v1/classes.rb +342 -0
  110. data/generated/google/apis/cloudshell_v1/representations.rb +200 -0
  111. data/generated/google/apis/cloudshell_v1/service.rb +177 -0
  112. data/generated/google/apis/composer_v1.rb +1 -1
  113. data/generated/google/apis/composer_v1/classes.rb +2 -3
  114. data/generated/google/apis/composer_v1beta1.rb +1 -1
  115. data/generated/google/apis/composer_v1beta1/classes.rb +4 -4
  116. data/generated/google/apis/composer_v1beta1/service.rb +37 -35
  117. data/generated/google/apis/compute_alpha.rb +1 -1
  118. data/generated/google/apis/compute_alpha/classes.rb +633 -146
  119. data/generated/google/apis/compute_alpha/representations.rb +131 -8
  120. data/generated/google/apis/compute_alpha/service.rb +1995 -1013
  121. data/generated/google/apis/compute_beta.rb +1 -1
  122. data/generated/google/apis/compute_beta/classes.rb +566 -94
  123. data/generated/google/apis/compute_beta/representations.rb +100 -1
  124. data/generated/google/apis/compute_beta/service.rb +805 -136
  125. data/generated/google/apis/compute_v1.rb +1 -1
  126. data/generated/google/apis/compute_v1/classes.rb +586 -72
  127. data/generated/google/apis/compute_v1/representations.rb +98 -1
  128. data/generated/google/apis/compute_v1/service.rb +741 -133
  129. data/generated/google/apis/container_v1.rb +1 -1
  130. data/generated/google/apis/container_v1/classes.rb +22 -10
  131. data/generated/google/apis/container_v1beta1.rb +1 -1
  132. data/generated/google/apis/container_v1beta1/classes.rb +22 -10
  133. data/generated/google/apis/content_v2.rb +3 -4
  134. data/generated/google/apis/content_v2/classes.rb +510 -1217
  135. data/generated/google/apis/content_v2/service.rb +377 -650
  136. data/generated/google/apis/content_v2_1.rb +3 -4
  137. data/generated/google/apis/content_v2_1/classes.rb +1001 -1053
  138. data/generated/google/apis/content_v2_1/representations.rb +253 -0
  139. data/generated/google/apis/content_v2_1/service.rb +942 -801
  140. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  141. data/generated/google/apis/datacatalog_v1beta1/classes.rb +24 -0
  142. data/generated/google/apis/datacatalog_v1beta1/representations.rb +5 -0
  143. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  144. data/generated/google/apis/dataflow_v1b3/classes.rb +12 -0
  145. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  146. data/generated/google/apis/datafusion_v1.rb +1 -1
  147. data/generated/google/apis/datalabeling_v1beta1.rb +34 -0
  148. data/generated/google/apis/datalabeling_v1beta1/classes.rb +6207 -0
  149. data/generated/google/apis/datalabeling_v1beta1/representations.rb +3156 -0
  150. data/generated/google/apis/datalabeling_v1beta1/service.rb +1762 -0
  151. data/generated/google/apis/dataproc_v1.rb +1 -1
  152. data/generated/google/apis/dataproc_v1/classes.rb +41 -3
  153. data/generated/google/apis/dataproc_v1/representations.rb +16 -0
  154. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  155. data/generated/google/apis/dataproc_v1beta2/classes.rb +41 -3
  156. data/generated/google/apis/dataproc_v1beta2/representations.rb +16 -0
  157. data/generated/google/apis/datastore_v1.rb +1 -1
  158. data/generated/google/apis/datastore_v1/classes.rb +4 -4
  159. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  160. data/generated/google/apis/datastore_v1beta3/classes.rb +4 -4
  161. data/generated/google/apis/deploymentmanager_v2.rb +6 -4
  162. data/generated/google/apis/deploymentmanager_v2/classes.rb +203 -558
  163. data/generated/google/apis/deploymentmanager_v2/representations.rb +0 -132
  164. data/generated/google/apis/deploymentmanager_v2/service.rb +169 -213
  165. data/generated/google/apis/deploymentmanager_v2beta.rb +6 -5
  166. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +247 -609
  167. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +0 -132
  168. data/generated/google/apis/deploymentmanager_v2beta/service.rb +278 -359
  169. data/generated/google/apis/dialogflow_v2.rb +1 -1
  170. data/generated/google/apis/dialogflow_v2/classes.rb +677 -277
  171. data/generated/google/apis/dialogflow_v2/representations.rb +288 -126
  172. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  173. data/generated/google/apis/dialogflow_v2beta1/classes.rb +684 -285
  174. data/generated/google/apis/dialogflow_v2beta1/representations.rb +288 -126
  175. data/generated/google/apis/dialogflow_v2beta1/service.rb +56 -6
  176. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  177. data/generated/google/apis/dialogflow_v3beta1/classes.rb +744 -280
  178. data/generated/google/apis/dialogflow_v3beta1/representations.rb +310 -129
  179. data/generated/google/apis/dialogflow_v3beta1/service.rb +22 -9
  180. data/generated/google/apis/displayvideo_v1.rb +1 -1
  181. data/generated/google/apis/displayvideo_v1/classes.rb +208 -30
  182. data/generated/google/apis/displayvideo_v1/representations.rb +77 -0
  183. data/generated/google/apis/displayvideo_v1/service.rb +261 -18
  184. data/generated/google/apis/dlp_v2.rb +1 -1
  185. data/generated/google/apis/dlp_v2/classes.rb +33 -32
  186. data/generated/google/apis/dns_v1.rb +2 -2
  187. data/generated/google/apis/dns_v1/classes.rb +181 -0
  188. data/generated/google/apis/dns_v1/representations.rb +83 -0
  189. data/generated/google/apis/dns_v1/service.rb +11 -11
  190. data/generated/google/apis/dns_v1beta2.rb +2 -2
  191. data/generated/google/apis/dns_v1beta2/classes.rb +182 -1
  192. data/generated/google/apis/dns_v1beta2/representations.rb +83 -0
  193. data/generated/google/apis/dns_v1beta2/service.rb +11 -11
  194. data/generated/google/apis/documentai_v1beta3.rb +36 -0
  195. data/generated/google/apis/documentai_v1beta3/classes.rb +6149 -0
  196. data/generated/google/apis/documentai_v1beta3/representations.rb +2666 -0
  197. data/generated/google/apis/documentai_v1beta3/service.rb +263 -0
  198. data/generated/google/apis/domains_v1alpha2.rb +34 -0
  199. data/generated/google/apis/domains_v1alpha2/classes.rb +1540 -0
  200. data/generated/google/apis/domains_v1alpha2/representations.rb +606 -0
  201. data/generated/google/apis/domains_v1alpha2/service.rb +805 -0
  202. data/generated/google/apis/{appsactivity_v1.rb → domains_v1beta1.rb} +11 -11
  203. data/generated/google/apis/domains_v1beta1/classes.rb +1540 -0
  204. data/generated/google/apis/domains_v1beta1/representations.rb +606 -0
  205. data/generated/google/apis/domains_v1beta1/service.rb +805 -0
  206. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  207. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +2 -1
  208. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  209. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +4 -3
  210. data/generated/google/apis/drive_v2.rb +1 -1
  211. data/generated/google/apis/drive_v2/classes.rb +4 -1
  212. data/generated/google/apis/drive_v3.rb +1 -1
  213. data/generated/google/apis/drive_v3/classes.rb +4 -2
  214. data/generated/google/apis/{apigateway_v1alpha1.rb → eventarc_v1beta1.rb} +8 -8
  215. data/generated/google/apis/{apigateway_v1alpha2 → eventarc_v1beta1}/classes.rb +327 -29
  216. data/generated/google/apis/{apigateway_v1alpha1 → eventarc_v1beta1}/representations.rb +168 -39
  217. data/generated/google/apis/{apigateway_v1alpha2 → eventarc_v1beta1}/service.rb +224 -268
  218. data/generated/google/apis/file_v1.rb +1 -1
  219. data/generated/google/apis/file_v1/classes.rb +1 -1
  220. data/generated/google/apis/file_v1beta1.rb +1 -1
  221. data/generated/google/apis/file_v1beta1/classes.rb +1 -1
  222. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  223. data/generated/google/apis/firebase_v1beta1/service.rb +17 -4
  224. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  225. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +2 -0
  226. data/generated/google/apis/firestore_v1.rb +1 -1
  227. data/generated/google/apis/firestore_v1/classes.rb +4 -4
  228. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  229. data/generated/google/apis/firestore_v1beta1/classes.rb +4 -4
  230. data/generated/google/apis/fitness_v1.rb +13 -1
  231. data/generated/google/apis/fitness_v1/service.rb +3 -1
  232. data/generated/google/apis/games_v1.rb +1 -1
  233. data/generated/google/apis/games_v1/classes.rb +300 -0
  234. data/generated/google/apis/games_v1/representations.rb +116 -0
  235. data/generated/google/apis/games_v1/service.rb +34 -0
  236. data/generated/google/apis/gameservices_v1.rb +1 -1
  237. data/generated/google/apis/gameservices_v1/classes.rb +15 -14
  238. data/generated/google/apis/gameservices_v1/service.rb +54 -51
  239. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  240. data/generated/google/apis/gameservices_v1beta/classes.rb +15 -14
  241. data/generated/google/apis/gameservices_v1beta/service.rb +54 -51
  242. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  243. data/generated/google/apis/genomics_v2alpha1/classes.rb +104 -0
  244. data/generated/google/apis/genomics_v2alpha1/representations.rb +47 -0
  245. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +1 -1
  246. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +10 -10
  247. data/generated/google/apis/healthcare_v1.rb +1 -1
  248. data/generated/google/apis/healthcare_v1/classes.rb +4 -4
  249. data/generated/google/apis/healthcare_v1/service.rb +2 -1
  250. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  251. data/generated/google/apis/healthcare_v1beta1/classes.rb +202 -295
  252. data/generated/google/apis/healthcare_v1beta1/representations.rb +75 -80
  253. data/generated/google/apis/healthcare_v1beta1/service.rb +118 -72
  254. data/generated/google/apis/iam_v1.rb +2 -5
  255. data/generated/google/apis/iam_v1/service.rb +1 -4
  256. data/generated/google/apis/iamcredentials_v1.rb +3 -4
  257. data/generated/google/apis/iamcredentials_v1/service.rb +2 -3
  258. data/generated/google/apis/jobs_v2.rb +1 -1
  259. data/generated/google/apis/jobs_v2/classes.rb +798 -0
  260. data/generated/google/apis/jobs_v2/representations.rb +272 -0
  261. data/generated/google/apis/jobs_v3.rb +1 -1
  262. data/generated/google/apis/jobs_v3/classes.rb +798 -0
  263. data/generated/google/apis/jobs_v3/representations.rb +272 -0
  264. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  265. data/generated/google/apis/jobs_v3p1beta1/classes.rb +759 -0
  266. data/generated/google/apis/jobs_v3p1beta1/representations.rb +257 -0
  267. data/generated/google/apis/licensing_v1.rb +1 -1
  268. data/generated/google/apis/licensing_v1/service.rb +2 -2
  269. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  270. data/generated/google/apis/lifesciences_v2beta/classes.rb +104 -0
  271. data/generated/google/apis/lifesciences_v2beta/representations.rb +47 -0
  272. data/generated/google/apis/localservices_v1.rb +1 -1
  273. data/generated/google/apis/localservices_v1/classes.rb +7 -0
  274. data/generated/google/apis/localservices_v1/representations.rb +2 -0
  275. data/generated/google/apis/localservices_v1/service.rb +20 -20
  276. data/generated/google/apis/logging_v2.rb +1 -1
  277. data/generated/google/apis/logging_v2/classes.rb +76 -5
  278. data/generated/google/apis/logging_v2/representations.rb +32 -0
  279. data/generated/google/apis/logging_v2/service.rb +345 -0
  280. data/generated/google/apis/managedidentities_v1.rb +1 -1
  281. data/generated/google/apis/managedidentities_v1/classes.rb +8 -1
  282. data/generated/google/apis/managedidentities_v1/representations.rb +1 -0
  283. data/generated/google/apis/managedidentities_v1/service.rb +1 -4
  284. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  285. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +87 -9
  286. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +34 -1
  287. data/generated/google/apis/managedidentities_v1alpha1/service.rb +83 -5
  288. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  289. data/generated/google/apis/managedidentities_v1beta1/classes.rb +88 -9
  290. data/generated/google/apis/managedidentities_v1beta1/representations.rb +34 -1
  291. data/generated/google/apis/managedidentities_v1beta1/service.rb +83 -5
  292. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  293. data/generated/google/apis/memcache_v1beta2/classes.rb +1 -1
  294. data/generated/google/apis/memcache_v1beta2/service.rb +5 -5
  295. data/generated/google/apis/ml_v1.rb +1 -1
  296. data/generated/google/apis/ml_v1/classes.rb +238 -77
  297. data/generated/google/apis/ml_v1/representations.rb +17 -0
  298. data/generated/google/apis/monitoring_v3.rb +1 -1
  299. data/generated/google/apis/monitoring_v3/classes.rb +71 -17
  300. data/generated/google/apis/monitoring_v3/representations.rb +18 -0
  301. data/generated/google/apis/monitoring_v3/service.rb +55 -6
  302. data/generated/google/apis/oauth2_v2.rb +40 -0
  303. data/generated/google/apis/oauth2_v2/classes.rb +165 -0
  304. data/generated/google/apis/oauth2_v2/representations.rb +68 -0
  305. data/generated/google/apis/oauth2_v2/service.rb +158 -0
  306. data/generated/google/apis/osconfig_v1.rb +3 -3
  307. data/generated/google/apis/osconfig_v1/service.rb +4 -4
  308. data/generated/google/apis/osconfig_v1beta.rb +3 -3
  309. data/generated/google/apis/osconfig_v1beta/service.rb +4 -4
  310. data/generated/google/apis/people_v1.rb +1 -1
  311. data/generated/google/apis/people_v1/classes.rb +52 -51
  312. data/generated/google/apis/people_v1/service.rb +16 -16
  313. data/generated/google/apis/playablelocations_v3.rb +1 -1
  314. data/generated/google/apis/playablelocations_v3/classes.rb +6 -6
  315. data/generated/google/apis/playcustomapp_v1.rb +1 -1
  316. data/generated/google/apis/poly_v1.rb +3 -4
  317. data/generated/google/apis/poly_v1/classes.rb +65 -79
  318. data/generated/google/apis/poly_v1/service.rb +50 -63
  319. data/generated/google/apis/{apigateway_v1alpha2.rb → privateca_v1beta1.rb} +8 -8
  320. data/generated/google/apis/privateca_v1beta1/classes.rb +2466 -0
  321. data/generated/google/apis/privateca_v1beta1/representations.rb +996 -0
  322. data/generated/google/apis/privateca_v1beta1/service.rb +1487 -0
  323. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  324. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +109 -0
  325. data/generated/google/apis/pubsub_v1.rb +1 -1
  326. data/generated/google/apis/pubsub_v1/service.rb +2 -2
  327. data/generated/google/apis/pubsublite_v1.rb +1 -1
  328. data/generated/google/apis/pubsublite_v1/classes.rb +2 -2
  329. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  330. data/generated/google/apis/realtimebidding_v1/classes.rb +88 -127
  331. data/generated/google/apis/realtimebidding_v1/representations.rb +18 -32
  332. data/generated/google/apis/realtimebidding_v1/service.rb +4 -4
  333. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  334. data/generated/google/apis/recommendationengine_v1beta1/classes.rb +32 -0
  335. data/generated/google/apis/recommendationengine_v1beta1/representations.rb +25 -0
  336. data/generated/google/apis/recommender_v1.rb +1 -1
  337. data/generated/google/apis/recommender_v1/classes.rb +1 -1
  338. data/generated/google/apis/recommender_v1/service.rb +4 -2
  339. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  340. data/generated/google/apis/recommender_v1beta1/classes.rb +1 -1
  341. data/generated/google/apis/recommender_v1beta1/service.rb +4 -2
  342. data/generated/google/apis/redis_v1.rb +1 -1
  343. data/generated/google/apis/redis_v1/classes.rb +5 -5
  344. data/generated/google/apis/redis_v1/service.rb +2 -2
  345. data/generated/google/apis/redis_v1beta1.rb +1 -1
  346. data/generated/google/apis/redis_v1beta1/classes.rb +33 -5
  347. data/generated/google/apis/redis_v1beta1/representations.rb +14 -0
  348. data/generated/google/apis/redis_v1beta1/service.rb +36 -2
  349. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  350. data/generated/google/apis/remotebuildexecution_v1/classes.rb +6 -0
  351. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -0
  352. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  353. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +6 -0
  354. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -0
  355. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  356. data/generated/google/apis/remotebuildexecution_v2/classes.rb +6 -0
  357. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -0
  358. data/generated/google/apis/run_v1.rb +1 -1
  359. data/generated/google/apis/run_v1/classes.rb +12 -8
  360. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  361. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +1 -2
  362. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  363. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  364. data/generated/google/apis/sasportal_v1alpha1/service.rb +109 -0
  365. data/generated/google/apis/secretmanager_v1.rb +1 -1
  366. data/generated/google/apis/secretmanager_v1/classes.rb +1 -2
  367. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  368. data/generated/google/apis/secretmanager_v1beta1/classes.rb +1 -2
  369. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  370. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +5 -63
  371. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +0 -18
  372. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +1 -1
  373. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  374. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +5 -63
  375. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +0 -18
  376. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  377. data/generated/google/apis/servicecontrol_v1/classes.rb +77 -2
  378. data/generated/google/apis/servicecontrol_v1/representations.rb +10 -0
  379. data/generated/google/apis/servicecontrol_v2.rb +1 -1
  380. data/generated/google/apis/servicecontrol_v2/classes.rb +62 -0
  381. data/generated/google/apis/servicecontrol_v2/representations.rb +8 -0
  382. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  383. data/generated/google/apis/servicemanagement_v1/classes.rb +5 -63
  384. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -18
  385. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  386. data/generated/google/apis/servicenetworking_v1/classes.rb +185 -64
  387. data/generated/google/apis/servicenetworking_v1/representations.rb +63 -14
  388. data/generated/google/apis/servicenetworking_v1/service.rb +2 -2
  389. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  390. data/generated/google/apis/servicenetworking_v1beta/classes.rb +139 -64
  391. data/generated/google/apis/servicenetworking_v1beta/representations.rb +46 -14
  392. data/generated/google/apis/serviceusage_v1.rb +1 -1
  393. data/generated/google/apis/serviceusage_v1/classes.rb +5 -63
  394. data/generated/google/apis/serviceusage_v1/representations.rb +0 -18
  395. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  396. data/generated/google/apis/serviceusage_v1beta1/classes.rb +35 -63
  397. data/generated/google/apis/serviceusage_v1beta1/representations.rb +15 -18
  398. data/generated/google/apis/serviceusage_v1beta1/service.rb +36 -0
  399. data/generated/google/apis/sheets_v4.rb +1 -1
  400. data/generated/google/apis/sheets_v4/classes.rb +174 -84
  401. data/generated/google/apis/smartdevicemanagement_v1.rb +1 -1
  402. data/generated/google/apis/smartdevicemanagement_v1/classes.rb +4 -44
  403. data/generated/google/apis/smartdevicemanagement_v1/representations.rb +0 -17
  404. data/generated/google/apis/smartdevicemanagement_v1/service.rb +4 -12
  405. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  406. data/generated/google/apis/sqladmin_v1beta4/classes.rb +77 -9
  407. data/generated/google/apis/sqladmin_v1beta4/representations.rb +20 -0
  408. data/generated/google/apis/storage_v1.rb +1 -1
  409. data/generated/google/apis/storage_v1/classes.rb +2 -10
  410. data/generated/google/apis/storage_v1/representations.rb +0 -1
  411. data/generated/google/apis/storage_v1/service.rb +3 -2
  412. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  413. data/generated/google/apis/storagetransfer_v1/classes.rb +64 -34
  414. data/generated/google/apis/storagetransfer_v1/representations.rb +13 -0
  415. data/generated/google/apis/storagetransfer_v1/service.rb +22 -20
  416. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  417. data/generated/google/apis/streetviewpublish_v1/classes.rb +4 -4
  418. data/generated/google/apis/sts_v1.rb +1 -1
  419. data/generated/google/apis/sts_v1/classes.rb +10 -9
  420. data/generated/google/apis/sts_v1beta.rb +1 -1
  421. data/generated/google/apis/sts_v1beta/classes.rb +67 -70
  422. data/generated/google/apis/sts_v1beta/service.rb +2 -2
  423. data/generated/google/apis/tagmanager_v2.rb +1 -1
  424. data/generated/google/apis/tagmanager_v2/classes.rb +12 -0
  425. data/generated/google/apis/tagmanager_v2/representations.rb +3 -0
  426. data/generated/google/apis/testing_v1.rb +1 -1
  427. data/generated/google/apis/testing_v1/classes.rb +92 -33
  428. data/generated/google/apis/testing_v1/representations.rb +21 -0
  429. data/generated/google/apis/testing_v1/service.rb +4 -4
  430. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  431. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  432. data/generated/google/apis/toolresults_v1beta3/classes.rb +13 -0
  433. data/generated/google/apis/toolresults_v1beta3/representations.rb +12 -0
  434. data/generated/google/apis/tpu_v1.rb +1 -1
  435. data/generated/google/apis/tpu_v1/classes.rb +3 -3
  436. data/generated/google/apis/tpu_v1/service.rb +8 -8
  437. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  438. data/generated/google/apis/tpu_v1alpha1/classes.rb +3 -3
  439. data/generated/google/apis/tpu_v1alpha1/service.rb +8 -8
  440. data/generated/google/apis/translate_v3.rb +1 -1
  441. data/generated/google/apis/translate_v3/classes.rb +4 -3
  442. data/generated/google/apis/translate_v3beta1.rb +1 -1
  443. data/generated/google/apis/translate_v3beta1/classes.rb +2 -1
  444. data/generated/google/apis/vault_v1.rb +1 -1
  445. data/generated/google/apis/vault_v1/classes.rb +333 -0
  446. data/generated/google/apis/vault_v1/representations.rb +162 -0
  447. data/generated/google/apis/vault_v1/service.rb +151 -0
  448. data/generated/google/apis/videointelligence_v1.rb +1 -1
  449. data/generated/google/apis/videointelligence_v1/classes.rb +751 -28
  450. data/generated/google/apis/videointelligence_v1/representations.rb +402 -2
  451. data/generated/google/apis/videointelligence_v1/service.rb +0 -62
  452. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  453. data/generated/google/apis/videointelligence_v1beta2/classes.rb +751 -28
  454. data/generated/google/apis/videointelligence_v1beta2/representations.rb +402 -2
  455. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  456. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +749 -26
  457. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +402 -2
  458. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  459. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +734 -11
  460. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +402 -2
  461. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  462. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +667 -28
  463. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +368 -2
  464. data/generated/google/apis/vision_v1.rb +1 -1
  465. data/generated/google/apis/vision_v1/classes.rb +16 -16
  466. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  467. data/generated/google/apis/vision_v1p1beta1/classes.rb +16 -16
  468. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  469. data/generated/google/apis/vision_v1p2beta1/classes.rb +16 -16
  470. data/generated/google/apis/workflows_v1beta.rb +3 -2
  471. data/generated/google/apis/workflows_v1beta/service.rb +2 -1
  472. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  473. data/generated/google/apis/youtube_v3.rb +1 -1
  474. data/generated/google/apis/youtube_v3/service.rb +3 -3
  475. data/google-api-client.gemspec +25 -25
  476. data/lib/google/apis/core/api_command.rb +1 -0
  477. data/lib/google/apis/core/http_command.rb +2 -1
  478. data/lib/google/apis/options.rb +8 -5
  479. data/lib/google/apis/version.rb +1 -1
  480. data/synth.py +40 -0
  481. metadata +43 -16
  482. data/generated/google/apis/apigateway_v1alpha1/classes.rb +0 -633
  483. data/generated/google/apis/apigateway_v1alpha1/service.rb +0 -623
  484. data/generated/google/apis/appsactivity_v1/classes.rb +0 -415
  485. data/generated/google/apis/appsactivity_v1/representations.rb +0 -209
  486. data/generated/google/apis/appsactivity_v1/service.rb +0 -126
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/hangouts/chat
26
26
  module ChatV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200919'
28
+ REVISION = '20201019'
29
29
  end
30
30
  end
31
31
  end
@@ -1088,6 +1088,13 @@ module Google
1088
1088
  # @return [String]
1089
1089
  attr_accessor :domain_id
1090
1090
 
1091
+ # Set to true if none of the depending services (Gaia, PeopleApi) returns any
1092
+ # info for this user.
1093
+ # Corresponds to the JSON property `isAnonymous`
1094
+ # @return [Boolean]
1095
+ attr_accessor :is_anonymous
1096
+ alias_method :is_anonymous?, :is_anonymous
1097
+
1091
1098
  # Resource name, in the format "users/*".
1092
1099
  # Corresponds to the JSON property `name`
1093
1100
  # @return [String]
@@ -1106,6 +1113,7 @@ module Google
1106
1113
  def update!(**args)
1107
1114
  @display_name = args[:display_name] if args.key?(:display_name)
1108
1115
  @domain_id = args[:domain_id] if args.key?(:domain_id)
1116
+ @is_anonymous = args[:is_anonymous] if args.key?(:is_anonymous)
1109
1117
  @name = args[:name] if args.key?(:name)
1110
1118
  @type = args[:type] if args.key?(:type)
1111
1119
  end
@@ -540,6 +540,7 @@ module Google
540
540
  class Representation < Google::Apis::Core::JsonRepresentation
541
541
  property :display_name, as: 'displayName'
542
542
  property :domain_id, as: 'domainId'
543
+ property :is_anonymous, as: 'isAnonymous'
543
544
  property :name, as: 'name'
544
545
  property :type, as: 'type'
545
546
  end
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/civic-information/
27
27
  module CivicinfoV2
28
28
  VERSION = 'V2'
29
- REVISION = '20200908'
29
+ REVISION = '20201012'
30
30
  end
31
31
  end
32
32
  end
@@ -32,13 +32,6 @@ module Google
32
32
  # @return [Google::Apis::CivicinfoV2::AdministrativeBody]
33
33
  attr_accessor :election_administration_body
34
34
 
35
- # An ID for this object. IDs may change in future requests and should not be
36
- # cached. Access to this field requires special access that can be requested
37
- # from the Request more link on the Quotas page.
38
- # Corresponds to the JSON property `id`
39
- # @return [String]
40
- attr_accessor :id
41
-
42
35
  # Describes information about a regional election administrative area.
43
36
  # Corresponds to the JSON property `local_jurisdiction`
44
37
  # @return [Google::Apis::CivicinfoV2::AdministrationRegion]
@@ -62,7 +55,6 @@ module Google
62
55
  # Update properties of this object
63
56
  def update!(**args)
64
57
  @election_administration_body = args[:election_administration_body] if args.key?(:election_administration_body)
65
- @id = args[:id] if args.key?(:id)
66
58
  @local_jurisdiction = args[:local_jurisdiction] if args.key?(:local_jurisdiction)
67
59
  @name = args[:name] if args.key?(:name)
68
60
  @sources = args[:sources] if args.key?(:sources)
@@ -300,13 +292,6 @@ module Google
300
292
  # @return [String]
301
293
  attr_accessor :electorate_specifications
302
294
 
303
- # An ID for this object. IDs may change in future requests and should not be
304
- # cached. Access to this field requires special access that can be requested
305
- # from the Request more link on the Quotas page.
306
- # Corresponds to the JSON property `id`
307
- # @return [String]
308
- attr_accessor :id
309
-
310
295
  # The levels of government of the office for this contest. There may be more
311
296
  # than one in cases where a jurisdiction effectively acts at two different
312
297
  # levels of government; for example, the mayor of the District of Columbia acts
@@ -441,7 +426,6 @@ module Google
441
426
  @candidates = args[:candidates] if args.key?(:candidates)
442
427
  @district = args[:district] if args.key?(:district)
443
428
  @electorate_specifications = args[:electorate_specifications] if args.key?(:electorate_specifications)
444
- @id = args[:id] if args.key?(:id)
445
429
  @level = args[:level] if args.key?(:level)
446
430
  @number_elected = args[:number_elected] if args.key?(:number_elected)
447
431
  @number_voting_for = args[:number_voting_for] if args.key?(:number_voting_for)
@@ -845,13 +829,6 @@ module Google
845
829
  # @return [String]
846
830
  attr_accessor :end_date
847
831
 
848
- # An ID for this object. IDs may change in future requests and should not be
849
- # cached. Access to this field requires special access that can be requested
850
- # from the Request more link on the Quotas page.
851
- # Corresponds to the JSON property `id`
852
- # @return [String]
853
- attr_accessor :id
854
-
855
832
  # Latitude of the location, in degrees north of the equator. Note this field may
856
833
  # not be available for some locations.
857
834
  # Corresponds to the JSON property `latitude`
@@ -906,7 +883,6 @@ module Google
906
883
  def update!(**args)
907
884
  @address = args[:address] if args.key?(:address)
908
885
  @end_date = args[:end_date] if args.key?(:end_date)
909
- @id = args[:id] if args.key?(:id)
910
886
  @latitude = args[:latitude] if args.key?(:latitude)
911
887
  @longitude = args[:longitude] if args.key?(:longitude)
912
888
  @name = args[:name] if args.key?(:name)
@@ -147,7 +147,6 @@ module Google
147
147
  class Representation < Google::Apis::Core::JsonRepresentation
148
148
  property :election_administration_body, as: 'electionAdministrationBody', class: Google::Apis::CivicinfoV2::AdministrativeBody, decorator: Google::Apis::CivicinfoV2::AdministrativeBody::Representation
149
149
 
150
- property :id, as: 'id'
151
150
  property :local_jurisdiction, as: 'local_jurisdiction', class: Google::Apis::CivicinfoV2::AdministrationRegion, decorator: Google::Apis::CivicinfoV2::AdministrationRegion::Representation
152
151
 
153
152
  property :name, as: 'name'
@@ -213,7 +212,6 @@ module Google
213
212
  property :district, as: 'district', class: Google::Apis::CivicinfoV2::ElectoralDistrict, decorator: Google::Apis::CivicinfoV2::ElectoralDistrict::Representation
214
213
 
215
214
  property :electorate_specifications, as: 'electorateSpecifications'
216
- property :id, as: 'id'
217
215
  collection :level, as: 'level'
218
216
  property :number_elected, :numeric_string => true, as: 'numberElected'
219
217
  property :number_voting_for, :numeric_string => true, as: 'numberVotingFor'
@@ -339,7 +337,6 @@ module Google
339
337
  property :address, as: 'address', class: Google::Apis::CivicinfoV2::SimpleAddressType, decorator: Google::Apis::CivicinfoV2::SimpleAddressType::Representation
340
338
 
341
339
  property :end_date, as: 'endDate'
342
- property :id, as: 'id'
343
340
  property :latitude, as: 'latitude'
344
341
  property :longitude, as: 'longitude'
345
342
  property :name, as: 'name'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/classroom/
26
26
  module ClassroomV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200915'
28
+ REVISION = '20201012'
29
29
 
30
30
  # View and manage announcements in Google Classroom
31
31
  AUTH_CLASSROOM_ANNOUNCEMENTS = 'https://www.googleapis.com/auth/classroom.announcements'
@@ -526,14 +526,14 @@ module Google
526
526
  # @return [String]
527
527
  attr_accessor :description
528
528
 
529
- # Represents a whole or partial calendar date, e.g. a birthday. The time of day
530
- # and time zone are either specified elsewhere or are not significant. The date
531
- # is relative to the Proleptic Gregorian Calendar. This can represent: * A full
532
- # date, with non-zero year, month and day values * A month and day value, with a
533
- # zero year, e.g. an anniversary * A year on its own, with zero month and day
534
- # values * A year and month value, with a zero day, e.g. a credit card
535
- # expiration date Related types are google.type.TimeOfDay and `google.protobuf.
536
- # Timestamp`.
529
+ # Represents a whole or partial calendar date, such as a birthday. The time of
530
+ # day and time zone are either specified elsewhere or are insignificant. The
531
+ # date is relative to the Gregorian Calendar. This can represent one of the
532
+ # following: * A full date, with non-zero year, month, and day values * A month
533
+ # and day value, with a zero year, such as an anniversary * A year on its own,
534
+ # with zero month and day values * A year and month value, with a zero day, such
535
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
536
+ # google.protobuf.Timestamp`.
537
537
  # Corresponds to the JSON property `dueDate`
538
538
  # @return [Google::Apis::ClassroomV1::Date]
539
539
  attr_accessor :due_date
@@ -768,31 +768,31 @@ module Google
768
768
  end
769
769
  end
770
770
 
771
- # Represents a whole or partial calendar date, e.g. a birthday. The time of day
772
- # and time zone are either specified elsewhere or are not significant. The date
773
- # is relative to the Proleptic Gregorian Calendar. This can represent: * A full
774
- # date, with non-zero year, month and day values * A month and day value, with a
775
- # zero year, e.g. an anniversary * A year on its own, with zero month and day
776
- # values * A year and month value, with a zero day, e.g. a credit card
777
- # expiration date Related types are google.type.TimeOfDay and `google.protobuf.
778
- # Timestamp`.
771
+ # Represents a whole or partial calendar date, such as a birthday. The time of
772
+ # day and time zone are either specified elsewhere or are insignificant. The
773
+ # date is relative to the Gregorian Calendar. This can represent one of the
774
+ # following: * A full date, with non-zero year, month, and day values * A month
775
+ # and day value, with a zero year, such as an anniversary * A year on its own,
776
+ # with zero month and day values * A year and month value, with a zero day, such
777
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
778
+ # google.protobuf.Timestamp`.
779
779
  class Date
780
780
  include Google::Apis::Core::Hashable
781
781
 
782
- # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if
783
- # specifying a year by itself or a year and month where the day is not
784
- # significant.
782
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
783
+ # specify a year by itself or a year and month where the day isn't significant.
785
784
  # Corresponds to the JSON property `day`
786
785
  # @return [Fixnum]
787
786
  attr_accessor :day
788
787
 
789
- # Month of year. Must be from 1 to 12, or 0 if specifying a year without a month
788
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
790
789
  # and day.
791
790
  # Corresponds to the JSON property `month`
792
791
  # @return [Fixnum]
793
792
  attr_accessor :month
794
793
 
795
- # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
794
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
795
+ # year.
796
796
  # Corresponds to the JSON property `year`
797
797
  # @return [Fixnum]
798
798
  attr_accessor :year
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/asset-inventory/docs/quickstart
26
26
  module CloudassetV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200911'
28
+ REVISION = '20201023'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,6 +22,94 @@ module Google
22
22
  module Apis
23
23
  module CloudassetV1
24
24
 
25
+ # Specifies roles and/or permissions to analyze, to determine both the
26
+ # identities possessing them and the resources they control. If multiple values
27
+ # are specified, results will include roles or permissions matching any of them.
28
+ # The total number of roles and permissions should be equal or less than 10.
29
+ class AccessSelector
30
+ include Google::Apis::Core::Hashable
31
+
32
+ # Optional. The permissions to appear in result.
33
+ # Corresponds to the JSON property `permissions`
34
+ # @return [Array<String>]
35
+ attr_accessor :permissions
36
+
37
+ # Optional. The roles to appear in result.
38
+ # Corresponds to the JSON property `roles`
39
+ # @return [Array<String>]
40
+ attr_accessor :roles
41
+
42
+ def initialize(**args)
43
+ update!(**args)
44
+ end
45
+
46
+ # Update properties of this object
47
+ def update!(**args)
48
+ @permissions = args[:permissions] if args.key?(:permissions)
49
+ @roles = args[:roles] if args.key?(:roles)
50
+ end
51
+ end
52
+
53
+ # A request message for AssetService.AnalyzeIamPolicyLongrunning.
54
+ class AnalyzeIamPolicyLongrunningRequest
55
+ include Google::Apis::Core::Hashable
56
+
57
+ # IAM policy analysis query message.
58
+ # Corresponds to the JSON property `analysisQuery`
59
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisQuery]
60
+ attr_accessor :analysis_query
61
+
62
+ # Output configuration for export IAM policy analysis destination.
63
+ # Corresponds to the JSON property `outputConfig`
64
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisOutputConfig]
65
+ attr_accessor :output_config
66
+
67
+ def initialize(**args)
68
+ update!(**args)
69
+ end
70
+
71
+ # Update properties of this object
72
+ def update!(**args)
73
+ @analysis_query = args[:analysis_query] if args.key?(:analysis_query)
74
+ @output_config = args[:output_config] if args.key?(:output_config)
75
+ end
76
+ end
77
+
78
+ # A response message for AssetService.AnalyzeIamPolicy.
79
+ class AnalyzeIamPolicyResponse
80
+ include Google::Apis::Core::Hashable
81
+
82
+ # Represents whether all entries in the main_analysis and
83
+ # service_account_impersonation_analysis have been fully explored to answer the
84
+ # query in the request.
85
+ # Corresponds to the JSON property `fullyExplored`
86
+ # @return [Boolean]
87
+ attr_accessor :fully_explored
88
+ alias_method :fully_explored?, :fully_explored
89
+
90
+ # An analysis message to group the query and results.
91
+ # Corresponds to the JSON property `mainAnalysis`
92
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysis]
93
+ attr_accessor :main_analysis
94
+
95
+ # The service account impersonation analysis if AnalyzeIamPolicyRequest.
96
+ # analyze_service_account_impersonation is enabled.
97
+ # Corresponds to the JSON property `serviceAccountImpersonationAnalysis`
98
+ # @return [Array<Google::Apis::CloudassetV1::IamPolicyAnalysis>]
99
+ attr_accessor :service_account_impersonation_analysis
100
+
101
+ def initialize(**args)
102
+ update!(**args)
103
+ end
104
+
105
+ # Update properties of this object
106
+ def update!(**args)
107
+ @fully_explored = args[:fully_explored] if args.key?(:fully_explored)
108
+ @main_analysis = args[:main_analysis] if args.key?(:main_analysis)
109
+ @service_account_impersonation_analysis = args[:service_account_impersonation_analysis] if args.key?(:service_account_impersonation_analysis)
110
+ end
111
+ end
112
+
25
113
  # An asset in Google Cloud. An asset can be any resource in the Google Cloud [
26
114
  # resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-
27
115
  # platform-resource-hierarchy), a resource outside the Google Cloud resource
@@ -697,6 +785,273 @@ module Google
697
785
  end
698
786
  end
699
787
 
788
+ # An IAM role or permission under analysis.
789
+ class GoogleCloudAssetV1Access
790
+ include Google::Apis::Core::Hashable
791
+
792
+ # Represents the detailed state of an entity under analysis, such as a resource,
793
+ # an identity or an access.
794
+ # Corresponds to the JSON property `analysisState`
795
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisState]
796
+ attr_accessor :analysis_state
797
+
798
+ # The permission.
799
+ # Corresponds to the JSON property `permission`
800
+ # @return [String]
801
+ attr_accessor :permission
802
+
803
+ # The role.
804
+ # Corresponds to the JSON property `role`
805
+ # @return [String]
806
+ attr_accessor :role
807
+
808
+ def initialize(**args)
809
+ update!(**args)
810
+ end
811
+
812
+ # Update properties of this object
813
+ def update!(**args)
814
+ @analysis_state = args[:analysis_state] if args.key?(:analysis_state)
815
+ @permission = args[:permission] if args.key?(:permission)
816
+ @role = args[:role] if args.key?(:role)
817
+ end
818
+ end
819
+
820
+ # An access control list, derived from the above IAM policy binding, which
821
+ # contains a set of resources and accesses. May include one item from each set
822
+ # to compose an access control entry. NOTICE that there could be multiple access
823
+ # control lists for one IAM policy binding. The access control lists are created
824
+ # based on resource and access combinations. For example, assume we have the
825
+ # following cases in one IAM policy binding: - Permission P1 and P2 apply to
826
+ # resource R1 and R2; - Permission P3 applies to resource R2 and R3; This will
827
+ # result in the following access control lists: - AccessControlList 1: [R1, R2],
828
+ # [P1, P2] - AccessControlList 2: [R2, R3], [P3]
829
+ class GoogleCloudAssetV1AccessControlList
830
+ include Google::Apis::Core::Hashable
831
+
832
+ # The accesses that match one of the following conditions: - The access_selector,
833
+ # if it is specified in request; - Otherwise, access specifiers reachable from
834
+ # the policy binding's role.
835
+ # Corresponds to the JSON property `accesses`
836
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Access>]
837
+ attr_accessor :accesses
838
+
839
+ # Resource edges of the graph starting from the policy attached resource to any
840
+ # descendant resources. The Edge.source_node contains the full resource name of
841
+ # a parent resource and Edge.target_node contains the full resource name of a
842
+ # child resource. This field is present only if the output_resource_edges option
843
+ # is enabled in request.
844
+ # Corresponds to the JSON property `resourceEdges`
845
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge>]
846
+ attr_accessor :resource_edges
847
+
848
+ # The resources that match one of the following conditions: - The
849
+ # resource_selector, if it is specified in request; - Otherwise, resources
850
+ # reachable from the policy attached resource.
851
+ # Corresponds to the JSON property `resources`
852
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Resource>]
853
+ attr_accessor :resources
854
+
855
+ def initialize(**args)
856
+ update!(**args)
857
+ end
858
+
859
+ # Update properties of this object
860
+ def update!(**args)
861
+ @accesses = args[:accesses] if args.key?(:accesses)
862
+ @resource_edges = args[:resource_edges] if args.key?(:resource_edges)
863
+ @resources = args[:resources] if args.key?(:resources)
864
+ end
865
+ end
866
+
867
+ # A BigQuery destination.
868
+ class GoogleCloudAssetV1BigQueryDestination
869
+ include Google::Apis::Core::Hashable
870
+
871
+ # Required. The BigQuery dataset in format "projects/projectId/datasets/
872
+ # datasetId", to which the analysis results should be exported. If this dataset
873
+ # does not exist, the export call will return an INVALID_ARGUMENT error.
874
+ # Corresponds to the JSON property `dataset`
875
+ # @return [String]
876
+ attr_accessor :dataset
877
+
878
+ # The partition key for BigQuery partitioned table.
879
+ # Corresponds to the JSON property `partitionKey`
880
+ # @return [String]
881
+ attr_accessor :partition_key
882
+
883
+ # Required. The prefix of the BigQuery tables to which the analysis results will
884
+ # be written. Tables will be created based on this table_prefix if not exist: *
885
+ # _analysis table will contain export operation's metadata. * _analysis_result
886
+ # will contain all the IamPolicyAnalysisResult. When [partition_key] is
887
+ # specified, both tables will be partitioned based on the [partition_key].
888
+ # Corresponds to the JSON property `tablePrefix`
889
+ # @return [String]
890
+ attr_accessor :table_prefix
891
+
892
+ # Optional. Specifies the action that occurs if the destination table or
893
+ # partition already exists. The following values are supported: * WRITE_TRUNCATE:
894
+ # If the table or partition already exists, BigQuery overwrites the entire
895
+ # table or all the partitions data. * WRITE_APPEND: If the table or partition
896
+ # already exists, BigQuery appends the data to the table or the latest partition.
897
+ # * WRITE_EMPTY: If the table already exists and contains data, an error is
898
+ # returned. The default value is WRITE_APPEND. Each action is atomic and only
899
+ # occurs if BigQuery is able to complete the job successfully. Details are at
900
+ # https://cloud.google.com/bigquery/docs/loading-data-local#
901
+ # appending_to_or_overwriting_a_table_using_a_local_file.
902
+ # Corresponds to the JSON property `writeDisposition`
903
+ # @return [String]
904
+ attr_accessor :write_disposition
905
+
906
+ def initialize(**args)
907
+ update!(**args)
908
+ end
909
+
910
+ # Update properties of this object
911
+ def update!(**args)
912
+ @dataset = args[:dataset] if args.key?(:dataset)
913
+ @partition_key = args[:partition_key] if args.key?(:partition_key)
914
+ @table_prefix = args[:table_prefix] if args.key?(:table_prefix)
915
+ @write_disposition = args[:write_disposition] if args.key?(:write_disposition)
916
+ end
917
+ end
918
+
919
+ # A directional edge.
920
+ class GoogleCloudAssetV1Edge
921
+ include Google::Apis::Core::Hashable
922
+
923
+ # The source node of the edge. For example, it could be a full resource name for
924
+ # a resource node or an email of an identity.
925
+ # Corresponds to the JSON property `sourceNode`
926
+ # @return [String]
927
+ attr_accessor :source_node
928
+
929
+ # The target node of the edge. For example, it could be a full resource name for
930
+ # a resource node or an email of an identity.
931
+ # Corresponds to the JSON property `targetNode`
932
+ # @return [String]
933
+ attr_accessor :target_node
934
+
935
+ def initialize(**args)
936
+ update!(**args)
937
+ end
938
+
939
+ # Update properties of this object
940
+ def update!(**args)
941
+ @source_node = args[:source_node] if args.key?(:source_node)
942
+ @target_node = args[:target_node] if args.key?(:target_node)
943
+ end
944
+ end
945
+
946
+ # A Cloud Storage location.
947
+ class GoogleCloudAssetV1GcsDestination
948
+ include Google::Apis::Core::Hashable
949
+
950
+ # Required. The uri of the Cloud Storage object. It's the same uri that is used
951
+ # by gsutil. For example: "gs://bucket_name/object_name". See [Quickstart: Using
952
+ # the gsutil tool] (https://cloud.google.com/storage/docs/quickstart-gsutil) for
953
+ # examples.
954
+ # Corresponds to the JSON property `uri`
955
+ # @return [String]
956
+ attr_accessor :uri
957
+
958
+ def initialize(**args)
959
+ update!(**args)
960
+ end
961
+
962
+ # Update properties of this object
963
+ def update!(**args)
964
+ @uri = args[:uri] if args.key?(:uri)
965
+ end
966
+ end
967
+
968
+ # An identity under analysis.
969
+ class GoogleCloudAssetV1Identity
970
+ include Google::Apis::Core::Hashable
971
+
972
+ # Represents the detailed state of an entity under analysis, such as a resource,
973
+ # an identity or an access.
974
+ # Corresponds to the JSON property `analysisState`
975
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisState]
976
+ attr_accessor :analysis_state
977
+
978
+ # The identity name in any form of members appear in [IAM policy binding](https:/
979
+ # /cloud.google.com/iam/reference/rest/v1/Binding), such as: - user:foo@google.
980
+ # com - group:group1@google.com - serviceAccount:s1@prj1.iam.gserviceaccount.com
981
+ # - projectOwner:some_project_id - domain:google.com - allUsers - etc.
982
+ # Corresponds to the JSON property `name`
983
+ # @return [String]
984
+ attr_accessor :name
985
+
986
+ def initialize(**args)
987
+ update!(**args)
988
+ end
989
+
990
+ # Update properties of this object
991
+ def update!(**args)
992
+ @analysis_state = args[:analysis_state] if args.key?(:analysis_state)
993
+ @name = args[:name] if args.key?(:name)
994
+ end
995
+ end
996
+
997
+ # The identities and group edges.
998
+ class GoogleCloudAssetV1IdentityList
999
+ include Google::Apis::Core::Hashable
1000
+
1001
+ # Group identity edges of the graph starting from the binding's group members to
1002
+ # any node of the identities. The Edge.source_node contains a group, such as `
1003
+ # group:parent@google.com`. The Edge.target_node contains a member of the group,
1004
+ # such as `group:child@google.com` or `user:foo@google.com`. This field is
1005
+ # present only if the output_group_edges option is enabled in request.
1006
+ # Corresponds to the JSON property `groupEdges`
1007
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Edge>]
1008
+ attr_accessor :group_edges
1009
+
1010
+ # Only the identities that match one of the following conditions will be
1011
+ # presented: - The identity_selector, if it is specified in request; - Otherwise,
1012
+ # identities reachable from the policy binding's members.
1013
+ # Corresponds to the JSON property `identities`
1014
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1Identity>]
1015
+ attr_accessor :identities
1016
+
1017
+ def initialize(**args)
1018
+ update!(**args)
1019
+ end
1020
+
1021
+ # Update properties of this object
1022
+ def update!(**args)
1023
+ @group_edges = args[:group_edges] if args.key?(:group_edges)
1024
+ @identities = args[:identities] if args.key?(:identities)
1025
+ end
1026
+ end
1027
+
1028
+ # A Google Cloud resource under analysis.
1029
+ class GoogleCloudAssetV1Resource
1030
+ include Google::Apis::Core::Hashable
1031
+
1032
+ # Represents the detailed state of an entity under analysis, such as a resource,
1033
+ # an identity or an access.
1034
+ # Corresponds to the JSON property `analysisState`
1035
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisState]
1036
+ attr_accessor :analysis_state
1037
+
1038
+ # The [full resource name](https://cloud.google.com/asset-inventory/docs/
1039
+ # resource-name-format)
1040
+ # Corresponds to the JSON property `fullResourceName`
1041
+ # @return [String]
1042
+ attr_accessor :full_resource_name
1043
+
1044
+ def initialize(**args)
1045
+ update!(**args)
1046
+ end
1047
+
1048
+ # Update properties of this object
1049
+ def update!(**args)
1050
+ @analysis_state = args[:analysis_state] if args.key?(:analysis_state)
1051
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
1052
+ end
1053
+ end
1054
+
700
1055
  # Used in `policy_type` to specify how `boolean_policy` will behave at this
701
1056
  # resource.
702
1057
  class GoogleCloudOrgpolicyV1BooleanPolicy
@@ -1464,6 +1819,206 @@ module Google
1464
1819
  end
1465
1820
  end
1466
1821
 
1822
+ # An analysis message to group the query and results.
1823
+ class IamPolicyAnalysis
1824
+ include Google::Apis::Core::Hashable
1825
+
1826
+ # IAM policy analysis query message.
1827
+ # Corresponds to the JSON property `analysisQuery`
1828
+ # @return [Google::Apis::CloudassetV1::IamPolicyAnalysisQuery]
1829
+ attr_accessor :analysis_query
1830
+
1831
+ # A list of IamPolicyAnalysisResult that matches the analysis query, or empty if
1832
+ # no result is found.
1833
+ # Corresponds to the JSON property `analysisResults`
1834
+ # @return [Array<Google::Apis::CloudassetV1::IamPolicyAnalysisResult>]
1835
+ attr_accessor :analysis_results
1836
+
1837
+ # Represents whether all entries in the analysis_results have been fully
1838
+ # explored to answer the query.
1839
+ # Corresponds to the JSON property `fullyExplored`
1840
+ # @return [Boolean]
1841
+ attr_accessor :fully_explored
1842
+ alias_method :fully_explored?, :fully_explored
1843
+
1844
+ # A list of non-critical errors happened during the query handling.
1845
+ # Corresponds to the JSON property `nonCriticalErrors`
1846
+ # @return [Array<Google::Apis::CloudassetV1::IamPolicyAnalysisState>]
1847
+ attr_accessor :non_critical_errors
1848
+
1849
+ def initialize(**args)
1850
+ update!(**args)
1851
+ end
1852
+
1853
+ # Update properties of this object
1854
+ def update!(**args)
1855
+ @analysis_query = args[:analysis_query] if args.key?(:analysis_query)
1856
+ @analysis_results = args[:analysis_results] if args.key?(:analysis_results)
1857
+ @fully_explored = args[:fully_explored] if args.key?(:fully_explored)
1858
+ @non_critical_errors = args[:non_critical_errors] if args.key?(:non_critical_errors)
1859
+ end
1860
+ end
1861
+
1862
+ # Output configuration for export IAM policy analysis destination.
1863
+ class IamPolicyAnalysisOutputConfig
1864
+ include Google::Apis::Core::Hashable
1865
+
1866
+ # A BigQuery destination.
1867
+ # Corresponds to the JSON property `bigqueryDestination`
1868
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1BigQueryDestination]
1869
+ attr_accessor :bigquery_destination
1870
+
1871
+ # A Cloud Storage location.
1872
+ # Corresponds to the JSON property `gcsDestination`
1873
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1GcsDestination]
1874
+ attr_accessor :gcs_destination
1875
+
1876
+ def initialize(**args)
1877
+ update!(**args)
1878
+ end
1879
+
1880
+ # Update properties of this object
1881
+ def update!(**args)
1882
+ @bigquery_destination = args[:bigquery_destination] if args.key?(:bigquery_destination)
1883
+ @gcs_destination = args[:gcs_destination] if args.key?(:gcs_destination)
1884
+ end
1885
+ end
1886
+
1887
+ # IAM policy analysis query message.
1888
+ class IamPolicyAnalysisQuery
1889
+ include Google::Apis::Core::Hashable
1890
+
1891
+ # Specifies roles and/or permissions to analyze, to determine both the
1892
+ # identities possessing them and the resources they control. If multiple values
1893
+ # are specified, results will include roles or permissions matching any of them.
1894
+ # The total number of roles and permissions should be equal or less than 10.
1895
+ # Corresponds to the JSON property `accessSelector`
1896
+ # @return [Google::Apis::CloudassetV1::AccessSelector]
1897
+ attr_accessor :access_selector
1898
+
1899
+ # Specifies an identity for which to determine resource access, based on roles
1900
+ # assigned either directly to them or to the groups they belong to, directly or
1901
+ # indirectly.
1902
+ # Corresponds to the JSON property `identitySelector`
1903
+ # @return [Google::Apis::CloudassetV1::IdentitySelector]
1904
+ attr_accessor :identity_selector
1905
+
1906
+ # Contains query options.
1907
+ # Corresponds to the JSON property `options`
1908
+ # @return [Google::Apis::CloudassetV1::Options]
1909
+ attr_accessor :options
1910
+
1911
+ # Specifies the resource to analyze for access policies, which may be set
1912
+ # directly on the resource, or on ancestors such as organizations, folders or
1913
+ # projects.
1914
+ # Corresponds to the JSON property `resourceSelector`
1915
+ # @return [Google::Apis::CloudassetV1::ResourceSelector]
1916
+ attr_accessor :resource_selector
1917
+
1918
+ # Required. The relative name of the root asset. Only resources and IAM policies
1919
+ # within the scope will be analyzed. This can only be an organization number (
1920
+ # such as "organizations/123"), a folder number (such as "folders/123"), a
1921
+ # project ID (such as "projects/my-project-id"), or a project number (such as "
1922
+ # projects/12345"). To know how to get organization id, visit [here ](https://
1923
+ # cloud.google.com/resource-manager/docs/creating-managing-organization#
1924
+ # retrieving_your_organization_id). To know how to get folder or project id,
1925
+ # visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-
1926
+ # folders#viewing_or_listing_folders_and_projects).
1927
+ # Corresponds to the JSON property `scope`
1928
+ # @return [String]
1929
+ attr_accessor :scope
1930
+
1931
+ def initialize(**args)
1932
+ update!(**args)
1933
+ end
1934
+
1935
+ # Update properties of this object
1936
+ def update!(**args)
1937
+ @access_selector = args[:access_selector] if args.key?(:access_selector)
1938
+ @identity_selector = args[:identity_selector] if args.key?(:identity_selector)
1939
+ @options = args[:options] if args.key?(:options)
1940
+ @resource_selector = args[:resource_selector] if args.key?(:resource_selector)
1941
+ @scope = args[:scope] if args.key?(:scope)
1942
+ end
1943
+ end
1944
+
1945
+ # IAM Policy analysis result, consisting of one IAM policy binding and derived
1946
+ # access control lists.
1947
+ class IamPolicyAnalysisResult
1948
+ include Google::Apis::Core::Hashable
1949
+
1950
+ # The access control lists derived from the iam_binding that match or
1951
+ # potentially match resource and access selectors specified in the request.
1952
+ # Corresponds to the JSON property `accessControlLists`
1953
+ # @return [Array<Google::Apis::CloudassetV1::GoogleCloudAssetV1AccessControlList>]
1954
+ attr_accessor :access_control_lists
1955
+
1956
+ # The [full resource name](https://cloud.google.com/asset-inventory/docs/
1957
+ # resource-name-format) of the resource to which the iam_binding policy attaches.
1958
+ # Corresponds to the JSON property `attachedResourceFullName`
1959
+ # @return [String]
1960
+ attr_accessor :attached_resource_full_name
1961
+
1962
+ # Represents whether all analyses on the iam_binding have successfully finished.
1963
+ # Corresponds to the JSON property `fullyExplored`
1964
+ # @return [Boolean]
1965
+ attr_accessor :fully_explored
1966
+ alias_method :fully_explored?, :fully_explored
1967
+
1968
+ # Associates `members` with a `role`.
1969
+ # Corresponds to the JSON property `iamBinding`
1970
+ # @return [Google::Apis::CloudassetV1::Binding]
1971
+ attr_accessor :iam_binding
1972
+
1973
+ # The identities and group edges.
1974
+ # Corresponds to the JSON property `identityList`
1975
+ # @return [Google::Apis::CloudassetV1::GoogleCloudAssetV1IdentityList]
1976
+ attr_accessor :identity_list
1977
+
1978
+ def initialize(**args)
1979
+ update!(**args)
1980
+ end
1981
+
1982
+ # Update properties of this object
1983
+ def update!(**args)
1984
+ @access_control_lists = args[:access_control_lists] if args.key?(:access_control_lists)
1985
+ @attached_resource_full_name = args[:attached_resource_full_name] if args.key?(:attached_resource_full_name)
1986
+ @fully_explored = args[:fully_explored] if args.key?(:fully_explored)
1987
+ @iam_binding = args[:iam_binding] if args.key?(:iam_binding)
1988
+ @identity_list = args[:identity_list] if args.key?(:identity_list)
1989
+ end
1990
+ end
1991
+
1992
+ # Represents the detailed state of an entity under analysis, such as a resource,
1993
+ # an identity or an access.
1994
+ class IamPolicyAnalysisState
1995
+ include Google::Apis::Core::Hashable
1996
+
1997
+ # The human-readable description of the cause of failure.
1998
+ # Corresponds to the JSON property `cause`
1999
+ # @return [String]
2000
+ attr_accessor :cause
2001
+
2002
+ # The Google standard error code that best describes the state. For example: -
2003
+ # OK means the analysis on this entity has been successfully finished; -
2004
+ # PERMISSION_DENIED means an access denied error is encountered; -
2005
+ # DEADLINE_EXCEEDED means the analysis on this entity hasn't been started in
2006
+ # time;
2007
+ # Corresponds to the JSON property `code`
2008
+ # @return [String]
2009
+ attr_accessor :code
2010
+
2011
+ def initialize(**args)
2012
+ update!(**args)
2013
+ end
2014
+
2015
+ # Update properties of this object
2016
+ def update!(**args)
2017
+ @cause = args[:cause] if args.key?(:cause)
2018
+ @code = args[:code] if args.key?(:code)
2019
+ end
2020
+ end
2021
+
1467
2022
  # A result of IAM Policy search, containing information of an IAM policy.
1468
2023
  class IamPolicySearchResult
1469
2024
  include Google::Apis::Core::Hashable
@@ -1537,6 +2092,32 @@ module Google
1537
2092
  end
1538
2093
  end
1539
2094
 
2095
+ # Specifies an identity for which to determine resource access, based on roles
2096
+ # assigned either directly to them or to the groups they belong to, directly or
2097
+ # indirectly.
2098
+ class IdentitySelector
2099
+ include Google::Apis::Core::Hashable
2100
+
2101
+ # Required. The identity appear in the form of members in [IAM policy binding](
2102
+ # https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of
2103
+ # supported forms are: "user:mike@example.com", "group:admins@example.com", "
2104
+ # domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com".
2105
+ # Notice that wildcard characters (such as * and ?) are not supported. You must
2106
+ # give a specific identity.
2107
+ # Corresponds to the JSON property `identity`
2108
+ # @return [String]
2109
+ attr_accessor :identity
2110
+
2111
+ def initialize(**args)
2112
+ update!(**args)
2113
+ end
2114
+
2115
+ # Update properties of this object
2116
+ def update!(**args)
2117
+ @identity = args[:identity] if args.key?(:identity)
2118
+ end
2119
+ end
2120
+
1540
2121
  #
1541
2122
  class ListFeedsResponse
1542
2123
  include Google::Apis::Core::Hashable
@@ -1618,6 +2199,98 @@ module Google
1618
2199
  end
1619
2200
  end
1620
2201
 
2202
+ # Contains query options.
2203
+ class Options
2204
+ include Google::Apis::Core::Hashable
2205
+
2206
+ # Optional. If true, the response will include access analysis from identities
2207
+ # to resources via service account impersonation. This is a very expensive
2208
+ # operation, because many derived queries will be executed. We highly recommend
2209
+ # you use AssetService.AnalyzeIamPolicyLongrunning rpc instead. For example, if
2210
+ # the request analyzes for which resources user A has permission P, and there's
2211
+ # an IAM policy states user A has iam.serviceAccounts.getAccessToken permission
2212
+ # to a service account SA, and there's another IAM policy states service account
2213
+ # SA has permission P to a GCP folder F, then user A potentially has access to
2214
+ # the GCP folder F. And those advanced analysis results will be included in
2215
+ # AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another
2216
+ # example, if the request analyzes for who has permission P to a GCP folder F,
2217
+ # and there's an IAM policy states user A has iam.serviceAccounts.actAs
2218
+ # permission to a service account SA, and there's another IAM policy states
2219
+ # service account SA has permission P to the GCP folder F, then user A
2220
+ # potentially has access to the GCP folder F. And those advanced analysis
2221
+ # results will be included in AnalyzeIamPolicyResponse.
2222
+ # service_account_impersonation_analysis. Default is false.
2223
+ # Corresponds to the JSON property `analyzeServiceAccountImpersonation`
2224
+ # @return [Boolean]
2225
+ attr_accessor :analyze_service_account_impersonation
2226
+ alias_method :analyze_service_account_impersonation?, :analyze_service_account_impersonation
2227
+
2228
+ # Optional. If true, the identities section of the result will expand any Google
2229
+ # groups appearing in an IAM policy binding. If IamPolicyAnalysisQuery.
2230
+ # identity_selector is specified, the identity in the result will be determined
2231
+ # by the selector, and this flag is not allowed to set. Default is false.
2232
+ # Corresponds to the JSON property `expandGroups`
2233
+ # @return [Boolean]
2234
+ attr_accessor :expand_groups
2235
+ alias_method :expand_groups?, :expand_groups
2236
+
2237
+ # Optional. If true and IamPolicyAnalysisQuery.resource_selector is not
2238
+ # specified, the resource section of the result will expand any resource
2239
+ # attached to an IAM policy to include resources lower in the resource hierarchy.
2240
+ # For example, if the request analyzes for which resources user A has
2241
+ # permission P, and the results include an IAM policy with P on a GCP folder,
2242
+ # the results will also include resources in that folder with permission P. If
2243
+ # true and IamPolicyAnalysisQuery.resource_selector is specified, the resource
2244
+ # section of the result will expand the specified resource to include resources
2245
+ # lower in the resource hierarchy. Only project or lower resources are supported.
2246
+ # Folder and organization resource cannot be used together with this option.
2247
+ # For example, if the request analyzes for which users have permission P on a
2248
+ # GCP project with this option enabled, the results will include all users who
2249
+ # have permission P on that project or any lower resource. Default is false.
2250
+ # Corresponds to the JSON property `expandResources`
2251
+ # @return [Boolean]
2252
+ attr_accessor :expand_resources
2253
+ alias_method :expand_resources?, :expand_resources
2254
+
2255
+ # Optional. If true, the access section of result will expand any roles
2256
+ # appearing in IAM policy bindings to include their permissions. If
2257
+ # IamPolicyAnalysisQuery.access_selector is specified, the access section of the
2258
+ # result will be determined by the selector, and this flag is not allowed to set.
2259
+ # Default is false.
2260
+ # Corresponds to the JSON property `expandRoles`
2261
+ # @return [Boolean]
2262
+ attr_accessor :expand_roles
2263
+ alias_method :expand_roles?, :expand_roles
2264
+
2265
+ # Optional. If true, the result will output group identity edges, starting from
2266
+ # the binding's group members, to any expanded identities. Default is false.
2267
+ # Corresponds to the JSON property `outputGroupEdges`
2268
+ # @return [Boolean]
2269
+ attr_accessor :output_group_edges
2270
+ alias_method :output_group_edges?, :output_group_edges
2271
+
2272
+ # Optional. If true, the result will output resource edges, starting from the
2273
+ # policy attached resource, to any expanded resources. Default is false.
2274
+ # Corresponds to the JSON property `outputResourceEdges`
2275
+ # @return [Boolean]
2276
+ attr_accessor :output_resource_edges
2277
+ alias_method :output_resource_edges?, :output_resource_edges
2278
+
2279
+ def initialize(**args)
2280
+ update!(**args)
2281
+ end
2282
+
2283
+ # Update properties of this object
2284
+ def update!(**args)
2285
+ @analyze_service_account_impersonation = args[:analyze_service_account_impersonation] if args.key?(:analyze_service_account_impersonation)
2286
+ @expand_groups = args[:expand_groups] if args.key?(:expand_groups)
2287
+ @expand_resources = args[:expand_resources] if args.key?(:expand_resources)
2288
+ @expand_roles = args[:expand_roles] if args.key?(:expand_roles)
2289
+ @output_group_edges = args[:output_group_edges] if args.key?(:output_group_edges)
2290
+ @output_resource_edges = args[:output_resource_edges] if args.key?(:output_resource_edges)
2291
+ end
2292
+ end
2293
+
1621
2294
  # Output configuration for export assets destination.
1622
2295
  class OutputConfig
1623
2296
  include Google::Apis::Core::Hashable
@@ -1968,6 +2641,30 @@ module Google
1968
2641
  end
1969
2642
  end
1970
2643
 
2644
+ # Specifies the resource to analyze for access policies, which may be set
2645
+ # directly on the resource, or on ancestors such as organizations, folders or
2646
+ # projects.
2647
+ class ResourceSelector
2648
+ include Google::Apis::Core::Hashable
2649
+
2650
+ # Required. The [full resource name] (https://cloud.google.com/asset-inventory/
2651
+ # docs/resource-name-format) of a resource of [supported resource types](https://
2652
+ # cloud.google.com/asset-inventory/docs/supported-asset-types#
2653
+ # analyzable_asset_types).
2654
+ # Corresponds to the JSON property `fullResourceName`
2655
+ # @return [String]
2656
+ attr_accessor :full_resource_name
2657
+
2658
+ def initialize(**args)
2659
+ update!(**args)
2660
+ end
2661
+
2662
+ # Update properties of this object
2663
+ def update!(**args)
2664
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
2665
+ end
2666
+ end
2667
+
1971
2668
  # Search all IAM policies response.
1972
2669
  class SearchAllIamPoliciesResponse
1973
2670
  include Google::Apis::Core::Hashable