google-api-client 0.12.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (315) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/api_names.yaml +945 -41609
  4. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +12 -12
  5. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +2 -2
  6. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  7. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1437 -412
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +516 -71
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +1098 -422
  10. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +6 -6
  11. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +3 -3
  12. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +3 -3
  13. data/generated/google/apis/adexchangeseller_v2_0/service.rb +10 -10
  14. data/generated/google/apis/admin_directory_v1/service.rb +26 -26
  15. data/generated/google/apis/adsense_v1_4.rb +1 -1
  16. data/generated/google/apis/adsense_v1_4/classes.rb +2 -2
  17. data/generated/google/apis/adsense_v1_4/representations.rb +3 -3
  18. data/generated/google/apis/adsense_v1_4/service.rb +44 -44
  19. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  20. data/generated/google/apis/adsensehost_v4_1/service.rb +22 -22
  21. data/generated/google/apis/analytics_v3/classes.rb +3 -3
  22. data/generated/google/apis/analytics_v3/representations.rb +3 -3
  23. data/generated/google/apis/analytics_v3/service.rb +82 -82
  24. data/generated/google/apis/analyticsreporting_v4/classes.rb +937 -937
  25. data/generated/google/apis/analyticsreporting_v4/representations.rb +128 -128
  26. data/generated/google/apis/analyticsreporting_v4/service.rb +1 -1
  27. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  28. data/generated/google/apis/androidenterprise_v1/classes.rb +10 -10
  29. data/generated/google/apis/androidenterprise_v1/representations.rb +20 -20
  30. data/generated/google/apis/androidenterprise_v1/service.rb +43 -43
  31. data/generated/google/apis/androidpublisher_v2/classes.rb +26 -26
  32. data/generated/google/apis/androidpublisher_v2/representations.rb +46 -46
  33. data/generated/google/apis/androidpublisher_v2/service.rb +95 -95
  34. data/generated/google/apis/appengine_v1.rb +4 -4
  35. data/generated/google/apis/appengine_v1/classes.rb +1570 -1512
  36. data/generated/google/apis/appengine_v1/representations.rb +362 -343
  37. data/generated/google/apis/appengine_v1/service.rb +220 -220
  38. data/generated/google/apis/appstate_v1.rb +1 -1
  39. data/generated/google/apis/bigquery_v2.rb +1 -1
  40. data/generated/google/apis/bigquery_v2/classes.rb +5 -5
  41. data/generated/google/apis/bigquery_v2/representations.rb +8 -8
  42. data/generated/google/apis/bigquery_v2/service.rb +13 -13
  43. data/generated/google/apis/blogger_v3/service.rb +3 -3
  44. data/generated/google/apis/books_v1/classes.rb +55 -55
  45. data/generated/google/apis/books_v1/representations.rb +67 -67
  46. data/generated/google/apis/books_v1/service.rb +82 -82
  47. data/generated/google/apis/calendar_v3.rb +1 -1
  48. data/generated/google/apis/calendar_v3/classes.rb +6 -6
  49. data/generated/google/apis/calendar_v3/representations.rb +3 -3
  50. data/generated/google/apis/calendar_v3/service.rb +2 -2
  51. data/generated/google/apis/civicinfo_v2/classes.rb +2 -2
  52. data/generated/google/apis/civicinfo_v2/representations.rb +4 -4
  53. data/generated/google/apis/civicinfo_v2/service.rb +12 -12
  54. data/generated/google/apis/classroom_v1.rb +7 -7
  55. data/generated/google/apis/classroom_v1/classes.rb +1013 -991
  56. data/generated/google/apis/classroom_v1/representations.rb +207 -204
  57. data/generated/google/apis/classroom_v1/service.rb +709 -709
  58. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  59. data/generated/google/apis/cloudbuild_v1/classes.rb +307 -307
  60. data/generated/google/apis/cloudbuild_v1/representations.rb +84 -84
  61. data/generated/google/apis/cloudbuild_v1/service.rb +125 -125
  62. data/generated/google/apis/clouddebugger_v2/classes.rb +673 -673
  63. data/generated/google/apis/clouddebugger_v2/representations.rb +152 -152
  64. data/generated/google/apis/clouddebugger_v2/service.rb +55 -55
  65. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  66. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +121 -121
  67. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +25 -25
  68. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +74 -74
  69. data/generated/google/apis/cloudkms_v1.rb +1 -1
  70. data/generated/google/apis/cloudkms_v1/classes.rb +668 -613
  71. data/generated/google/apis/cloudkms_v1/representations.rb +151 -133
  72. data/generated/google/apis/cloudkms_v1/service.rb +267 -267
  73. data/generated/google/apis/cloudresourcemanager_v1.rb +4 -4
  74. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1167 -1168
  75. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +193 -193
  76. data/generated/google/apis/cloudresourcemanager_v1/service.rb +470 -469
  77. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  78. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +508 -509
  79. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +94 -94
  80. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +157 -156
  81. data/generated/google/apis/cloudtrace_v1/service.rb +34 -34
  82. data/generated/google/apis/compute_beta.rb +1 -1
  83. data/generated/google/apis/compute_beta/classes.rb +163 -15
  84. data/generated/google/apis/compute_beta/representations.rb +54 -14
  85. data/generated/google/apis/compute_beta/service.rb +2258 -482
  86. data/generated/google/apis/compute_v1.rb +1 -1
  87. data/generated/google/apis/compute_v1/classes.rb +465 -13
  88. data/generated/google/apis/compute_v1/representations.rb +202 -16
  89. data/generated/google/apis/compute_v1/service.rb +573 -309
  90. data/generated/google/apis/container_v1.rb +1 -1
  91. data/generated/google/apis/container_v1/classes.rb +635 -589
  92. data/generated/google/apis/container_v1/representations.rb +139 -111
  93. data/generated/google/apis/container_v1/service.rb +272 -227
  94. data/generated/google/apis/content_v2.rb +1 -1
  95. data/generated/google/apis/content_v2/classes.rb +86 -74
  96. data/generated/google/apis/content_v2/representations.rb +107 -105
  97. data/generated/google/apis/content_v2/service.rb +131 -130
  98. data/generated/google/apis/customsearch_v1.rb +2 -2
  99. data/generated/google/apis/customsearch_v1/classes.rb +0 -6
  100. data/generated/google/apis/customsearch_v1/representations.rb +0 -1
  101. data/generated/google/apis/customsearch_v1/service.rb +2 -5
  102. data/generated/google/apis/dataflow_v1b3.rb +7 -4
  103. data/generated/google/apis/dataflow_v1b3/classes.rb +3405 -3405
  104. data/generated/google/apis/dataflow_v1b3/representations.rb +834 -834
  105. data/generated/google/apis/dataflow_v1b3/service.rb +244 -244
  106. data/generated/google/apis/dataproc_v1.rb +1 -1
  107. data/generated/google/apis/dataproc_v1/classes.rb +543 -691
  108. data/generated/google/apis/dataproc_v1/representations.rb +129 -185
  109. data/generated/google/apis/dataproc_v1/service.rb +347 -347
  110. data/generated/google/apis/datastore_v1.rb +4 -4
  111. data/generated/google/apis/datastore_v1/classes.rb +833 -833
  112. data/generated/google/apis/datastore_v1/representations.rb +182 -182
  113. data/generated/google/apis/datastore_v1/service.rb +45 -45
  114. data/generated/google/apis/deploymentmanager_v2/classes.rb +5 -5
  115. data/generated/google/apis/deploymentmanager_v2/representations.rb +10 -10
  116. data/generated/google/apis/deploymentmanager_v2/service.rb +20 -20
  117. data/generated/google/apis/discovery_v1/classes.rb +4 -4
  118. data/generated/google/apis/discovery_v1/representations.rb +2 -2
  119. data/generated/google/apis/discovery_v1/service.rb +1 -1
  120. data/generated/google/apis/dns_v1.rb +1 -1
  121. data/generated/google/apis/dns_v1/classes.rb +3 -3
  122. data/generated/google/apis/dns_v1/representations.rb +6 -6
  123. data/generated/google/apis/dns_v1/service.rb +12 -12
  124. data/generated/google/apis/dns_v2beta1.rb +1 -1
  125. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +8 -8
  126. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  127. data/generated/google/apis/drive_v2.rb +1 -1
  128. data/generated/google/apis/drive_v2/classes.rb +1 -1
  129. data/generated/google/apis/drive_v2/service.rb +1 -1
  130. data/generated/google/apis/drive_v3.rb +1 -1
  131. data/generated/google/apis/drive_v3/service.rb +1 -1
  132. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  133. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +160 -110
  134. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +60 -31
  135. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +38 -3
  136. data/generated/google/apis/firebaserules_v1/classes.rb +354 -354
  137. data/generated/google/apis/firebaserules_v1/representations.rb +87 -87
  138. data/generated/google/apis/firebaserules_v1/service.rb +103 -103
  139. data/generated/google/apis/fusiontables_v2/service.rb +2 -2
  140. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  141. data/generated/google/apis/games_configuration_v1configuration/classes.rb +2 -2
  142. data/generated/google/apis/games_configuration_v1configuration/representations.rb +4 -4
  143. data/generated/google/apis/games_configuration_v1configuration/service.rb +8 -8
  144. data/generated/google/apis/games_management_v1management.rb +1 -1
  145. data/generated/google/apis/games_v1.rb +1 -1
  146. data/generated/google/apis/games_v1/classes.rb +23 -23
  147. data/generated/google/apis/games_v1/representations.rb +43 -43
  148. data/generated/google/apis/games_v1/service.rb +72 -72
  149. data/generated/google/apis/genomics_v1.rb +1 -1
  150. data/generated/google/apis/genomics_v1/classes.rb +2316 -2316
  151. data/generated/google/apis/genomics_v1/representations.rb +291 -291
  152. data/generated/google/apis/genomics_v1/service.rb +821 -821
  153. data/generated/google/apis/gmail_v1.rb +1 -1
  154. data/generated/google/apis/groupsmigration_v1.rb +1 -1
  155. data/generated/google/apis/groupssettings_v1.rb +1 -1
  156. data/generated/google/apis/groupssettings_v1/classes.rb +2 -2
  157. data/generated/google/apis/groupssettings_v1/service.rb +3 -0
  158. data/generated/google/apis/iam_v1/classes.rb +338 -338
  159. data/generated/google/apis/iam_v1/representations.rb +98 -98
  160. data/generated/google/apis/iam_v1/service.rb +35 -35
  161. data/generated/google/apis/identitytoolkit_v3/classes.rb +15 -15
  162. data/generated/google/apis/identitytoolkit_v3/representations.rb +30 -30
  163. data/generated/google/apis/identitytoolkit_v3/service.rb +64 -64
  164. data/generated/google/apis/kgsearch_v1/service.rb +13 -13
  165. data/generated/google/apis/language_v1.rb +1 -1
  166. data/generated/google/apis/language_v1/classes.rb +374 -374
  167. data/generated/google/apis/language_v1/representations.rb +97 -97
  168. data/generated/google/apis/language_v1/service.rb +16 -16
  169. data/generated/google/apis/language_v1beta1.rb +1 -1
  170. data/generated/google/apis/language_v1beta1/classes.rb +441 -441
  171. data/generated/google/apis/language_v1beta1/representations.rb +108 -108
  172. data/generated/google/apis/language_v1beta1/service.rb +30 -30
  173. data/generated/google/apis/licensing_v1/service.rb +2 -2
  174. data/generated/google/apis/logging_v2.rb +1 -1
  175. data/generated/google/apis/logging_v2/classes.rb +712 -712
  176. data/generated/google/apis/logging_v2/representations.rb +109 -109
  177. data/generated/google/apis/logging_v2/service.rb +543 -539
  178. data/generated/google/apis/logging_v2beta1.rb +1 -1
  179. data/generated/google/apis/logging_v2beta1/classes.rb +752 -752
  180. data/generated/google/apis/logging_v2beta1/representations.rb +94 -94
  181. data/generated/google/apis/logging_v2beta1/service.rb +257 -256
  182. data/generated/google/apis/manufacturers_v1/classes.rb +130 -130
  183. data/generated/google/apis/manufacturers_v1/representations.rb +28 -28
  184. data/generated/google/apis/mirror_v1/classes.rb +5 -5
  185. data/generated/google/apis/mirror_v1/representations.rb +10 -10
  186. data/generated/google/apis/mirror_v1/service.rb +20 -20
  187. data/generated/google/apis/ml_v1.rb +1 -1
  188. data/generated/google/apis/ml_v1/classes.rb +1830 -1210
  189. data/generated/google/apis/ml_v1/representations.rb +342 -120
  190. data/generated/google/apis/ml_v1/service.rb +365 -258
  191. data/generated/google/apis/monitoring_v3.rb +4 -4
  192. data/generated/google/apis/monitoring_v3/classes.rb +889 -889
  193. data/generated/google/apis/monitoring_v3/representations.rb +174 -174
  194. data/generated/google/apis/monitoring_v3/service.rb +119 -119
  195. data/generated/google/apis/mybusiness_v3/service.rb +5 -5
  196. data/generated/google/apis/oauth2_v2/service.rb +1 -1
  197. data/generated/google/apis/pagespeedonline_v2/classes.rb +11 -11
  198. data/generated/google/apis/pagespeedonline_v2/representations.rb +13 -13
  199. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -1
  200. data/generated/google/apis/partners_v2.rb +1 -1
  201. data/generated/google/apis/partners_v2/classes.rb +550 -536
  202. data/generated/google/apis/partners_v2/representations.rb +118 -116
  203. data/generated/google/apis/partners_v2/service.rb +439 -439
  204. data/generated/google/apis/people_v1.rb +4 -4
  205. data/generated/google/apis/people_v1/classes.rb +414 -413
  206. data/generated/google/apis/people_v1/representations.rb +85 -85
  207. data/generated/google/apis/people_v1/service.rb +111 -18
  208. data/generated/google/apis/plus_domains_v1.rb +1 -1
  209. data/generated/google/apis/plus_domains_v1/service.rb +4 -4
  210. data/generated/google/apis/plus_v1.rb +1 -1
  211. data/generated/google/apis/plus_v1/service.rb +1 -1
  212. data/generated/google/apis/prediction_v1_6/service.rb +8 -8
  213. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  214. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +443 -443
  215. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +92 -92
  216. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +152 -152
  217. data/generated/google/apis/pubsub_v1/classes.rb +249 -249
  218. data/generated/google/apis/pubsub_v1/representations.rb +80 -80
  219. data/generated/google/apis/pubsub_v1/service.rb +415 -415
  220. data/generated/google/apis/qpx_express_v1/classes.rb +2 -2
  221. data/generated/google/apis/qpx_express_v1/representations.rb +4 -4
  222. data/generated/google/apis/qpx_express_v1/service.rb +8 -8
  223. data/generated/google/apis/replicapool_v1beta2/classes.rb +5 -5
  224. data/generated/google/apis/replicapool_v1beta2/representations.rb +10 -10
  225. data/generated/google/apis/replicapool_v1beta2/service.rb +21 -21
  226. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +1 -1
  227. data/generated/google/apis/resourceviews_v1beta2/classes.rb +5 -5
  228. data/generated/google/apis/resourceviews_v1beta2/representations.rb +10 -10
  229. data/generated/google/apis/resourceviews_v1beta2/service.rb +20 -20
  230. data/generated/google/apis/runtimeconfig_v1.rb +4 -4
  231. data/generated/google/apis/runtimeconfig_v1/classes.rb +15 -15
  232. data/generated/google/apis/runtimeconfig_v1/representations.rb +2 -2
  233. data/generated/google/apis/runtimeconfig_v1/service.rb +4 -4
  234. data/generated/google/apis/script_v1.rb +17 -17
  235. data/generated/google/apis/script_v1/classes.rb +27 -27
  236. data/generated/google/apis/script_v1/representations.rb +5 -5
  237. data/generated/google/apis/script_v1/service.rb +4 -4
  238. data/generated/google/apis/searchconsole_v1.rb +1 -1
  239. data/generated/google/apis/searchconsole_v1/classes.rb +53 -53
  240. data/generated/google/apis/searchconsole_v1/representations.rb +23 -23
  241. data/generated/google/apis/searchconsole_v1/service.rb +4 -4
  242. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  243. data/generated/google/apis/servicecontrol_v1/classes.rb +1175 -1175
  244. data/generated/google/apis/servicecontrol_v1/representations.rb +206 -206
  245. data/generated/google/apis/servicecontrol_v1/service.rb +116 -116
  246. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  247. data/generated/google/apis/servicemanagement_v1/classes.rb +1186 -1125
  248. data/generated/google/apis/servicemanagement_v1/representations.rb +241 -223
  249. data/generated/google/apis/servicemanagement_v1/service.rb +201 -201
  250. data/generated/google/apis/serviceuser_v1.rb +1 -1
  251. data/generated/google/apis/serviceuser_v1/classes.rb +2645 -2641
  252. data/generated/google/apis/serviceuser_v1/representations.rb +234 -234
  253. data/generated/google/apis/serviceuser_v1/service.rb +37 -37
  254. data/generated/google/apis/sheets_v4.rb +1 -1
  255. data/generated/google/apis/sheets_v4/classes.rb +5042 -4111
  256. data/generated/google/apis/sheets_v4/representations.rb +994 -824
  257. data/generated/google/apis/sheets_v4/service.rb +80 -80
  258. data/generated/google/apis/site_verification_v1/classes.rb +6 -6
  259. data/generated/google/apis/site_verification_v1/representations.rb +8 -8
  260. data/generated/google/apis/site_verification_v1/service.rb +12 -12
  261. data/generated/google/apis/slides_v1.rb +1 -1
  262. data/generated/google/apis/slides_v1/classes.rb +2885 -2885
  263. data/generated/google/apis/slides_v1/representations.rb +310 -310
  264. data/generated/google/apis/slides_v1/service.rb +54 -54
  265. data/generated/google/apis/sourcerepo_v1/classes.rb +206 -206
  266. data/generated/google/apis/sourcerepo_v1/representations.rb +52 -52
  267. data/generated/google/apis/sourcerepo_v1/service.rb +5 -5
  268. data/generated/google/apis/spanner_v1.rb +1 -1
  269. data/generated/google/apis/spanner_v1/classes.rb +2142 -2141
  270. data/generated/google/apis/spanner_v1/representations.rb +174 -174
  271. data/generated/google/apis/spanner_v1/service.rb +497 -497
  272. data/generated/google/apis/speech_v1beta1.rb +1 -1
  273. data/generated/google/apis/speech_v1beta1/classes.rb +227 -227
  274. data/generated/google/apis/speech_v1beta1/representations.rb +50 -50
  275. data/generated/google/apis/speech_v1beta1/service.rb +33 -33
  276. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  277. data/generated/google/apis/sqladmin_v1beta4/classes.rb +21 -21
  278. data/generated/google/apis/sqladmin_v1beta4/representations.rb +29 -29
  279. data/generated/google/apis/sqladmin_v1beta4/service.rb +56 -56
  280. data/generated/google/apis/storage_v1.rb +1 -1
  281. data/generated/google/apis/storage_v1/classes.rb +40 -6
  282. data/generated/google/apis/storage_v1/representations.rb +20 -4
  283. data/generated/google/apis/storage_v1/service.rb +61 -46
  284. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  285. data/generated/google/apis/storagetransfer_v1/classes.rb +184 -184
  286. data/generated/google/apis/storagetransfer_v1/representations.rb +35 -35
  287. data/generated/google/apis/storagetransfer_v1/service.rb +70 -70
  288. data/generated/google/apis/tagmanager_v1/service.rb +33 -33
  289. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  290. data/generated/google/apis/translate_v2/classes.rb +12 -12
  291. data/generated/google/apis/translate_v2/representations.rb +10 -10
  292. data/generated/google/apis/translate_v2/service.rb +62 -62
  293. data/generated/google/apis/vision_v1.rb +1 -1
  294. data/generated/google/apis/vision_v1/classes.rb +1267 -1267
  295. data/generated/google/apis/vision_v1/representations.rb +200 -200
  296. data/generated/google/apis/vision_v1/service.rb +10 -10
  297. data/generated/google/apis/webmasters_v3.rb +1 -1
  298. data/generated/google/apis/webmasters_v3/classes.rb +4 -4
  299. data/generated/google/apis/webmasters_v3/representations.rb +8 -8
  300. data/generated/google/apis/webmasters_v3/service.rb +21 -21
  301. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  302. data/generated/google/apis/youtube_analytics_v1/classes.rb +2 -2
  303. data/generated/google/apis/youtube_analytics_v1/representations.rb +4 -4
  304. data/generated/google/apis/youtube_analytics_v1/service.rb +8 -8
  305. data/generated/google/apis/youtube_v3/classes.rb +20 -20
  306. data/generated/google/apis/youtube_v3/representations.rb +40 -40
  307. data/generated/google/apis/youtube_v3/service.rb +80 -80
  308. data/generated/google/apis/youtubereporting_v1.rb +1 -1
  309. data/generated/google/apis/youtubereporting_v1/classes.rb +129 -129
  310. data/generated/google/apis/youtubereporting_v1/representations.rb +38 -38
  311. data/generated/google/apis/youtubereporting_v1/service.rb +97 -97
  312. data/lib/google/apis/generator/annotator.rb +2 -2
  313. data/lib/google/apis/generator/model.rb +2 -2
  314. data/lib/google/apis/version.rb +1 -1
  315. metadata +2 -2
