google-api-client 0.39.4 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +283 -0
  3. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +3 -1
  5. data/generated/google/apis/admob_v1.rb +1 -1
  6. data/generated/google/apis/admob_v1/classes.rb +5 -6
  7. data/generated/google/apis/androidenterprise_v1.rb +2 -2
  8. data/generated/google/apis/androidenterprise_v1/classes.rb +547 -724
  9. data/generated/google/apis/androidenterprise_v1/representations.rb +0 -54
  10. data/generated/google/apis/androidenterprise_v1/service.rb +540 -795
  11. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  12. data/generated/google/apis/androidmanagement_v1/classes.rb +117 -0
  13. data/generated/google/apis/androidmanagement_v1/representations.rb +39 -0
  14. data/generated/google/apis/androidpublisher_v3.rb +3 -3
  15. data/generated/google/apis/androidpublisher_v3/classes.rb +473 -736
  16. data/generated/google/apis/androidpublisher_v3/representations.rb +10 -201
  17. data/generated/google/apis/androidpublisher_v3/service.rb +531 -863
  18. data/generated/google/apis/apigee_v1.rb +1 -1
  19. data/generated/google/apis/apigee_v1/classes.rb +58 -10
  20. data/generated/google/apis/apigee_v1/representations.rb +7 -0
  21. data/generated/google/apis/apigee_v1/service.rb +24 -14
  22. data/generated/google/apis/appsmarket_v2.rb +3 -3
  23. data/generated/google/apis/appsmarket_v2/classes.rb +160 -159
  24. data/generated/google/apis/appsmarket_v2/representations.rb +78 -78
  25. data/generated/google/apis/appsmarket_v2/service.rb +24 -39
  26. data/generated/google/apis/artifactregistry_v1beta1.rb +38 -0
  27. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +1132 -0
  28. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +442 -0
  29. data/generated/google/apis/artifactregistry_v1beta1/service.rb +957 -0
  30. data/generated/google/apis/bigquery_v2.rb +1 -1
  31. data/generated/google/apis/bigquery_v2/classes.rb +54 -1
  32. data/generated/google/apis/bigquery_v2/representations.rb +4 -0
  33. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  34. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +4 -4
  35. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  36. data/generated/google/apis/bigqueryreservation_v1/classes.rb +2 -0
  37. data/generated/google/apis/bigqueryreservation_v1/service.rb +8 -8
  38. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  39. data/generated/google/apis/bigqueryreservation_v1beta1/classes.rb +20 -14
  40. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +93 -68
  41. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  42. data/generated/google/apis/bigtableadmin_v1/classes.rb +5 -10
  43. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  44. data/generated/google/apis/bigtableadmin_v2/classes.rb +39 -31
  45. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -5
  46. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  47. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +21 -0
  48. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +6 -0
  49. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  50. data/generated/google/apis/books_v1.rb +1 -1
  51. data/generated/google/apis/books_v1/service.rb +2 -2
  52. data/generated/google/apis/calendar_v3.rb +1 -1
  53. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  54. data/generated/google/apis/chat_v1.rb +1 -1
  55. data/generated/google/apis/chat_v1/classes.rb +2 -0
  56. data/generated/google/apis/{pagespeedonline_v1.rb → chromeuxreport_v1.rb} +9 -9
  57. data/generated/google/apis/chromeuxreport_v1/classes.rb +297 -0
  58. data/generated/google/apis/chromeuxreport_v1/representations.rb +147 -0
  59. data/generated/google/apis/chromeuxreport_v1/service.rb +92 -0
  60. data/generated/google/apis/cloudasset_v1.rb +1 -1
  61. data/generated/google/apis/cloudasset_v1/classes.rb +82 -46
  62. data/generated/google/apis/cloudasset_v1/representations.rb +2 -0
  63. data/generated/google/apis/cloudasset_v1/service.rb +14 -11
  64. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  65. data/generated/google/apis/cloudasset_v1beta1/classes.rb +977 -52
  66. data/generated/google/apis/cloudasset_v1beta1/representations.rb +241 -0
  67. data/generated/google/apis/cloudasset_v1beta1/service.rb +20 -11
  68. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  69. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +48 -16
  70. data/generated/google/apis/cloudasset_v1p1beta1/representations.rb +2 -0
  71. data/generated/google/apis/cloudasset_v1p1beta1/service.rb +15 -16
  72. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  73. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +40 -23
  74. data/generated/google/apis/cloudasset_v1p4beta1/service.rb +34 -9
  75. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  76. data/generated/google/apis/cloudbuild_v1/classes.rb +17 -4
  77. data/generated/google/apis/cloudbuild_v1/representations.rb +1 -0
  78. data/generated/google/apis/cloudbuild_v1/service.rb +163 -0
  79. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  80. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +156 -2
  81. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +61 -0
  82. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +121 -0
  83. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  84. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +156 -2
  85. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +61 -0
  86. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +121 -0
  87. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  88. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +1 -1
  89. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +5 -6
  90. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  91. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  92. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +6 -0
  93. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +1 -0
  94. data/generated/google/apis/cloudiot_v1.rb +1 -1
  95. data/generated/google/apis/cloudiot_v1/classes.rb +26 -10
  96. data/generated/google/apis/cloudkms_v1.rb +1 -1
  97. data/generated/google/apis/cloudkms_v1/classes.rb +288 -7
  98. data/generated/google/apis/cloudkms_v1/representations.rb +17 -0
  99. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  100. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +20 -15
  101. data/generated/google/apis/cloudresourcemanager_v1/service.rb +21 -14
  102. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  103. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +10 -8
  104. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +8 -8
  105. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  106. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +6 -6
  107. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  108. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +6 -6
  109. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  110. data/generated/google/apis/cloudsearch_v1/service.rb +1 -1
  111. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  112. data/generated/google/apis/cloudtasks_v2/classes.rb +8 -6
  113. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  114. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +11 -2
  115. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +1 -0
  116. data/generated/google/apis/compute_alpha.rb +1 -1
  117. data/generated/google/apis/compute_alpha/classes.rb +711 -151
  118. data/generated/google/apis/compute_alpha/representations.rb +220 -33
  119. data/generated/google/apis/compute_alpha/service.rb +1618 -831
  120. data/generated/google/apis/compute_beta.rb +1 -1
  121. data/generated/google/apis/compute_beta/classes.rb +173 -71
  122. data/generated/google/apis/compute_beta/representations.rb +25 -0
  123. data/generated/google/apis/compute_beta/service.rb +591 -591
  124. data/generated/google/apis/compute_v1.rb +1 -1
  125. data/generated/google/apis/compute_v1/classes.rb +66 -18
  126. data/generated/google/apis/compute_v1/representations.rb +6 -0
  127. data/generated/google/apis/container_v1.rb +1 -1
  128. data/generated/google/apis/container_v1/classes.rb +2 -4
  129. data/generated/google/apis/container_v1beta1.rb +1 -1
  130. data/generated/google/apis/container_v1beta1/classes.rb +82 -10
  131. data/generated/google/apis/container_v1beta1/representations.rb +33 -0
  132. data/generated/google/apis/content_v2.rb +1 -1
  133. data/generated/google/apis/content_v2/classes.rb +41 -1
  134. data/generated/google/apis/content_v2/representations.rb +17 -0
  135. data/generated/google/apis/content_v2/service.rb +15 -6
  136. data/generated/google/apis/content_v2_1.rb +1 -1
  137. data/generated/google/apis/content_v2_1/classes.rb +450 -6
  138. data/generated/google/apis/content_v2_1/representations.rb +173 -0
  139. data/generated/google/apis/content_v2_1/service.rb +95 -6
  140. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  141. data/generated/google/apis/dataflow_v1b3/classes.rb +331 -0
  142. data/generated/google/apis/dataflow_v1b3/representations.rb +164 -0
  143. data/generated/google/apis/dataflow_v1b3/service.rb +261 -0
  144. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  145. data/generated/google/apis/datafusion_v1beta1/classes.rb +64 -19
  146. data/generated/google/apis/datafusion_v1beta1/representations.rb +16 -0
  147. data/generated/google/apis/datafusion_v1beta1/service.rb +49 -2
  148. data/generated/google/apis/dataproc_v1.rb +1 -1
  149. data/generated/google/apis/dataproc_v1/classes.rb +68 -22
  150. data/generated/google/apis/dataproc_v1/representations.rb +17 -0
  151. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  152. data/generated/google/apis/dataproc_v1beta2/classes.rb +61 -35
  153. data/generated/google/apis/dataproc_v1beta2/representations.rb +1 -0
  154. data/generated/google/apis/dataproc_v1beta2/service.rb +35 -21
  155. data/generated/google/apis/datastore_v1.rb +1 -1
  156. data/generated/google/apis/datastore_v1/classes.rb +1 -1
  157. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  158. data/generated/google/apis/datastore_v1beta3/classes.rb +1 -1
  159. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  160. data/generated/google/apis/deploymentmanager_alpha/classes.rb +362 -176
  161. data/generated/google/apis/deploymentmanager_alpha/representations.rb +22 -4
  162. data/generated/google/apis/deploymentmanager_alpha/service.rb +198 -311
  163. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  164. data/generated/google/apis/deploymentmanager_v2/classes.rb +295 -146
  165. data/generated/google/apis/deploymentmanager_v2/representations.rb +17 -1
  166. data/generated/google/apis/deploymentmanager_v2/service.rb +101 -99
  167. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  168. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +350 -170
  169. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +18 -1
  170. data/generated/google/apis/deploymentmanager_v2beta/service.rb +154 -152
  171. data/generated/google/apis/dfareporting_v3_3.rb +1 -1
  172. data/generated/google/apis/dfareporting_v3_3/classes.rb +2 -2
  173. data/generated/google/apis/dfareporting_v3_3/service.rb +2 -2
  174. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  175. data/generated/google/apis/dfareporting_v3_4/classes.rb +2 -2
  176. data/generated/google/apis/dfareporting_v3_4/service.rb +2 -2
  177. data/generated/google/apis/dialogflow_v2.rb +1 -1
  178. data/generated/google/apis/dialogflow_v2/classes.rb +549 -9
  179. data/generated/google/apis/dialogflow_v2/representations.rb +234 -0
  180. data/generated/google/apis/dialogflow_v2/service.rb +14 -2
  181. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  182. data/generated/google/apis/dialogflow_v2beta1/classes.rb +540 -8
  183. data/generated/google/apis/dialogflow_v2beta1/representations.rb +234 -0
  184. data/generated/google/apis/dialogflow_v2beta1/service.rb +74 -6
  185. data/generated/google/apis/displayvideo_v1.rb +1 -1
  186. data/generated/google/apis/displayvideo_v1/classes.rb +612 -0
  187. data/generated/google/apis/displayvideo_v1/representations.rb +314 -0
  188. data/generated/google/apis/displayvideo_v1/service.rb +1968 -337
  189. data/generated/google/apis/dlp_v2.rb +1 -1
  190. data/generated/google/apis/dlp_v2/classes.rb +17 -27
  191. data/generated/google/apis/dlp_v2/service.rb +247 -204
  192. data/generated/google/apis/dns_v1.rb +1 -1
  193. data/generated/google/apis/dns_v1/classes.rb +160 -261
  194. data/generated/google/apis/dns_v1/representations.rb +17 -0
  195. data/generated/google/apis/dns_v1/service.rb +21 -141
  196. data/generated/google/apis/dns_v1beta2.rb +1 -1
  197. data/generated/google/apis/dns_v1beta2/classes.rb +189 -273
  198. data/generated/google/apis/dns_v1beta2/representations.rb +32 -0
  199. data/generated/google/apis/dns_v1beta2/service.rb +21 -141
  200. data/generated/google/apis/dns_v2beta1.rb +1 -1
  201. data/generated/google/apis/dns_v2beta1/classes.rb +160 -261
  202. data/generated/google/apis/dns_v2beta1/representations.rb +17 -0
  203. data/generated/google/apis/dns_v2beta1/service.rb +21 -141
  204. data/generated/google/apis/documentai_v1beta2.rb +36 -0
  205. data/generated/google/apis/documentai_v1beta2/classes.rb +3284 -0
  206. data/generated/google/apis/documentai_v1beta2/representations.rb +1344 -0
  207. data/generated/google/apis/documentai_v1beta2/service.rb +269 -0
  208. data/generated/google/apis/drive_v2.rb +1 -1
  209. data/generated/google/apis/drive_v2/service.rb +26 -78
  210. data/generated/google/apis/drive_v3.rb +1 -1
  211. data/generated/google/apis/drive_v3/service.rb +18 -54
  212. data/generated/google/apis/fcm_v1.rb +1 -1
  213. data/generated/google/apis/fcm_v1/classes.rb +6 -0
  214. data/generated/google/apis/file_v1.rb +1 -1
  215. data/generated/google/apis/file_v1/classes.rb +31 -1156
  216. data/generated/google/apis/file_v1/representations.rb +12 -378
  217. data/generated/google/apis/file_v1beta1.rb +1 -1
  218. data/generated/google/apis/file_v1beta1/classes.rb +98 -1156
  219. data/generated/google/apis/file_v1beta1/representations.rb +26 -373
  220. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  221. data/generated/google/apis/firebase_v1beta1/classes.rb +7 -6
  222. data/generated/google/apis/firebase_v1beta1/service.rb +53 -49
  223. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  224. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +30 -25
  225. data/generated/google/apis/{pagespeedonline_v2.rb → firebaseml_v1.rb} +12 -10
  226. data/generated/google/apis/firebaseml_v1/classes.rb +213 -0
  227. data/generated/google/apis/firebaseml_v1/representations.rb +112 -0
  228. data/generated/google/apis/firebaseml_v1/service.rb +181 -0
  229. data/generated/google/apis/fitness_v1.rb +4 -4
  230. data/generated/google/apis/fitness_v1/classes.rb +185 -158
  231. data/generated/google/apis/fitness_v1/service.rb +187 -215
  232. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  233. data/generated/google/apis/games_configuration_v1configuration/service.rb +1 -1
  234. data/generated/google/apis/games_management_v1management.rb +1 -1
  235. data/generated/google/apis/games_management_v1management/service.rb +1 -1
  236. data/generated/google/apis/games_v1.rb +1 -1
  237. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  238. data/generated/google/apis/genomics_v2alpha1/classes.rb +84 -0
  239. data/generated/google/apis/genomics_v2alpha1/representations.rb +28 -0
  240. data/generated/google/apis/genomics_v2alpha1/service.rb +38 -2
  241. data/generated/google/apis/gmail_v1.rb +3 -2
  242. data/generated/google/apis/gmail_v1/classes.rb +263 -200
  243. data/generated/google/apis/gmail_v1/service.rb +551 -743
  244. data/generated/google/apis/groupsmigration_v1.rb +3 -2
  245. data/generated/google/apis/groupsmigration_v1/service.rb +10 -17
  246. data/generated/google/apis/healthcare_v1.rb +1 -1
  247. data/generated/google/apis/healthcare_v1/classes.rb +39 -30
  248. data/generated/google/apis/healthcare_v1/service.rb +66 -32
  249. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  250. data/generated/google/apis/healthcare_v1beta1/classes.rb +948 -77
  251. data/generated/google/apis/healthcare_v1beta1/representations.rb +404 -0
  252. data/generated/google/apis/healthcare_v1beta1/service.rb +682 -147
  253. data/generated/google/apis/homegraph_v1.rb +1 -1
  254. data/generated/google/apis/homegraph_v1/classes.rb +3 -0
  255. data/generated/google/apis/iam_v1.rb +1 -1
  256. data/generated/google/apis/iam_v1/classes.rb +116 -93
  257. data/generated/google/apis/iam_v1/service.rb +170 -144
  258. data/generated/google/apis/iamcredentials_v1.rb +2 -2
  259. data/generated/google/apis/iamcredentials_v1/classes.rb +30 -5
  260. data/generated/google/apis/iamcredentials_v1/service.rb +1 -1
  261. data/generated/google/apis/jobs_v3.rb +1 -1
  262. data/generated/google/apis/jobs_v3/classes.rb +4 -2
  263. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  264. data/generated/google/apis/jobs_v3p1beta1/classes.rb +4 -2
  265. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  266. data/generated/google/apis/lifesciences_v2beta/classes.rb +10 -0
  267. data/generated/google/apis/lifesciences_v2beta/representations.rb +1 -0
  268. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  269. data/generated/google/apis/memcache_v1beta2/classes.rb +42 -11
  270. data/generated/google/apis/memcache_v1beta2/representations.rb +15 -0
  271. data/generated/google/apis/monitoring_v1.rb +1 -1
  272. data/generated/google/apis/monitoring_v1/classes.rb +46 -0
  273. data/generated/google/apis/monitoring_v1/representations.rb +18 -0
  274. data/generated/google/apis/monitoring_v3.rb +1 -1
  275. data/generated/google/apis/monitoring_v3/classes.rb +73 -17
  276. data/generated/google/apis/monitoring_v3/representations.rb +2 -0
  277. data/generated/google/apis/{pagespeedonline_v4.rb → networkmanagement_v1.rb} +13 -10
  278. data/generated/google/apis/networkmanagement_v1/classes.rb +1868 -0
  279. data/generated/google/apis/networkmanagement_v1/representations.rb +661 -0
  280. data/generated/google/apis/networkmanagement_v1/service.rb +667 -0
  281. data/generated/google/apis/osconfig_v1.rb +1 -1
  282. data/generated/google/apis/osconfig_v1/classes.rb +2 -2
  283. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  284. data/generated/google/apis/osconfig_v1beta/classes.rb +6 -7
  285. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  286. data/generated/google/apis/pagespeedonline_v5/classes.rb +7 -0
  287. data/generated/google/apis/pagespeedonline_v5/representations.rb +1 -0
  288. data/generated/google/apis/people_v1.rb +1 -1
  289. data/generated/google/apis/people_v1/classes.rb +216 -0
  290. data/generated/google/apis/people_v1/representations.rb +82 -0
  291. data/generated/google/apis/people_v1/service.rb +371 -8
  292. data/generated/google/apis/playcustomapp_v1.rb +3 -3
  293. data/generated/google/apis/playcustomapp_v1/classes.rb +7 -0
  294. data/generated/google/apis/playcustomapp_v1/representations.rb +1 -0
  295. data/generated/google/apis/playcustomapp_v1/service.rb +11 -19
  296. data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
  297. data/generated/google/apis/policytroubleshooter_v1/classes.rb +6 -6
  298. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  299. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +6 -6
  300. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  301. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +30 -0
  302. data/generated/google/apis/pubsub_v1.rb +1 -1
  303. data/generated/google/apis/pubsub_v1/classes.rb +64 -8
  304. data/generated/google/apis/pubsub_v1/representations.rb +28 -0
  305. data/generated/google/apis/pubsub_v1/service.rb +35 -1
  306. data/generated/google/apis/{customsearch_v1.rb → recommender_v1.rb} +11 -8
  307. data/generated/google/apis/recommender_v1/classes.rb +505 -0
  308. data/generated/google/apis/recommender_v1/representations.rb +232 -0
  309. data/generated/google/apis/recommender_v1/service.rb +266 -0
  310. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  311. data/generated/google/apis/remotebuildexecution_v1/classes.rb +6 -0
  312. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -0
  313. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  314. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +6 -0
  315. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -0
  316. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  317. data/generated/google/apis/remotebuildexecution_v2/classes.rb +6 -0
  318. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -0
  319. data/generated/google/apis/run_v1.rb +1 -1
  320. data/generated/google/apis/run_v1/classes.rb +15 -6
  321. data/generated/google/apis/run_v1/representations.rb +1 -0
  322. data/generated/google/apis/run_v1alpha1.rb +1 -1
  323. data/generated/google/apis/run_v1alpha1/classes.rb +15 -6
  324. data/generated/google/apis/run_v1alpha1/representations.rb +1 -0
  325. data/generated/google/apis/run_v1beta1.rb +1 -1
  326. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  327. data/generated/google/apis/sasportal_v1alpha1/service.rb +30 -0
  328. data/generated/google/apis/secretmanager_v1.rb +1 -1
  329. data/generated/google/apis/secretmanager_v1/classes.rb +6 -6
  330. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  331. data/generated/google/apis/secretmanager_v1beta1/classes.rb +6 -6
  332. data/generated/google/apis/securitycenter_v1.rb +1 -1
  333. data/generated/google/apis/securitycenter_v1/classes.rb +143 -28
  334. data/generated/google/apis/securitycenter_v1/representations.rb +38 -0
  335. data/generated/google/apis/securitycenter_v1/service.rb +10 -10
  336. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  337. data/generated/google/apis/securitycenter_v1beta1/classes.rb +133 -18
  338. data/generated/google/apis/securitycenter_v1beta1/representations.rb +38 -0
  339. data/generated/google/apis/securitycenter_v1p1alpha1.rb +1 -1
  340. data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +100 -0
  341. data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +38 -0
  342. data/generated/google/apis/securitycenter_v1p1beta1.rb +1 -1
  343. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +143 -28
  344. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +38 -0
  345. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +10 -10
  346. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  347. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +223 -74
  348. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +33 -2
  349. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  350. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +229 -74
  351. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +34 -2
  352. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  353. data/generated/google/apis/servicecontrol_v1/classes.rb +3 -3
  354. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  355. data/generated/google/apis/servicemanagement_v1/classes.rb +123 -80
  356. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -2
  357. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  358. data/generated/google/apis/servicenetworking_v1/classes.rb +498 -74
  359. data/generated/google/apis/servicenetworking_v1/representations.rb +209 -2
  360. data/generated/google/apis/servicenetworking_v1/service.rb +187 -0
  361. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  362. data/generated/google/apis/servicenetworking_v1beta/classes.rb +307 -74
  363. data/generated/google/apis/servicenetworking_v1beta/representations.rb +130 -2
  364. data/generated/google/apis/serviceusage_v1.rb +1 -1
  365. data/generated/google/apis/serviceusage_v1/classes.rb +221 -74
  366. data/generated/google/apis/serviceusage_v1/representations.rb +34 -2
  367. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  368. data/generated/google/apis/serviceusage_v1beta1/classes.rb +272 -74
  369. data/generated/google/apis/serviceusage_v1beta1/representations.rb +63 -2
  370. data/generated/google/apis/serviceusage_v1beta1/service.rb +71 -0
  371. data/generated/google/apis/slides_v1.rb +1 -1
  372. data/generated/google/apis/slides_v1/classes.rb +4 -0
  373. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  374. data/generated/google/apis/sourcerepo_v1/classes.rb +23 -10
  375. data/generated/google/apis/sourcerepo_v1/service.rb +3 -0
  376. data/generated/google/apis/spanner_v1.rb +1 -1
  377. data/generated/google/apis/spanner_v1/classes.rb +30 -12
  378. data/generated/google/apis/spanner_v1/service.rb +8 -8
  379. data/generated/google/apis/sql_v1beta4.rb +1 -1
  380. data/generated/google/apis/sql_v1beta4/classes.rb +7 -0
  381. data/generated/google/apis/sql_v1beta4/representations.rb +1 -0
  382. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  383. data/generated/google/apis/storagetransfer_v1/classes.rb +2 -1
  384. data/generated/google/apis/tasks_v1.rb +3 -3
  385. data/generated/google/apis/tasks_v1/classes.rb +26 -25
  386. data/generated/google/apis/tasks_v1/representations.rb +4 -8
  387. data/generated/google/apis/tasks_v1/service.rb +79 -128
  388. data/generated/google/apis/testing_v1.rb +1 -1
  389. data/generated/google/apis/testing_v1/classes.rb +2 -1
  390. data/generated/google/apis/texttospeech_v1.rb +1 -1
  391. data/generated/google/apis/texttospeech_v1/classes.rb +1 -1
  392. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  393. data/generated/google/apis/texttospeech_v1beta1/classes.rb +1 -1
  394. data/generated/google/apis/tpu_v1.rb +1 -1
  395. data/generated/google/apis/tpu_v1/classes.rb +3 -3
  396. data/generated/google/apis/tpu_v1alpha1.rb +1 -1
  397. data/generated/google/apis/tpu_v1alpha1/classes.rb +3 -3
  398. data/generated/google/apis/translate_v3.rb +1 -1
  399. data/generated/google/apis/verifiedaccess_v1.rb +3 -3
  400. data/generated/google/apis/verifiedaccess_v1/service.rb +2 -2
  401. data/generated/google/apis/videointelligence_v1.rb +1 -1
  402. data/generated/google/apis/videointelligence_v1/classes.rb +1 -1
  403. data/generated/google/apis/videointelligence_v1/service.rb +32 -0
  404. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  405. data/generated/google/apis/videointelligence_v1beta2/classes.rb +1 -1
  406. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  407. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +1 -1
  408. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  409. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +1 -1
  410. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  411. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +1 -1
  412. data/generated/google/apis/vision_v1.rb +1 -1
  413. data/generated/google/apis/vision_v1/classes.rb +18 -0
  414. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  415. data/generated/google/apis/vision_v1p1beta1/classes.rb +18 -0
  416. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  417. data/generated/google/apis/vision_v1p2beta1/classes.rb +18 -0
  418. data/generated/google/apis/websecurityscanner_v1.rb +2 -2
  419. data/generated/google/apis/websecurityscanner_v1/classes.rb +7 -5
  420. data/generated/google/apis/websecurityscanner_v1/service.rb +1 -1
  421. data/generated/google/apis/websecurityscanner_v1alpha.rb +2 -2
  422. data/generated/google/apis/websecurityscanner_v1alpha/classes.rb +5 -4
  423. data/generated/google/apis/websecurityscanner_v1alpha/service.rb +1 -1
  424. data/generated/google/apis/websecurityscanner_v1beta.rb +2 -2
  425. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +9 -7
  426. data/generated/google/apis/websecurityscanner_v1beta/service.rb +1 -1
  427. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  428. data/generated/google/apis/youtube_v3.rb +5 -5
  429. data/generated/google/apis/youtube_v3/classes.rb +1298 -1244
  430. data/generated/google/apis/youtube_v3/representations.rb +91 -192
  431. data/generated/google/apis/youtube_v3/service.rb +1857 -2152
  432. data/lib/google/apis/core/api_command.rb +12 -7
  433. data/lib/google/apis/options.rb +5 -1
  434. data/lib/google/apis/version.rb +1 -1
  435. metadata +27 -19
  436. data/generated/google/apis/customsearch_v1/classes.rb +0 -1606
  437. data/generated/google/apis/customsearch_v1/representations.rb +0 -372
  438. data/generated/google/apis/customsearch_v1/service.rb +0 -608
  439. data/generated/google/apis/pagespeedonline_v1/classes.rb +0 -542
  440. data/generated/google/apis/pagespeedonline_v1/representations.rb +0 -258
  441. data/generated/google/apis/pagespeedonline_v1/service.rb +0 -116
  442. data/generated/google/apis/pagespeedonline_v2/classes.rb +0 -621
  443. data/generated/google/apis/pagespeedonline_v2/representations.rb +0 -273
  444. data/generated/google/apis/pagespeedonline_v2/service.rb +0 -116
  445. data/generated/google/apis/pagespeedonline_v4/classes.rb +0 -795
  446. data/generated/google/apis/pagespeedonline_v4/representations.rb +0 -335
  447. data/generated/google/apis/pagespeedonline_v4/service.rb +0 -125
