google-api-client 0.40.0 → 0.41.2

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 (452) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +297 -0
  3. data/bin/generate-api +1 -3
  4. data/generated/google/apis/admin_directory_v1.rb +1 -1
  5. data/generated/google/apis/admin_directory_v1/classes.rb +31 -0
  6. data/generated/google/apis/admin_directory_v1/representations.rb +16 -0
  7. data/generated/google/apis/admin_directory_v1/service.rb +3 -5
  8. data/generated/google/apis/admob_v1.rb +1 -1
  9. data/generated/google/apis/admob_v1/classes.rb +5 -6
  10. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  11. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +32 -26
  12. data/generated/google/apis/androidenterprise_v1.rb +2 -2
  13. data/generated/google/apis/androidenterprise_v1/classes.rb +547 -724
  14. data/generated/google/apis/androidenterprise_v1/representations.rb +0 -54
  15. data/generated/google/apis/androidenterprise_v1/service.rb +540 -795
  16. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  17. data/generated/google/apis/androidmanagement_v1/classes.rb +117 -0
  18. data/generated/google/apis/androidmanagement_v1/representations.rb +39 -0
  19. data/generated/google/apis/androidpublisher_v3.rb +3 -3
  20. data/generated/google/apis/androidpublisher_v3/classes.rb +499 -684
  21. data/generated/google/apis/androidpublisher_v3/representations.rb +19 -166
  22. data/generated/google/apis/androidpublisher_v3/service.rb +564 -748
  23. data/generated/google/apis/apigee_v1.rb +1 -1
  24. data/generated/google/apis/apigee_v1/classes.rb +144 -48
  25. data/generated/google/apis/apigee_v1/representations.rb +17 -0
  26. data/generated/google/apis/apigee_v1/service.rb +23 -24
  27. data/generated/google/apis/appsmarket_v2.rb +3 -3
  28. data/generated/google/apis/appsmarket_v2/classes.rb +160 -159
  29. data/generated/google/apis/appsmarket_v2/representations.rb +78 -78
  30. data/generated/google/apis/appsmarket_v2/service.rb +24 -39
  31. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  32. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +122 -0
  33. data/generated/google/apis/artifactregistry_v1beta1/representations.rb +62 -0
  34. data/generated/google/apis/bigquery_v2.rb +1 -1
  35. data/generated/google/apis/bigquery_v2/classes.rb +51 -13
  36. data/generated/google/apis/bigquery_v2/representations.rb +4 -0
  37. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  38. data/generated/google/apis/bigqueryconnection_v1beta1/classes.rb +6 -6
  39. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  40. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +4 -4
  41. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  42. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  43. data/generated/google/apis/bigtableadmin_v1.rb +1 -1
  44. data/generated/google/apis/bigtableadmin_v1/classes.rb +5 -10
  45. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  46. data/generated/google/apis/bigtableadmin_v2/classes.rb +45 -37
  47. data/generated/google/apis/bigtableadmin_v2/service.rb +1 -5
  48. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  49. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +3 -3
  50. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  51. data/generated/google/apis/binaryauthorization_v1/classes.rb +1 -4
  52. data/generated/google/apis/books_v1.rb +1 -1
  53. data/generated/google/apis/books_v1/service.rb +2 -2
  54. data/generated/google/apis/calendar_v3.rb +1 -1
  55. data/generated/google/apis/chat_v1.rb +1 -1
  56. data/generated/google/apis/chat_v1/classes.rb +2 -0
  57. data/generated/google/apis/civicinfo_v2.rb +2 -2
  58. data/generated/google/apis/civicinfo_v2/classes.rb +12 -800
  59. data/generated/google/apis/civicinfo_v2/representations.rb +0 -295
  60. data/generated/google/apis/civicinfo_v2/service.rb +27 -62
  61. data/generated/google/apis/cloudasset_v1.rb +1 -1
  62. data/generated/google/apis/cloudasset_v1/classes.rb +116 -36
  63. data/generated/google/apis/cloudasset_v1/representations.rb +6 -0
  64. data/generated/google/apis/cloudasset_v1/service.rb +18 -15
  65. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  66. data/generated/google/apis/cloudasset_v1beta1/classes.rb +954 -42
  67. data/generated/google/apis/cloudasset_v1beta1/representations.rb +241 -0
  68. data/generated/google/apis/cloudasset_v1beta1/service.rb +8 -8
  69. data/generated/google/apis/cloudasset_v1p1beta1.rb +1 -1
  70. data/generated/google/apis/cloudasset_v1p1beta1/classes.rb +6 -6
  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/cloudbilling_v1.rb +1 -1
  76. data/generated/google/apis/cloudbilling_v1/classes.rb +38 -6
  77. data/generated/google/apis/cloudbilling_v1/representations.rb +16 -0
  78. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  79. data/generated/google/apis/cloudbuild_v1/classes.rb +287 -15
  80. data/generated/google/apis/cloudbuild_v1/representations.rb +131 -4
  81. data/generated/google/apis/cloudbuild_v1/service.rb +0 -94
  82. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  83. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +298 -26
  84. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +136 -9
  85. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +0 -47
  86. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  87. data/generated/google/apis/cloudbuild_v1alpha2/classes.rb +298 -26
  88. data/generated/google/apis/cloudbuild_v1alpha2/representations.rb +136 -9
  89. data/generated/google/apis/cloudbuild_v1alpha2/service.rb +0 -47
  90. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  91. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +1 -1
  92. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +5 -6
  93. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  94. data/generated/google/apis/cloudfunctions_v1/classes.rb +6 -6
  95. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  96. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  97. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +7 -1
  98. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +1 -0
  99. data/generated/google/apis/cloudkms_v1.rb +1 -1
  100. data/generated/google/apis/cloudkms_v1/classes.rb +7 -7
  101. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  102. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +22 -18
  103. data/generated/google/apis/cloudresourcemanager_v1/service.rb +21 -14
  104. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  105. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +12 -11
  106. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +8 -8
  107. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  108. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +6 -6
  109. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  110. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +6 -6
  111. data/generated/google/apis/cloudscheduler_v1.rb +1 -1
  112. data/generated/google/apis/cloudscheduler_v1/classes.rb +2 -1
  113. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  114. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +2 -1
  115. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  116. data/generated/google/apis/cloudsearch_v1/service.rb +1 -1
  117. data/generated/google/apis/cloudtasks_v2.rb +1 -1
  118. data/generated/google/apis/cloudtasks_v2/classes.rb +6 -4
  119. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  120. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +9 -0
  121. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +1 -0
  122. data/generated/google/apis/composer_v1beta1.rb +1 -1
  123. data/generated/google/apis/composer_v1beta1/classes.rb +4 -3
  124. data/generated/google/apis/composer_v1beta1/service.rb +13 -0
  125. data/generated/google/apis/compute_alpha.rb +1 -1
  126. data/generated/google/apis/compute_alpha/classes.rb +801 -219
  127. data/generated/google/apis/compute_alpha/representations.rb +220 -32
  128. data/generated/google/apis/compute_alpha/service.rb +899 -113
  129. data/generated/google/apis/compute_beta.rb +1 -1
  130. data/generated/google/apis/compute_beta/classes.rb +490 -131
  131. data/generated/google/apis/compute_beta/representations.rb +97 -0
  132. data/generated/google/apis/compute_beta/service.rb +308 -33
  133. data/generated/google/apis/compute_v1.rb +1 -1
  134. data/generated/google/apis/compute_v1/classes.rb +706 -76
  135. data/generated/google/apis/compute_v1/representations.rb +200 -0
  136. data/generated/google/apis/compute_v1/service.rb +522 -33
  137. data/generated/google/apis/container_v1.rb +1 -1
  138. data/generated/google/apis/container_v1/classes.rb +123 -5
  139. data/generated/google/apis/container_v1/representations.rb +50 -0
  140. data/generated/google/apis/container_v1beta1.rb +1 -1
  141. data/generated/google/apis/container_v1beta1/classes.rb +142 -24
  142. data/generated/google/apis/container_v1beta1/representations.rb +37 -0
  143. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  144. data/generated/google/apis/containeranalysis_v1beta1/classes.rb +1 -1
  145. data/generated/google/apis/content_v2.rb +1 -1
  146. data/generated/google/apis/content_v2/classes.rb +41 -1
  147. data/generated/google/apis/content_v2/representations.rb +17 -0
  148. data/generated/google/apis/content_v2/service.rb +15 -6
  149. data/generated/google/apis/content_v2_1.rb +1 -1
  150. data/generated/google/apis/content_v2_1/classes.rb +616 -6
  151. data/generated/google/apis/content_v2_1/representations.rb +243 -0
  152. data/generated/google/apis/content_v2_1/service.rb +95 -6
  153. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  154. data/generated/google/apis/datacatalog_v1beta1/classes.rb +34 -10
  155. data/generated/google/apis/datacatalog_v1beta1/representations.rb +13 -0
  156. data/generated/google/apis/datacatalog_v1beta1/service.rb +37 -0
  157. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  158. data/generated/google/apis/dataflow_v1b3/classes.rb +19 -0
  159. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  160. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  161. data/generated/google/apis/datafusion_v1beta1/classes.rb +64 -19
  162. data/generated/google/apis/datafusion_v1beta1/representations.rb +16 -0
  163. data/generated/google/apis/datafusion_v1beta1/service.rb +49 -2
  164. data/generated/google/apis/dataproc_v1.rb +1 -1
  165. data/generated/google/apis/dataproc_v1/classes.rb +71 -24
  166. data/generated/google/apis/dataproc_v1/representations.rb +17 -0
  167. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  168. data/generated/google/apis/dataproc_v1beta2/classes.rb +65 -23
  169. data/generated/google/apis/dataproc_v1beta2/representations.rb +5 -0
  170. data/generated/google/apis/dialogflow_v2.rb +1 -1
  171. data/generated/google/apis/dialogflow_v2/classes.rb +277 -57
  172. data/generated/google/apis/dialogflow_v2/representations.rb +93 -4
  173. data/generated/google/apis/dialogflow_v2/service.rb +14 -2
  174. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  175. data/generated/google/apis/dialogflow_v2beta1/classes.rb +268 -56
  176. data/generated/google/apis/dialogflow_v2beta1/representations.rb +93 -4
  177. data/generated/google/apis/dialogflow_v2beta1/service.rb +70 -46
  178. data/generated/google/apis/displayvideo_v1.rb +1 -1
  179. data/generated/google/apis/displayvideo_v1/classes.rb +569 -6
  180. data/generated/google/apis/displayvideo_v1/representations.rb +249 -0
  181. data/generated/google/apis/displayvideo_v1/service.rb +1496 -77
  182. data/generated/google/apis/dlp_v2.rb +1 -1
  183. data/generated/google/apis/dlp_v2/classes.rb +8 -6
  184. data/generated/google/apis/dlp_v2/service.rb +170 -64
  185. data/generated/google/apis/dns_v1beta2.rb +4 -4
  186. data/generated/google/apis/dns_v1beta2/classes.rb +325 -171
  187. data/generated/google/apis/dns_v1beta2/service.rb +247 -180
  188. data/generated/google/apis/{dialogflow_v3alpha1.rb → documentai_v1beta2.rb} +11 -13
  189. data/generated/google/apis/documentai_v1beta2/classes.rb +3284 -0
  190. data/generated/google/apis/documentai_v1beta2/representations.rb +1344 -0
  191. data/generated/google/apis/{dialogflow_v3alpha1 → documentai_v1beta2}/service.rb +91 -118
  192. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  193. data/generated/google/apis/doubleclicksearch_v2.rb +4 -4
  194. data/generated/google/apis/doubleclicksearch_v2/classes.rb +127 -111
  195. data/generated/google/apis/doubleclicksearch_v2/representations.rb +4 -6
  196. data/generated/google/apis/doubleclicksearch_v2/service.rb +47 -78
  197. data/generated/google/apis/drive_v2.rb +1 -1
  198. data/generated/google/apis/drive_v2/classes.rb +9 -0
  199. data/generated/google/apis/drive_v2/representations.rb +1 -0
  200. data/generated/google/apis/drive_v2/service.rb +26 -78
  201. data/generated/google/apis/drive_v3.rb +1 -1
  202. data/generated/google/apis/drive_v3/classes.rb +9 -0
  203. data/generated/google/apis/drive_v3/representations.rb +1 -0
  204. data/generated/google/apis/drive_v3/service.rb +18 -54
  205. data/generated/google/apis/fcm_v1.rb +1 -1
  206. data/generated/google/apis/fcm_v1/classes.rb +6 -0
  207. data/generated/google/apis/file_v1.rb +1 -1
  208. data/generated/google/apis/file_v1/classes.rb +0 -1156
  209. data/generated/google/apis/file_v1/representations.rb +0 -381
  210. data/generated/google/apis/file_v1beta1.rb +1 -1
  211. data/generated/google/apis/file_v1beta1/classes.rb +67 -1156
  212. data/generated/google/apis/file_v1beta1/representations.rb +14 -376
  213. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  214. data/generated/google/apis/firebase_v1beta1/classes.rb +7 -6
  215. data/generated/google/apis/firebase_v1beta1/service.rb +53 -49
  216. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  217. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +30 -25
  218. data/generated/google/apis/fitness_v1.rb +1 -1
  219. data/generated/google/apis/fitness_v1/classes.rb +1 -1
  220. data/generated/google/apis/games_v1.rb +1 -1
  221. data/generated/google/apis/gameservices_v1.rb +34 -0
  222. data/generated/google/apis/gameservices_v1/classes.rb +2354 -0
  223. data/generated/google/apis/gameservices_v1/representations.rb +971 -0
  224. data/generated/google/apis/gameservices_v1/service.rb +1472 -0
  225. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  226. data/generated/google/apis/genomics_v2alpha1/classes.rb +84 -0
  227. data/generated/google/apis/genomics_v2alpha1/representations.rb +28 -0
  228. data/generated/google/apis/genomics_v2alpha1/service.rb +38 -2
  229. data/generated/google/apis/gmail_v1.rb +3 -2
  230. data/generated/google/apis/gmail_v1/classes.rb +263 -200
  231. data/generated/google/apis/gmail_v1/service.rb +551 -743
  232. data/generated/google/apis/gmailpostmastertools_v1beta1.rb +33 -0
  233. data/generated/google/apis/gmailpostmastertools_v1beta1/classes.rb +306 -0
  234. data/generated/google/apis/gmailpostmastertools_v1beta1/representations.rb +141 -0
  235. data/generated/google/apis/gmailpostmastertools_v1beta1/service.rb +236 -0
  236. data/generated/google/apis/groupsmigration_v1.rb +3 -2
  237. data/generated/google/apis/groupsmigration_v1/service.rb +10 -17
  238. data/generated/google/apis/healthcare_v1.rb +1 -1
  239. data/generated/google/apis/healthcare_v1/classes.rb +9 -9
  240. data/generated/google/apis/healthcare_v1/service.rb +5 -3
  241. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  242. data/generated/google/apis/healthcare_v1beta1/classes.rb +919 -52
  243. data/generated/google/apis/healthcare_v1beta1/representations.rb +404 -0
  244. data/generated/google/apis/healthcare_v1beta1/service.rb +520 -3
  245. data/generated/google/apis/iam_v1.rb +1 -1
  246. data/generated/google/apis/iam_v1/classes.rb +92 -81
  247. data/generated/google/apis/iam_v1/service.rb +167 -148
  248. data/generated/google/apis/iamcredentials_v1.rb +2 -2
  249. data/generated/google/apis/iamcredentials_v1/classes.rb +4 -3
  250. data/generated/google/apis/iamcredentials_v1/service.rb +1 -1
  251. data/generated/google/apis/jobs_v3.rb +1 -1
  252. data/generated/google/apis/jobs_v3/classes.rb +4 -2
  253. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  254. data/generated/google/apis/jobs_v3p1beta1/classes.rb +4 -2
  255. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  256. data/generated/google/apis/lifesciences_v2beta/classes.rb +10 -0
  257. data/generated/google/apis/lifesciences_v2beta/representations.rb +1 -0
  258. data/generated/google/apis/logging_v2.rb +1 -1
  259. data/generated/google/apis/logging_v2/classes.rb +69 -21
  260. data/generated/google/apis/managedidentities_v1.rb +1 -1
  261. data/generated/google/apis/managedidentities_v1/classes.rb +54 -10
  262. data/generated/google/apis/managedidentities_v1/representations.rb +15 -0
  263. data/generated/google/apis/managedidentities_v1/service.rb +3 -0
  264. data/generated/google/apis/managedidentities_v1alpha1.rb +1 -1
  265. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +54 -10
  266. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +15 -0
  267. data/generated/google/apis/managedidentities_v1alpha1/service.rb +3 -0
  268. data/generated/google/apis/managedidentities_v1beta1.rb +1 -1
  269. data/generated/google/apis/managedidentities_v1beta1/classes.rb +54 -10
  270. data/generated/google/apis/managedidentities_v1beta1/representations.rb +15 -0
  271. data/generated/google/apis/managedidentities_v1beta1/service.rb +3 -0
  272. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  273. data/generated/google/apis/memcache_v1beta2/classes.rb +42 -11
  274. data/generated/google/apis/memcache_v1beta2/representations.rb +15 -0
  275. data/generated/google/apis/ml_v1.rb +1 -1
  276. data/generated/google/apis/ml_v1/classes.rb +8 -0
  277. data/generated/google/apis/ml_v1/representations.rb +1 -0
  278. data/generated/google/apis/monitoring_v1.rb +1 -1
  279. data/generated/google/apis/monitoring_v1/classes.rb +46 -0
  280. data/generated/google/apis/monitoring_v1/representations.rb +18 -0
  281. data/generated/google/apis/monitoring_v3.rb +1 -1
  282. data/generated/google/apis/monitoring_v3/classes.rb +68 -19
  283. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  284. data/generated/google/apis/osconfig_v1.rb +1 -1
  285. data/generated/google/apis/osconfig_v1/classes.rb +2 -2
  286. data/generated/google/apis/osconfig_v1beta.rb +1 -1
  287. data/generated/google/apis/osconfig_v1beta/classes.rb +6 -7
  288. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  289. data/generated/google/apis/pagespeedonline_v5/classes.rb +7 -0
  290. data/generated/google/apis/pagespeedonline_v5/representations.rb +1 -0
  291. data/generated/google/apis/people_v1.rb +4 -1
  292. data/generated/google/apis/people_v1/classes.rb +216 -0
  293. data/generated/google/apis/people_v1/representations.rb +82 -0
  294. data/generated/google/apis/people_v1/service.rb +371 -8
  295. data/generated/google/apis/playablelocations_v3.rb +31 -0
  296. data/generated/google/apis/playablelocations_v3/classes.rb +633 -0
  297. data/generated/google/apis/playablelocations_v3/representations.rb +273 -0
  298. data/generated/google/apis/playablelocations_v3/service.rb +157 -0
  299. data/generated/google/apis/playcustomapp_v1.rb +3 -3
  300. data/generated/google/apis/playcustomapp_v1/classes.rb +7 -0
  301. data/generated/google/apis/playcustomapp_v1/representations.rb +1 -0
  302. data/generated/google/apis/playcustomapp_v1/service.rb +11 -19
  303. data/generated/google/apis/policytroubleshooter_v1.rb +1 -1
  304. data/generated/google/apis/policytroubleshooter_v1/classes.rb +6 -6
  305. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  306. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +6 -6
  307. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  308. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +92 -0
  309. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +46 -0
  310. data/generated/google/apis/prod_tt_sasportal_v1alpha1/service.rb +507 -0
  311. data/generated/google/apis/pubsub_v1.rb +1 -1
  312. data/generated/google/apis/pubsub_v1/classes.rb +68 -10
  313. data/generated/google/apis/pubsub_v1/representations.rb +28 -0
  314. data/generated/google/apis/pubsub_v1/service.rb +35 -1
  315. data/generated/google/apis/realtimebidding_v1.rb +40 -0
  316. data/generated/google/apis/realtimebidding_v1/classes.rb +1436 -0
  317. data/generated/google/apis/realtimebidding_v1/representations.rb +565 -0
  318. data/generated/google/apis/realtimebidding_v1/service.rb +661 -0
  319. data/generated/google/apis/recommender_v1.rb +34 -0
  320. data/generated/google/apis/recommender_v1/classes.rb +505 -0
  321. data/generated/google/apis/recommender_v1/representations.rb +232 -0
  322. data/generated/google/apis/recommender_v1/service.rb +266 -0
  323. data/generated/google/apis/redis_v1.rb +1 -1
  324. data/generated/google/apis/redis_v1/classes.rb +1 -1
  325. data/generated/google/apis/redis_v1/service.rb +1 -1
  326. data/generated/google/apis/redis_v1beta1.rb +1 -1
  327. data/generated/google/apis/redis_v1beta1/classes.rb +1 -1
  328. data/generated/google/apis/redis_v1beta1/service.rb +1 -1
  329. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  330. data/generated/google/apis/remotebuildexecution_v1/classes.rb +1 -1
  331. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  332. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +1 -1
  333. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  334. data/generated/google/apis/remotebuildexecution_v2/classes.rb +1 -1
  335. data/generated/google/apis/run_v1.rb +1 -1
  336. data/generated/google/apis/run_v1/classes.rb +16 -9
  337. data/generated/google/apis/run_v1/representations.rb +1 -0
  338. data/generated/google/apis/run_v1alpha1.rb +1 -1
  339. data/generated/google/apis/run_v1alpha1/classes.rb +15 -6
  340. data/generated/google/apis/run_v1alpha1/representations.rb +1 -0
  341. data/generated/google/apis/run_v1beta1.rb +1 -1
  342. data/generated/google/apis/sasportal_v1alpha1.rb +1 -1
  343. data/generated/google/apis/sasportal_v1alpha1/classes.rb +92 -0
  344. data/generated/google/apis/sasportal_v1alpha1/representations.rb +46 -0
  345. data/generated/google/apis/sasportal_v1alpha1/service.rb +507 -0
  346. data/generated/google/apis/secretmanager_v1.rb +1 -1
  347. data/generated/google/apis/secretmanager_v1/classes.rb +6 -6
  348. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  349. data/generated/google/apis/secretmanager_v1beta1/classes.rb +6 -6
  350. data/generated/google/apis/securitycenter_v1.rb +1 -1
  351. data/generated/google/apis/securitycenter_v1/classes.rb +116 -16
  352. data/generated/google/apis/securitycenter_v1/representations.rb +38 -0
  353. data/generated/google/apis/securitycenter_v1/service.rb +14 -15
  354. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  355. data/generated/google/apis/securitycenter_v1beta1/classes.rb +106 -6
  356. data/generated/google/apis/securitycenter_v1beta1/representations.rb +38 -0
  357. data/generated/google/apis/securitycenter_v1p1alpha1.rb +1 -1
  358. data/generated/google/apis/securitycenter_v1p1alpha1/classes.rb +100 -0
  359. data/generated/google/apis/securitycenter_v1p1alpha1/representations.rb +38 -0
  360. data/generated/google/apis/securitycenter_v1p1beta1.rb +1 -1
  361. data/generated/google/apis/securitycenter_v1p1beta1/classes.rb +116 -16
  362. data/generated/google/apis/securitycenter_v1p1beta1/representations.rb +38 -0
  363. data/generated/google/apis/securitycenter_v1p1beta1/service.rb +12 -15
  364. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  365. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +223 -43
  366. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +33 -1
  367. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  368. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +229 -43
  369. data/generated/google/apis/serviceconsumermanagement_v1beta1/representations.rb +34 -1
  370. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  371. data/generated/google/apis/servicecontrol_v1/classes.rb +9 -3
  372. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -0
  373. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  374. data/generated/google/apis/servicemanagement_v1/classes.rb +124 -49
  375. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -1
  376. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  377. data/generated/google/apis/servicenetworking_v1/classes.rb +119 -43
  378. data/generated/google/apis/servicenetworking_v1/representations.rb +0 -1
  379. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  380. data/generated/google/apis/servicenetworking_v1beta/classes.rb +119 -43
  381. data/generated/google/apis/servicenetworking_v1beta/representations.rb +0 -1
  382. data/generated/google/apis/serviceusage_v1.rb +1 -1
  383. data/generated/google/apis/serviceusage_v1/classes.rb +221 -43
  384. data/generated/google/apis/serviceusage_v1/representations.rb +34 -1
  385. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  386. data/generated/google/apis/serviceusage_v1beta1/classes.rb +272 -43
  387. data/generated/google/apis/serviceusage_v1beta1/representations.rb +63 -1
  388. data/generated/google/apis/serviceusage_v1beta1/service.rb +71 -0
  389. data/generated/google/apis/sheets_v4.rb +1 -1
  390. data/generated/google/apis/sheets_v4/classes.rb +90 -0
  391. data/generated/google/apis/slides_v1.rb +1 -1
  392. data/generated/google/apis/slides_v1/classes.rb +4 -0
  393. data/generated/google/apis/sourcerepo_v1.rb +1 -1
  394. data/generated/google/apis/sourcerepo_v1/classes.rb +23 -10
  395. data/generated/google/apis/sourcerepo_v1/service.rb +3 -0
  396. data/generated/google/apis/spanner_v1.rb +1 -1
  397. data/generated/google/apis/spanner_v1/classes.rb +26 -22
  398. data/generated/google/apis/spanner_v1/service.rb +15 -8
  399. data/generated/google/apis/speech_v1.rb +1 -1
  400. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  401. data/generated/google/apis/sql_v1beta4.rb +1 -1
  402. data/generated/google/apis/sql_v1beta4/classes.rb +7 -0
  403. data/generated/google/apis/sql_v1beta4/representations.rb +1 -0
  404. data/generated/google/apis/storage_v1.rb +1 -1
  405. data/generated/google/apis/storage_v1/service.rb +2 -3
  406. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  407. data/generated/google/apis/storagetransfer_v1/classes.rb +2 -1
  408. data/generated/google/apis/testing_v1.rb +1 -1
  409. data/generated/google/apis/testing_v1/classes.rb +2 -1
  410. data/generated/google/apis/texttospeech_v1.rb +1 -1
  411. data/generated/google/apis/texttospeech_v1/classes.rb +1 -1
  412. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  413. data/generated/google/apis/texttospeech_v1beta1/classes.rb +1 -1
  414. data/generated/google/apis/{customsearch_v1.rb → vectortile_v1.rb} +8 -8
  415. data/generated/google/apis/vectortile_v1/classes.rb +881 -0
  416. data/generated/google/apis/vectortile_v1/representations.rb +329 -0
  417. data/generated/google/apis/vectortile_v1/service.rb +268 -0
  418. data/generated/google/apis/videointelligence_v1.rb +1 -1
  419. data/generated/google/apis/videointelligence_v1/classes.rb +1 -1
  420. data/generated/google/apis/videointelligence_v1/service.rb +32 -0
  421. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  422. data/generated/google/apis/videointelligence_v1beta2/classes.rb +1 -1
  423. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  424. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +1 -1
  425. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  426. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +1 -1
  427. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  428. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +1 -1
  429. data/generated/google/apis/vision_v1.rb +1 -1
  430. data/generated/google/apis/vision_v1/classes.rb +18 -0
  431. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  432. data/generated/google/apis/vision_v1p1beta1/classes.rb +18 -0
  433. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  434. data/generated/google/apis/vision_v1p2beta1/classes.rb +18 -0
  435. data/generated/google/apis/webfonts_v1.rb +5 -5
  436. data/generated/google/apis/webfonts_v1/classes.rb +4 -3
  437. data/generated/google/apis/webfonts_v1/representations.rb +1 -2
  438. data/generated/google/apis/webfonts_v1/service.rb +14 -21
  439. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  440. data/generated/google/apis/youtube_v3.rb +1 -1
  441. data/generated/google/apis/youtube_v3/classes.rb +38 -0
  442. data/generated/google/apis/youtube_v3/representations.rb +27 -0
  443. data/generated/google/apis/youtube_v3/service.rb +32 -0
  444. data/lib/google/apis/core/api_command.rb +12 -7
  445. data/lib/google/apis/options.rb +5 -1
  446. data/lib/google/apis/version.rb +1 -1
  447. metadata +31 -11
  448. data/generated/google/apis/customsearch_v1/classes.rb +0 -1606
  449. data/generated/google/apis/customsearch_v1/representations.rb +0 -372
  450. data/generated/google/apis/customsearch_v1/service.rb +0 -608
  451. data/generated/google/apis/dialogflow_v3alpha1/classes.rb +0 -5579
  452. data/generated/google/apis/dialogflow_v3alpha1/representations.rb +0 -2295