@@ -26,13 +26,13 @@ module Google
26
26
  # @see https://cloud.google.com/resource-manager
27
27
  module CloudresourcemanagerV1
28
28
  VERSION = 'V1'
29
- REVISION = '20170524'
30
-
31
- # View and manage your data across Google Cloud Platform services
32
- AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
29
+ REVISION = '20170607'
33
30
 
34
31
  # View your data across Google Cloud Platform services
35
32
  AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only'
33
+
34
+ # View and manage your data across Google Cloud Platform services
35
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
36
36
  end
37
37
  end
38
38
  end
@@ -22,145 +22,41 @@ module Google
22
22
  module Apis
23
23
  module CloudresourcemanagerV1
24
24
 
25
- # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
26
- # for configurations of Cloud Platform resources.
27
- class OrgPolicy
25
+ # The request sent to the GetEffectiveOrgPolicy method.
26
+ class GetEffectiveOrgPolicyRequest
28
27
  include Google::Apis::Core::Hashable
29
28
 
30
- # The time stamp the `Policy` was previously updated. This is set by the
31
- # server, not specified by the caller, and represents the last time a call to
32
- # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
33
- # be ignored.
34
- # Corresponds to the JSON property `updateTime`
35
- # @return [String]
36
- attr_accessor :update_time
37
-
38
- # Version of the `Policy`. Default version is 0;
39
- # Corresponds to the JSON property `version`
40
- # @return [Fixnum]
41
- attr_accessor :version
42
-
43
- # Ignores policies set above this resource and restores the
44
- # `constraint_default` enforcement behavior of the specific `Constraint` at
45
- # this resource.
46
- # Suppose that `constraint_default` is set to `ALLOW` for the
47
- # `Constraint` `constraints/serviceuser.services`. Suppose that organization
48
- # foo.com sets a `Policy` at their Organization resource node that restricts
49
- # the allowed service activations to deny all service activations. They
50
- # could then set a `Policy` with the `policy_type` `restore_default` on
51
- # several experimental projects, restoring the `constraint_default`
52
- # enforcement of the `Constraint` for only those projects, allowing those
53
- # projects to have all services activated.
54
- # Corresponds to the JSON property `restoreDefault`
55
- # @return [Google::Apis::CloudresourcemanagerV1::RestoreDefault]
56
- attr_accessor :restore_default
57
-
58
- # Used in `policy_type` to specify how `list_policy` behaves at this
59
- # resource.
60
- # A `ListPolicy` can define specific values that are allowed or denied by
61
- # setting either the `allowed_values` or `denied_values` fields. It can also
62
- # be used to allow or deny all values, by setting the `all_values` field. If
63
- # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`
64
- # or `denied_values` must be set (attempting to set both or neither will
65
- # result in a failed request). If `all_values` is set to either `ALLOW` or
66
- # `DENY`, `allowed_values` and `denied_values` must be unset.
67
- # Corresponds to the JSON property `listPolicy`
68
- # @return [Google::Apis::CloudresourcemanagerV1::ListPolicy]
69
- attr_accessor :list_policy
70
-
71
- # An opaque tag indicating the current version of the `Policy`, used for
72
- # concurrency control.
73
- # When the `Policy` is returned from either a `GetPolicy` or a
74
- # `ListOrgPolicy` request, this `etag` indicates the version of the current
75
- # `Policy` to use when executing a read-modify-write loop.
76
- # When the `Policy` is returned from a `GetEffectivePolicy` request, the
77
- # `etag` will be unset.
78
- # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
79
- # that was returned from a `GetOrgPolicy` request as part of a
80
- # read-modify-write loop for concurrency control. Not setting the `etag`in a
81
- # `SetOrgPolicy` request will result in an unconditional write of the
82
- # `Policy`.
83
- # Corresponds to the JSON property `etag`
84
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
85
- # @return [String]
86
- attr_accessor :etag
87
-
88
- # The name of the `Constraint` the `Policy` is configuring, for example,
89
- # `constraints/serviceuser.services`.
90
- # Immutable after creation.
29
+ # The name of the `Constraint` to compute the effective `Policy`.
91
30
  # Corresponds to the JSON property `constraint`
92
31
  # @return [String]
93
32
  attr_accessor :constraint
94
33
 
95
- # Used in `policy_type` to specify how `boolean_policy` will behave at this
96
- # resource.
97
- # Corresponds to the JSON property `booleanPolicy`
98
- # @return [Google::Apis::CloudresourcemanagerV1::BooleanPolicy]
99
- attr_accessor :boolean_policy
100
-
101
34
  def initialize(**args)
102
35
  update!(**args)
103
36
  end
104
37
 
105
38
  # Update properties of this object
106
39
  def update!(**args)
107
- @update_time = args[:update_time] if args.key?(:update_time)
108
- @version = args[:version] if args.key?(:version)
109
- @restore_default = args[:restore_default] if args.key?(:restore_default)
110
- @list_policy = args[:list_policy] if args.key?(:list_policy)
111
- @etag = args[:etag] if args.key?(:etag)
112
40
  @constraint = args[:constraint] if args.key?(:constraint)
113
- @boolean_policy = args[:boolean_policy] if args.key?(:boolean_policy)
114
41
  end
115
42
  end
116
43
 
117
- # Used in `policy_type` to specify how `boolean_policy` will behave at this
118
- # resource.
119
- class BooleanPolicy
44
+ # The request sent to the ListOrgPolicies method.
45
+ class ListOrgPoliciesRequest
120
46
  include Google::Apis::Core::Hashable
121
47
 
122
- # If `true`, then the `Policy` is enforced. If `false`, then any
123
- # configuration is acceptable.
124
- # Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess`
125
- # with `constraint_default` set to `ALLOW`. A `Policy` for that
126
- # `Constraint` exhibits the following behavior:
127
- # - If the `Policy` at this resource has enforced set to `false`, serial
128
- # port connection attempts will be allowed.
129
- # - If the `Policy` at this resource has enforced set to `true`, serial
130
- # port connection attempts will be refused.
131
- # - If the `Policy` at this resource is `RestoreDefault`, serial port
132
- # connection attempts will be allowed.
133
- # - If no `Policy` is set at this resource or anywhere higher in the
134
- # resource hierarchy, serial port connection attempts will be allowed.
135
- # - If no `Policy` is set at this resource, but one exists higher in the
136
- # resource hierarchy, the behavior is as if the`Policy` were set at
137
- # this resource.
138
- # The following examples demonstrate the different possible layerings:
139
- # Example 1 (nearest `Constraint` wins):
140
- # `organizations/foo` has a `Policy` with:
141
- # `enforced: false`
142
- # `projects/bar` has no `Policy` set.
143
- # The constraint at `projects/bar` and `organizations/foo` will not be
144
- # enforced.
145
- # Example 2 (enforcement gets replaced):
146
- # `organizations/foo` has a `Policy` with:
147
- # `enforced: false`
148
- # `projects/bar` has a `Policy` with:
149
- # `enforced: true`
150
- # The constraint at `organizations/foo` is not enforced.
151
- # The constraint at `projects/bar` is enforced.
152
- # Example 3 (RestoreDefault):
153
- # `organizations/foo` has a `Policy` with:
154
- # `enforced: true`
155
- # `projects/bar` has a `Policy` with:
156
- # `RestoreDefault: ```
157
- # The constraint at `organizations/foo` is enforced.
158
- # The constraint at `projects/bar` is not enforced, because
159
- # `constraint_default` for the `Constraint` is `ALLOW`.
160
- # Corresponds to the JSON property `enforced`
161
- # @return [Boolean]
162
- attr_accessor :enforced
163
- alias_method :enforced?, :enforced
48
+ # Page token used to retrieve the next page. This is currently unsupported
49
+ # and will be ignored. The server may at any point start using this field.
50
+ # Corresponds to the JSON property `pageToken`
51
+ # @return [String]
52
+ attr_accessor :page_token
53
+
54
+ # Size of the pages to be returned. This is currently unsupported and will
55
+ # be ignored. The server may at any point start using this field to limit
56
+ # page size.
57
+ # Corresponds to the JSON property `pageSize`
58
+ # @return [Fixnum]
59
+ attr_accessor :page_size
164
60
 
165
61
  def initialize(**args)
166
62
  update!(**args)
@@ -168,56 +64,73 @@ module Google
168
64
 
169
65
  # Update properties of this object
170
66
  def update!(**args)
171
- @enforced = args[:enforced] if args.key?(:enforced)
67
+ @page_token = args[:page_token] if args.key?(:page_token)
68
+ @page_size = args[:page_size] if args.key?(:page_size)
172
69
  end
173
70
  end
174
71
 
175
- # A Lien represents an encumbrance on the actions that can be performed on a
176
- # resource.
177
- class Lien
72
+ # Specifies the audit configuration for a service.
73
+ # The configuration determines which permission types are logged, and what
74
+ # identities, if any, are exempted from logging.
75
+ # An AuditConfig must have one or more AuditLogConfigs.
76
+ # If there are AuditConfigs for both `allServices` and a specific service,
77
+ # the union of the two AuditConfigs is used for that service: the log_types
78
+ # specified in each AuditConfig are enabled, and the exempted_members in each
79
+ # AuditConfig are exempted.
80
+ # Example Policy with multiple AuditConfigs:
81
+ # `
82
+ # "audit_configs": [
83
+ # `
84
+ # "service": "allServices"
85
+ # "audit_log_configs": [
86
+ # `
87
+ # "log_type": "DATA_READ",
88
+ # "exempted_members": [
89
+ # "user:foo@gmail.com"
90
+ # ]
91
+ # `,
92
+ # `
93
+ # "log_type": "DATA_WRITE",
94
+ # `,
95
+ # `
96
+ # "log_type": "ADMIN_READ",
97
+ # `
98
+ # ]
99
+ # `,
100
+ # `
101
+ # "service": "fooservice.googleapis.com"
102
+ # "audit_log_configs": [
103
+ # `
104
+ # "log_type": "DATA_READ",
105
+ # `,
106
+ # `
107
+ # "log_type": "DATA_WRITE",
108
+ # "exempted_members": [
109
+ # "user:bar@gmail.com"
110
+ # ]
111
+ # `
112
+ # ]
113
+ # `
114
+ # ]
115
+ # `
116
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
117
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
118
+ # bar@gmail.com from DATA_WRITE logging.
119
+ class AuditConfig
178
120
  include Google::Apis::Core::Hashable
179
121
 
180
- # A system-generated unique identifier for this Lien.
181
- # Example: `liens/1234abcd`
182
- # Corresponds to the JSON property `name`
183
- # @return [String]
184
- attr_accessor :name
185
-
186
- # Concise user-visible strings indicating why an action cannot be performed
187
- # on a resource. Maximum lenth of 200 characters.
188
- # Example: 'Holds production API key'
189
- # Corresponds to the JSON property `reason`
190
- # @return [String]
191
- attr_accessor :reason
192
-
193
- # A stable, user-visible/meaningful string identifying the origin of the
194
- # Lien, intended to be inspected programmatically. Maximum length of 200
195
- # characters.
196
- # Example: 'compute.googleapis.com'
197
- # Corresponds to the JSON property `origin`
198
- # @return [String]
199
- attr_accessor :origin
200
-
201
- # The types of operations which should be blocked as a result of this Lien.
202
- # Each value should correspond to an IAM permission. The server will
203
- # validate the permissions against those for which Liens are supported.
204
- # An empty list is meaningless and will be rejected.
205
- # Example: ['resourcemanager.projects.delete']
206
- # Corresponds to the JSON property `restrictions`
207
- # @return [Array<String>]
208
- attr_accessor :restrictions
209
-
210
- # A reference to the resource this Lien is attached to. The server will
211
- # validate the parent against those for which Liens are supported.
212
- # Example: `projects/1234`
213
- # Corresponds to the JSON property `parent`
214
- # @return [String]
215
- attr_accessor :parent
122
+ # The configuration for logging of each type of permission.
123
+ # Next ID: 4
124
+ # Corresponds to the JSON property `auditLogConfigs`
125
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::AuditLogConfig>]
126
+ attr_accessor :audit_log_configs
216
127
 
217
- # The creation time of this Lien.
218
- # Corresponds to the JSON property `createTime`
128
+ # Specifies a service that will be enabled for audit logging.
129
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
130
+ # `allServices` is a special value that covers all services.
131
+ # Corresponds to the JSON property `service`
219
132
  # @return [String]
220
- attr_accessor :create_time
133
+ attr_accessor :service
221
134
 
222
135
  def initialize(**args)
223
136
  update!(**args)
@@ -225,67 +138,93 @@ module Google
225
138
 
226
139
  # Update properties of this object
227
140
  def update!(**args)
228
- @name = args[:name] if args.key?(:name)
229
- @reason = args[:reason] if args.key?(:reason)
230
- @origin = args[:origin] if args.key?(:origin)
231
- @restrictions = args[:restrictions] if args.key?(:restrictions)
232
- @parent = args[:parent] if args.key?(:parent)
233
- @create_time = args[:create_time] if args.key?(:create_time)
141
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
142
+ @service = args[:service] if args.key?(:service)
234
143
  end
235
144
  end
236
145
 
237
- # Identifying information for a single ancestor of a project.
238
- class Ancestor
146
+ # This resource represents a long-running operation that is the result of a
147
+ # network API call.
148
+ class Operation
239
149
  include Google::Apis::Core::Hashable
240
150
 
241
- # A container to reference an id for any resource type. A `resource` in Google
242
- # Cloud Platform is a generic term for something you (a developer) may want to
243
- # interact with through one of our API's. Some examples are an App Engine app,
244
- # a Compute Engine instance, a Cloud SQL database, and so on.
245
- # Corresponds to the JSON property `resourceId`
246
- # @return [Google::Apis::CloudresourcemanagerV1::ResourceId]
247
- attr_accessor :resource_id
248
-
249
- def initialize(**args)
250
- update!(**args)
251
- end
252
-
253
- # Update properties of this object
254
- def update!(**args)
255
- @resource_id = args[:resource_id] if args.key?(:resource_id)
256
- end
257
- end
151
+ # If the value is `false`, it means the operation is still in progress.
152
+ # If true, the operation is completed, and either `error` or `response` is
153
+ # available.
154
+ # Corresponds to the JSON property `done`
155
+ # @return [Boolean]
156
+ attr_accessor :done
157
+ alias_method :done?, :done
258
158
 
259
- # A `Constraint` that allows or disallows a list of string values, which are
260
- # configured by an Organization's policy administrator with a `Policy`.
261
- class ListConstraint
262
- include Google::Apis::Core::Hashable
159
+ # The normal response of the operation in case of success. If the original
160
+ # method returns no data on success, such as `Delete`, the response is
161
+ # `google.protobuf.Empty`. If the original method is standard
162
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
163
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
164
+ # is the original method name. For example, if the original method name
165
+ # is `TakeSnapshot()`, the inferred response type is
166
+ # `TakeSnapshotResponse`.
167
+ # Corresponds to the JSON property `response`
168
+ # @return [Hash<String,Object>]
169
+ attr_accessor :response
263
170
 
264
- # Optional. The Google Cloud Console will try to default to a configuration
265
- # that matches the value specified in this `Constraint`.
266
- # Corresponds to the JSON property `suggestedValue`
171
+ # The server-assigned name, which is only unique within the same service that
172
+ # originally returns it. If you use the default HTTP mapping, the
173
+ # `name` should have the format of `operations/some/unique/name`.
174
+ # Corresponds to the JSON property `name`
267
175
  # @return [String]