@@ -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 = '20200403'
28
+ REVISION = '20200613'
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'
@@ -27,7 +27,10 @@ module Google
27
27
  # hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-
28
28
  # resource-hierarchy),
29
29
  # a resource outside the Google Cloud resource hierarchy (such as Google
30
- # Kubernetes Engine clusters and objects), or a Cloud IAM policy.
30
+ # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
31
+ # See [Supported asset
32
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
33
+ # for more information.
31
34
  class Asset
32
35
  include Google::Apis::Core::Hashable
33
36
 
@@ -54,12 +57,12 @@ module Google
54
57
  # with the closest ancestor in the hierarchy and ends at root. If the asset
55
58
  # is a project, folder, or organization, the ancestry path starts from the
56
59
  # asset itself.
57
- # For example: `["projects/123456789", "folders/5432", "organizations/1234"]`
60
+ # Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
58
61
  # Corresponds to the JSON property `ancestors`
59
62
  # @return [Array<String>]
60
63
  attr_accessor :ancestors
61
64
 
62
- # The type of the asset. For example: "compute.googleapis.com/Disk"
65
+ # The type of the asset. Example: `compute.googleapis.com/Disk`
63
66
  # See [Supported asset
64
67
  # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
65
68
  # for more information.
@@ -74,10 +77,13 @@ module Google
74
77
  # Google groups, and domains (such as G Suite). A `role` is a named list of