@@ -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 = '20200515'
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
@@ -97,31 +123,58 @@ module Google
97
123
  # @return [Google::Apis::CloudassetV1beta1::Policy]
98
124
  attr_accessor :iam_policy
99
125
 
100
- # The full name of the asset. For example:
126
+ # The full name of the asset. Example:
101
127
  # `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/
102
- # instance1`.
128
+ # instance1`
103
129
  # See [Resource
104
- # 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)
105
131
  # for more information.
106
132
  # Corresponds to the JSON property `name`
107
133
  # @return [String]
108
134
  attr_accessor :name
109
135
 
110
- # 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.
111
146
  # Corresponds to the JSON property `resource`
112
147
  # @return [Google::Apis::CloudassetV1beta1::Resource]
113
148
  attr_accessor :resource
114
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
+
115
164
  def initialize(**args)
116
165
  update!(**args)
117
166
  end
118
167
 
119
168
  # Update properties of this object
120
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)
121
172
  @asset_type = args[:asset_type] if args.key?(:asset_type)
122
173
  @iam_policy = args[:iam_policy] if args.key?(:iam_policy)
123
174
  @name = args[:name] if args.key?(:name)
175
+ @org_policy = args[:org_policy] if args.key?(:org_policy)
124
176
  @resource = args[:resource] if args.key?(:resource)