268
- attr_accessor :suggested_value
269
-
270
- def initialize(**args)
271
- update!(**args)
272
- end
273
-
274
- # Update properties of this object
275
- def update!(**args)
276
- @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
277
- end
278
- end
176
+ attr_accessor :name
279
177
 
280
- # The request sent to the SetOrgPolicyRequest method.
281
- class SetOrgPolicyRequest
282
- include Google::Apis::Core::Hashable
178
+ # The `Status` type defines a logical error model that is suitable for different
179
+ # programming environments, including REST APIs and RPC APIs. It is used by
180
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
181
+ # - Simple to use and understand for most users
182
+ # - Flexible enough to meet unexpected needs
183
+ # # Overview
184
+ # The `Status` message contains three pieces of data: error code, error message,
185
+ # and error details. The error code should be an enum value of
186
+ # google.rpc.Code, but it may accept additional error codes if needed. The
187
+ # error message should be a developer-facing English message that helps
188
+ # developers *understand* and *resolve* the error. If a localized user-facing
189
+ # error message is needed, put the localized message in the error details or
190
+ # localize it in the client. The optional error details may contain arbitrary
191
+ # information about the error. There is a predefined set of error detail types
192
+ # in the package `google.rpc` that can be used for common error conditions.
193
+ # # Language mapping
194
+ # The `Status` message is the logical representation of the error model, but it
195
+ # is not necessarily the actual wire format. When the `Status` message is
196
+ # exposed in different client libraries and different wire protocols, it can be
197
+ # mapped differently. For example, it will likely be mapped to some exceptions
198
+ # in Java, but more likely mapped to some error codes in C.
199
+ # # Other uses
200
+ # The error model and the `Status` message can be used in a variety of
201
+ # environments, either with or without APIs, to provide a
202
+ # consistent developer experience across different environments.
203
+ # Example uses of this error model include:
204
+ # - Partial errors. If a service needs to return partial errors to the client,
205
+ # it may embed the `Status` in the normal response to indicate the partial
206
+ # errors.
207
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
208
+ # have a `Status` message for error reporting.
209
+ # - Batch operations. If a client uses batch request and batch response, the
210
+ # `Status` message should be used directly inside batch response, one for
211
+ # each error sub-response.
212
+ # - Asynchronous operations. If an API call embeds asynchronous operation
213
+ # results in its response, the status of those operations should be
214
+ # represented directly using the `Status` message.
215
+ # - Logging. If some API errors are stored in logs, the message `Status` could
216
+ # be used directly after any stripping needed for security/privacy reasons.
217
+ # Corresponds to the JSON property `error`
218
+ # @return [Google::Apis::CloudresourcemanagerV1::Status]
219
+ attr_accessor :error
283
220
 
284
- # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
285
- # for configurations of Cloud Platform resources.
286
- # Corresponds to the JSON property `policy`
287
- # @return [Google::Apis::CloudresourcemanagerV1::OrgPolicy]
288
- attr_accessor :policy
221
+ # Service-specific metadata associated with the operation. It typically
222
+ # contains progress information and common metadata such as create time.
223
+ # Some services might not provide such metadata. Any method that returns a
224
+ # long-running operation should document the metadata type, if any.
225
+ # Corresponds to the JSON property `metadata`
226
+ # @return [Hash<String,Object>]
227
+ attr_accessor :metadata
289
228
 
290
229
  def initialize(**args)
291
230
  update!(**args)
@@ -293,52 +232,28 @@ module Google
293
232
 
294
233
  # Update properties of this object
295
234
  def update!(**args)
296
- @policy = args[:policy] if args.key?(:policy)
235
+ @done = args[:done] if args.key?(:done)
236
+ @response = args[:response] if args.key?(:response)
237
+ @name = args[:name] if args.key?(:name)
238
+ @error = args[:error] if args.key?(:error)
239
+ @metadata = args[:metadata] if args.key?(:metadata)
297
240
  end
298
241
  end
299
242
 
300
- # Request message for `SetIamPolicy` method.
301
- class SetIamPolicyRequest
243
+ # The response message for Liens.ListLiens.
244
+ class ListLiensResponse
302
245
  include Google::Apis::Core::Hashable
303
246
 
304
- # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
305
- # the fields in the mask will be modified. If no mask is provided, the
306
- # following default mask is used:
307
- # paths: "bindings, etag"
308
- # This field is only used by Cloud IAM.
309
- # Corresponds to the JSON property `updateMask`
247
+ # Token to retrieve the next page of results, or empty if there are no more
248
+ # results in the list.
249
+ # Corresponds to the JSON property `nextPageToken`
310
250
  # @return [String]
311
- attr_accessor :update_mask
251
+ attr_accessor :next_page_token
312
252
 
313
- # Defines an Identity and Access Management (IAM) policy. It is used to
314
- # specify access control policies for Cloud Platform resources.
315
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
316
- # `members` to a `role`, where the members can be user accounts, Google groups,
317
- # Google domains, and service accounts. A `role` is a named list of permissions
318
- # defined by IAM.
319
- # **Example**
320
- # `
321
- # "bindings": [
322
- # `
323
- # "role": "roles/owner",
324
- # "members": [
325
- # "user:mike@example.com",
326
- # "group:admins@example.com",
327
- # "domain:google.com",
328
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
329
- # ]
330
- # `,
331
- # `
332
- # "role": "roles/viewer",
333
- # "members": ["user:sean@example.com"]
334
- # `
335
- # ]
336
- # `
337
- # For a description of IAM and its features, see the
338
- # [IAM developer's guide](https://cloud.google.com/iam).
339
- # Corresponds to the JSON property `policy`
340
- # @return [Google::Apis::CloudresourcemanagerV1::Policy]
341
- attr_accessor :policy
253
+ # A list of Liens.
254
+ # Corresponds to the JSON property `liens`
255
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Lien>]
256
+ attr_accessor :liens
342
257
 
343
258
  def initialize(**args)
344
259
  update!(**args)
@@ -346,100 +261,145 @@ module Google
346
261
 
347
262
  # Update properties of this object
348
263
  def update!(**args)
349
- @update_mask = args[:update_mask] if args.key?(:update_mask)
350
- @policy = args[:policy] if args.key?(:policy)
264
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
265
+ @liens = args[:liens] if args.key?(:liens)
351
266
  end
352
267
  end
353
268
 
354
- # A generic empty message that you can re-use to avoid defining duplicated
355
- # empty messages in your APIs. A typical example is to use it as the request
356
- # or the response type of an API method. For instance:
357
- # service Foo `
358
- # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
359
- # `
360
- # The JSON representation for `Empty` is empty JSON object ````.
361
- class Empty
269
+ # A `Constraint` describes a way in which a resource's configuration can be
270
+ # restricted. For example, it controls which cloud services can be activated
271
+ # across an organization, or whether a Compute Engine instance can have
272
+ # serial port connections established. `Constraints` can be configured by the
273
+ # organization's policy adminstrator to fit the needs of the organzation by
274
+ # setting Policies for `Constraints` at different locations in the
275
+ # organization's resource hierarchy. Policies are inherited down the resource
276
+ # hierarchy from higher levels, but can also be overridden. For details about
277
+ # the inheritance rules please read about
278
+ # Policies.
279
+ # `Constraints` have a default behavior determined by the `constraint_default`
280
+ # field, which is the enforcement behavior that is used in the absence of a
281
+ # `Policy` being defined or inherited for the resource in question.
282
+ class Constraint
362
283
  include Google::Apis::Core::Hashable
363
284
 
364
- def initialize(**args)
365
- update!(**args)
366
- end
285
+ # Version of the `Constraint`. Default version is 0;
286
+ # Corresponds to the JSON property `version`
287
+ # @return [Fixnum]
288
+ attr_accessor :version
367
289
 
368
- # Update properties of this object
369
- def update!(**args)
370
- end
371
- end
290
+ # A `Constraint` that allows or disallows a list of string values, which are
291
+ # configured by an Organization's policy administrator with a `Policy`.
292
+ # Corresponds to the JSON property `listConstraint`
293
+ # @return [Google::Apis::CloudresourcemanagerV1::ListConstraint]
294
+ attr_accessor :list_constraint
372
295
 
373
- # The root node in the resource hierarchy to which a particular entity's
374
- # (e.g., company) resources belong.
375
- class Organization
376
- include Google::Apis::Core::Hashable
296
+ # The human readable name.
297
+ # Mutable.
298
+ # Corresponds to the JSON property `displayName`
299
+ # @return [String]
300
+ attr_accessor :display_name
377
301
 
378
- # Timestamp when the Organization was created. Assigned by the server.
379
- # @OutputOnly
380
- # Corresponds to the JSON property `creationTime`
302
+ # Detailed description of what this `Constraint` controls as well as how and
303
+ # where it is enforced.
304
+ # Mutable.
305
+ # Corresponds to the JSON property `description`
381
306
  # @return [String]
382
- attr_accessor :creation_time
307
+ attr_accessor :description
383
308
 
384
- # The entity that owns an Organization. The lifetime of the Organization and
385
- # all of its descendants are bound to the `OrganizationOwner`. If the
386
- # `OrganizationOwner` is deleted, the Organization and all its descendants will
387
- # be deleted.
388
- # Corresponds to the JSON property `owner`
389
- # @return [Google::Apis::CloudresourcemanagerV1::OrganizationOwner]
390
- attr_accessor :owner
309
+ # A `Constraint` that is either enforced or not.
310
+ # For example a constraint `constraints/compute.disableSerialPortAccess`.
311
+ # If it is enforced on a VM instance, serial port connections will not be
312
+ # opened to that instance.
313
+ # Corresponds to the JSON property `booleanConstraint`
314
+ # @return [Google::Apis::CloudresourcemanagerV1::BooleanConstraint]
315
+ attr_accessor :boolean_constraint
391
316
 
392
- # The organization's current lifecycle state. Assigned by the server.
393
- # @OutputOnly
394
- # Corresponds to the JSON property `lifecycleState`
317
+ # The evaluation behavior of this constraint in the absense of 'Policy'.
318
+ # Corresponds to the JSON property `constraintDefault`
395
319
  # @return [String]
396
- attr_accessor :lifecycle_state
320
+ attr_accessor :constraint_default
397
321
 
398
- # Output Only. The resource name of the organization. This is the
399
- # organization's relative path in the API. Its format is
400
- # "organizations/[organization_id]". For example, "organizations/1234".
322
+ # Immutable value, required to globally be unique. For example,
323
+ # `constraints/serviceuser.services`
401
324
  # Corresponds to the JSON property `name`
402
325
  # @return [String]
403
326
  attr_accessor :name
404
327
 
405
- # A friendly string to be used to refer to the Organization in the UI.
406
- # Assigned by the server, set to the primary domain of the G Suite
407
- # customer that owns the organization.
408
- # @OutputOnly
409
- # Corresponds to the JSON property `displayName`
410
- # @return [String]
411
- attr_accessor :display_name
412
-
413
328
  def initialize(**args)
414
329
  update!(**args)
415
330
  end
416
331
 
417
332
  # Update properties of this object
418
333
  def update!(**args)
419
- @creation_time = args[:creation_time] if args.key?(:creation_time)
420
- @owner = args[:owner] if args.key?(:owner)
421
- @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
422
- @name = args[:name] if args.key?(:name)
334
+ @version = args[:version] if args.key?(:version)
335
+ @list_constraint = args[:list_constraint] if args.key?(:list_constraint)
423
336
  @display_name = args[:display_name] if args.key?(:display_name)
337
+ @description = args[:description] if args.key?(:description)
338
+ @boolean_constraint = args[:boolean_constraint] if args.key?(:boolean_constraint)
339
+ @constraint_default = args[:constraint_default] if args.key?(:constraint_default)
340
+ @name = args[:name] if args.key?(:name)
424
341
  end
425
342
  end
426
343
 
427
- # The response returned from the ListAvailableOrgPolicyConstraints method.
428
- # Returns all `Constraints` that could be set at this level of the hierarchy
429
- # (contrast with the response from `ListPolicies`, which returns all policies
430
- # which are set).
431
- class ListAvailableOrgPolicyConstraintsResponse
344
+ # The `Status` type defines a logical error model that is suitable for different
345
+ # programming environments, including REST APIs and RPC APIs. It is used by
346
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
347
+ # - Simple to use and understand for most users
348
+ # - Flexible enough to meet unexpected needs
349
+ # # Overview
350
+ # The `Status` message contains three pieces of data: error code, error message,
351
+ # and error details. The error code should be an enum value of
352
+ # google.rpc.Code, but it may accept additional error codes if needed. The
353
+ # error message should be a developer-facing English message that helps
354
+ # developers *understand* and *resolve* the error. If a localized user-facing
355
+ # error message is needed, put the localized message in the error details or
356
+ # localize it in the client. The optional error details may contain arbitrary
357
+ # information about the error. There is a predefined set of error detail types
358
+ # in the package `google.rpc` that can be used for common error conditions.
359
+ # # Language mapping
360
+ # The `Status` message is the logical representation of the error model, but it
361
+ # is not necessarily the actual wire format. When the `Status` message is
362
+ # exposed in different client libraries and different wire protocols, it can be
363
+ # mapped differently. For example, it will likely be mapped to some exceptions
364
+ # in Java, but more likely mapped to some error codes in C.
365
+ # # Other uses
366
+ # The error model and the `Status` message can be used in a variety of
367
+ # environments, either with or without APIs, to provide a
368
+ # consistent developer experience across different environments.
369
+ # Example uses of this error model include:
370
+ # - Partial errors. If a service needs to return partial errors to the client,
371
+ # it may embed the `Status` in the normal response to indicate the partial
372
+ # errors.
373
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
374
+ # have a `Status` message for error reporting.
375
+ # - Batch operations. If a client uses batch request and batch response, the
376
+ # `Status` message should be used directly inside batch response, one for
377
+ # each error sub-response.
378
+ # - Asynchronous operations. If an API call embeds asynchronous operation
379
+ # results in its response, the status of those operations should be
380
+ # represented directly using the `Status` message.
381
+ # - Logging. If some API errors are stored in logs, the message `Status` could
382
+ # be used directly after any stripping needed for security/privacy reasons.
383
+ class Status
432
384
  include Google::Apis::Core::Hashable
433
385
 
434
- # Page token used to retrieve the next page. This is currently not used.
435
- # Corresponds to the JSON property `nextPageToken`
436
- # @return [String]
437
- attr_accessor :next_page_token
386
+ # A list of messages that carry the error details. There will be a
387
+ # common set of message types for APIs to use.
388
+ # Corresponds to the JSON property `details`
389
+ # @return [Array<Hash<String,Object>>]
390
+ attr_accessor :details
438
391
 
439
- # The collection of constraints that are settable on the request resource.
440
- # Corresponds to the JSON property `constraints`
441
- # @return [Array<Google::Apis::CloudresourcemanagerV1::Constraint>]
442
- attr_accessor :constraints
392
+ # The status code, which should be an enum value of google.rpc.Code.
393
+ # Corresponds to the JSON property `code`
394
+ # @return [Fixnum]
395
+ attr_accessor :code
396
+
397
+ # A developer-facing error message, which should be in English. Any
398
+ # user-facing error message should be localized and sent in the
399
+ # google.rpc.Status.details field, or localized by the client.
400
+ # Corresponds to the JSON property `message`
401
+ # @return [String]
402
+ attr_accessor :message
443
403
 
444
404
  def initialize(**args)
445
405
  update!(**args)
@@ -447,125 +407,40 @@ module Google
447
407
 
448
408
  # Update properties of this object
449
409
  def update!(**args)
450
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
451
- @constraints = args[:constraints] if args.key?(:constraints)
410
+ @details = args[:details] if args.key?(:details)
411
+ @code = args[:code] if args.key?(:code)
412
+ @message = args[:message] if args.key?(:message)
452
413
  end
453
414
  end
454
415
 
455
- # Used in `policy_type` to specify how `list_policy` behaves at this
456
- # resource.
457
- # A `ListPolicy` can define specific values that are allowed or denied by
458
- # setting either the `allowed_values` or `denied_values` fields. It can also
459
- # be used to allow or deny all values, by setting the `all_values` field. If
460
- # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`
461
- # or `denied_values` must be set (attempting to set both or neither will
462
- # result in a failed request). If `all_values` is set to either `ALLOW` or
463
- # `DENY`, `allowed_values` and `denied_values` must be unset.
464
- class ListPolicy
416
+ # Associates `members` with a `role`.
417
+ class Binding
465
418
  include Google::Apis::Core::Hashable
466
419
 