75
78
  # permissions; each `role` can be an IAM predefined role or a user-created
76
79
  # custom role.
77
- # Optionally, a `binding` can specify a `condition`, which is a logical
78
- # expression that allows access to a resource only if the expression evaluates
79
- # to `true`. A condition can add constraints based on attributes of the
80
- # request, the resource, or both.
80
+ # For some types of Google Cloud resources, a `binding` can also specify a
81
+ # `condition`, which is a logical expression that allows access to a resource
82
+ # only if the expression evaluates to `true`. A condition can add constraints
83
+ # based on attributes of the request, the resource, or both. To learn which
84
+ # resources support conditions in their IAM policies, see the
85
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
86
+ # policies).
81
87
  # **JSON example:**
82
88
  # `
83
89
  # "bindings": [
@@ -92,7 +98,9 @@ module Google
92
98
  # `,
93
99
  # `
94
100
  # "role": "roles/resourcemanager.organizationViewer",
95
- # "members": ["user:eve@example.com"],
101
+ # "members": [
102
+ # "user:eve@example.com"
103
+ # ],
96
104
  # "condition": `
97
105
  # "title": "expirable access",
98
106
  # "description": "Does not grant access after Sep 2020",
@@ -127,9 +135,9 @@ module Google
127
135
  # @return [Google::Apis::CloudassetV1::Policy]
128
136
  attr_accessor :iam_policy
129
137
 
130
- # The full name of the asset. For example:
131
- # "//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/
132
- # instance1"
138
+ # The full name of the asset. Example:
139
+ # `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/
140
+ # instance1`
133
141
  # See [Resource
134
142
  # names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
135
143
  # for more information.
@@ -165,6 +173,12 @@ module Google
165
173
  # @return [Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter]
166
174
  attr_accessor :service_perimeter
167
175
 
176
+ # The last update timestamp of an asset. update_time is updated when
177
+ # create/update/delete operation is performed.
178
+ # Corresponds to the JSON property `updateTime`
179
+ # @return [String]
180
+ attr_accessor :update_time
181
+
168
182
  def initialize(**args)
169
183
  update!(**args)
170
184
  end
@@ -180,6 +194,7 @@ module Google
180
194
  @org_policy = args[:org_policy] if args.key?(:org_policy)
181
195
  @resource = args[:resource] if args.key?(:resource)
182
196
  @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
197
+ @update_time = args[:update_time] if args.key?(:update_time)
183
198
  end
184
199
  end
185
200
 
@@ -195,7 +210,7 @@ module Google
195
210
  # `
196
211
  # "audit_configs": [
197
212
  # `
198
- # "service": "allServices"
213
+ # "service": "allServices",
199
214
  # "audit_log_configs": [
200
215
  # `
201
216
  # "log_type": "DATA_READ",
@@ -204,18 +219,18 @@ module Google
204
219
  # ]
205
220
  # `,
206
221
  # `
207
- # "log_type": "DATA_WRITE",
222
+ # "log_type": "DATA_WRITE"
208
223
  # `,
209
224
  # `
210
- # "log_type": "ADMIN_READ",
225
+ # "log_type": "ADMIN_READ"
211
226
  # `
212
227
  # ]
213
228
  # `,
214
229
  # `
215
- # "service": "sampleservice.googleapis.com"
230
+ # "service": "sampleservice.googleapis.com",
216
231
  # "audit_log_configs": [
217
232
  # `
218
- # "log_type": "DATA_READ",
233
+ # "log_type": "DATA_READ"
219
234
  # `,
220
235
  # `
221
236
  # "log_type": "DATA_WRITE",
@@ -267,7 +282,7 @@ module Google
267
282
  # ]
268
283
  # `,
269
284
  # `
270
- # "log_type": "DATA_WRITE",
285
+ # "log_type": "DATA_WRITE"
271
286
  # `
272
287
  # ]
273
288
  # `
@@ -318,7 +333,7 @@ module Google
318
333
  end
319
334
  end
320
335
 
321
- # A BigQuery destination.
336
+ # A BigQuery destination for exporting assets to.
322
337
  class BigQueryDestination
323
338
  include Google::Apis::Core::Hashable
324
339
 
@@ -494,7 +509,7 @@ module Google
494
509
  class ExportAssetsRequest
495
510
  include Google::Apis::Core::Hashable
496
511
 
497
- # A list of asset types of which to take a snapshot for. For example:
512
+ # A list of asset types of which to take a snapshot for. Example:
498
513
  # "compute.googleapis.com/Disk". If specified, only matching assets will be
499
514
  # returned. See [Introduction to Cloud Asset
500
515
  # Inventory](https://cloud.google.com/asset-inventory/docs/overview)
@@ -609,8 +624,8 @@ module Google
609
624
 
610
625
  # A list of the full names of the assets to receive updates. You must specify
611
626
  # either or both of asset_names and asset_types. Only asset updates matching
612
- # specified asset_names and asset_types are exported to the feed. For
613
- # example:
627
+ # specified asset_names or asset_types are exported to the feed.
628
+ # Example:
614
629
  # `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/
615
630
  # instance1`.
616
631
  # See [Resource
@@ -622,8 +637,8 @@ module Google
622
637
 
623
638
  # A list of types of the assets to receive updates. You must specify either
624
639
  # or both of asset_names and asset_types. Only asset updates matching
625
- # specified asset_names and asset_types are exported to the feed.
626
- # For example: `"compute.googleapis.com/Disk"`
640
+ # specified asset_names or asset_types are exported to the feed.
641
+ # Example: `"compute.googleapis.com/Disk"`
627
642
  # See [this
628
643
  # topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
629
644
  # for a list of all supported asset types.
@@ -690,7 +705,7 @@ module Google
690
705
  include Google::Apis::Core::Hashable
691
706
 
692
707
  # The uri of the Cloud Storage object. It's the same uri that is used by
693
- # gsutil. For example: "gs://bucket_name/object_name". See [Viewing and
708
+ # gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
694
709
  # Editing Object
695
710
  # Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
696
711
  # for more information.
@@ -698,10 +713,10 @@ module Google
698
713
  # @return [String]
699
714
  attr_accessor :uri
700
715
 
701
- # The uri prefix of all generated Cloud Storage objects. For example:
716
+ # The uri prefix of all generated Cloud Storage objects. Example:
702
717
  # "gs://bucket_name/object_name_prefix". Each object uri is in format:
703
718
  # "gs://bucket_name/object_name_prefix/<asset type>/<shard number> and only
704
- # contains assets for that type. <shard number> starts from 0. For example:
719
+ # contains assets for that type. <shard number> starts from 0. Example:
705
720
  # "gs://bucket_name/object_name_prefix/compute.googleapis.com/Disk/0" is
706
721
  # the first shard of output objects containing all
707
722
  # compute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will be
@@ -822,7 +837,7 @@ module Google
822
837
  attr_accessor :denied_values
823
838
 
824
839
  # Determines the inheritance behavior for this `Policy`.
825
- # By default, a `ListPolicy` set at a resource supercedes any `Policy` set
840
+ # By default, a `ListPolicy` set at a resource supersedes any `Policy` set
826
841
  # anywhere up the resource hierarchy. However, if `inherit_from_parent` is
827
842
  # set to `true`, then the values from the effective `Policy` of the parent
828
843
  # resource are inherited, meaning the values set in this `Policy` are
@@ -946,6 +961,9 @@ module Google
946
961
 
947
962
  # The name of the `Constraint` the `Policy` is configuring, for example,
948
963
  # `constraints/serviceuser.services`.
964
+ # A [list of available
965
+ # constraints](/resource-manager/docs/organization-policy/org-policy-constraints)
966
+ # is available.
949
967
  # Immutable after creation.
950
968
  # Corresponds to the JSON property `constraint`
951
969
  # @return [String]
@@ -1657,7 +1675,7 @@ module Google
1657
1675
  class OutputConfig
1658
1676
  include Google::Apis::Core::Hashable
1659
1677
 
1660
- # A BigQuery destination.
1678
+ # A BigQuery destination for exporting assets to.
1661
1679
  # Corresponds to the JSON property `bigqueryDestination`
1662
1680
  # @return [Google::Apis::CloudassetV1::BigQueryDestination]
1663
1681
  attr_accessor :bigquery_destination
@@ -1685,10 +1703,13 @@ module Google
1685
1703
  # Google groups, and domains (such as G Suite). A `role` is a named list of
1686
1704
  # permissions; each `role` can be an IAM predefined role or a user-created
1687
1705
  # custom role.
1688
- # Optionally, a `binding` can specify a `condition`, which is a logical
1689
- # expression that allows access to a resource only if the expression evaluates
1690
- # to `true`. A condition can add constraints based on attributes of the
1691
- # request, the resource, or both.
1706
+ # For some types of Google Cloud resources, a `binding` can also specify a
1707
+ # `condition`, which is a logical expression that allows access to a resource
1708
+ # only if the expression evaluates to `true`. A condition can add constraints
1709
+ # based on attributes of the request, the resource, or both. To learn which
1710
+ # resources support conditions in their IAM policies, see the
1711
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1712
+ # policies).
1692
1713
  # **JSON example:**
1693
1714
  # `
1694
1715
  # "bindings": [
@@ -1703,7 +1724,9 @@ module Google
1703
1724
  # `,
1704
1725
  # `
1705
1726
  # "role": "roles/resourcemanager.organizationViewer",
1706
- # "members": ["user:eve@example.com"],
1727
+ # "members": [
1728
+ # "user:eve@example.com"
1729
+ # ],
1707
1730
  # "condition": `
1708
1731
  # "title": "expirable access",
1709
1732
  # "description": "Does not grant access after Sep 2020",
@@ -1781,6 +1804,9 @@ module Google
1781
1804
  # the conditions in the version `3` policy are lost.
1782
1805
  # If a policy does not include any conditions, operations on that policy may
1783
1806
  # specify any valid version or leave the field unset.