177
+ @service_perimeter = args[:service_perimeter] if args.key?(:service_perimeter)
125
178
  end
126
179
  end
127
180
 
@@ -137,7 +190,7 @@ module Google
137
190
  # `
138
191
  # "audit_configs": [
139
192
  # `
140
- # "service": "allServices"
193
+ # "service": "allServices",
141
194
  # "audit_log_configs": [
142
195
  # `
143
196
  # "log_type": "DATA_READ",
@@ -146,18 +199,18 @@ module Google
146
199
  # ]
147
200
  # `,
148
201
  # `
149
- # "log_type": "DATA_WRITE",
202
+ # "log_type": "DATA_WRITE"
150
203
  # `,
151
204
  # `
152
- # "log_type": "ADMIN_READ",
205
+ # "log_type": "ADMIN_READ"
153
206
  # `
154
207
  # ]
155
208
  # `,
156
209
  # `
157
- # "service": "sampleservice.googleapis.com"
210
+ # "service": "sampleservice.googleapis.com",
158
211
  # "audit_log_configs": [
159
212
  # `
160
- # "log_type": "DATA_READ",
213
+ # "log_type": "DATA_READ"
161
214
  # `,
162
215
  # `
163
216
  # "log_type": "DATA_WRITE",
@@ -209,7 +262,7 @@ module Google
209
262
  # ]