467
- # List of values allowed at this resource. an only be set if no values are
468
- # set for `denied_values` and `all_values` is set to
469
- # `ALL_VALUES_UNSPECIFIED`.
470
- # Corresponds to the JSON property `allowedValues`
471
- # @return [Array<String>]
472
- attr_accessor :allowed_values
473
-
474
- # Optional. The Google Cloud Console will try to default to a configuration
475
- # that matches the value specified in this `Policy`. If `suggested_value`
476
- # is not set, it will inherit the value specified higher in the hierarchy,
477
- # unless `inherit_from_parent` is `false`.
478
- # Corresponds to the JSON property `suggestedValue`
479
- # @return [String]
480
- attr_accessor :suggested_value
481
-
482
- # Determines the inheritance behavior for this `Policy`.
483
- # By default, a `ListPolicy` set at a resource supercedes any `Policy` set
484
- # anywhere up the resource hierarchy. However, if `inherit_from_parent` is
485
- # set to `true`, then the values from the effective `Policy` of the parent
486
- # resource are inherited, meaning the values set in this `Policy` are
487
- # added to the values inherited up the hierarchy.
488
- # Setting `Policy` hierarchies that inherit both allowed values and denied
489
- # values isn't recommended in most circumstances to keep the configuration
490
- # simple and understandable. However, it is possible to set a `Policy` with
491
- # `allowed_values` set that inherits a `Policy` with `denied_values` set.
492
- # In this case, the values that are allowed must be in `allowed_values` and
493
- # not present in `denied_values`.
494
- # For example, suppose you have a `Constraint`
495
- # `constraints/serviceuser.services`, which has a `constraint_type` of
496
- # `list_constraint`, and with `constraint_default` set to `ALLOW`.
497
- # Suppose that at the Organization level, a `Policy` is applied that
498
- # restricts the allowed API activations to ``E1`, `E2``. Then, if a
499
- # `Policy` is applied to a project below the Organization that has
500
- # `inherit_from_parent` set to `false` and field all_values set to DENY,
501
- # then an attempt to activate any API will be denied.
502
- # The following examples demonstrate different possible layerings:
503
- # Example 1 (no inherited values):
504
- # `organizations/foo` has a `Policy` with values:
505
- # `allowed_values: “E1” allowed_values:”E2”`
506
- # ``projects/bar`` has `inherit_from_parent` `false` and values:
507
- # `allowed_values: "E3" allowed_values: "E4"`
508
- # The accepted values at `organizations/foo` are `E1`, `E2`.
509
- # The accepted values at `projects/bar` are `E3`, and `E4`.
510
- # Example 2 (inherited values):
511
- # `organizations/foo` has a `Policy` with values:
512
- # `allowed_values: “E1” allowed_values:”E2”`
513
- # `projects/bar` has a `Policy` with values:
514
- # `value: “E3” value: ”E4” inherit_from_parent: true`
515
- # The accepted values at `organizations/foo` are `E1`, `E2`.
516
- # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
517
- # Example 3 (inheriting both allowed and denied values):
518
- # `organizations/foo` has a `Policy` with values:
519
- # `allowed_values: "E1" allowed_values: "E2"`
520
- # `projects/bar` has a `Policy` with:
521
- # `denied_values: "E1"`
522
- # The accepted values at `organizations/foo` are `E1`, `E2`.
523
- # The value accepted at `projects/bar` is `E2`.
524
- # Example 4 (RestoreDefault):
525
- # `organizations/foo` has a `Policy` with values:
526
- # `allowed_values: “E1” allowed_values:”E2”`
527
- # `projects/bar` has a `Policy` with values:
528
- # `RestoreDefault: ```
529
- # The accepted values at `organizations/foo` are `E1`, `E2`.
530
- # The accepted values at `projects/bar` are either all or none depending on
531
- # the value of `constraint_default` (if `ALLOW`, all; if
532
- # `DENY`, none).
533
- # Example 5 (no policy inherits parent policy):
534
- # `organizations/foo` has no `Policy` set.
535
- # `projects/bar` has no `Policy` set.
536
- # The accepted values at both levels are either all or none depending on
537
- # the value of `constraint_default` (if `ALLOW`, all; if
538
- # `DENY`, none).
539
- # Example 6 (ListConstraint allowing all):
540
- # `organizations/foo` has a `Policy` with values:
541
- # `allowed_values: “E1” allowed_values: ”E2”`
542
- # `projects/bar` has a `Policy` with:
543
- # `all: ALLOW`
544
- # The accepted values at `organizations/foo` are `E1`, E2`.
545
- # Any value is accepted at `projects/bar`.
546
- # Example 7 (ListConstraint allowing none):
547
- # `organizations/foo` has a `Policy` with values:
548
- # `allowed_values: “E1” allowed_values: ”E2”`
549
- # `projects/bar` has a `Policy` with:
550
- # `all: DENY`
551
- # The accepted values at `organizations/foo` are `E1`, E2`.
552
- # No value is accepted at `projects/bar`.
553
- # Corresponds to the JSON property `inheritFromParent`
554
- # @return [Boolean]
555
- attr_accessor :inherit_from_parent
556
- alias_method :inherit_from_parent?, :inherit_from_parent
557
-
558
- # List of values denied at this resource. Can only be set if no values are
559
- # set for `allowed_values` and `all_values` is set to
560
- # `ALL_VALUES_UNSPECIFIED`.
561
- # Corresponds to the JSON property `deniedValues`
420
+ # Specifies the identities requesting access for a Cloud Platform resource.
421
+ # `members` can have the following values:
422
+ # * `allUsers`: A special identifier that represents anyone who is
423
+ # on the internet; with or without a Google account.
424
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
425
+ # who is authenticated with a Google account or a service account.
426
+ # * `user:`emailid``: An email address that represents a specific Google
427
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
428
+ # * `serviceAccount:`emailid``: An email address that represents a service
429
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
430
+ # * `group:`emailid``: An email address that represents a Google group.
431
+ # For example, `admins@example.com`.
432
+ # * `domain:`domain``: A Google Apps domain name that represents all the
433
+ # users of that domain. For example, `google.com` or `example.com`.
434
+ # Corresponds to the JSON property `members`
562
435
  # @return [Array<String>]
563
- attr_accessor :denied_values
436
+ attr_accessor :members
564
437
 
565
- # The policy all_values state.
566
- # Corresponds to the JSON property `allValues`
438
+ # Role that is assigned to `members`.
439
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
440
+ # Required
441
+ # Corresponds to the JSON property `role`
567
442
  # @return [String]
568
- attr_accessor :all_values
443
+ attr_accessor :role
569
444
 
570
445
  def initialize(**args)
571
446
  update!(**args)
@@ -573,24 +448,19 @@ module Google
573
448
 
574
449
  # Update properties of this object
575
450
  def update!(**args)
576
- @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
577
- @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
578
- @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent)
579
- @denied_values = args[:denied_values] if args.key?(:denied_values)
580
- @all_values = args[:all_values] if args.key?(:all_values)
451
+ @members = args[:members] if args.key?(:members)
452
+ @role = args[:role] if args.key?(:role)
581
453
  end
582
454
  end
583
455
 
584
- # Response from the GetAncestry method.
585
- class GetAncestryResponse
456
+ # The request sent to the GetOrgPolicy method.
457
+ class GetOrgPolicyRequest
586
458
  include Google::Apis::Core::Hashable
587
459
 
588
- # Ancestors are ordered from bottom to top of the resource hierarchy. The
589
- # first ancestor is the project itself, followed by the project's parent,
590
- # etc.
591
- # Corresponds to the JSON property `ancestor`
592
- # @return [Array<Google::Apis::CloudresourcemanagerV1::Ancestor>]
593
- attr_accessor :ancestor
460
+ # Name of the `Constraint` to get the `Policy`.
461
+ # Corresponds to the JSON property `constraint`
462
+ # @return [String]
463
+ attr_accessor :constraint
594
464
 
595
465
  def initialize(**args)
596
466
  update!(**args)
@@ -598,83 +468,48 @@ module Google
598
468
 
599
469
  # Update properties of this object
600
470
  def update!(**args)
601
- @ancestor = args[:ancestor] if args.key?(:ancestor)
471
+ @constraint = args[:constraint] if args.key?(:constraint)
602
472
  end
603
473
  end
604
474
 
605
- # Provides the configuration for logging a type of permissions.
606
- # Example:
607
- # `
608
- # "audit_log_configs": [
609
- # `
610
- # "log_type": "DATA_READ",
611
- # "exempted_members": [
612
- # "user:foo@gmail.com"
613
- # ]
614
- # `,
615
- # `
616
- # "log_type": "DATA_WRITE",
617
- # `
618
- # ]
619
- # `
620
- # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
621
- # foo@gmail.com from DATA_READ logging.
622
- class AuditLogConfig
475
+ # Ignores policies set above this resource and restores the
476
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
477
+ # this resource.
478
+ # Suppose that `constraint_default` is set to `ALLOW` for the
479
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
480
+ # foo.com sets a `Policy` at their Organization resource node that restricts
481
+ # the allowed service activations to deny all service activations. They
482
+ # could then set a `Policy` with the `policy_type` `restore_default` on
483
+ # several experimental projects, restoring the `constraint_default`
484
+ # enforcement of the `Constraint` for only those projects, allowing those
485
+ # projects to have all services activated.
486
+ class RestoreDefault
623
487
  include Google::Apis::Core::Hashable
624
488
 
625
- # Specifies the identities that do not cause logging for this type of
626
- # permission.
627
- # Follows the same format of Binding.members.
628
- # Corresponds to the JSON property `exemptedMembers`
629
- # @return [Array<String>]
630
- attr_accessor :exempted_members
631
-
632
- # The log type that this config enables.
633
- # Corresponds to the JSON property `logType`
634
- # @return [String]
635
- attr_accessor :log_type
636
-
637
489
  def initialize(**args)
638
490
  update!(**args)
639
491
  end
640
492
 
641
493
  # Update properties of this object
642
494
  def update!(**args)
643
- @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
644
- @log_type = args[:log_type] if args.key?(:log_type)
645
495
  end
646
496
  end
647
497
 
648
- # The request sent to the `SearchOrganizations` method.
649
- class SearchOrganizationsRequest
498
+ # The request sent to the ClearOrgPolicy method.
499
+ class ClearOrgPolicyRequest
650
500
  include Google::Apis::Core::Hashable
651
501
 
652
- # An optional query string used to filter the Organizations to return in
653
- # the response. Filter rules are case-insensitive.
654
- # Organizations may be filtered by `owner.directoryCustomerId` or by
655
- # `domain`, where the domain is a Google for Work domain, for example:
656
- # |Filter|Description|
657
- # |------|-----------|
658
- # |owner.directorycustomerid:123456789|Organizations with
659
- # `owner.directory_customer_id` equal to `123456789`.|
660
- # |domain:google.com|Organizations corresponding to the domain `google.com`.|
661
- # This field is optional.
662
- # Corresponds to the JSON property `filter`
502
+ # The current version, for concurrency control. Not sending an `etag`
503
+ # will cause the `Policy` to be cleared blindly.
504
+ # Corresponds to the JSON property `etag`
505
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
663
506
  # @return [String]
664
- attr_accessor :filter
507
+ attr_accessor :etag
665
508
 
666
- # A pagination token returned from a previous call to `SearchOrganizations`
667
- # that indicates from where listing should continue.
668
- # This field is optional.
669
- # Corresponds to the JSON property `pageToken`
509
+ # Name of the `Constraint` of the `Policy` to clear.
510
+ # Corresponds to the JSON property `constraint`
670
511
  # @return [String]
671
- attr_accessor :page_token
672
-
673
- # The maximum number of Organizations to return in the response.
674
- # This field is optional.
675
- # Corresponds to the JSON property `pageSize`
676
- # @return [Fixnum]
677
- attr_accessor :page_size
512
+ attr_accessor :constraint
678
513
 
679
514
  def initialize(**args)
680
515
  update!(**args)
@@ -682,16 +517,14 @@ module Google
682
517
 
683
518
  # Update properties of this object
684
519
  def update!(**args)
685
- @filter = args[:filter] if args.key?(:filter)
686
- @page_token = args[:page_token] if args.key?(:page_token)
687
- @page_size = args[:page_size] if args.key?(:page_size)
520
+ @etag = args[:etag] if args.key?(:etag)
521
+ @constraint = args[:constraint] if args.key?(:constraint)
688
522
  end
689
523
  end
690
524
 
691
- # The request sent to the
692
- # GetAncestry
525
+ # The request sent to the UndeleteProject
693
526
  # method.
694
- class GetAncestryRequest
527
+ class UndeleteProjectRequest
695
528
  include Google::Apis::Core::Hashable
696
529
 
697
530
  def initialize(**args)
@@ -703,17 +536,30 @@ module Google
703
536
  end
704
537
  end
705
538
 
706
- # Request message for `TestIamPermissions` method.
707
- class TestIamPermissionsRequest
539
+ # A status object which is used as the `metadata` field for the Operation
540
+ # returned by CreateProject. It provides insight for when significant phases of
541
+ # Project creation have completed.
542
+ class ProjectCreationStatus
708
543
  include Google::Apis::Core::Hashable
709
544
 
710
- # The set of permissions to check for the `resource`. Permissions with
711
- # wildcards (such as '*' or 'storage.*') are not allowed. For more
712
- # information see
713
- # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
714
- # Corresponds to the JSON property `permissions`
715
- # @return [Array<String>]
716
- attr_accessor :permissions
545
+ # True if the project creation process is complete.
546
+ # Corresponds to the JSON property `ready`
547
+ # @return [Boolean]
548
+ attr_accessor :ready
549
+ alias_method :ready?, :ready
550
+
551
+ # Creation time of the project creation workflow.
552
+ # Corresponds to the JSON property `createTime`
553
+ # @return [String]
554
+ attr_accessor :create_time
555
+
556
+ # True if the project can be retrieved using GetProject. No other operations
557
+ # on the project are guaranteed to work until the project creation is
558
+ # complete.
559
+ # Corresponds to the JSON property `gettable`
560
+ # @return [Boolean]
561
+ attr_accessor :gettable
562
+ alias_method :gettable?, :gettable
717
563
 
718
564
  def initialize(**args)
719
565
  update!(**args)
@@ -721,108 +567,37 @@ module Google
721
567
 
722
568
  # Update properties of this object
723
569
  def update!(**args)
724
- @permissions = args[:permissions] if args.key?(:permissions)
570
+ @ready = args[:ready] if args.key?(:ready)
571
+ @create_time = args[:create_time] if args.key?(:create_time)
572
+ @gettable = args[:gettable] if args.key?(:gettable)
725
573
  end
726
574
  end
727
575
 
728
- # Metadata describing a long running folder operation
729
- class FolderOperation
576
+ # A `Constraint` that is either enforced or not.
577
+ # For example a constraint `constraints/compute.disableSerialPortAccess`.
578
+ # If it is enforced on a VM instance, serial port connections will not be
579
+ # opened to that instance.
580
+ class BooleanConstraint
730
581
  include Google::Apis::Core::Hashable
731
582
 
732
- # The type of this operation.
733
- # Corresponds to the JSON property `operationType`
734
- # @return [String]
735
- attr_accessor :operation_type
736
-
737
- # The display name of the folder.
738
- # Corresponds to the JSON property `displayName`
739
- # @return [String]
740
- attr_accessor :display_name
741
-
742
- # The resource name of the folder's parent.
743
- # Only applicable when the operation_type is MOVE.
744
- # Corresponds to the JSON property `sourceParent`
745
- # @return [String]
746
- attr_accessor :source_parent
747
-
748
- # The resource name of the folder or organization we are either creating
749
- # the folder under or moving the folder to.
750
- # Corresponds to the JSON property `destinationParent`
751
- # @return [String]
752
- attr_accessor :destination_parent
753
-
754
583
  def initialize(**args)
755
584
  update!(**args)
756
585
  end
757
586
 
758
587
  # Update properties of this object
759
588
  def update!(**args)
760
- @operation_type = args[:operation_type] if args.key?(:operation_type)
761
- @display_name = args[:display_name] if args.key?(:display_name)
762
- @source_parent = args[:source_parent] if args.key?(:source_parent)
763
- @destination_parent = args[:destination_parent] if args.key?(:destination_parent)
764
589
  end
765
590
  end
766
591
 
767
- # Defines an Identity and Access Management (IAM) policy. It is used to
768
- # specify access control policies for Cloud Platform resources.
769
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
770
- # `members` to a `role`, where the members can be user accounts, Google groups,
771
- # Google domains, and service accounts. A `role` is a named list of permissions
772
- # defined by IAM.
773
- # **Example**
774
- # `
775
- # "bindings": [
776
- # `
777
- # "role": "roles/owner",
778
- # "members": [
779
- # "user:mike@example.com",
780
- # "group:admins@example.com",
781
- # "domain:google.com",
782
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
783
- # ]
784
- # `,
785
- # `
786
- # "role": "roles/viewer",
787
- # "members": ["user:sean@example.com"]
788
- # `
789
- # ]
790
- # `
791
- # For a description of IAM and its features, see the
792
- # [IAM developer's guide](https://cloud.google.com/iam).
793
- class Policy
592
+ # Response message for `TestIamPermissions` method.
593
+ class TestIamPermissionsResponse
794
594
  include Google::Apis::Core::Hashable
795
595
 
796
- # `etag` is used for optimistic concurrency control as a way to help
797
- # prevent simultaneous updates of a policy from overwriting each other.
798
- # It is strongly suggested that systems make use of the `etag` in the
799
- # read-modify-write cycle to perform policy updates in order to avoid race
800
- # conditions: An `etag` is returned in the response to `getIamPolicy`, and
801
- # systems are expected to put that etag in the request to `setIamPolicy` to
802
- # ensure that their change will be applied to the same version of the policy.
803
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
804
- # policy is overwritten blindly.
805
- # Corresponds to the JSON property `etag`
806
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
807
- # @return [String]
808
- attr_accessor :etag
809
-
810
- # Version of the `Policy`. The default version is 0.
811
- # Corresponds to the JSON property `version`
812
- # @return [Fixnum]
813
- attr_accessor :version
814
-
815
- # Specifies cloud audit logging configuration for this policy.
816
- # Corresponds to the JSON property `auditConfigs`
817
- # @return [Array<Google::Apis::CloudresourcemanagerV1::AuditConfig>]
818
- attr_accessor :audit_configs
819
-
820
- # Associates a list of `members` to a `role`.
821
- # Multiple `bindings` must not be specified for the same `role`.
822
- # `bindings` with no members will result in an error.
823
- # Corresponds to the JSON property `bindings`
824
- # @return [Array<Google::Apis::CloudresourcemanagerV1::Binding>]
825
- attr_accessor :bindings
596
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
597
+ # allowed.
598
+ # Corresponds to the JSON property `permissions`
599
+ # @return [Array<String>]
600
+ attr_accessor :permissions
826
601
 
827
602
  def initialize(**args)
828
603
  update!(**args)
@@ -830,60 +605,34 @@ module Google
830
605
 
831
606
  # Update properties of this object
832
607
  def update!(**args)
833
- @etag = args[:etag] if args.key?(:etag)
834
- @version = args[:version] if args.key?(:version)
835
- @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
836
- @bindings = args[:bindings] if args.key?(:bindings)
608
+ @permissions = args[:permissions] if args.key?(:permissions)
837
609
  end
838
610
  end
839
611
 
840
- # The request sent to the [ListAvailableOrgPolicyConstraints]
841
- # google.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method.
842
- class ListAvailableOrgPolicyConstraintsRequest
612
+ # Request message for `GetIamPolicy` method.
613
+ class GetIamPolicyRequest
843
614
  include Google::Apis::Core::Hashable
844
615
 
845
- # Page token used to retrieve the next page. This is currently unsupported
846
- # and will be ignored. The server may at any point start using this field.
847
- # Corresponds to the JSON property `pageToken`
848
- # @return [String]
849
- attr_accessor :page_token
850
-
851
- # Size of the pages to be returned. This is currently unsupported and will
852
- # be ignored. The server may at any point start using this field to limit
853
- # page size.
854
- # Corresponds to the JSON property `pageSize`
855
- # @return [Fixnum]
856
- attr_accessor :page_size
857
-
858
616
  def initialize(**args)