1807
+ # To learn which resources support conditions in their IAM policies, see the
1808
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1809
+ # policies).
1784
1810
  # Corresponds to the JSON property `version`
1785
1811
  # @return [Fixnum]
1786
1812
  attr_accessor :version
@@ -1803,7 +1829,7 @@ module Google
1803
1829
  include Google::Apis::Core::Hashable
1804
1830
 
1805
1831
  # The name of the Pub/Sub topic to publish to.
1806
- # For example: `projects/PROJECT_ID/topics/TOPIC_ID`.
1832
+ # Example: `projects/PROJECT_ID/topics/TOPIC_ID`.
1807
1833
  # Corresponds to the JSON property `topic`
1808
1834
  # @return [String]
1809
1835
  attr_accessor :topic
@@ -1829,22 +1855,28 @@ module Google
1829
1855
  attr_accessor :data
1830
1856
 
1831
1857
  # The URL of the discovery document containing the resource's JSON schema.
1832
- # For example:
1833
- # "https://www.googleapis.com/discovery/v1/apis/compute/v1/rest"
1858
+ # Example:
1859
+ # `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest`
1834
1860
  # This value is unspecified for resources that do not have an API based on a
1835
1861
  # discovery document, such as Cloud Bigtable.
1836
1862
  # Corresponds to the JSON property `discoveryDocumentUri`
1837
1863
  # @return [String]
1838
1864
  attr_accessor :discovery_document_uri
1839
1865
 
1840
- # The JSON schema name listed in the discovery document. For example:
1841
- # "Project"
1866
+ # The JSON schema name listed in the discovery document. Example:
1867
+ # `Project`
1842
1868
  # This value is unspecified for resources that do not have an API based on a
1843
1869
  # discovery document, such as Cloud Bigtable.
1844
1870
  # Corresponds to the JSON property `discoveryName`
1845
1871
  # @return [String]
1846
1872
  attr_accessor :discovery_name
1847
1873
 
1874
+ # The location of the resource in Google Cloud, such as its zone and region.
1875
+ # For more information, see https://cloud.google.com/about/locations/.
1876
+ # Corresponds to the JSON property `location`
1877
+ # @return [String]
1878
+ attr_accessor :location
1879
+
1848
1880
  # The full name of the immediate parent of this resource. See
1849
1881
  # [Resource
1850
1882
  # Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
@@ -1852,22 +1884,22 @@ module Google
1852
1884
  # For Google Cloud assets, this value is the parent resource defined in the
1853
1885
  # [Cloud IAM policy
1854
1886
  # hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).
1855
- # For example:
1856
- # "//cloudresourcemanager.googleapis.com/projects/my_project_123"
1887
+ # Example:
1888
+ # `//cloudresourcemanager.googleapis.com/projects/my_project_123`
1857
1889
  # For third-party assets, this field may be set differently.
1858
1890
  # Corresponds to the JSON property `parent`
1859
1891
  # @return [String]
1860
1892
  attr_accessor :parent
1861
1893
 
1862
1894
  # The REST URL for accessing the resource. An HTTP `GET` request using this
1863
- # URL returns the resource itself. For example:
1864
- # "https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123"
1895
+ # URL returns the resource itself. Example:
1896
+ # `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`
1865
1897
  # This value is unspecified for resources without a REST API.
1866
1898
  # Corresponds to the JSON property `resourceUrl`
1867
1899
  # @return [String]
1868
1900
  attr_accessor :resource_url
1869
1901
 
1870
- # The API version. For example: "v1"
1902
+ # The API version. Example: `v1`
1871
1903
  # Corresponds to the JSON property `version`
1872
1904
  # @return [String]
1873
1905
  attr_accessor :version
@@ -1881,6 +1913,7 @@ module Google
1881
1913
  @data = args[:data] if args.key?(:data)
1882
1914
  @discovery_document_uri = args[:discovery_document_uri] if args.key?(:discovery_document_uri)
1883
1915
  @discovery_name = args[:discovery_name] if args.key?(:discovery_name)
1916
+ @location = args[:location] if args.key?(:location)
1884
1917
  @parent = args[:parent] if args.key?(:parent)
1885
1918
  @resource_url = args[:resource_url] if args.key?(:resource_url)
1886
1919
  @version = args[:version] if args.key?(:version)
@@ -1936,7 +1969,10 @@ module Google
1936
1969
  # hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-
1937
1970
  # resource-hierarchy),
1938
1971
  # a resource outside the Google Cloud resource hierarchy (such as Google
1939
- # Kubernetes Engine clusters and objects), or a Cloud IAM policy.
1972
+ # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
1973
+ # See [Supported asset
1974
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
1975
+ # for more information.
1940
1976
  # Corresponds to the JSON property `asset`
1941
1977
  # @return [Google::Apis::CloudassetV1::Asset]
1942
1978
  attr_accessor :asset
@@ -1947,7 +1983,7 @@ module Google
1947
1983
  attr_accessor :deleted
1948
1984
  alias_method :deleted?, :deleted
1949
1985
 
1950
- # A time window specified by its "start_time" and "end_time".
1986
+ # A time window specified by its `start_time` and `end_time`.
1951
1987
  # Corresponds to the JSON property `window`
1952
1988
  # @return [Google::Apis::CloudassetV1::TimeWindow]
1953
1989
  attr_accessor :window
@@ -1964,7 +2000,7 @@ module Google
1964
2000
  end
1965
2001
  end
1966
2002
 
1967
- # A time window specified by its "start_time" and "end_time".
2003
+ # A time window specified by its `start_time` and `end_time`.
1968
2004
  class TimeWindow
1969
2005
  include Google::Apis::Core::Hashable
1970
2006
 
@@ -262,6 +262,7 @@ module Google
262
262
 
263
263
  property :service_perimeter, as: 'servicePerimeter', class: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter, decorator: Google::Apis::CloudassetV1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter::Representation
264
264
 
265
+ property :update_time, as: 'updateTime'
265
266
  end
266
267
  end
267
268
 
@@ -577,6 +578,7 @@ module Google
577
578
  hash :data, as: 'data'
578
579
  property :discovery_document_uri, as: 'discoveryDocumentUri'
579
580
  property :discovery_name, as: 'discoveryName'
581
+ property :location, as: 'location'
580
582
  property :parent, as: 'parent'
581
583
  property :resource_url, as: 'resourceUrl'
582
584
  property :version, as: 'version'
@@ -254,10 +254,10 @@ module Google
254
254
  end
255
255
 
256
256
  # Batch gets the update history of assets that overlap a time window.
257
- # For RESOURCE content, this API outputs history with asset in both
258
- # non-delete or deleted status.
259
257
  # For IAM_POLICY content, this API outputs history when the asset and its
260
258
  # attached IAM POLICY both exist. This can create gaps in the output history.
259
+ # Otherwise, this API outputs history with asset in both non-delete or
260
+ # deleted status.
261
261
  # If a specified asset does not exist, this API returns an INVALID_ARGUMENT
262
262
  # error.
263
263
  # @param [String] parent
@@ -265,14 +265,11 @@ module Google
265
265
  # organization number (such as "organizations/123"), a project ID (such as
266
266
  # "projects/my-project-id")", or a project number (such as "projects/12345").
267
267
  # @param [Array<String>, String] asset_names
268
- # A list of the full names of the assets. For example:
268
+ # A list of the full names of the assets.
269
+ # See: https://cloud.google.com/asset-inventory/docs/resource-name-format
270
+ # Example:
269
271
  # `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/
270
272
  # instance1`.
271
- # See [Resource
272
- # Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
273
- # and [Resource Name
274
- # Format](https://cloud.google.com/asset-inventory/docs/resource-name-format)
275
- # for more info.
276
273
  # The request becomes a no-op if the asset name list is empty, and the max
277
274
  # size of the asset name list is 100 in one request.
278
275
  # @param [String] content_type
@@ -314,9 +311,15 @@ module Google
314
311
  end
315
312
 
316
313
  # Exports assets with time and resource types to a given Cloud Storage
317
- # location. The output format is newline-delimited JSON.
318
- # This API implements the google.longrunning.Operation API allowing you
319
- # to keep track of the export.
314
+ # location/BigQuery table. For Cloud Storage location destinations, the
315
+ # output format is newline-delimited JSON. Each line represents a
316
+ # google.cloud.asset.v1.Asset in the JSON format; for BigQuery table
317
+ # destinations, the output table stores the fields in asset proto as columns.
318
+ # This API implements the google.longrunning.Operation API
319
+ # , which allows you to keep track of the export. We recommend intervals of
320
+ # at least 2 seconds with exponential retry to poll the export operation
321
+ # result. For regular-size resource parent, the export operation usually
322
+ # finishes within 5 minutes.
320
323
  # @param [String] parent
321
324
  # Required. The relative name of the root asset. This can only be an
322
325
  # organization number (such as "organizations/123"), a project ID (such as
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/asset-inventory/docs/quickstart
26
26
  module CloudassetV1beta1
27
27
  VERSION = 'V1beta1'
28
- REVISION = '20200221'
28
+ REVISION = '20200613'
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,12 +22,38 @@ module Google
22
22
  module Apis
23
23
  module CloudassetV1beta1
24
24
 
25
- # Cloud asset. This includes all Google Cloud Platform resources,
26
- # Cloud IAM policies, and other non-GCP assets.
25
+ # An asset in Google Cloud. An asset can be any resource in the Google Cloud
26
+ # [resource
27
+ # hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-
28
+ # resource-hierarchy),
29
+ # a resource outside the Google Cloud resource hierarchy (such as Google
30
+ # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
31
+ # See [Supported asset
32
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
33
+ # for more information.
27
34
  class Asset
28
35
  include Google::Apis::Core::Hashable
29
36
 
30
- # Type of the asset. Example: "google.compute.Disk".
37
+ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
38
+ # services, along with a list of requirements necessary for the label to be
39
+ # applied.
40
+ # Corresponds to the JSON property `accessLevel`
41
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1AccessLevel]
42
+ attr_accessor :access_level
43
+
44
+ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
45
+ # attributes to use Google Cloud services) and `ServicePerimeters` (which
46
+ # define regions of services able to freely pass data within a perimeter). An
47
+ # access policy is globally visible within an organization, and the
48
+ # restrictions it specifies apply to all projects within an organization.
49
+ # Corresponds to the JSON property `accessPolicy`
50
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1AccessPolicy]
51
+ attr_accessor :access_policy
52
+
53
+ # The type of the asset. Example: `compute.googleapis.com/Disk`
54
+ # See [Supported asset
55
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
56
+ # for more information.
31
57
  # Corresponds to the JSON property `assetType`
32
58
  # @return [String]
33
59
  attr_accessor :asset_type
@@ -39,10 +65,13 @@ module Google
39
65
  # Google groups, and domains (such as G Suite). A `role` is a named list of
40
66
  # permissions; each `role` can be an IAM predefined role or a user-created
41
67
  # custom role.
42
- # Optionally, a `binding` can specify a `condition`, which is a logical
43
- # expression that allows access to a resource only if the expression evaluates
44
- # to `true`. A condition can add constraints based on attributes of the
45
- # request, the resource, or both.
68
+ # For some types of Google Cloud resources, a `binding` can also specify a
69
+ # `condition`, which is a logical expression that allows access to a resource
70
+ # only if the expression evaluates to `true`. A condition can add constraints
71
+ # based on attributes of the request, the resource, or both. To learn which
72
+ # resources support conditions in their IAM policies, see the
73
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
74
+ # policies).
46
75
  # **JSON example:**
47
76
  # `
48
77
  # "bindings": [
@@ -57,7 +86,9 @@ module Google
57
86
  # `,
58
87
  # `
59
88
  # "role": "roles/resourcemanager.organizationViewer",
60
- # "members": ["user:eve@example.com"],
89
+ # "members": [
90
+ # "user:eve@example.com"
91
+ # ],
61
92
  # "condition": `
62
93
  # "title": "expirable access",
63
94
  # "description": "Does not grant access after Sep 2020",
@@ -92,31 +123,58 @@ module Google
92
123
  # @return [Google::Apis::CloudassetV1beta1::Policy]
93
124
  attr_accessor :iam_policy
94
125
 
95
- # The full name of the asset. For example:
126
+ # The full name of the asset. Example:
96
127
  # `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/
97
- # instance1`.
128
+ # instance1`
98
129
  # See [Resource
99
- # Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
130
+ # names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
100
131
  # for more information.
101
132
  # Corresponds to the JSON property `name`
102
133
  # @return [String]
103
134
  attr_accessor :name
104
135
 
105
- # Representation of a cloud resource.
136
+ # A representation of an [organization
137
+ # policy](https://cloud.google.com/resource-manager/docs/organization-policy/
138
+ # overview#organization_policy).
139
+ # There can be more than one organization policy with different constraints
140
+ # set on a given resource.
141
+ # Corresponds to the JSON property `orgPolicy`
142
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleCloudOrgpolicyV1Policy>]
143
+ attr_accessor :org_policy
144
+
145
+ # A representation of a Google Cloud resource.
106
146
  # Corresponds to the JSON property `resource`