210
263
  # `,
211
264
  # `
212
- # "log_type": "DATA_WRITE",
265
+ # "log_type": "DATA_WRITE"
213
266
  # `
214
267
  # ]
215
268
  # `
@@ -489,6 +542,857 @@ module Google
489
542
  end
490
543
  end
491
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
+
492
1396
  # This resource represents a long-running operation that is the result of a
493
1397
  # network API call.
494
1398
  class Operation
@@ -700,28 +1604,29 @@ module Google
700
1604
  end
701
1605
  end
702
1606
 
703
- # Representation of a cloud resource.
1607
+ # A representation of a Google Cloud resource.
704
1608
  class Resource
705
1609
  include Google::Apis::Core::Hashable
706
1610
 
707
- # The content of the resource, in which some sensitive fields are scrubbed
708
- # 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.
709
1613
  # Corresponds to the JSON property `data`
710
1614
  # @return [Hash<String,Object>]
711
1615
  attr_accessor :data
712
1616
 
713
1617
  # The URL of the discovery document containing the resource's JSON schema.
714
- # For example:
715
- # `"https://www.googleapis.com/discovery/v1/apis/compute/v1/rest"`.
716
- # It will be left unspecified for resources without a discovery-based API,
717
- # 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.
718
1622
  # Corresponds to the JSON property `discoveryDocumentUri`