859
617
  update!(**args)
860
618
  end
861
619
 
862
620
  # Update properties of this object
863
621
  def update!(**args)
864
- @page_token = args[:page_token] if args.key?(:page_token)
865
- @page_size = args[:page_size] if args.key?(:page_size)
866
622
  end
867
623
  end
868
624
 
869
- # A container to reference an id for any resource type. A `resource` in Google
870
- # Cloud Platform is a generic term for something you (a developer) may want to
871
- # interact with through one of our API's. Some examples are an App Engine app,
872
- # a Compute Engine instance, a Cloud SQL database, and so on.
873
- class ResourceId
625
+ # The entity that owns an Organization. The lifetime of the Organization and
626
+ # all of its descendants are bound to the `OrganizationOwner`. If the
627
+ # `OrganizationOwner` is deleted, the Organization and all its descendants will
628
+ # be deleted.
629
+ class OrganizationOwner
874
630
  include Google::Apis::Core::Hashable
875
631
 
876
- # Required field for the type-specific id. This should correspond to the id
877
- # used in the type-specific API's.
878
- # Corresponds to the JSON property `id`
879
- # @return [String]
880
- attr_accessor :id
881
-
882
- # Required field representing the resource type this id is for.
883
- # At present, the valid types are: "organization"
884
- # Corresponds to the JSON property `type`
632
+ # The Google for Work customer id used in the Directory API.
633
+ # Corresponds to the JSON property `directoryCustomerId`
885
634
  # @return [String]
886
- attr_accessor :type
635
+ attr_accessor :directory_customer_id
887
636
 
888
637
  def initialize(**args)
889
638
  update!(**args)
@@ -891,19 +640,36 @@ module Google
891
640
 
892
641
  # Update properties of this object
893
642
  def update!(**args)
894
- @id = args[:id] if args.key?(:id)
895
- @type = args[:type] if args.key?(:type)
643
+ @directory_customer_id = args[:directory_customer_id] if args.key?(:directory_customer_id)
896
644
  end
897
645
  end
898
646
 
899
- # The request sent to the GetEffectiveOrgPolicy method.
900
- class GetEffectiveOrgPolicyRequest
647
+ # A page of the response received from the
648
+ # ListProjects
649
+ # method.
650
+ # A paginated response where more pages are available has
651
+ # `next_page_token` set. This token can be used in a subsequent request to
652
+ # retrieve the next request page.
653
+ class ListProjectsResponse
901
654
  include Google::Apis::Core::Hashable
902
655
 
903
- # The name of the `Constraint` to compute the effective `Policy`.
904
- # Corresponds to the JSON property `constraint`
656
+ # The list of Projects that matched the list filter. This list can
657
+ # be paginated.
658
+ # Corresponds to the JSON property `projects`
659
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Project>]
660
+ attr_accessor :projects
661
+
662
+ # Pagination token.
663
+ # If the result set is too large to fit in a single response, this token
664
+ # is returned. It encodes the position of the current result cursor.
665
+ # Feeding this value into a new list request with the `page_token` parameter
666
+ # gives the next page of the results.
667
+ # When `next_page_token` is not filled in, there is no next page and
668
+ # the list returned is the last page in the result set.
669
+ # Pagination tokens have a limited lifetime.
670
+ # Corresponds to the JSON property `nextPageToken`
905
671
  # @return [String]
906
- attr_accessor :constraint
672
+ attr_accessor :next_page_token
907
673
 
908
674
  def initialize(**args)
909
675
  update!(**args)
@@ -911,26 +677,77 @@ module Google
911
677
 
912
678
  # Update properties of this object
913
679
  def update!(**args)
914
- @constraint = args[:constraint] if args.key?(:constraint)
680
+ @projects = args[:projects] if args.key?(:projects)
681
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
915
682
  end
916
683
  end
917
684
 
918
- # The request sent to the ListOrgPolicies method.
919
- class ListOrgPoliciesRequest
685
+ # A Project is a high-level Google Cloud Platform entity. It is a
686
+ # container for ACLs, APIs, App Engine Apps, VMs, and other
687
+ # Google Cloud Platform resources.
688
+ class Project
920
689
  include Google::Apis::Core::Hashable
921
690
 
922
- # Page token used to retrieve the next page. This is currently unsupported
923
- # and will be ignored. The server may at any point start using this field.
924
- # Corresponds to the JSON property `pageToken`
691
+ # The number uniquely identifying the project.
692
+ # Example: <code>415104041262</code>
693
+ # Read-only.
694
+ # Corresponds to the JSON property `projectNumber`
695
+ # @return [Fixnum]
696
+ attr_accessor :project_number
697
+
698
+ # A container to reference an id for any resource type. A `resource` in Google
699
+ # Cloud Platform is a generic term for something you (a developer) may want to
700
+ # interact with through one of our API's. Some examples are an App Engine app,
701
+ # a Compute Engine instance, a Cloud SQL database, and so on.
702
+ # Corresponds to the JSON property `parent`
703
+ # @return [Google::Apis::CloudresourcemanagerV1::ResourceId]
704
+ attr_accessor :parent
705
+
706
+ # Creation time.
707
+ # Read-only.
708
+ # Corresponds to the JSON property `createTime`
925
709
  # @return [String]
926
- attr_accessor :page_token
710
+ attr_accessor :create_time
927
711
 
928
- # Size of the pages to be returned. This is currently unsupported and will
929
- # be ignored. The server may at any point start using this field to limit
930
- # page size.
931
- # Corresponds to the JSON property `pageSize`
932
- # @return [Fixnum]
933
- attr_accessor :page_size
712
+ # The labels associated with this Project.
713
+ # Label keys must be between 1 and 63 characters long and must conform
714
+ # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
715
+ # Label values must be between 0 and 63 characters long and must conform
716
+ # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?.
717
+ # No more than 256 labels can be associated with a given resource.
718
+ # Clients should store labels in a representation such as JSON that does not
719
+ # depend on specific characters being disallowed.
720
+ # Example: <code>"environment" : "dev"</code>
721
+ # Read-write.
722
+ # Corresponds to the JSON property `labels`
723
+ # @return [Hash<String,String>]
724
+ attr_accessor :labels
725
+
726
+ # The user-assigned display name of the Project.
727
+ # It must be 4 to 30 characters.
728
+ # Allowed characters are: lowercase and uppercase letters, numbers,
729
+ # hyphen, single-quote, double-quote, space, and exclamation point.
730
+ # Example: <code>My Project</code>
731
+ # Read-write.
732
+ # Corresponds to the JSON property `name`
733
+ # @return [String]
734
+ attr_accessor :name
735
+
736
+ # The unique, user-assigned ID of the Project.
737
+ # It must be 6 to 30 lowercase letters, digits, or hyphens.
738
+ # It must start with a letter.
739
+ # Trailing hyphens are prohibited.
740
+ # Example: <code>tokyo-rain-123</code>
741
+ # Read-only after creation.
742
+ # Corresponds to the JSON property `projectId`
743
+ # @return [String]
744
+ attr_accessor :project_id
745
+
746
+ # The Project lifecycle state.
747
+ # Read-only.
748
+ # Corresponds to the JSON property `lifecycleState`
749
+ # @return [String]
750
+ attr_accessor :lifecycle_state
934
751
 
935
752
  def initialize(**args)
936
753
  update!(**args)
@@ -938,93 +755,82 @@ module Google
938
755
 
939
756
  # Update properties of this object
940
757
  def update!(**args)
941
- @page_token = args[:page_token] if args.key?(:page_token)
942
- @page_size = args[:page_size] if args.key?(:page_size)
758
+ @project_number = args[:project_number] if args.key?(:project_number)
759
+ @parent = args[:parent] if args.key?(:parent)
760
+ @create_time = args[:create_time] if args.key?(:create_time)
761
+ @labels = args[:labels] if args.key?(:labels)
762
+ @name = args[:name] if args.key?(:name)
763
+ @project_id = args[:project_id] if args.key?(:project_id)
764
+ @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
943
765
  end
944
766
  end
945
767
 
946
- # This resource represents a long-running operation that is the result of a
947
- # network API call.
948
- class Operation
768
+ # The response returned from the `SearchOrganizations` method.
769
+ class SearchOrganizationsResponse
949
770
  include Google::Apis::Core::Hashable
950
771
 
951
- # If the value is `false`, it means the operation is still in progress.
952
- # If true, the operation is completed, and either `error` or `response` is
953
- # available.
954
- # Corresponds to the JSON property `done`
955
- # @return [Boolean]
956
- attr_accessor :done
957
- alias_method :done?, :done
772
+ # A pagination token to be used to retrieve the next page of results. If the
773
+ # result is too large to fit within the page size specified in the request,
774
+ # this field will be set with a token that can be used to fetch the next page
775
+ # of results. If this field is empty, it indicates that this response
776
+ # contains the last page of results.
777
+ # Corresponds to the JSON property `nextPageToken`
778
+ # @return [String]
779
+ attr_accessor :next_page_token
958
780
 
959
- # The normal response of the operation in case of success. If the original
960
- # method returns no data on success, such as `Delete`, the response is
961
- # `google.protobuf.Empty`. If the original method is standard
962
- # `Get`/`Create`/`Update`, the response should be the resource. For other
963
- # methods, the response should have the type `XxxResponse`, where `Xxx`
964
- # is the original method name. For example, if the original method name
965
- # is `TakeSnapshot()`, the inferred response type is
966
- # `TakeSnapshotResponse`.
967
- # Corresponds to the JSON property `response`
968
- # @return [Hash<String,Object>]
969
- attr_accessor :response
781
+ # The list of Organizations that matched the search query, possibly
782
+ # paginated.
783
+ # Corresponds to the JSON property `organizations`
784
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Organization>]
785
+ attr_accessor :organizations
970
786
 
971
- # The server-assigned name, which is only unique within the same service that
972
- # originally returns it. If you use the default HTTP mapping, the
973
- # `name` should have the format of `operations/some/unique/name`.
974
- # Corresponds to the JSON property `name`
787
+ def initialize(**args)
788
+ update!(**args)
789
+ end
790
+
791
+ # Update properties of this object
792
+ def update!(**args)
793
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
794
+ @organizations = args[:organizations] if args.key?(:organizations)
795
+ end
796
+ end
797
+
798
+ # The response returned from the ListOrgPolicies method. It will be empty
799
+ # if no `Policies` are set on the resource.
800
+ class ListOrgPoliciesResponse
801
+ include Google::Apis::Core::Hashable
802
+
803
+ # The `Policies` that are set on the resource. It will be empty if no
804
+ # `Policies` are set.
805
+ # Corresponds to the JSON property `policies`
806
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::OrgPolicy>]
807
+ attr_accessor :policies
808
+
809
+ # Page token used to retrieve the next page. This is currently not used, but
810
+ # the server may at any point start supplying a valid token.
811
+ # Corresponds to the JSON property `nextPageToken`
975
812
  # @return [String]
976
- attr_accessor :name
813
+ attr_accessor :next_page_token
977
814
 
978
- # The `Status` type defines a logical error model that is suitable for different
979
- # programming environments, including REST APIs and RPC APIs. It is used by
980
- # [gRPC](https://github.com/grpc). The error model is designed to be:
981
- # - Simple to use and understand for most users
982
- # - Flexible enough to meet unexpected needs
983
- # # Overview
984
- # The `Status` message contains three pieces of data: error code, error message,
985
- # and error details. The error code should be an enum value of
986
- # google.rpc.Code, but it may accept additional error codes if needed. The
987
- # error message should be a developer-facing English message that helps
988
- # developers *understand* and *resolve* the error. If a localized user-facing
989
- # error message is needed, put the localized message in the error details or
990
- # localize it in the client. The optional error details may contain arbitrary
991
- # information about the error. There is a predefined set of error detail types
992
- # in the package `google.rpc` that can be used for common error conditions.
993
- # # Language mapping
994
- # The `Status` message is the logical representation of the error model, but it
995
- # is not necessarily the actual wire format. When the `Status` message is
996
- # exposed in different client libraries and different wire protocols, it can be
997
- # mapped differently. For example, it will likely be mapped to some exceptions
998
- # in Java, but more likely mapped to some error codes in C.
999
- # # Other uses
1000
- # The error model and the `Status` message can be used in a variety of
1001
- # environments, either with or without APIs, to provide a
1002
- # consistent developer experience across different environments.
1003
- # Example uses of this error model include:
1004
- # - Partial errors. If a service needs to return partial errors to the client,
1005
- # it may embed the `Status` in the normal response to indicate the partial
1006
- # errors.
1007
- # - Workflow errors. A typical workflow has multiple steps. Each step may
1008
- # have a `Status` message for error reporting.
1009
- # - Batch operations. If a client uses batch request and batch response, the
1010
- # `Status` message should be used directly inside batch response, one for
1011
- # each error sub-response.
1012
- # - Asynchronous operations. If an API call embeds asynchronous operation
1013
- # results in its response, the status of those operations should be
1014
- # represented directly using the `Status` message.
1015
- # - Logging. If some API errors are stored in logs, the message `Status` could
1016
- # be used directly after any stripping needed for security/privacy reasons.
1017
- # Corresponds to the JSON property `error`
1018
- # @return [Google::Apis::CloudresourcemanagerV1::Status]
1019
- attr_accessor :error
815
+ def initialize(**args)
816
+ update!(**args)
817
+ end
1020
818
 
1021
- # Service-specific metadata associated with the operation. It typically
1022
- # contains progress information and common metadata such as create time.
1023
- # Some services might not provide such metadata. Any method that returns a
1024
- # long-running operation should document the metadata type, if any.
1025
- # Corresponds to the JSON property `metadata`
1026
- # @return [Hash<String,Object>]
1027
- attr_accessor :metadata
819
+ # Update properties of this object
820
+ def update!(**args)
821
+ @policies = args[:policies] if args.key?(:policies)
822
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
823
+ end
824
+ end
825
+
826
+ # A classification of the Folder Operation error.
827
+ class FolderOperationError
828
+ include Google::Apis::Core::Hashable
829
+
830
+ # The type of operation error experienced.
831
+ # Corresponds to the JSON property `errorMessageId`
832
+ # @return [String]
833
+ attr_accessor :error_message_id
1028
834
 
1029
835
  def initialize(**args)
1030
836
  update!(**args)
@@ -1032,76 +838,85 @@ module Google
1032
838
 
1033
839
  # Update properties of this object
1034
840
  def update!(**args)
1035
- @done = args[:done] if args.key?(:done)
1036
- @response = args[:response] if args.key?(:response)
1037
- @name = args[:name] if args.key?(:name)
1038
- @error = args[:error] if args.key?(:error)
1039
- @metadata = args[:metadata] if args.key?(:metadata)
841
+ @error_message_id = args[:error_message_id] if args.key?(:error_message_id)
1040
842
  end
1041
843
  end
1042
844
 
1043
- # Specifies the audit configuration for a service.
1044
- # The configuration determines which permission types are logged, and what
1045
- # identities, if any, are exempted from logging.
1046
- # An AuditConfig must have one or more AuditLogConfigs.
1047
- # If there are AuditConfigs for both `allServices` and a specific service,
1048
- # the union of the two AuditConfigs is used for that service: the log_types
1049
- # specified in each AuditConfig are enabled, and the exempted_members in each
1050
- # AuditConfig are exempted.
1051
- # Example Policy with multiple AuditConfigs:
1052
- # `
1053
- # "audit_configs": [
1054
- # `
1055
- # "service": "allServices"
1056
- # "audit_log_configs": [
1057
- # `
1058
- # "log_type": "DATA_READ",
1059
- # "exempted_members": [
1060
- # "user:foo@gmail.com"
1061
- # ]
1062
- # `,
1063
- # `
1064
- # "log_type": "DATA_WRITE",
1065
- # `,
1066
- # `
1067
- # "log_type": "ADMIN_READ",
1068
- # `
1069
- # ]
1070
- # `,
1071
- # `
1072
- # "service": "fooservice.googleapis.com"
1073
- # "audit_log_configs": [
1074
- # `
1075
- # "log_type": "DATA_READ",
1076
- # `,
1077
- # `
1078
- # "log_type": "DATA_WRITE",
1079
- # "exempted_members": [
1080
- # "user:bar@gmail.com"
1081
- # ]
1082
- # `
1083
- # ]
1084
- # `
1085
- # ]
1086
- # `
1087
- # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1088
- # logging. It also exempts foo@gmail.com from DATA_READ logging, and
1089
- # bar@gmail.com from DATA_WRITE logging.
1090
- class AuditConfig
845
+ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
846
+ # for configurations of Cloud Platform resources.
847
+ class OrgPolicy
1091
848
  include Google::Apis::Core::Hashable
1092
849
 
1093
- # Specifies a service that will be enabled for audit logging.
1094
- # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
1095
- # `allServices` is a special value that covers all services.
1096
- # Corresponds to the JSON property `service`
850
+ # Version of the `Policy`. Default version is 0;
851
+ # Corresponds to the JSON property `version`
852
+ # @return [Fixnum]
853
+ attr_accessor :version
854
+
855
+ # Ignores policies set above this resource and restores the
856
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
857
+ # this resource.
858
+ # Suppose that `constraint_default` is set to `ALLOW` for the
859
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
860
+ # foo.com sets a `Policy` at their Organization resource node that restricts
861
+ # the allowed service activations to deny all service activations. They
862
+ # could then set a `Policy` with the `policy_type` `restore_default` on
863
+ # several experimental projects, restoring the `constraint_default`
864
+ # enforcement of the `Constraint` for only those projects, allowing those
865
+ # projects to have all services activated.
866
+ # Corresponds to the JSON property `restoreDefault`
867
+ # @return [Google::Apis::CloudresourcemanagerV1::RestoreDefault]
868
+ attr_accessor :restore_default
869
+
870
+ # Used in `policy_type` to specify how `list_policy` behaves at this
871
+ # resource.
872
+ # A `ListPolicy` can define specific values that are allowed or denied by
873
+ # setting either the `allowed_values` or `denied_values` fields. It can also
874
+ # be used to allow or deny all values, by setting the `all_values` field. If
875
+ # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`
876
+ # or `denied_values` must be set (attempting to set both or neither will
877
+ # result in a failed request). If `all_values` is set to either `ALLOW` or
878
+ # `DENY`, `allowed_values` and `denied_values` must be unset.
879
+ # Corresponds to the JSON property `listPolicy`
880
+ # @return [Google::Apis::CloudresourcemanagerV1::ListPolicy]
881
+ attr_accessor :list_policy
882
+
883
+ # An opaque tag indicating the current version of the `Policy`, used for
884
+ # concurrency control.
885
+ # When the `Policy` is returned from either a `GetPolicy` or a
886
+ # `ListOrgPolicy` request, this `etag` indicates the version of the current
887
+ # `Policy` to use when executing a read-modify-write loop.
888
+ # When the `Policy` is returned from a `GetEffectivePolicy` request, the
889
+ # `etag` will be unset.
890
+ # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
891
+ # that was returned from a `GetOrgPolicy` request as part of a
892
+ # read-modify-write loop for concurrency control. Not setting the `etag`in a
893
+ # `SetOrgPolicy` request will result in an unconditional write of the
894
+ # `Policy`.
895
+ # Corresponds to the JSON property `etag`
896
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1097
897
  # @return [String]