107
147
  # @return [Google::Apis::CloudassetV1beta1::Resource]
108
148
  attr_accessor :resource
109
149
 
150
+ # `ServicePerimeter` describes a set of Google Cloud resources which can freely
151
+ # import and export data amongst themselves, but not export outside of the
152
+ # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
153
+ # has a target outside of the `ServicePerimeter`, the request will be blocked.
154
+ # Otherwise the request is allowed. There are two types of Service Perimeter -
155
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single
156
+ # Google Cloud project can only belong to a single regular Service Perimeter.
157
+ # Service Perimeter Bridges can contain only Google Cloud projects as members,
158
+ # a single Google Cloud project may belong to multiple Service Perimeter
159
+ # Bridges.
160
+ # Corresponds to the JSON property `servicePerimeter`
161
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ServicePerimeter]
162
+ attr_accessor :service_perimeter
163
+
110
164
  def initialize(**args)
111
165
  update!(**args)
112
166
  end
113
167
 
114
168
  # Update properties of this object
115
169
  def update!(**args)
170
+ @access_level = args[:access_level] if args.key?(:access_level)
171
+ @access_policy = args[:access_policy] if args.key?(:access_policy)
116
172
  @asset_type = args[:asset_type] if args.key?(:asset_type)
117
173
  @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
118
174
  @name = args[:name] if args.key?(:name)
175
+ @org_policy = args[:org_policy] if args.key?(:org_policy)
119
176
  @resource = args[:resource] if args.key?(:resource)
177
+ @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
120
178
  end
121
179
  end
122
180
 
@@ -132,7 +190,7 @@ module Google
132
190
  # `
133
191
  # "audit_configs": [
134
192
  # `
135
- # "service": "allServices"
193
+ # "service": "allServices",
136
194
  # "audit_log_configs": [
137
195
  # `
138
196
  # "log_type": "DATA_READ",
@@ -141,18 +199,18 @@ module Google
141
199
  # ]
142
200
  # `,
143
201
  # `
144
- # "log_type": "DATA_WRITE",
202
+ # "log_type": "DATA_WRITE"
145
203
  # `,
146
204
  # `
147
- # "log_type": "ADMIN_READ",
205
+ # "log_type": "ADMIN_READ"
148
206
  # `
149
207
  # ]
150
208
  # `,
151
209
  # `
152
- # "service": "sampleservice.googleapis.com"
210
+ # "service": "sampleservice.googleapis.com",
153
211
  # "audit_log_configs": [
154
212
  # `
155
- # "log_type": "DATA_READ",
213
+ # "log_type": "DATA_READ"
156
214
  # `,
157
215
  # `
158
216
  # "log_type": "DATA_WRITE",
@@ -204,7 +262,7 @@ module Google
204
262
  # ]
205
263
  # `,
206
264
  # `
207
- # "log_type": "DATA_WRITE",
265
+ # "log_type": "DATA_WRITE"
208
266
  # `
209
267
  # ]
210
268
  # `
@@ -484,6 +542,857 @@ module Google
484
542
  end
485
543
  end
486
544
 