719
1623
  # @return [String]
720
1624
  attr_accessor :discovery_document_uri
721
1625
 
722
- # The JSON schema name listed in the discovery document.
723
- # Example: "Project". It will be left unspecified for resources (such as
724
- # 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.
725
1630
  # Corresponds to the JSON property `discoveryName`
726
1631
  # @return [String]
727
1632
  attr_accessor :discovery_name
@@ -730,25 +1635,25 @@ module Google
730
1635
  # [Resource
731
1636
  # Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
732
1637
  # for more information.
733
- # 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
734
1640
  # hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).
735
- # For example:
736
- # `"//cloudresourcemanager.googleapis.com/projects/my_project_123"`.
737
- # 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.
738
1644
  # Corresponds to the JSON property `parent`
739
1645
  # @return [String]
740
1646
  attr_accessor :parent
741
1647
 
742
- # The REST URL for accessing the resource. An HTTP GET operation using this
743
- # URL returns the resource itself.
744
- # Example:
745
- # `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`.
746
- # 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.
747
1652
  # Corresponds to the JSON property `resourceUrl`
748
1653
  # @return [String]
749
1654
  attr_accessor :resource_url
750
1655
 
751
- # The API version. Example: "v1".
1656
+ # The API version. Example: `v1`
752
1657
  # Corresponds to the JSON property `version`