1098
- attr_accessor :service
898
+ attr_accessor :etag
1099
899
 
1100
- # The configuration for logging of each type of permission.
1101
- # Next ID: 4
1102
- # Corresponds to the JSON property `auditLogConfigs`
1103
- # @return [Array<Google::Apis::CloudresourcemanagerV1::AuditLogConfig>]
1104
- attr_accessor :audit_log_configs
900
+ # The name of the `Constraint` the `Policy` is configuring, for example,
901
+ # `constraints/serviceuser.services`.
902
+ # Immutable after creation.
903
+ # Corresponds to the JSON property `constraint`
904
+ # @return [String]
905
+ attr_accessor :constraint
906
+
907
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
908
+ # resource.
909
+ # Corresponds to the JSON property `booleanPolicy`
910
+ # @return [Google::Apis::CloudresourcemanagerV1::BooleanPolicy]
911
+ attr_accessor :boolean_policy
912
+
913
+ # The time stamp the `Policy` was previously updated. This is set by the
914
+ # server, not specified by the caller, and represents the last time a call to
915
+ # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
916
+ # be ignored.
917
+ # Corresponds to the JSON property `updateTime`
918
+ # @return [String]
919
+ attr_accessor :update_time
1105
920
 
1106
921
  def initialize(**args)
1107
922
  update!(**args)
@@ -1109,70 +924,120 @@ module Google
1109
924
 
1110
925
  # Update properties of this object
1111
926
  def update!(**args)
1112
- @service = args[:service] if args.key?(:service)
1113
- @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
927
+ @version = args[:version] if args.key?(:version)
928
+ @restore_default = args[:restore_default] if args.key?(:restore_default)
929
+ @list_policy = args[:list_policy] if args.key?(:list_policy)
930
+ @etag = args[:etag] if args.key?(:etag)
931
+ @constraint = args[:constraint] if args.key?(:constraint)
932
+ @boolean_policy = args[:boolean_policy] if args.key?(:boolean_policy)
933
+ @update_time = args[:update_time] if args.key?(:update_time)
1114
934
  end
1115
935
  end
1116
936
 
1117
- # The `Status` type defines a logical error model that is suitable for different
1118
- # programming environments, including REST APIs and RPC APIs. It is used by
1119
- # [gRPC](https://github.com/grpc). The error model is designed to be:
1120
- # - Simple to use and understand for most users
1121
- # - Flexible enough to meet unexpected needs
1122
- # # Overview
1123
- # The `Status` message contains three pieces of data: error code, error message,
1124
- # and error details. The error code should be an enum value of
1125
- # google.rpc.Code, but it may accept additional error codes if needed. The
1126
- # error message should be a developer-facing English message that helps
1127
- # developers *understand* and *resolve* the error. If a localized user-facing
1128
- # error message is needed, put the localized message in the error details or
1129
- # localize it in the client. The optional error details may contain arbitrary
1130
- # information about the error. There is a predefined set of error detail types
1131
- # in the package `google.rpc` that can be used for common error conditions.
1132
- # # Language mapping
1133
- # The `Status` message is the logical representation of the error model, but it
1134
- # is not necessarily the actual wire format. When the `Status` message is
1135
- # exposed in different client libraries and different wire protocols, it can be
1136
- # mapped differently. For example, it will likely be mapped to some exceptions
1137
- # in Java, but more likely mapped to some error codes in C.
1138
- # # Other uses
1139
- # The error model and the `Status` message can be used in a variety of
1140
- # environments, either with or without APIs, to provide a
1141
- # consistent developer experience across different environments.
1142
- # Example uses of this error model include:
1143
- # - Partial errors. If a service needs to return partial errors to the client,
1144
- # it may embed the `Status` in the normal response to indicate the partial
1145
- # errors.
1146
- # - Workflow errors. A typical workflow has multiple steps. Each step may
1147
- # have a `Status` message for error reporting.
1148
- # - Batch operations. If a client uses batch request and batch response, the
1149
- # `Status` message should be used directly inside batch response, one for
1150
- # each error sub-response.
1151
- # - Asynchronous operations. If an API call embeds asynchronous operation
1152
- # results in its response, the status of those operations should be
1153
- # represented directly using the `Status` message.
1154
- # - Logging. If some API errors are stored in logs, the message `Status` could
1155
- # be used directly after any stripping needed for security/privacy reasons.
1156
- class Status
937
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
938
+ # resource.
939
+ class BooleanPolicy
1157
940
  include Google::Apis::Core::Hashable
1158
941
 
1159
- # A list of messages that carry the error details. There will be a
1160
- # common set of message types for APIs to use.
1161
- # Corresponds to the JSON property `details`
1162
- # @return [Array<Hash<String,Object>>]
1163
- attr_accessor :details
942
+ # If `true`, then the `Policy` is enforced. If `false`, then any
943
+ # configuration is acceptable.
944
+ # Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess`
945
+ # with `constraint_default` set to `ALLOW`. A `Policy` for that
946
+ # `Constraint` exhibits the following behavior:
947
+ # - If the `Policy` at this resource has enforced set to `false`, serial
948
+ # port connection attempts will be allowed.
949
+ # - If the `Policy` at this resource has enforced set to `true`, serial
950
+ # port connection attempts will be refused.
951
+ # - If the `Policy` at this resource is `RestoreDefault`, serial port
952
+ # connection attempts will be allowed.
953
+ # - If no `Policy` is set at this resource or anywhere higher in the
954
+ # resource hierarchy, serial port connection attempts will be allowed.
955
+ # - If no `Policy` is set at this resource, but one exists higher in the
956
+ # resource hierarchy, the behavior is as if the`Policy` were set at
957
+ # this resource.
958
+ # The following examples demonstrate the different possible layerings:
959
+ # Example 1 (nearest `Constraint` wins):
960
+ # `organizations/foo` has a `Policy` with:
961
+ # `enforced: false`
962
+ # `projects/bar` has no `Policy` set.
963
+ # The constraint at `projects/bar` and `organizations/foo` will not be
964
+ # enforced.
965
+ # Example 2 (enforcement gets replaced):
966
+ # `organizations/foo` has a `Policy` with:
967
+ # `enforced: false`
968
+ # `projects/bar` has a `Policy` with:
969
+ # `enforced: true`
970
+ # The constraint at `organizations/foo` is not enforced.
971
+ # The constraint at `projects/bar` is enforced.
972
+ # Example 3 (RestoreDefault):
973
+ # `organizations/foo` has a `Policy` with:
974
+ # `enforced: true`
975
+ # `projects/bar` has a `Policy` with:
976
+ # `RestoreDefault: ```
977
+ # The constraint at `organizations/foo` is enforced.
978
+ # The constraint at `projects/bar` is not enforced, because
979
+ # `constraint_default` for the `Constraint` is `ALLOW`.
980
+ # Corresponds to the JSON property `enforced`
981
+ # @return [Boolean]
982
+ attr_accessor :enforced
983
+ alias_method :enforced?, :enforced
1164
984
 
1165
- # The status code, which should be an enum value of google.rpc.Code.
1166
- # Corresponds to the JSON property `code`
1167
- # @return [Fixnum]
1168
- attr_accessor :code
985
+ def initialize(**args)
986
+ update!(**args)
987
+ end
1169
988
 
1170
- # A developer-facing error message, which should be in English. Any
1171
- # user-facing error message should be localized and sent in the
1172
- # google.rpc.Status.details field, or localized by the client.
1173
- # Corresponds to the JSON property `message`
989
+ # Update properties of this object
990
+ def update!(**args)
991
+ @enforced = args[:enforced] if args.key?(:enforced)
992
+ end
993
+ end
994
+
995
+ # A Lien represents an encumbrance on the actions that can be performed on a
996
+ # resource.
997
+ class Lien
998
+ include Google::Apis::Core::Hashable
999
+
1000
+ # A reference to the resource this Lien is attached to. The server will
1001
+ # validate the parent against those for which Liens are supported.
1002
+ # Example: `projects/1234`
1003
+ # Corresponds to the JSON property `parent`
1174
1004
  # @return [String]
1175
- attr_accessor :message
1005
+ attr_accessor :parent
1006
+
1007
+ # The creation time of this Lien.
1008
+ # Corresponds to the JSON property `createTime`
1009
+ # @return [String]
1010
+ attr_accessor :create_time
1011
+
1012
+ # A stable, user-visible/meaningful string identifying the origin of the
1013
+ # Lien, intended to be inspected programmatically. Maximum length of 200
1014
+ # characters.
1015
+ # Example: 'compute.googleapis.com'
1016
+ # Corresponds to the JSON property `origin`
1017
+ # @return [String]
1018
+ attr_accessor :origin
1019
+
1020
+ # A system-generated unique identifier for this Lien.
1021
+ # Example: `liens/1234abcd`
1022
+ # Corresponds to the JSON property `name`
1023
+ # @return [String]
1024
+ attr_accessor :name
1025
+
1026
+ # Concise user-visible strings indicating why an action cannot be performed
1027
+ # on a resource. Maximum lenth of 200 characters.
1028
+ # Example: 'Holds production API key'
1029
+ # Corresponds to the JSON property `reason`
1030
+ # @return [String]
1031
+ attr_accessor :reason
1032
+
1033
+ # The types of operations which should be blocked as a result of this Lien.
1034
+ # Each value should correspond to an IAM permission. The server will
1035
+ # validate the permissions against those for which Liens are supported.
1036
+ # An empty list is meaningless and will be rejected.
1037
+ # Example: ['resourcemanager.projects.delete']
1038
+ # Corresponds to the JSON property `restrictions`
1039
+ # @return [Array<String>]
1040
+ attr_accessor :restrictions
1176
1041
 
1177
1042
  def initialize(**args)
1178
1043
  update!(**args)
@@ -1180,26 +1045,26 @@ module Google
1180
1045
 
1181
1046
  # Update properties of this object
1182
1047
  def update!(**args)
1183
- @details = args[:details] if args.key?(:details)
1184
- @code = args[:code] if args.key?(:code)
1185
- @message = args[:message] if args.key?(:message)
1048
+ @parent = args[:parent] if args.key?(:parent)
1049
+ @create_time = args[:create_time] if args.key?(:create_time)
1050
+ @origin = args[:origin] if args.key?(:origin)
1051
+ @name = args[:name] if args.key?(:name)
1052
+ @reason = args[:reason] if args.key?(:reason)
1053
+ @restrictions = args[:restrictions] if args.key?(:restrictions)
1186
1054
  end
1187
1055
  end
1188
1056
 
1189
- # The response message for Liens.ListLiens.
1190
- class ListLiensResponse
1057
+ # Identifying information for a single ancestor of a project.
1058
+ class Ancestor
1191
1059
  include Google::Apis::Core::Hashable
1192
1060
 
1193
- # Token to retrieve the next page of results, or empty if there are no more
1194
- # results in the list.
1195
- # Corresponds to the JSON property `nextPageToken`
1196
- # @return [String]
1197
- attr_accessor :next_page_token
1198
-
1199
- # A list of Liens.
1200
- # Corresponds to the JSON property `liens`
1201
- # @return [Array<Google::Apis::CloudresourcemanagerV1::Lien>]
1202
- attr_accessor :liens
1061
+ # A container to reference an id for any resource type. A `resource` in Google
1062
+ # Cloud Platform is a generic term for something you (a developer) may want to
1063
+ # interact with through one of our API's. Some examples are an App Engine app,
1064
+ # a Compute Engine instance, a Cloud SQL database, and so on.
1065
+ # Corresponds to the JSON property `resourceId`
1066
+ # @return [Google::Apis::CloudresourcemanagerV1::ResourceId]
1067
+ attr_accessor :resource_id
1203
1068
 
1204
1069
  def initialize(**args)
1205
1070
  update!(**args)
@@ -1207,69 +1072,20 @@ module Google
1207
1072
 
1208
1073
  # Update properties of this object
1209
1074
  def update!(**args)
1210
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1211
- @liens = args[:liens] if args.key?(:liens)
1075
+ @resource_id = args[:resource_id] if args.key?(:resource_id)
1212
1076
  end
1213
1077
  end
1214
1078
 
1215
- # A `Constraint` describes a way in which a resource's configuration can be
1216
- # restricted. For example, it controls which cloud services can be activated
1217
- # across an organization, or whether a Compute Engine instance can have
1218
- # serial port connections established. `Constraints` can be configured by the
1219
- # organization's policy adminstrator to fit the needs of the organzation by
1220
- # setting Policies for `Constraints` at different locations in the
1221
- # organization's resource hierarchy. Policies are inherited down the resource
1222
- # hierarchy from higher levels, but can also be overridden. For details about
1223
- # the inheritance rules please read about
1224
- # Policies.
1225
- # `Constraints` have a default behavior determined by the `constraint_default`
1226
- # field, which is the enforcement behavior that is used in the absence of a
1227
- # `Policy` being defined or inherited for the resource in question.
1228
- class Constraint
1079
+ # A `Constraint` that allows or disallows a list of string values, which are
1080
+ # configured by an Organization's policy administrator with a `Policy`.
1081
+ class ListConstraint
1229
1082
  include Google::Apis::Core::Hashable
1230
1083
 
1231
- # The human readable name.
1232
- # Mutable.
1233
- # Corresponds to the JSON property `displayName`
1234
- # @return [String]
1235
- attr_accessor :display_name
1236
-
1237
- # Detailed description of what this `Constraint` controls as well as how and
1238
- # where it is enforced.
1239
- # Mutable.
1240
- # Corresponds to the JSON property `description`
1241
- # @return [String]
1242
- attr_accessor :description
1243
-
1244
- # A `Constraint` that is either enforced or not.
1245
- # For example a constraint `constraints/compute.disableSerialPortAccess`.
1246
- # If it is enforced on a VM instance, serial port connections will not be
1247
- # opened to that instance.
1248
- # Corresponds to the JSON property `booleanConstraint`
1249
- # @return [Google::Apis::CloudresourcemanagerV1::BooleanConstraint]
1250
- attr_accessor :boolean_constraint
1251
-
1252
- # The evaluation behavior of this constraint in the absense of 'Policy'.
1253
- # Corresponds to the JSON property `constraintDefault`
1254
- # @return [String]
1255
- attr_accessor :constraint_default
1256
-
1257
- # Immutable value, required to globally be unique. For example,
1258
- # `constraints/serviceuser.services`
1259
- # Corresponds to the JSON property `name`
1084
+ # Optional. The Google Cloud Console will try to default to a configuration
1085
+ # that matches the value specified in this `Constraint`.
1086
+ # Corresponds to the JSON property `suggestedValue`
1260
1087
  # @return [String]
1261
- attr_accessor :name
1262
-
1263
- # Version of the `Constraint`. Default version is 0;
1264
- # Corresponds to the JSON property `version`
1265
- # @return [Fixnum]
1266
- attr_accessor :version
1267
-
1268
- # A `Constraint` that allows or disallows a list of string values, which are
1269
- # configured by an Organization's policy administrator with a `Policy`.
1270
- # Corresponds to the JSON property `listConstraint`
1271
- # @return [Google::Apis::CloudresourcemanagerV1::ListConstraint]
1272
- attr_accessor :list_constraint
1088
+ attr_accessor :suggested_value
1273
1089
 
1274
1090
  def initialize(**args)
1275
1091
  update!(**args)
@@ -1277,44 +1093,19 @@ module Google
1277
1093
 
1278
1094
  # Update properties of this object
1279
1095
  def update!(**args)
1280
- @display_name = args[:display_name] if args.key?(:display_name)
1281
- @description = args[:description] if args.key?(:description)
1282
- @boolean_constraint = args[:boolean_constraint] if args.key?(:boolean_constraint)
1283
- @constraint_default = args[:constraint_default] if args.key?(:constraint_default)
1284
- @name = args[:name] if args.key?(:name)
1285
- @version = args[:version] if args.key?(:version)
1286
- @list_constraint = args[:list_constraint] if args.key?(:list_constraint)
1096
+ @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
1287
1097
  end
1288
1098
  end
1289
1099
 
1290
- # Associates `members` with a `role`.
1291
- class Binding
1100
+ # The request sent to the SetOrgPolicyRequest method.
1101
+ class SetOrgPolicyRequest
1292
1102
  include Google::Apis::Core::Hashable
1293
1103
 
1294
- # Specifies the identities requesting access for a Cloud Platform resource.
1295
- # `members` can have the following values:
1296
- # * `allUsers`: A special identifier that represents anyone who is
1297
- # on the internet; with or without a Google account.
1298
- # * `allAuthenticatedUsers`: A special identifier that represents anyone
1299
- # who is authenticated with a Google account or a service account.
1300
- # * `user:`emailid``: An email address that represents a specific Google
1301
- # account. For example, `alice@gmail.com` or `joe@example.com`.
1302
- # * `serviceAccount:`emailid``: An email address that represents a service
1303
- # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1304
- # * `group:`emailid``: An email address that represents a Google group.
1305
- # For example, `admins@example.com`.
1306
- # * `domain:`domain``: A Google Apps domain name that represents all the
1307
- # users of that domain. For example, `google.com` or `example.com`.
1308
- # Corresponds to the JSON property `members`
1309
- # @return [Array<String>]
1310
- attr_accessor :members
1311
-
1312
- # Role that is assigned to `members`.
1313
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1314
- # Required
1315
- # Corresponds to the JSON property `role`
1316
- # @return [String]
1317
- attr_accessor :role
1104
+ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
1105
+ # for configurations of Cloud Platform resources.
1106
+ # Corresponds to the JSON property `policy`
1107
+ # @return [Google::Apis::CloudresourcemanagerV1::OrgPolicy]
1108
+ attr_accessor :policy
1318
1109
 