545
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
546
+ # resource.
547
+ class GoogleCloudOrgpolicyV1BooleanPolicy
548
+ include Google::Apis::Core::Hashable
549
+
550
+ # If `true`, then the `Policy` is enforced. If `false`, then any
551
+ # configuration is acceptable.
552
+ # Suppose you have a `Constraint`
553
+ # `constraints/compute.disableSerialPortAccess` with `constraint_default`
554
+ # set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following
555
+ # behavior:
556
+ # - If the `Policy` at this resource has enforced set to `false`, serial
557
+ # port connection attempts will be allowed.
558
+ # - If the `Policy` at this resource has enforced set to `true`, serial
559
+ # port connection attempts will be refused.
560
+ # - If the `Policy` at this resource is `RestoreDefault`, serial port
561
+ # connection attempts will be allowed.
562
+ # - If no `Policy` is set at this resource or anywhere higher in the
563
+ # resource hierarchy, serial port connection attempts will be allowed.
564
+ # - If no `Policy` is set at this resource, but one exists higher in the
565
+ # resource hierarchy, the behavior is as if the`Policy` were set at
566
+ # this resource.
567
+ # The following examples demonstrate the different possible layerings:
568
+ # Example 1 (nearest `Constraint` wins):
569
+ # `organizations/foo` has a `Policy` with:
570
+ # `enforced: false`
571
+ # `projects/bar` has no `Policy` set.
572
+ # The constraint at `projects/bar` and `organizations/foo` will not be
573
+ # enforced.
574
+ # Example 2 (enforcement gets replaced):
575
+ # `organizations/foo` has a `Policy` with:
576
+ # `enforced: false`
577
+ # `projects/bar` has a `Policy` with:
578
+ # `enforced: true`
579
+ # The constraint at `organizations/foo` is not enforced.
580
+ # The constraint at `projects/bar` is enforced.
581
+ # Example 3 (RestoreDefault):
582
+ # `organizations/foo` has a `Policy` with:
583
+ # `enforced: true`
584
+ # `projects/bar` has a `Policy` with:
585
+ # `RestoreDefault: ```
586
+ # The constraint at `organizations/foo` is enforced.
587
+ # The constraint at `projects/bar` is not enforced, because
588
+ # `constraint_default` for the `Constraint` is `ALLOW`.
589
+ # Corresponds to the JSON property `enforced`
590
+ # @return [Boolean]
591
+ attr_accessor :enforced
592
+ alias_method :enforced?, :enforced
593
+
594
+ def initialize(**args)
595
+ update!(**args)
596
+ end
597
+
598
+ # Update properties of this object
599
+ def update!(**args)
600
+ @enforced = args[:enforced] if args.key?(:enforced)
601
+ end
602
+ end
603
+
604
+ # Used in `policy_type` to specify how `list_policy` behaves at this
605
+ # resource.
606
+ # `ListPolicy` can define specific values and subtrees of Cloud Resource
607
+ # Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that
608
+ # are allowed or denied by setting the `allowed_values` and `denied_values`
609
+ # fields. This is achieved by using the `under:` and optional `is:` prefixes.
610
+ # The `under:` prefix is used to denote resource subtree values.
611
+ # The `is:` prefix is used to denote specific values, and is required only
612
+ # if the value contains a ":". Values prefixed with "is:" are treated the
613
+ # same as values with no prefix.
614
+ # Ancestry subtrees must be in one of the following formats:
615
+ # - "projects/<project-id>", e.g. "projects/tokyo-rain-123"
616
+ # - "folders/<folder-id>", e.g. "folders/1234"
617
+ # - "organizations/<organization-id>", e.g. "organizations/1234"
618
+ # The `supports_under` field of the associated `Constraint` defines whether
619
+ # ancestry prefixes can be used. You can set `allowed_values` and
620
+ # `denied_values` in the same `Policy` if `all_values` is
621
+ # `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
622
+ # values. If `all_values` is set to either `ALLOW` or `DENY`,
623
+ # `allowed_values` and `denied_values` must be unset.
624
+ class GoogleCloudOrgpolicyV1ListPolicy
625
+ include Google::Apis::Core::Hashable
626
+
627
+ # The policy all_values state.
628
+ # Corresponds to the JSON property `allValues`
629
+ # @return [String]
630
+ attr_accessor :all_values
631
+
632
+ # List of values allowed at this resource. Can only be set if `all_values`
633
+ # is set to `ALL_VALUES_UNSPECIFIED`.
634
+ # Corresponds to the JSON property `allowedValues`
635
+ # @return [Array<String>]
636
+ attr_accessor :allowed_values
637
+
638
+ # List of values denied at this resource. Can only be set if `all_values`
639
+ # is set to `ALL_VALUES_UNSPECIFIED`.
640
+ # Corresponds to the JSON property `deniedValues`
641
+ # @return [Array<String>]
642
+ attr_accessor :denied_values
643
+
644
+ # Determines the inheritance behavior for this `Policy`.
645
+ # By default, a `ListPolicy` set at a resource supersedes any `Policy` set
646
+ # anywhere up the resource hierarchy. However, if `inherit_from_parent` is
647
+ # set to `true`, then the values from the effective `Policy` of the parent
648
+ # resource are inherited, meaning the values set in this `Policy` are
649
+ # added to the values inherited up the hierarchy.
650
+ # Setting `Policy` hierarchies that inherit both allowed values and denied
651
+ # values isn't recommended in most circumstances to keep the configuration
652
+ # simple and understandable. However, it is possible to set a `Policy` with
653
+ # `allowed_values` set that inherits a `Policy` with `denied_values` set.
654
+ # In this case, the values that are allowed must be in `allowed_values` and
655
+ # not present in `denied_values`.
656
+ # For example, suppose you have a `Constraint`
657
+ # `constraints/serviceuser.services`, which has a `constraint_type` of
658
+ # `list_constraint`, and with `constraint_default` set to `ALLOW`.
659
+ # Suppose that at the Organization level, a `Policy` is applied that
660
+ # restricts the allowed API activations to ``E1`, `E2``. Then, if a
661
+ # `Policy` is applied to a project below the Organization that has
662
+ # `inherit_from_parent` set to `false` and field all_values set to DENY,
663
+ # then an attempt to activate any API will be denied.
664
+ # The following examples demonstrate different possible layerings for
665
+ # `projects/bar` parented by `organizations/foo`:
666
+ # Example 1 (no inherited values):
667
+ # `organizations/foo` has a `Policy` with values:
668
+ # `allowed_values: "E1" allowed_values:"E2"`
669
+ # `projects/bar` has `inherit_from_parent` `false` and values:
670
+ # `allowed_values: "E3" allowed_values: "E4"`
671
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
672
+ # The accepted values at `projects/bar` are `E3`, and `E4`.
673
+ # Example 2 (inherited values):
674
+ # `organizations/foo` has a `Policy` with values:
675
+ # `allowed_values: "E1" allowed_values:"E2"`
676
+ # `projects/bar` has a `Policy` with values:
677
+ # `value: "E3" value: "E4" inherit_from_parent: true`
678
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
679
+ # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
680
+ # Example 3 (inheriting both allowed and denied values):
681
+ # `organizations/foo` has a `Policy` with values:
682
+ # `allowed_values: "E1" allowed_values: "E2"`
683
+ # `projects/bar` has a `Policy` with:
684
+ # `denied_values: "E1"`
685
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
686
+ # The value accepted at `projects/bar` is `E2`.
687
+ # Example 4 (RestoreDefault):
688
+ # `organizations/foo` has a `Policy` with values:
689
+ # `allowed_values: "E1" allowed_values:"E2"`
690
+ # `projects/bar` has a `Policy` with values:
691
+ # `RestoreDefault: ```
692
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
693
+ # The accepted values at `projects/bar` are either all or none depending on
694
+ # the value of `constraint_default` (if `ALLOW`, all; if
695
+ # `DENY`, none).
696
+ # Example 5 (no policy inherits parent policy):
697
+ # `organizations/foo` has no `Policy` set.
698
+ # `projects/bar` has no `Policy` set.
699
+ # The accepted values at both levels are either all or none depending on
700
+ # the value of `constraint_default` (if `ALLOW`, all; if
701
+ # `DENY`, none).
702
+ # Example 6 (ListConstraint allowing all):
703
+ # `organizations/foo` has a `Policy` with values:
704
+ # `allowed_values: "E1" allowed_values: "E2"`
705
+ # `projects/bar` has a `Policy` with:
706
+ # `all: ALLOW`
707
+ # The accepted values at `organizations/foo` are `E1`, E2`.
708
+ # Any value is accepted at `projects/bar`.
709
+ # Example 7 (ListConstraint allowing none):
710
+ # `organizations/foo` has a `Policy` with values:
711
+ # `allowed_values: "E1" allowed_values: "E2"`
712
+ # `projects/bar` has a `Policy` with:
713
+ # `all: DENY`
714
+ # The accepted values at `organizations/foo` are `E1`, E2`.
715
+ # No value is accepted at `projects/bar`.
716
+ # Example 10 (allowed and denied subtrees of Resource Manager hierarchy):
717
+ # Given the following resource hierarchy
718
+ # O1->`F1, F2`; F1->`P1`; F2->`P2, P3`,
719
+ # `organizations/foo` has a `Policy` with values:
720
+ # `allowed_values: "under:organizations/O1"`
721
+ # `projects/bar` has a `Policy` with:
722
+ # `allowed_values: "under:projects/P3"`
723
+ # `denied_values: "under:folders/F2"`
724
+ # The accepted values at `organizations/foo` are `organizations/O1`,
725
+ # `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,
726
+ # `projects/P3`.
727
+ # The accepted values at `projects/bar` are `organizations/O1`,
728
+ # `folders/F1`, `projects/P1`.
729
+ # Corresponds to the JSON property `inheritFromParent`
730
+ # @return [Boolean]
731
+ attr_accessor :inherit_from_parent
732
+ alias_method :inherit_from_parent?, :inherit_from_parent
733
+
734
+ # Optional. The Google Cloud Console will try to default to a configuration
735
+ # that matches the value specified in this `Policy`. If `suggested_value`
736
+ # is not set, it will inherit the value specified higher in the hierarchy,
737
+ # unless `inherit_from_parent` is `false`.
738
+ # Corresponds to the JSON property `suggestedValue`
739
+ # @return [String]
740
+ attr_accessor :suggested_value
741
+
742
+ def initialize(**args)
743
+ update!(**args)
744
+ end
745
+
746
+ # Update properties of this object
747
+ def update!(**args)
748
+ @all_values = args[:all_values] if args.key?(:all_values)
749
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
750
+ @denied_values = args[:denied_values] if args.key?(:denied_values)
751
+ @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent)
752
+ @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
753
+ end
754
+ end
755
+
756
+ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
757
+ # for configurations of Cloud Platform resources.
758
+ class GoogleCloudOrgpolicyV1Policy
759
+ include Google::Apis::Core::Hashable
760
+
761
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
762
+ # resource.
763
+ # Corresponds to the JSON property `booleanPolicy`
764
+ # @return [Google::Apis::CloudassetV1beta1::GoogleCloudOrgpolicyV1BooleanPolicy]
765
+ attr_accessor :boolean_policy
766
+
767
+ # The name of the `Constraint` the `Policy` is configuring, for example,
768
+ # `constraints/serviceuser.services`.
769
+ # A [list of available
770
+ # constraints](/resource-manager/docs/organization-policy/org-policy-constraints)
771
+ # is available.
772
+ # Immutable after creation.
773
+ # Corresponds to the JSON property `constraint`
774
+ # @return [String]
775
+ attr_accessor :constraint
776
+
777
+ # An opaque tag indicating the current version of the `Policy`, used for
778
+ # concurrency control.
779
+ # When the `Policy` is returned from either a `GetPolicy` or a
780
+ # `ListOrgPolicy` request, this `etag` indicates the version of the current
781
+ # `Policy` to use when executing a read-modify-write loop.
782
+ # When the `Policy` is returned from a `GetEffectivePolicy` request, the
783
+ # `etag` will be unset.
784
+ # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
785
+ # that was returned from a `GetOrgPolicy` request as part of a
786
+ # read-modify-write loop for concurrency control. Not setting the `etag`in a
787
+ # `SetOrgPolicy` request will result in an unconditional write of the
788
+ # `Policy`.
789
+ # Corresponds to the JSON property `etag`
790
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
791
+ # @return [String]
792
+ attr_accessor :etag
793
+
794
+ # Used in `policy_type` to specify how `list_policy` behaves at this
795
+ # resource.
796
+ # `ListPolicy` can define specific values and subtrees of Cloud Resource
797
+ # Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that
798
+ # are allowed or denied by setting the `allowed_values` and `denied_values`
799
+ # fields. This is achieved by using the `under:` and optional `is:` prefixes.
800
+ # The `under:` prefix is used to denote resource subtree values.
801
+ # The `is:` prefix is used to denote specific values, and is required only
802
+ # if the value contains a ":". Values prefixed with "is:" are treated the
803
+ # same as values with no prefix.
804
+ # Ancestry subtrees must be in one of the following formats:
805
+ # - "projects/<project-id>", e.g. "projects/tokyo-rain-123"
806
+ # - "folders/<folder-id>", e.g. "folders/1234"
807
+ # - "organizations/<organization-id>", e.g. "organizations/1234"
808
+ # The `supports_under` field of the associated `Constraint` defines whether
809
+ # ancestry prefixes can be used. You can set `allowed_values` and
810
+ # `denied_values` in the same `Policy` if `all_values` is
811
+ # `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
812
+ # values. If `all_values` is set to either `ALLOW` or `DENY`,
813
+ # `allowed_values` and `denied_values` must be unset.
814
+ # Corresponds to the JSON property `listPolicy`
815
+ # @return [Google::Apis::CloudassetV1beta1::GoogleCloudOrgpolicyV1ListPolicy]
816
+ attr_accessor :list_policy
817
+
818
+ # Ignores policies set above this resource and restores the
819
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
820
+ # this resource.
821
+ # Suppose that `constraint_default` is set to `ALLOW` for the
822
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
823
+ # foo.com sets a `Policy` at their Organization resource node that restricts
824
+ # the allowed service activations to deny all service activations. They
825
+ # could then set a `Policy` with the `policy_type` `restore_default` on
826
+ # several experimental projects, restoring the `constraint_default`
827
+ # enforcement of the `Constraint` for only those projects, allowing those
828
+ # projects to have all services activated.
829
+ # Corresponds to the JSON property `restoreDefault`
830
+ # @return [Google::Apis::CloudassetV1beta1::GoogleCloudOrgpolicyV1RestoreDefault]
831
+ attr_accessor :restore_default
832
+
833
+ # The time stamp the `Policy` was previously updated. This is set by the
834
+ # server, not specified by the caller, and represents the last time a call to
835
+ # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
836
+ # be ignored.
837
+ # Corresponds to the JSON property `updateTime`
838
+ # @return [String]
839
+ attr_accessor :update_time
840
+
841
+ # Version of the `Policy`. Default version is 0;
842
+ # Corresponds to the JSON property `version`
843
+ # @return [Fixnum]
844
+ attr_accessor :version
845
+
846
+ def initialize(**args)
847
+ update!(**args)
848
+ end
849
+
850
+ # Update properties of this object
851
+ def update!(**args)
852
+ @boolean_policy = args[:boolean_policy] if args.key?(:boolean_policy)
853
+ @constraint = args[:constraint] if args.key?(:constraint)
854
+ @etag = args[:etag] if args.key?(:etag)
855
+ @list_policy = args[:list_policy] if args.key?(:list_policy)
856
+ @restore_default = args[:restore_default] if args.key?(:restore_default)
857
+ @update_time = args[:update_time] if args.key?(:update_time)
858
+ @version = args[:version] if args.key?(:version)
859
+ end
860
+ end
861
+
862
+ # Ignores policies set above this resource and restores the
863
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
864
+ # this resource.
865
+ # Suppose that `constraint_default` is set to `ALLOW` for the
866
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
867
+ # foo.com sets a `Policy` at their Organization resource node that restricts
868
+ # the allowed service activations to deny all service activations. They
869
+ # could then set a `Policy` with the `policy_type` `restore_default` on
870
+ # several experimental projects, restoring the `constraint_default`
871
+ # enforcement of the `Constraint` for only those projects, allowing those
872
+ # projects to have all services activated.
873
+ class GoogleCloudOrgpolicyV1RestoreDefault
874
+ include Google::Apis::Core::Hashable
875
+
876
+ def initialize(**args)
877
+ update!(**args)
878
+ end
879
+
880
+ # Update properties of this object
881
+ def update!(**args)
882
+ end
883
+ end
884
+
885
+ # An `AccessLevel` is a label that can be applied to requests to Google Cloud
886
+ # services, along with a list of requirements necessary for the label to be
887
+ # applied.
888
+ class GoogleIdentityAccesscontextmanagerV1AccessLevel
889
+ include Google::Apis::Core::Hashable
890
+
891
+ # `BasicLevel` is an `AccessLevel` using a set of recommended features.
892
+ # Corresponds to the JSON property `basic`
893
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1BasicLevel]
894
+ attr_accessor :basic
895
+
896
+ # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language
897
+ # to represent the necessary conditions for the level to apply to a request.
898
+ # See CEL spec at: https://github.com/google/cel-spec
899
+ # Corresponds to the JSON property `custom`
900
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1CustomLevel]
901
+ attr_accessor :custom
902
+
903
+ # Description of the `AccessLevel` and its use. Does not affect behavior.
904
+ # Corresponds to the JSON property `description`
905
+ # @return [String]
906
+ attr_accessor :description
907
+
908
+ # Required. Resource name for the Access Level. The `short_name` component
909
+ # must begin with a letter and only include alphanumeric and '_'. Format:
910
+ # `accessPolicies/`policy_id`/accessLevels/`short_name``. The maximum length
911
+ # of the `short_name` component is 50 characters.
912
+ # Corresponds to the JSON property `name`
913
+ # @return [String]
914
+ attr_accessor :name
915
+
916
+ # Human readable title. Must be unique within the Policy.
917
+ # Corresponds to the JSON property `title`
918
+ # @return [String]
919
+ attr_accessor :title
920
+
921
+ def initialize(**args)
922
+ update!(**args)
923
+ end
924
+
925
+ # Update properties of this object
926
+ def update!(**args)
927
+ @basic = args[:basic] if args.key?(:basic)
928
+ @custom = args[:custom] if args.key?(:custom)
929
+ @description = args[:description] if args.key?(:description)
930
+ @name = args[:name] if args.key?(:name)
931
+ @title = args[:title] if args.key?(:title)
932
+ end
933
+ end
934
+
935
+ # `AccessPolicy` is a container for `AccessLevels` (which define the necessary
936
+ # attributes to use Google Cloud services) and `ServicePerimeters` (which
937
+ # define regions of services able to freely pass data within a perimeter). An
938
+ # access policy is globally visible within an organization, and the
939
+ # restrictions it specifies apply to all projects within an organization.
940
+ class GoogleIdentityAccesscontextmanagerV1AccessPolicy
941
+ include Google::Apis::Core::Hashable
942
+
943
+ # Output only. An opaque identifier for the current version of the
944
+ # `AccessPolicy`. This will always be a strongly validated etag, meaning that
945
+ # two Access Polices will be identical if and only if their etags are
946
+ # identical. Clients should not expect this to be in any specific format.
947
+ # Corresponds to the JSON property `etag`
948
+ # @return [String]
949
+ attr_accessor :etag
950
+
951
+ # Output only. Resource name of the `AccessPolicy`. Format:
952
+ # `accessPolicies/`policy_id``
953
+ # Corresponds to the JSON property `name`
954
+ # @return [String]
955
+ attr_accessor :name
956
+
957
+ # Required. The parent of this `AccessPolicy` in the Cloud Resource
958
+ # Hierarchy. Currently immutable once created. Format:
959
+ # `organizations/`organization_id``
960
+ # Corresponds to the JSON property `parent`
961
+ # @return [String]
962
+ attr_accessor :parent
963
+
964
+ # Required. Human readable title. Does not affect behavior.
965
+ # Corresponds to the JSON property `title`
966
+ # @return [String]
967
+ attr_accessor :title
968
+
969
+ def initialize(**args)
970
+ update!(**args)
971
+ end
972
+
973
+ # Update properties of this object
974
+ def update!(**args)
975
+ @etag = args[:etag] if args.key?(:etag)
976
+ @name = args[:name] if args.key?(:name)
977
+ @parent = args[:parent] if args.key?(:parent)
978
+ @title = args[:title] if args.key?(:title)
979
+ end
980
+ end
981
+
982
+ # `BasicLevel` is an `AccessLevel` using a set of recommended features.
983
+ class GoogleIdentityAccesscontextmanagerV1BasicLevel
984
+ include Google::Apis::Core::Hashable
985
+
986
+ # How the `conditions` list should be combined to determine if a request is
987
+ # granted this `AccessLevel`. If AND is used, each `Condition` in
988
+ # `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
989
+ # is used, at least one `Condition` in `conditions` must be satisfied for the
990
+ # `AccessLevel` to be applied. Default behavior is AND.
991
+ # Corresponds to the JSON property `combiningFunction`
992
+ # @return [String]
993
+ attr_accessor :combining_function
994
+
995
+ # Required. A list of requirements for the `AccessLevel` to be granted.
996
+ # Corresponds to the JSON property `conditions`
997
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1Condition>]
998
+ attr_accessor :conditions
999
+
1000
+ def initialize(**args)
1001
+ update!(**args)
1002
+ end
1003
+
1004
+ # Update properties of this object
1005
+ def update!(**args)
1006
+ @combining_function = args[:combining_function] if args.key?(:combining_function)
1007
+ @conditions = args[:conditions] if args.key?(:conditions)
1008
+ end
1009
+ end
1010
+
1011
+ # A condition necessary for an `AccessLevel` to be granted. The Condition is an
1012
+ # AND over its fields. So a Condition is true if: 1) the request IP is from one
1013
+ # of the listed subnetworks AND 2) the originating device complies with the
1014
+ # listed device policy AND 3) all listed access levels are granted AND 4) the
1015
+ # request was sent at a time allowed by the DateTimeRestriction.
1016
+ class GoogleIdentityAccesscontextmanagerV1Condition
1017
+ include Google::Apis::Core::Hashable
1018
+
1019
+ # `DevicePolicy` specifies device specific restrictions necessary to acquire a
1020
+ # given access level. A `DevicePolicy` specifies requirements for requests from
1021
+ # devices to be granted access levels, it does not do any enforcement on the
1022
+ # device. `DevicePolicy` acts as an AND over all specified fields, and each
1023
+ # repeated field is an OR over its elements. Any unset fields are ignored. For
1024
+ # example, if the proto is ` os_type : DESKTOP_WINDOWS, os_type :
1025
+ # DESKTOP_LINUX, encryption_status: ENCRYPTED`, then the DevicePolicy will be
1026
+ # true for requests originating from encrypted Linux desktops and encrypted
1027
+ # Windows desktops.
1028
+ # Corresponds to the JSON property `devicePolicy`
1029
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1DevicePolicy]
1030
+ attr_accessor :device_policy
1031
+
1032
+ # CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
1033
+ # a CIDR IP address block, the specified IP address portion must be properly
1034
+ # truncated (i.e. all the host bits must be zero) or the input is considered
1035
+ # malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
1036
+ # not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
1037
+ # "2001:db8::1/32" is not. The originating IP of a request must be in one of
1038
+ # the listed subnets in order for this Condition to be true. If empty, all IP
1039
+ # addresses are allowed.
1040
+ # Corresponds to the JSON property `ipSubnetworks`
1041
+ # @return [Array<String>]
1042
+ attr_accessor :ip_subnetworks
1043
+
1044
+ # The request must be made by one of the provided user or service
1045
+ # accounts. Groups are not supported.
1046
+ # Syntax:
1047
+ # `user:`emailid``
1048
+ # `serviceAccount:`emailid``
1049
+ # If not specified, a request may come from any user.
1050
+ # Corresponds to the JSON property `members`
1051
+ # @return [Array<String>]
1052
+ attr_accessor :members
1053
+
1054
+ # Whether to negate the Condition. If true, the Condition becomes a NAND over
1055
+ # its non-empty fields, each field must be false for the Condition overall to
1056
+ # be satisfied. Defaults to false.
1057
+ # Corresponds to the JSON property `negate`
1058
+ # @return [Boolean]
1059
+ attr_accessor :negate
1060
+ alias_method :negate?, :negate
1061
+
1062
+ # The request must originate from one of the provided countries/regions.
1063
+ # Must be valid ISO 3166-1 alpha-2 codes.
1064
+ # Corresponds to the JSON property `regions`
1065
+ # @return [Array<String>]
1066
+ attr_accessor :regions
1067
+
1068
+ # A list of other access levels defined in the same `Policy`, referenced by
1069
+ # resource name. Referencing an `AccessLevel` which does not exist is an
1070
+ # error. All access levels listed must be granted for the Condition
1071
+ # to be true. Example:
1072
+ # "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
1073
+ # Corresponds to the JSON property `requiredAccessLevels`
1074
+ # @return [Array<String>]
1075
+ attr_accessor :required_access_levels
1076
+
1077
+ def initialize(**args)
1078
+ update!(**args)
1079
+ end
1080
+
1081
+ # Update properties of this object
1082
+ def update!(**args)
1083
+ @device_policy = args[:device_policy] if args.key?(:device_policy)
1084
+ @ip_subnetworks = args[:ip_subnetworks] if args.key?(:ip_subnetworks)
1085
+ @members = args[:members] if args.key?(:members)
1086
+ @negate = args[:negate] if args.key?(:negate)
1087
+ @regions = args[:regions] if args.key?(:regions)
1088
+ @required_access_levels = args[:required_access_levels] if args.key?(:required_access_levels)
1089
+ end
1090
+ end
1091
+
1092
+ # `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language
1093
+ # to represent the necessary conditions for the level to apply to a request.
1094
+ # See CEL spec at: https://github.com/google/cel-spec
1095
+ class GoogleIdentityAccesscontextmanagerV1CustomLevel
1096
+ include Google::Apis::Core::Hashable
1097
+
1098
+ # Represents a textual expression in the Common Expression Language (CEL)
1099
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1100
+ # are documented at https://github.com/google/cel-spec.
1101
+ # Example (Comparison):
1102
+ # title: "Summary size limit"
1103
+ # description: "Determines if a summary is less than 100 chars"
1104
+ # expression: "document.summary.size() < 100"
1105
+ # Example (Equality):
1106
+ # title: "Requestor is owner"
1107
+ # description: "Determines if requestor is the document owner"
1108
+ # expression: "document.owner == request.auth.claims.email"
1109
+ # Example (Logic):
1110
+ # title: "Public documents"
1111
+ # description: "Determine whether the document should be publicly visible"
1112
+ # expression: "document.type != 'private' && document.type != 'internal'"
1113
+ # Example (Data Manipulation):
1114
+ # title: "Notification string"
1115
+ # description: "Create a notification string with a timestamp."
1116
+ # expression: "'New message received at ' + string(document.create_time)"
1117
+ # The exact variables and functions that may be referenced within an expression
1118
+ # are determined by the service that evaluates it. See the service
1119
+ # documentation for additional information.
1120
+ # Corresponds to the JSON property `expr`
1121
+ # @return [Google::Apis::CloudassetV1beta1::Expr]
1122
+ attr_accessor :expr
1123
+
1124
+ def initialize(**args)
1125
+ update!(**args)
1126
+ end
1127
+
1128
+ # Update properties of this object
1129
+ def update!(**args)
1130
+ @expr = args[:expr] if args.key?(:expr)
1131
+ end
1132
+ end
1133
+
1134
+ # `DevicePolicy` specifies device specific restrictions necessary to acquire a
1135
+ # given access level. A `DevicePolicy` specifies requirements for requests from
1136
+ # devices to be granted access levels, it does not do any enforcement on the
1137
+ # device. `DevicePolicy` acts as an AND over all specified fields, and each
1138
+ # repeated field is an OR over its elements. Any unset fields are ignored. For
1139
+ # example, if the proto is ` os_type : DESKTOP_WINDOWS, os_type :
1140
+ # DESKTOP_LINUX, encryption_status: ENCRYPTED`, then the DevicePolicy will be
1141
+ # true for requests originating from encrypted Linux desktops and encrypted
1142
+ # Windows desktops.
1143
+ class GoogleIdentityAccesscontextmanagerV1DevicePolicy
1144
+ include Google::Apis::Core::Hashable
1145
+
1146
+ # Allowed device management levels, an empty list allows all management
1147
+ # levels.
1148
+ # Corresponds to the JSON property `allowedDeviceManagementLevels`
1149
+ # @return [Array<String>]
1150
+ attr_accessor :allowed_device_management_levels
1151
+
1152
+ # Allowed encryptions statuses, an empty list allows all statuses.
1153
+ # Corresponds to the JSON property `allowedEncryptionStatuses`
1154
+ # @return [Array<String>]
1155
+ attr_accessor :allowed_encryption_statuses
1156
+
1157
+ # Allowed OS versions, an empty list allows all types and all versions.
1158
+ # Corresponds to the JSON property `osConstraints`
1159
+ # @return [Array<Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1OsConstraint>]
1160
+ attr_accessor :os_constraints
1161
+
1162
+ # Whether the device needs to be approved by the customer admin.
1163
+ # Corresponds to the JSON property `requireAdminApproval`
1164
+ # @return [Boolean]
1165
+ attr_accessor :require_admin_approval
1166
+ alias_method :require_admin_approval?, :require_admin_approval
1167
+
1168
+ # Whether the device needs to be corp owned.
1169
+ # Corresponds to the JSON property `requireCorpOwned`
1170
+ # @return [Boolean]
1171
+ attr_accessor :require_corp_owned
1172
+ alias_method :require_corp_owned?, :require_corp_owned
1173
+
1174
+ # Whether or not screenlock is required for the DevicePolicy to be true.
1175
+ # Defaults to `false`.
1176
+ # Corresponds to the JSON property `requireScreenlock`
1177
+ # @return [Boolean]
1178
+ attr_accessor :require_screenlock
1179
+ alias_method :require_screenlock?, :require_screenlock
1180
+
1181
+ def initialize(**args)
1182
+ update!(**args)
1183
+ end
1184
+
1185
+ # Update properties of this object
1186
+ def update!(**args)
1187
+ @allowed_device_management_levels = args[:allowed_device_management_levels] if args.key?(:allowed_device_management_levels)
1188
+ @allowed_encryption_statuses = args[:allowed_encryption_statuses] if args.key?(:allowed_encryption_statuses)
1189
+ @os_constraints = args[:os_constraints] if args.key?(:os_constraints)
1190
+ @require_admin_approval = args[:require_admin_approval] if args.key?(:require_admin_approval)
1191
+ @require_corp_owned = args[:require_corp_owned] if args.key?(:require_corp_owned)
1192
+ @require_screenlock = args[:require_screenlock] if args.key?(:require_screenlock)
1193
+ end
1194
+ end
1195
+
1196
+ # A restriction on the OS type and version of devices making requests.
1197
+ class GoogleIdentityAccesscontextmanagerV1OsConstraint
1198
+ include Google::Apis::Core::Hashable
1199
+
1200
+ # The minimum allowed OS version. If not set, any version of this OS
1201
+ # satisfies the constraint. Format: `"major.minor.patch"`.
1202
+ # Examples: `"10.5.301"`, `"9.2.1"`.
1203
+ # Corresponds to the JSON property `minimumVersion`
1204
+ # @return [String]
1205
+ attr_accessor :minimum_version
1206
+
1207
+ # Required. The allowed OS type.
1208
+ # Corresponds to the JSON property `osType`
1209
+ # @return [String]
1210
+ attr_accessor :os_type
1211
+
1212
+ # Only allows requests from devices with a verified Chrome OS.
1213
+ # Verifications includes requirements that the device is enterprise-managed,
1214
+ # conformant to domain policies, and the caller has permission to call
1215
+ # the API targeted by the request.
1216
+ # Corresponds to the JSON property `requireVerifiedChromeOs`
1217
+ # @return [Boolean]
1218
+ attr_accessor :require_verified_chrome_os
1219
+ alias_method :require_verified_chrome_os?, :require_verified_chrome_os
1220
+
1221
+ def initialize(**args)
1222
+ update!(**args)
1223
+ end
1224
+
1225
+ # Update properties of this object
1226
+ def update!(**args)
1227
+ @minimum_version = args[:minimum_version] if args.key?(:minimum_version)
1228
+ @os_type = args[:os_type] if args.key?(:os_type)
1229
+ @require_verified_chrome_os = args[:require_verified_chrome_os] if args.key?(:require_verified_chrome_os)
1230
+ end
1231
+ end
1232
+
1233
+ # `ServicePerimeter` describes a set of Google Cloud resources which can freely
1234
+ # import and export data amongst themselves, but not export outside of the
1235
+ # `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
1236
+ # has a target outside of the `ServicePerimeter`, the request will be blocked.
1237
+ # Otherwise the request is allowed. There are two types of Service Perimeter -
1238
+ # Regular and Bridge. Regular Service Perimeters cannot overlap, a single
1239
+ # Google Cloud project can only belong to a single regular Service Perimeter.
1240
+ # Service Perimeter Bridges can contain only Google Cloud projects as members,
1241
+ # a single Google Cloud project may belong to multiple Service Perimeter
1242
+ # Bridges.
1243
+ class GoogleIdentityAccesscontextmanagerV1ServicePerimeter
1244
+ include Google::Apis::Core::Hashable
1245
+
1246
+ # Description of the `ServicePerimeter` and its use. Does not affect
1247
+ # behavior.
1248
+ # Corresponds to the JSON property `description`
1249
+ # @return [String]
1250
+ attr_accessor :description
1251
+
1252
+ # Required. Resource name for the ServicePerimeter. The `short_name`
1253
+ # component must begin with a letter and only include alphanumeric and '_'.
1254
+ # Format: `accessPolicies/`policy_id`/servicePerimeters/`short_name``
1255
+ # Corresponds to the JSON property `name`
1256
+ # @return [String]
1257
+ attr_accessor :name
1258
+
1259
+ # Perimeter type indicator. A single project is
1260
+ # allowed to be a member of single regular perimeter, but multiple service
1261
+ # perimeter bridges. A project cannot be a included in a perimeter bridge
1262
+ # without being included in regular perimeter. For perimeter bridges,
1263
+ # the restricted service list as well as access level lists must be
1264
+ # empty.
1265
+ # Corresponds to the JSON property `perimeterType`
1266
+ # @return [String]
1267
+ attr_accessor :perimeter_type
1268
+
1269
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
1270
+ # describe specific Service Perimeter configuration.
1271
+ # Corresponds to the JSON property `spec`
1272
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig]
1273
+ attr_accessor :spec
1274
+
1275
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
1276
+ # describe specific Service Perimeter configuration.
1277
+ # Corresponds to the JSON property `status`
1278
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig]
1279
+ attr_accessor :status
1280
+
1281
+ # Human readable title. Must be unique within the Policy.
1282
+ # Corresponds to the JSON property `title`
1283
+ # @return [String]
1284
+ attr_accessor :title
1285
+
1286
+ # Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly
1287
+ # exists for all Service Perimeters, and that spec is identical to the
1288
+ # status for those Service Perimeters. When this flag is set, it inhibits the
1289
+ # generation of the implicit spec, thereby allowing the user to explicitly
1290
+ # provide a configuration ("spec") to use in a dry-run version of the Service
1291
+ # Perimeter. This allows the user to test changes to the enforced config
1292
+ # ("status") without actually enforcing them. This testing is done through
1293
+ # analyzing the differences between currently enforced and suggested
1294
+ # restrictions. use_explicit_dry_run_spec must bet set to True if any of the
1295
+ # fields in the spec are set to non-default values.
1296
+ # Corresponds to the JSON property `useExplicitDryRunSpec`
1297
+ # @return [Boolean]
1298
+ attr_accessor :use_explicit_dry_run_spec
1299
+ alias_method :use_explicit_dry_run_spec?, :use_explicit_dry_run_spec
1300
+
1301
+ def initialize(**args)
1302
+ update!(**args)
1303
+ end
1304
+
1305
+ # Update properties of this object
1306
+ def update!(**args)
1307
+ @description = args[:description] if args.key?(:description)
1308
+ @name = args[:name] if args.key?(:name)
1309
+ @perimeter_type = args[:perimeter_type] if args.key?(:perimeter_type)
1310
+ @spec = args[:spec] if args.key?(:spec)
1311
+ @status = args[:status] if args.key?(:status)
1312
+ @title = args[:title] if args.key?(:title)
1313
+ @use_explicit_dry_run_spec = args[:use_explicit_dry_run_spec] if args.key?(:use_explicit_dry_run_spec)
1314
+ end
1315
+ end
1316
+
1317
+ # `ServicePerimeterConfig` specifies a set of Google Cloud resources that
1318
+ # describe specific Service Perimeter configuration.
1319
+ class GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig
1320
+ include Google::Apis::Core::Hashable
1321
+
1322
+ # A list of `AccessLevel` resource names that allow resources within the
1323
+ # `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
1324
+ # must be in the same policy as this `ServicePerimeter`. Referencing a
1325
+ # nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
1326
+ # listed, resources within the perimeter can only be accessed via Google
1327
+ # Cloud calls with request origins within the perimeter. Example:
1328
+ # `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
1329
+ # For Service Perimeter Bridge, must be empty.
1330
+ # Corresponds to the JSON property `accessLevels`
1331
+ # @return [Array<String>]
1332
+ attr_accessor :access_levels
1333
+
1334
+ # A list of Google Cloud resources that are inside of the service perimeter.
1335
+ # Currently only projects are allowed. Format: `projects/`project_number``
1336
+ # Corresponds to the JSON property `resources`
1337
+ # @return [Array<String>]
1338
+ attr_accessor :resources
1339
+
1340
+ # Google Cloud services that are subject to the Service Perimeter
1341
+ # restrictions. For example, if `storage.googleapis.com` is specified, access
1342
+ # to the storage buckets inside the perimeter must meet the perimeter's
1343
+ # access restrictions.
1344
+ # Corresponds to the JSON property `restrictedServices`
1345
+ # @return [Array<String>]
1346
+ attr_accessor :restricted_services
1347
+
1348
+ # Specifies how APIs are allowed to communicate within the Service
1349
+ # Perimeter.
1350
+ # Corresponds to the JSON property `vpcAccessibleServices`
1351
+ # @return [Google::Apis::CloudassetV1beta1::GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices]
1352
+ attr_accessor :vpc_accessible_services
1353
+
1354
+ def initialize(**args)
1355
+ update!(**args)
1356
+ end
1357
+
1358
+ # Update properties of this object
1359
+ def update!(**args)
1360
+ @access_levels = args[:access_levels] if args.key?(:access_levels)
1361
+ @resources = args[:resources] if args.key?(:resources)
1362
+ @restricted_services = args[:restricted_services] if args.key?(:restricted_services)
1363
+ @vpc_accessible_services = args[:vpc_accessible_services] if args.key?(:vpc_accessible_services)
1364
+ end
1365
+ end
1366
+
1367
+ # Specifies how APIs are allowed to communicate within the Service
1368
+ # Perimeter.
1369
+ class GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices
1370
+ include Google::Apis::Core::Hashable
1371
+
1372
+ # The list of APIs usable within the Service Perimeter. Must be empty
1373
+ # unless 'enable_restriction' is True.
1374
+ # Corresponds to the JSON property `allowedServices`
1375
+ # @return [Array<String>]
1376
+ attr_accessor :allowed_services
1377
+
1378
+ # Whether to restrict API calls within the Service Perimeter to the list of
1379
+ # APIs specified in 'allowed_services'.
1380
+ # Corresponds to the JSON property `enableRestriction`
1381
+ # @return [Boolean]
1382
+ attr_accessor :enable_restriction
1383
+ alias_method :enable_restriction?, :enable_restriction
1384
+
1385
+ def initialize(**args)
1386
+ update!(**args)
1387
+ end
1388
+
1389
+ # Update properties of this object
1390
+ def update!(**args)
1391
+ @allowed_services = args[:allowed_services] if args.key?(:allowed_services)
1392
+ @enable_restriction = args[:enable_restriction] if args.key?(:enable_restriction)
1393
+ end
1394
+ end
1395
+
487
1396
  # This resource represents a long-running operation that is the result of a