753
1658
  # @return [String]
754
1659
  attr_accessor :version
@@ -807,24 +1712,31 @@ module Google
807
1712
  end
808
1713
  end
809
1714
 
810
- # Temporal asset. In addition to the asset, the temporal asset includes the
811
- # 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.
812
1717
  class TemporalAsset
813
1718
  include Google::Apis::Core::Hashable
814
1719
 
815
- # Cloud asset. This includes all Google Cloud Platform resources,
816
- # 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.
817
1729
  # Corresponds to the JSON property `asset`
818
1730
  # @return [Google::Apis::CloudassetV1beta1::Asset]
819
1731
  attr_accessor :asset
820
1732
 
821
- # If the asset is deleted or not.
1733
+ # Whether the asset has been deleted or not.
822
1734
  # Corresponds to the JSON property `deleted`
823
1735
  # @return [Boolean]
824
1736
  attr_accessor :deleted
825
1737
  alias_method :deleted?, :deleted
826
1738
 
827
- # A time window of (start_time, end_time].
1739
+ # A time window specified by its `start_time` and `end_time`.
828
1740
  # Corresponds to the JSON property `window`
829
1741
  # @return [Google::Apis::CloudassetV1beta1::TimeWindow]
830
1742
  attr_accessor :window
@@ -841,12 +1753,12 @@ module Google
841
1753
  end
842
1754
  end
843
1755
 
844
- # A time window of (start_time, end_time].
1756
+ # A time window specified by its `start_time` and `end_time`.
845
1757
  class TimeWindow
846
1758
  include Google::Apis::Core::Hashable
847
1759
 
848
- # End time of the time window (inclusive).
849
- # Current timestamp if not specified.
1760
+ # End time of the time window (inclusive). If not specified, the current
1761
+ # timestamp is used instead.
850
1762
  # Corresponds to the JSON property `endTime`
851
1763
  # @return [String]
852
1764
  attr_accessor :end_time