1319
1110
  def initialize(**args)
1320
1111
  update!(**args)
@@ -1322,19 +1113,52 @@ module Google
1322
1113
 
1323
1114
  # Update properties of this object
1324
1115
  def update!(**args)
1325
- @members = args[:members] if args.key?(:members)
1326
- @role = args[:role] if args.key?(:role)
1116
+ @policy = args[:policy] if args.key?(:policy)
1327
1117
  end
1328
1118
  end
1329
1119
 
1330
- # The request sent to the GetOrgPolicy method.
1331
- class GetOrgPolicyRequest
1120
+ # Request message for `SetIamPolicy` method.
1121
+ class SetIamPolicyRequest
1332
1122
  include Google::Apis::Core::Hashable
1333
1123
 
1334
- # Name of the `Constraint` to get the `Policy`.
1335
- # Corresponds to the JSON property `constraint`
1124
+ # Defines an Identity and Access Management (IAM) policy. It is used to
1125
+ # specify access control policies for Cloud Platform resources.
1126
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
1127
+ # `members` to a `role`, where the members can be user accounts, Google groups,
1128
+ # Google domains, and service accounts. A `role` is a named list of permissions
1129
+ # defined by IAM.
1130
+ # **Example**
1131
+ # `
1132
+ # "bindings": [
1133
+ # `
1134
+ # "role": "roles/owner",
1135
+ # "members": [
1136
+ # "user:mike@example.com",
1137
+ # "group:admins@example.com",
1138
+ # "domain:google.com",
1139
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
1140
+ # ]
1141
+ # `,
1142
+ # `
1143
+ # "role": "roles/viewer",
1144
+ # "members": ["user:sean@example.com"]
1145
+ # `
1146
+ # ]
1147
+ # `
1148
+ # For a description of IAM and its features, see the
1149
+ # [IAM developer's guide](https://cloud.google.com/iam).
1150
+ # Corresponds to the JSON property `policy`
1151
+ # @return [Google::Apis::CloudresourcemanagerV1::Policy]
1152
+ attr_accessor :policy
1153
+
1154
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1155
+ # the fields in the mask will be modified. If no mask is provided, the
1156
+ # following default mask is used:
1157
+ # paths: "bindings, etag"
1158
+ # This field is only used by Cloud IAM.
1159
+ # Corresponds to the JSON property `updateMask`
1336
1160
  # @return [String]
1337
- attr_accessor :constraint
1161
+ attr_accessor :update_mask
1338
1162
 
1339
1163
  def initialize(**args)
1340
1164
  update!(**args)
@@ -1342,22 +1166,19 @@ module Google
1342
1166
 
1343
1167
  # Update properties of this object
1344
1168
  def update!(**args)
1345
- @constraint = args[:constraint] if args.key?(:constraint)
1169
+ @policy = args[:policy] if args.key?(:policy)
1170
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1346
1171
  end
1347
1172
  end
1348
1173
 
1349
- # Ignores policies set above this resource and restores the
1350
- # `constraint_default` enforcement behavior of the specific `Constraint` at
1351
- # this resource.
1352
- # Suppose that `constraint_default` is set to `ALLOW` for the
1353
- # `Constraint` `constraints/serviceuser.services`. Suppose that organization
1354
- # foo.com sets a `Policy` at their Organization resource node that restricts
1355
- # the allowed service activations to deny all service activations. They
1356
- # could then set a `Policy` with the `policy_type` `restore_default` on
1357
- # several experimental projects, restoring the `constraint_default`
1358
- # enforcement of the `Constraint` for only those projects, allowing those
1359
- # projects to have all services activated.
1360
- class RestoreDefault
1174
+ # A generic empty message that you can re-use to avoid defining duplicated
1175
+ # empty messages in your APIs. A typical example is to use it as the request
1176
+ # or the response type of an API method. For instance:
1177
+ # service Foo `
1178
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1179
+ # `
1180
+ # The JSON representation for `Empty` is empty JSON object ````.
1181
+ class Empty
1361
1182
  include Google::Apis::Core::Hashable
1362
1183
 
1363
1184
  def initialize(**args)
@@ -1369,21 +1190,45 @@ module Google
1369
1190
  end
1370
1191
  end
1371
1192
 
1372
- # The request sent to the ClearOrgPolicy method.
1373
- class ClearOrgPolicyRequest
1193
+ # The root node in the resource hierarchy to which a particular entity's
1194
+ # (e.g., company) resources belong.
1195
+ class Organization
1374
1196
  include Google::Apis::Core::Hashable
1375
1197
 
1376
- # The current version, for concurrency control. Not sending an `etag`
1377
- # will cause the `Policy` to be cleared blindly.
1378
- # Corresponds to the JSON property `etag`
1379
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
1198
+ # Timestamp when the Organization was created. Assigned by the server.
1199
+ # @OutputOnly
1200
+ # Corresponds to the JSON property `creationTime`
1380
1201
  # @return [String]
1381
- attr_accessor :etag
1202
+ attr_accessor :creation_time
1382
1203
 
1383
- # Name of the `Constraint` of the `Policy` to clear.
1384
- # Corresponds to the JSON property `constraint`
1204
+ # The entity that owns an Organization. The lifetime of the Organization and
1205
+ # all of its descendants are bound to the `OrganizationOwner`. If the
1206
+ # `OrganizationOwner` is deleted, the Organization and all its descendants will
1207
+ # be deleted.
1208
+ # Corresponds to the JSON property `owner`
1209
+ # @return [Google::Apis::CloudresourcemanagerV1::OrganizationOwner]
1210
+ attr_accessor :owner
1211
+
1212
+ # The organization's current lifecycle state. Assigned by the server.
1213
+ # @OutputOnly
1214
+ # Corresponds to the JSON property `lifecycleState`
1215
+ # @return [String]
1216
+ attr_accessor :lifecycle_state
1217
+
1218
+ # Output Only. The resource name of the organization. This is the
1219
+ # organization's relative path in the API. Its format is
1220
+ # "organizations/[organization_id]". For example, "organizations/1234".
1221
+ # Corresponds to the JSON property `name`
1222
+ # @return [String]
1223
+ attr_accessor :name
1224
+
1225
+ # A friendly string to be used to refer to the Organization in the UI.
1226
+ # Assigned by the server, set to the primary domain of the G Suite
1227
+ # customer that owns the organization.
1228
+ # @OutputOnly
1229
+ # Corresponds to the JSON property `displayName`
1385
1230
  # @return [String]
1386
- attr_accessor :constraint
1231
+ attr_accessor :display_name
1387
1232
 
1388
1233
  def initialize(**args)
1389
1234
  update!(**args)
@@ -1391,49 +1236,156 @@ module Google
1391
1236
 
1392
1237
  # Update properties of this object
1393
1238
  def update!(**args)
1394
- @etag = args[:etag] if args.key?(:etag)
1395
- @constraint = args[:constraint] if args.key?(:constraint)
1239
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
1240
+ @owner = args[:owner] if args.key?(:owner)
1241
+ @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
1242
+ @name = args[:name] if args.key?(:name)
1243
+ @display_name = args[:display_name] if args.key?(:display_name)
1396
1244
  end
1397
1245
  end
1398
1246
 
1399
- # The request sent to the UndeleteProject
1400
- # method.
1401
- class UndeleteProjectRequest
1247
+ # The response returned from the ListAvailableOrgPolicyConstraints method.
1248
+ # Returns all `Constraints` that could be set at this level of the hierarchy
1249
+ # (contrast with the response from `ListPolicies`, which returns all policies
1250
+ # which are set).
1251
+ class ListAvailableOrgPolicyConstraintsResponse
1402
1252
  include Google::Apis::Core::Hashable
1403
1253
 
1254
+ # Page token used to retrieve the next page. This is currently not used.
1255
+ # Corresponds to the JSON property `nextPageToken`
1256
+ # @return [String]
1257
+ attr_accessor :next_page_token
1258
+
1259
+ # The collection of constraints that are settable on the request resource.
1260
+ # Corresponds to the JSON property `constraints`
1261
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Constraint>]
1262
+ attr_accessor :constraints
1263
+
1404
1264
  def initialize(**args)
1405
1265
  update!(**args)
1406
1266
  end
1407
1267
 
1408
1268
  # Update properties of this object
1409
1269
  def update!(**args)
1270
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1271
+ @constraints = args[:constraints] if args.key?(:constraints)
1410
1272
  end
1411
1273
  end
1412
1274
 
1413
- # A status object which is used as the `metadata` field for the Operation
1414
- # returned by CreateProject. It provides insight for when significant phases of
1415
- # Project creation have completed.
1416
- class ProjectCreationStatus
1275
+ # Used in `policy_type` to specify how `list_policy` behaves at this
1276
+ # resource.
1277
+ # A `ListPolicy` can define specific values that are allowed or denied by
1278
+ # setting either the `allowed_values` or `denied_values` fields. It can also
1279
+ # be used to allow or deny all values, by setting the `all_values` field. If
1280
+ # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`
1281
+ # or `denied_values` must be set (attempting to set both or neither will
1282
+ # result in a failed request). If `all_values` is set to either `ALLOW` or
1283
+ # `DENY`, `allowed_values` and `denied_values` must be unset.
1284
+ class ListPolicy
1417
1285
  include Google::Apis::Core::Hashable
1418
1286
 
1419
- # True if the project creation process is complete.
1420
- # Corresponds to the JSON property `ready`
1421
- # @return [Boolean]
1422
- attr_accessor :ready
1423
- alias_method :ready?, :ready
1287
+ # The policy all_values state.
1288
+ # Corresponds to the JSON property `allValues`
1289
+ # @return [String]
1290
+ attr_accessor :all_values
1424
1291
 
1425
- # Creation time of the project creation workflow.
1426
- # Corresponds to the JSON property `createTime`
1292
+ # List of values allowed at this resource. Can only be set if no values
1293
+ # are set for `denied_values` and `all_values` is set to
1294
+ # `ALL_VALUES_UNSPECIFIED`.
1295
+ # Corresponds to the JSON property `allowedValues`
1296
+ # @return [Array<String>]
1297
+ attr_accessor :allowed_values
1298
+
1299
+ # Optional. The Google Cloud Console will try to default to a configuration
1300
+ # that matches the value specified in this `Policy`. If `suggested_value`
1301
+ # is not set, it will inherit the value specified higher in the hierarchy,
1302
+ # unless `inherit_from_parent` is `false`.
1303
+ # Corresponds to the JSON property `suggestedValue`
1427
1304
  # @return [String]
1428
- attr_accessor :create_time
1305
+ attr_accessor :suggested_value
1429
1306
 
1430
- # True if the project can be retrieved using GetProject. No other operations
1431
- # on the project are guaranteed to work until the project creation is
1432
- # complete.
1433
- # Corresponds to the JSON property `gettable`
1307
+ # Determines the inheritance behavior for this `Policy`.
1308
+ # By default, a `ListPolicy` set at a resource supercedes any `Policy` set
1309
+ # anywhere up the resource hierarchy. However, if `inherit_from_parent` is
1310
+ # set to `true`, then the values from the effective `Policy` of the parent
1311
+ # resource are inherited, meaning the values set in this `Policy` are
1312
+ # added to the values inherited up the hierarchy.
1313
+ # Setting `Policy` hierarchies that inherit both allowed values and denied
1314
+ # values isn't recommended in most circumstances to keep the configuration
1315
+ # simple and understandable. However, it is possible to set a `Policy` with
1316
+ # `allowed_values` set that inherits a `Policy` with `denied_values` set.
1317
+ # In this case, the values that are allowed must be in `allowed_values` and
1318
+ # not present in `denied_values`.
1319
+ # For example, suppose you have a `Constraint`
1320
+ # `constraints/serviceuser.services`, which has a `constraint_type` of
1321
+ # `list_constraint`, and with `constraint_default` set to `ALLOW`.
1322
+ # Suppose that at the Organization level, a `Policy` is applied that
1323
+ # restricts the allowed API activations to ``E1`, `E2``. Then, if a
1324
+ # `Policy` is applied to a project below the Organization that has
1325
+ # `inherit_from_parent` set to `false` and field all_values set to DENY,
1326
+ # then an attempt to activate any API will be denied.
1327
+ # The following examples demonstrate different possible layerings:
1328
+ # Example 1 (no inherited values):
1329
+ # `organizations/foo` has a `Policy` with values:
1330
+ # `allowed_values: “E1” allowed_values:”E2”`
1331
+ # ``projects/bar`` has `inherit_from_parent` `false` and values:
1332
+ # `allowed_values: "E3" allowed_values: "E4"`
1333
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
1334
+ # The accepted values at `projects/bar` are `E3`, and `E4`.
1335
+ # Example 2 (inherited values):
1336
+ # `organizations/foo` has a `Policy` with values:
1337
+ # `allowed_values: “E1” allowed_values:”E2”`
1338
+ # `projects/bar` has a `Policy` with values:
1339
+ # `value: “E3” value: ”E4” inherit_from_parent: true`
1340
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
1341
+ # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
1342
+ # Example 3 (inheriting both allowed and denied values):
1343
+ # `organizations/foo` has a `Policy` with values:
1344
+ # `allowed_values: "E1" allowed_values: "E2"`
1345
+ # `projects/bar` has a `Policy` with:
1346
+ # `denied_values: "E1"`
1347
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
1348
+ # The value accepted at `projects/bar` is `E2`.
1349
+ # Example 4 (RestoreDefault):
1350
+ # `organizations/foo` has a `Policy` with values:
1351
+ # `allowed_values: “E1” allowed_values:”E2”`
1352
+ # `projects/bar` has a `Policy` with values:
1353
+ # `RestoreDefault: ```
1354
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
1355
+ # The accepted values at `projects/bar` are either all or none depending on
1356
+ # the value of `constraint_default` (if `ALLOW`, all; if
1357
+ # `DENY`, none).
1358
+ # Example 5 (no policy inherits parent policy):
1359
+ # `organizations/foo` has no `Policy` set.
1360
+ # `projects/bar` has no `Policy` set.
1361
+ # The accepted values at both levels are either all or none depending on
1362
+ # the value of `constraint_default` (if `ALLOW`, all; if
1363
+ # `DENY`, none).
1364
+ # Example 6 (ListConstraint allowing all):
1365
+ # `organizations/foo` has a `Policy` with values:
1366
+ # `allowed_values: “E1” allowed_values: ”E2”`
1367
+ # `projects/bar` has a `Policy` with:
1368
+ # `all: ALLOW`
1369
+ # The accepted values at `organizations/foo` are `E1`, E2`.
1370
+ # Any value is accepted at `projects/bar`.
1371
+ # Example 7 (ListConstraint allowing none):
1372
+ # `organizations/foo` has a `Policy` with values:
1373
+ # `allowed_values: “E1” allowed_values: ”E2”`
1374
+ # `projects/bar` has a `Policy` with:
1375
+ # `all: DENY`
1376
+ # The accepted values at `organizations/foo` are `E1`, E2`.
1377
+ # No value is accepted at `projects/bar`.
1378
+ # Corresponds to the JSON property `inheritFromParent`
1434
1379
  # @return [Boolean]
1435
- attr_accessor :gettable
1436
- alias_method :gettable?, :gettable
1380
+ attr_accessor :inherit_from_parent
1381
+ alias_method :inherit_from_parent?, :inherit_from_parent
1382
+
1383
+ # List of values denied at this resource. Can only be set if no values are
1384
+ # set for `allowed_values` and `all_values` is set to
1385
+ # `ALL_VALUES_UNSPECIFIED`.
1386
+ # Corresponds to the JSON property `deniedValues`
1387
+ # @return [Array<String>]
1388
+ attr_accessor :denied_values
1437
1389
 
1438
1390
  def initialize(**args)
1439
1391
  update!(**args)
@@ -1441,50 +1393,108 @@ module Google
1441
1393
 
1442
1394
  # Update properties of this object
1443
1395
  def update!(**args)
1444
- @ready = args[:ready] if args.key?(:ready)
1445
- @create_time = args[:create_time] if args.key?(:create_time)
1446
- @gettable = args[:gettable] if args.key?(:gettable)
1396
+ @all_values = args[:all_values] if args.key?(:all_values)
1397
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
1398
+ @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
1399
+ @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent)
1400
+ @denied_values = args[:denied_values] if args.key?(:denied_values)
1447
1401
  end
1448
1402
  end
1449
1403
 
1450
- # A `Constraint` that is either enforced or not.
1451
- # For example a constraint `constraints/compute.disableSerialPortAccess`.
1452
- # If it is enforced on a VM instance, serial port connections will not be
1453
- # opened to that instance.
1454
- class BooleanConstraint
1404
+ # Response from the GetAncestry method.
1405
+ class GetAncestryResponse
1455
1406
  include Google::Apis::Core::Hashable
1456
1407
 
1408
+ # Ancestors are ordered from bottom to top of the resource hierarchy. The
1409
+ # first ancestor is the project itself, followed by the project's parent,
1410
+ # etc.
1411
+ # Corresponds to the JSON property `ancestor`
1412
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Ancestor>]
1413
+ attr_accessor :ancestor
1414
+
1457
1415
  def initialize(**args)
1458
1416
  update!(**args)
1459
1417
  end
1460
1418
 
1461
1419
  # Update properties of this object
1462
1420
  def update!(**args)
1421
+ @ancestor = args[:ancestor] if args.key?(:ancestor)
1463
1422
  end
1464
1423
  end
1465
1424
 
1466
- # Request message for `GetIamPolicy` method.
1467
- class GetIamPolicyRequest
1425
+ # Provides the configuration for logging a type of permissions.
1426
+ # Example:
1427
+ # `
1428
+ # "audit_log_configs": [
1429
+ # `
1430
+ # "log_type": "DATA_READ",
1431
+ # "exempted_members": [
1432
+ # "user:foo@gmail.com"
1433
+ # ]
1434
+ # `,
1435
+ # `
1436
+ # "log_type": "DATA_WRITE",
1437
+ # `
1438
+ # ]
1439
+ # `
1440
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
1441
+ # foo@gmail.com from DATA_READ logging.
1442
+ class AuditLogConfig
1468
1443
  include Google::Apis::Core::Hashable