488
1397
  # network API call.
489
1398
  class Operation
@@ -574,10 +1483,13 @@ module Google
574
1483
  # Google groups, and domains (such as G Suite). A `role` is a named list of
575
1484
  # permissions; each `role` can be an IAM predefined role or a user-created
576
1485
  # custom role.
577
- # Optionally, a `binding` can specify a `condition`, which is a logical
578
- # expression that allows access to a resource only if the expression evaluates
579
- # to `true`. A condition can add constraints based on attributes of the
580
- # request, the resource, or both.
1486
+ # For some types of Google Cloud resources, a `binding` can also specify a
1487
+ # `condition`, which is a logical expression that allows access to a resource
1488
+ # only if the expression evaluates to `true`. A condition can add constraints
1489
+ # based on attributes of the request, the resource, or both. To learn which
1490
+ # resources support conditions in their IAM policies, see the
1491
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1492
+ # policies).
581
1493
  # **JSON example:**
582
1494
  # `
583
1495
  # "bindings": [
@@ -592,7 +1504,9 @@ module Google
592
1504
  # `,
593
1505
  # `
594
1506
  # "role": "roles/resourcemanager.organizationViewer",
595
- # "members": ["user:eve@example.com"],
1507
+ # "members": [
1508
+ # "user:eve@example.com"
1509
+ # ],
596
1510
  # "condition": `
