google-api-client 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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