1469
1444
 
1445
+ # Specifies the identities that do not cause logging for this type of
1446
+ # permission.
1447
+ # Follows the same format of Binding.members.
1448
+ # Corresponds to the JSON property `exemptedMembers`
1449
+ # @return [Array<String>]
1450
+ attr_accessor :exempted_members
1451
+
1452
+ # The log type that this config enables.
1453
+ # Corresponds to the JSON property `logType`
1454
+ # @return [String]
1455
+ attr_accessor :log_type
1456
+
1470
1457
  def initialize(**args)
1471
1458
  update!(**args)
1472
1459
  end
1473
1460
 
1474
1461
  # Update properties of this object
1475
1462
  def update!(**args)
1463
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
1464
+ @log_type = args[:log_type] if args.key?(:log_type)
1476
1465
  end
1477
1466
  end
1478
1467
 
1479
- # Response message for `TestIamPermissions` method.
1480
- class TestIamPermissionsResponse
1468
+ # The request sent to the `SearchOrganizations` method.
1469
+ class SearchOrganizationsRequest
1481
1470
  include Google::Apis::Core::Hashable
1482
1471
 
1483
- # A subset of `TestPermissionsRequest.permissions` that the caller is
1484
- # allowed.
1485
- # Corresponds to the JSON property `permissions`
1486
- # @return [Array<String>]
1487
- attr_accessor :permissions
1472
+ # An optional query string used to filter the Organizations to return in
1473
+ # the response. Filter rules are case-insensitive.
1474
+ # Organizations may be filtered by `owner.directoryCustomerId` or by
1475
+ # `domain`, where the domain is a Google for Work domain, for example:
1476
+ # |Filter|Description|
1477
+ # |------|-----------|
1478
+ # |owner.directorycustomerid:123456789|Organizations with
1479
+ # `owner.directory_customer_id` equal to `123456789`.|
1480
+ # |domain:google.com|Organizations corresponding to the domain `google.com`.|
1481
+ # This field is optional.
1482
+ # Corresponds to the JSON property `filter`
1483
+ # @return [String]
1484
+ attr_accessor :filter
1485
+
1486
+ # A pagination token returned from a previous call to `SearchOrganizations`
1487
+ # that indicates from where listing should continue.
1488
+ # This field is optional.
1489
+ # Corresponds to the JSON property `pageToken`
1490
+ # @return [String]
1491
+ attr_accessor :page_token
1492
+
1493
+ # The maximum number of Organizations to return in the response.
1494
+ # This field is optional.
1495
+ # Corresponds to the JSON property `pageSize`
1496
+ # @return [Fixnum]
1497
+ attr_accessor :page_size
1488
1498
 
1489
1499
  def initialize(**args)
1490
1500
  update!(**args)
@@ -1492,21 +1502,17 @@ module Google
1492
1502
 
1493
1503
  # Update properties of this object
1494
1504
  def update!(**args)
1495
- @permissions = args[:permissions] if args.key?(:permissions)
1505
+ @filter = args[:filter] if args.key?(:filter)
1506
+ @page_token = args[:page_token] if args.key?(:page_token)
1507
+ @page_size = args[:page_size] if args.key?(:page_size)
1496
1508
  end
1497
1509
  end
1498
1510
 
1499
- # The entity that owns an Organization. The lifetime of the Organization and
1500
- # all of its descendants are bound to the `OrganizationOwner`. If the
1501
- # `OrganizationOwner` is deleted, the Organization and all its descendants will
1502
- # be deleted.
1503
- class OrganizationOwner
1504
- include Google::Apis::Core::Hashable
1505
-
1506
- # The Google for Work customer id used in the Directory API.
1507
- # Corresponds to the JSON property `directoryCustomerId`
1508
- # @return [String]
1509
- attr_accessor :directory_customer_id
1511
+ # The request sent to the
1512
+ # GetAncestry
1513
+ # method.
1514
+ class GetAncestryRequest
1515
+ include Google::Apis::Core::Hashable
1510
1516
 
1511
1517
  def initialize(**args)
1512
1518
  update!(**args)
@@ -1514,36 +1520,20 @@ module Google
1514
1520
 
1515
1521
  # Update properties of this object
1516
1522
  def update!(**args)
1517
- @directory_customer_id = args[:directory_customer_id] if args.key?(:directory_customer_id)
1518
1523
  end
1519
1524
  end
1520
1525
 
1521
- # A page of the response received from the
1522
- # ListProjects
1523
- # method.
1524
- # A paginated response where more pages are available has
1525
- # `next_page_token` set. This token can be used in a subsequent request to
1526
- # retrieve the next request page.
1527
- class ListProjectsResponse
1526
+ # Request message for `TestIamPermissions` method.
1527
+ class TestIamPermissionsRequest
1528
1528
  include Google::Apis::Core::Hashable
1529
1529
 
1530
- # Pagination token.
1531
- # If the result set is too large to fit in a single response, this token
1532
- # is returned. It encodes the position of the current result cursor.
1533
- # Feeding this value into a new list request with the `page_token` parameter
1534
- # gives the next page of the results.
1535
- # When `next_page_token` is not filled in, there is no next page and
1536
- # the list returned is the last page in the result set.
1537
- # Pagination tokens have a limited lifetime.
1538
- # Corresponds to the JSON property `nextPageToken`
1539
- # @return [String]
1540
- attr_accessor :next_page_token
1541
-
1542
- # The list of Projects that matched the list filter. This list can
1543
- # be paginated.
1544
- # Corresponds to the JSON property `projects`
1545
- # @return [Array<Google::Apis::CloudresourcemanagerV1::Project>]
1546
- attr_accessor :projects
1530
+ # The set of permissions to check for the `resource`. Permissions with
1531
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
1532
+ # information see
1533
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1534
+ # Corresponds to the JSON property `permissions`
1535
+ # @return [Array<String>]
1536
+ attr_accessor :permissions
1547
1537
 
1548
1538
  def initialize(**args)
1549
1539
  update!(**args)
@@ -1551,77 +1541,35 @@ module Google
1551
1541
 
1552
1542
  # Update properties of this object
1553
1543
  def update!(**args)
1554
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1555
- @projects = args[:projects] if args.key?(:projects)
1544
+ @permissions = args[:permissions] if args.key?(:permissions)
1556
1545
  end
1557
1546
  end
1558
1547
 
1559
- # A Project is a high-level Google Cloud Platform entity. It is a
1560
- # container for ACLs, APIs, App Engine Apps, VMs, and other
1561
- # Google Cloud Platform resources.
1562
- class Project
1548
+ # Metadata describing a long running folder operation
1549
+ class FolderOperation
1563
1550
  include Google::Apis::Core::Hashable
1564
1551
 
1565
- # The user-assigned display name of the Project.
1566
- # It must be 4 to 30 characters.
1567
- # Allowed characters are: lowercase and uppercase letters, numbers,
1568
- # hyphen, single-quote, double-quote, space, and exclamation point.
1569
- # Example: <code>My Project</code>
1570
- # Read-write.
1571
- # Corresponds to the JSON property `name`
1552
+ # The type of this operation.
1553
+ # Corresponds to the JSON property `operationType`
1572
1554
  # @return [String]
1573
- attr_accessor :name
1555
+ attr_accessor :operation_type
1574
1556
 
1575
- # The unique, user-assigned ID of the Project.
1576
- # It must be 6 to 30 lowercase letters, digits, or hyphens.
1577
- # It must start with a letter.
1578
- # Trailing hyphens are prohibited.
1579
- # Example: <code>tokyo-rain-123</code>
1580
- # Read-only after creation.
1581
- # Corresponds to the JSON property `projectId`
1557
+ # The display name of the folder.
1558
+ # Corresponds to the JSON property `displayName`
1582
1559
  # @return [String]
1583
- attr_accessor :project_id
1560
+ attr_accessor :display_name
1584
1561
 
1585
- # The Project lifecycle state.
1586
- # Read-only.
1587
- # Corresponds to the JSON property `lifecycleState`
1562
+ # The resource name of the folder's parent.
1563
+ # Only applicable when the operation_type is MOVE.
1564
+ # Corresponds to the JSON property `sourceParent`
1588
1565
  # @return [String]
1589
- attr_accessor :lifecycle_state
1590
-
1591
- # The number uniquely identifying the project.
1592
- # Example: <code>415104041262</code>
1593
- # Read-only.
1594
- # Corresponds to the JSON property `projectNumber`
1595
- # @return [Fixnum]
1596
- attr_accessor :project_number
1597
-
1598
- # A container to reference an id for any resource type. A `resource` in Google
1599
- # Cloud Platform is a generic term for something you (a developer) may want to
1600
- # interact with through one of our API's. Some examples are an App Engine app,
1601
- # a Compute Engine instance, a Cloud SQL database, and so on.
1602
- # Corresponds to the JSON property `parent`
1603
- # @return [Google::Apis::CloudresourcemanagerV1::ResourceId]
1604
- attr_accessor :parent
1605
-
1606
- # The labels associated with this Project.
1607
- # Label keys must be between 1 and 63 characters long and must conform
1608
- # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
1609
- # Label values must be between 0 and 63 characters long and must conform
1610
- # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?.
1611
- # No more than 256 labels can be associated with a given resource.
1612
- # Clients should store labels in a representation such as JSON that does not
1613
- # depend on specific characters being disallowed.
1614
- # Example: <code>"environment" : "dev"</code>
1615
- # Read-write.
1616
- # Corresponds to the JSON property `labels`
1617
- # @return [Hash<String,String>]
1618
- attr_accessor :labels
1566
+ attr_accessor :source_parent
1619
1567
 
1620
- # Creation time.
1621
- # Read-only.
1622
- # Corresponds to the JSON property `createTime`
1568
+ # The resource name of the folder or organization we are either creating
1569
+ # the folder under or moving the folder to.
1570
+ # Corresponds to the JSON property `destinationParent`
1623
1571
  # @return [String]
1624
- attr_accessor :create_time
1572
+ attr_accessor :destination_parent
1625
1573
 
1626
1574
  def initialize(**args)
1627
1575
  update!(**args)
@@ -1629,32 +1577,71 @@ module Google
1629
1577
 
1630
1578
  # Update properties of this object
1631
1579
  def update!(**args)
1632
- @name = args[:name] if args.key?(:name)
1633
- @project_id = args[:project_id] if args.key?(:project_id)
1634
- @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
1635
- @project_number = args[:project_number] if args.key?(:project_number)
1636
- @parent = args[:parent] if args.key?(:parent)
1637
- @labels = args[:labels] if args.key?(:labels)
1638
- @create_time = args[:create_time] if args.key?(:create_time)
1580
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1581
+ @display_name = args[:display_name] if args.key?(:display_name)
1582
+ @source_parent = args[:source_parent] if args.key?(:source_parent)
1583
+ @destination_parent = args[:destination_parent] if args.key?(:destination_parent)
1639
1584
  end
1640
1585
  end
1641
1586
 
1642
- # The response returned from the ListOrgPolicies method. It will be empty
1643
- # if no `Policies` are set on the resource.
1644
- class ListOrgPoliciesResponse
1587
+ # Defines an Identity and Access Management (IAM) policy. It is used to
1588
+ # specify access control policies for Cloud Platform resources.
1589
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
1590
+ # `members` to a `role`, where the members can be user accounts, Google groups,
1591
+ # Google domains, and service accounts. A `role` is a named list of permissions
1592
+ # defined by IAM.
1593
+ # **Example**
1594
+ # `
1595
+ # "bindings": [
1596
+ # `
1597
+ # "role": "roles/owner",
1598
+ # "members": [
1599
+ # "user:mike@example.com",
1600
+ # "group:admins@example.com",
1601
+ # "domain:google.com",
1602
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
1603
+ # ]
1604
+ # `,
1605
+ # `
1606
+ # "role": "roles/viewer",
1607
+ # "members": ["user:sean@example.com"]
1608
+ # `
1609
+ # ]
1610
+ # `
1611
+ # For a description of IAM and its features, see the
1612
+ # [IAM developer's guide](https://cloud.google.com/iam).
1613
+ class Policy
1645
1614
  include Google::Apis::Core::Hashable
1646
1615
 
1647
- # Page token used to retrieve the next page. This is currently not used, but
1648
- # the server may at any point start supplying a valid token.
1649
- # Corresponds to the JSON property `nextPageToken`
1616
+ # `etag` is used for optimistic concurrency control as a way to help
1617
+ # prevent simultaneous updates of a policy from overwriting each other.
1618
+ # It is strongly suggested that systems make use of the `etag` in the
1619
+ # read-modify-write cycle to perform policy updates in order to avoid race
1620
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1621
+ # systems are expected to put that etag in the request to `setIamPolicy` to
1622
+ # ensure that their change will be applied to the same version of the policy.
1623
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1624
+ # policy is overwritten blindly.
1625
+ # Corresponds to the JSON property `etag`
1626
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1650
1627
  # @return [String]
1651
- attr_accessor :next_page_token
1628
+ attr_accessor :etag
1652
1629
 
1653
- # The `Policies` that are set on the resource. It will be empty if no
1654
- # `Policies` are set.
1655
- # Corresponds to the JSON property `policies`
1656
- # @return [Array<Google::Apis::CloudresourcemanagerV1::OrgPolicy>]
1657
- attr_accessor :policies
1630
+ # Version of the `Policy`. The default version is 0.
1631
+ # Corresponds to the JSON property `version`
1632
+ # @return [Fixnum]
1633
+ attr_accessor :version
1634
+
1635
+ # Specifies cloud audit logging configuration for this policy.
1636
+ # Corresponds to the JSON property `auditConfigs`
1637
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::AuditConfig>]
1638
+ attr_accessor :audit_configs
1639
+
1640
+ # Associates a list of `members` to a `role`.
1641
+ # `bindings` with no members will result in an error.
1642
+ # Corresponds to the JSON property `bindings`
1643
+ # @return [Array<Google::Apis::CloudresourcemanagerV1::Binding>]
1644
+ attr_accessor :bindings
1658
1645
 
1659
1646
  def initialize(**args)
1660
1647
  update!(**args)
@@ -1662,29 +1649,30 @@ module Google
1662
1649
 
1663
1650
  # Update properties of this object
1664
1651
  def update!(**args)
1665
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1666
- @policies = args[:policies] if args.key?(:policies)
1652
+ @etag = args[:etag] if args.key?(:etag)
1653
+ @version = args[:version] if args.key?(:version)
1654
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1655
+ @bindings = args[:bindings] if args.key?(:bindings)
1667
1656
  end
1668
1657
  end
1669
1658
 
1670
- # The response returned from the `SearchOrganizations` method.
1671
- class SearchOrganizationsResponse
1659
+ # The request sent to the [ListAvailableOrgPolicyConstraints]
1660
+ # google.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method.
1661
+ class ListAvailableOrgPolicyConstraintsRequest
1672
1662
  include Google::Apis::Core::Hashable
1673
1663
 
1674
- # A pagination token to be used to retrieve the next page of results. If the
1675
- # result is too large to fit within the page size specified in the request,
1676
- # this field will be set with a token that can be used to fetch the next page
1677
- # of results. If this field is empty, it indicates that this response
1678
- # contains the last page of results.
1679
- # Corresponds to the JSON property `nextPageToken`
1664
+ # Page token used to retrieve the next page. This is currently unsupported
1665
+ # and will be ignored. The server may at any point start using this field.
1666
+ # Corresponds to the JSON property `pageToken`
1680
1667
  # @return [String]
1681
- attr_accessor :next_page_token
1668
+ attr_accessor :page_token
1682
1669
 
1683
- # The list of Organizations that matched the search query, possibly
1684
- # paginated.
1685
- # Corresponds to the JSON property `organizations`
1686
- # @return [Array<Google::Apis::CloudresourcemanagerV1::Organization>]
1687
- attr_accessor :organizations
1670
+ # Size of the pages to be returned. This is currently unsupported and will
1671
+ # be ignored. The server may at any point start using this field to limit
1672
+ # page size.
1673
+ # Corresponds to the JSON property `pageSize`
1674
+ # @return [Fixnum]
1675
+ attr_accessor :page_size
1688
1676
 
1689
1677
  def initialize(**args)
1690
1678
  update!(**args)
@@ -1692,19 +1680,29 @@ module Google
1692
1680
 
1693
1681
  # Update properties of this object
1694
1682
  def update!(**args)
1695
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1696
- @organizations = args[:organizations] if args.key?(:organizations)
1683
+ @page_token = args[:page_token] if args.key?(:page_token)
1684
+ @page_size = args[:page_size] if args.key?(:page_size)
1697
1685
  end
1698
1686
  end
1699
1687
 
1700
- # A classification of the Folder Operation error.
1701
- class FolderOperationError
1688
+ # A container to reference an id for any resource type. A `resource` in Google
1689
+ # Cloud Platform is a generic term for something you (a developer) may want to
1690
+ # interact with through one of our API's. Some examples are an App Engine app,
1691
+ # a Compute Engine instance, a Cloud SQL database, and so on.
1692
+ class ResourceId
1702
1693
  include Google::Apis::Core::Hashable
1703
1694
 
1704
- # The type of operation error experienced.
1705
- # Corresponds to the JSON property `errorMessageId`
1695
+ # Required field representing the resource type this id is for.
1696
+ # At present, the valid types are: "organization"
1697
+ # Corresponds to the JSON property `type`
1706
1698
  # @return [String]
1707
- attr_accessor :error_message_id
1699
+ attr_accessor :type
1700
+
1701
+ # Required field for the type-specific id. This should correspond to the id
1702
+ # used in the type-specific API's.
1703
+ # Corresponds to the JSON property `id`
1704
+ # @return [String]
1705
+ attr_accessor :id
1708
1706
 
1709
1707
  def initialize(**args)
1710
1708
  update!(**args)
@@ -1712,7 +1710,8 @@ module Google
1712
1710
 
1713
1711
  # Update properties of this object
1714
1712
  def update!(**args)
1715
- @error_message_id = args[:error_message_id] if args.key?(:error_message_id)
1713
+ @type = args[:type] if args.key?(:type)
1714
+ @id = args[:id] if args.key?(:id)
1716
1715
  end
1717
1716
  end
1718
1717
  end