597
1511
  # "title": "expirable access",
598
1512
  # "description": "Does not grant access after Sep 2020",
@@ -670,6 +1584,9 @@ module Google
670
1584
  # the conditions in the version `3` policy are lost.
671
1585
  # If a policy does not include any conditions, operations on that policy may
672
1586
  # specify any valid version or leave the field unset.
1587
+ # To learn which resources support conditions in their IAM policies, see the
1588
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-
1589
+ # policies).
673
1590
  # Corresponds to the JSON property `version`
674
1591
  # @return [Fixnum]
675
1592
  attr_accessor :version
@@ -687,28 +1604,29 @@ module Google
687
1604
  end
688
1605
  end
689
1606
 
690
- # Representation of a cloud resource.
1607
+ # A representation of a Google Cloud resource.
691
1608
  class Resource
692
1609
  include Google::Apis::Core::Hashable
693
1610
 
694
- # The content of the resource, in which some sensitive fields are scrubbed
695
- # away and may not be present.
1611
+ # The content of the resource, in which some sensitive fields are removed
1612
+ # and may not be present.
696
1613
  # Corresponds to the JSON property `data`
697
1614
  # @return [Hash<String,Object>]
698
1615
  attr_accessor :data
699
1616
 
700
1617
  # The URL of the discovery document containing the resource's JSON schema.
701
- # For example:
702
- # `"https://www.googleapis.com/discovery/v1/apis/compute/v1/rest"`.
703
- # It will be left unspecified for resources without a discovery-based API,
704
- # such as Cloud Bigtable.
1618
+ # Example:
1619
+ # `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest`
1620
+ # This value is unspecified for resources that do not have an API based on a
1621
+ # discovery document, such as Cloud Bigtable.
705
1622
  # Corresponds to the JSON property `discoveryDocumentUri`
706
1623
  # @return [String]
707
1624
  attr_accessor :discovery_document_uri
708
1625
 
709
- # The JSON schema name listed in the discovery document.
710
- # Example: "Project". It will be left unspecified for resources (such as
711
- # Cloud Bigtable) without a discovery-based API.
1626
+ # The JSON schema name listed in the discovery document. Example:
1627
+ # `Project`
1628
+ # This value is unspecified for resources that do not have an API based on a
1629
+ # discovery document, such as Cloud Bigtable.
712
1630
  # Corresponds to the JSON property `discoveryName`
713
1631
  # @return [String]
714
1632
  attr_accessor :discovery_name
@@ -717,25 +1635,25 @@ module Google
717
1635
  # [Resource
718
1636
  # Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
719
1637
  # for more information.
720
- # For GCP assets, it is the parent resource defined in the [Cloud IAM policy
1638
+ # For Google Cloud assets, this value is the parent resource defined in the
1639
+ # [Cloud IAM policy
721
1640
  # hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).
722
- # For example:
723
- # `"//cloudresourcemanager.googleapis.com/projects/my_project_123"`.
724
- # For third-party assets, it is up to the users to define.
1641
+ # Example:
1642
+ # `//cloudresourcemanager.googleapis.com/projects/my_project_123`
1643
+ # For third-party assets, this field may be set differently.
725
1644
  # Corresponds to the JSON property `parent`
726
1645
  # @return [String]
727
1646
  attr_accessor :parent
728
1647
 
729
- # The REST URL for accessing the resource. An HTTP GET operation using this
730
- # URL returns the resource itself.
731
- # Example:
732
- # `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`.
733
- # It will be left unspecified for resources without a REST API.
1648
+ # The REST URL for accessing the resource. An HTTP `GET` request using this
1649
+ # URL returns the resource itself. Example:
1650
+ # `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`
1651
+ # This value is unspecified for resources without a REST API.
734
1652
  # Corresponds to the JSON property `resourceUrl`
735
1653
  # @return [String]
736
1654
  attr_accessor :resource_url
737
1655
 
738
- # The API version. Example: "v1".
1656
+ # The API version. Example: `v1`
739
1657
  # Corresponds to the JSON property `version`
740
1658
  # @return [String]
741
1659
  attr_accessor :version
@@ -794,24 +1712,31 @@ module Google
794
1712
  end
795
1713
  end
796
1714
 
797
- # Temporal asset. In addition to the asset, the temporal asset includes the
798
- # status of the asset and valid from and to time of it.
1715
+ # An asset in Google Cloud and its temporal metadata, including the time window
1716
+ # when it was observed and its status during that window.
799
1717
  class TemporalAsset
800
1718
  include Google::Apis::Core::Hashable
801
1719
 
802
- # Cloud asset. This includes all Google Cloud Platform resources,
803
- # Cloud IAM policies, and other non-GCP assets.
1720
+ # An asset in Google Cloud. An asset can be any resource in the Google Cloud
1721
+ # [resource
1722
+ # hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-
1723
+ # resource-hierarchy),
1724
+ # a resource outside the Google Cloud resource hierarchy (such as Google
1725
+ # Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
1726
+ # See [Supported asset
1727
+ # types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
1728
+ # for more information.
804
1729
  # Corresponds to the JSON property `asset`
805
1730
  # @return [Google::Apis::CloudassetV1beta1::Asset]
806
1731
  attr_accessor :asset
807
1732
 
808
- # If the asset is deleted or not.
1733
+ # Whether the asset has been deleted or not.
809
1734
  # Corresponds to the JSON property `deleted`
810
1735
  # @return [Boolean]
811
1736
  attr_accessor :deleted
812
1737
  alias_method :deleted?, :deleted
813
1738
 
814
- # A time window of (start_time, end_time].
1739
+ # A time window specified by its `start_time` and `end_time`.
815
1740
  # Corresponds to the JSON property `window`
816
1741
  # @return [Google::Apis::CloudassetV1beta1::TimeWindow]
817
1742
  attr_accessor :window
@@ -828,12 +1753,12 @@ module Google
828
1753
  end
829
1754
  end
830
1755
 
831
- # A time window of (start_time, end_time].
1756
+ # A time window specified by its `start_time` and `end_time`.
832
1757
  class TimeWindow
833
1758
  include Google::Apis::Core::Hashable
834
1759
 
835
- # End time of the time window (inclusive).
836
- # Current timestamp if not specified.
1760
+ # End time of the time window (inclusive). If not specified, the current
1761
+ # timestamp is used instead.
837
1762
  # Corresponds to the JSON property `endTime`
838
1763
  # @return [String]
839
1764
  attr_accessor :end_time