google-api-client 0.9.8 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +15 -8
  3. data/CHANGELOG.md +84 -0
  4. data/Gemfile +10 -2
  5. data/README.md +10 -2
  6. data/api_names.yaml +37172 -135
  7. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +35 -0
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1200 -0
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +526 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +844 -0
  11. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  12. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +310 -28
  13. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +84 -0
  14. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +60 -8
  15. data/generated/google/apis/adexchangeseller_v2_0.rb +2 -3
  16. data/generated/google/apis/adexchangeseller_v2_0/service.rb +1 -2
  17. data/generated/google/apis/admin_directory_v1.rb +1 -1
  18. data/generated/google/apis/admin_directory_v1/classes.rb +206 -0
  19. data/generated/google/apis/admin_directory_v1/representations.rb +63 -0
  20. data/generated/google/apis/admin_directory_v1/service.rb +41 -2
  21. data/generated/google/apis/admin_reports_v1.rb +5 -5
  22. data/generated/google/apis/admin_reports_v1/service.rb +6 -6
  23. data/generated/google/apis/adsense_v1_4.rb +1 -1
  24. data/generated/google/apis/adsense_v1_4/classes.rb +1 -1
  25. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  26. data/generated/google/apis/adsensehost_v4_1/classes.rb +1 -2
  27. data/generated/google/apis/analytics_v3.rb +1 -1
  28. data/generated/google/apis/analytics_v3/classes.rb +379 -3
  29. data/generated/google/apis/analytics_v3/representations.rb +136 -0
  30. data/generated/google/apis/analytics_v3/service.rb +256 -0
  31. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  32. data/generated/google/apis/analyticsreporting_v4/classes.rb +858 -823
  33. data/generated/google/apis/analyticsreporting_v4/representations.rb +194 -193
  34. data/generated/google/apis/analyticsreporting_v4/service.rb +4 -4
  35. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +913 -220
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +337 -30
  38. data/generated/google/apis/androidenterprise_v1/service.rb +1163 -561
  39. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  40. data/generated/google/apis/androidpublisher_v2/classes.rb +230 -8
  41. data/generated/google/apis/androidpublisher_v2/representations.rb +90 -0
  42. data/generated/google/apis/androidpublisher_v2/service.rb +116 -3
  43. data/generated/google/apis/appengine_v1beta5.rb +7 -1
  44. data/generated/google/apis/appengine_v1beta5/classes.rb +810 -395
  45. data/generated/google/apis/appengine_v1beta5/representations.rb +188 -22
  46. data/generated/google/apis/appengine_v1beta5/service.rb +343 -39
  47. data/generated/google/apis/appsactivity_v1.rb +3 -3
  48. data/generated/google/apis/appsactivity_v1/classes.rb +7 -0
  49. data/generated/google/apis/appsactivity_v1/representations.rb +1 -0
  50. data/generated/google/apis/appsactivity_v1/service.rb +1 -1
  51. data/generated/google/apis/appstate_v1.rb +1 -1
  52. data/generated/google/apis/bigquery_v2.rb +1 -1
  53. data/generated/google/apis/bigquery_v2/classes.rb +360 -38
  54. data/generated/google/apis/bigquery_v2/representations.rb +106 -0
  55. data/generated/google/apis/bigquery_v2/service.rb +18 -4
  56. data/generated/google/apis/books_v1.rb +2 -2
  57. data/generated/google/apis/books_v1/classes.rb +83 -0
  58. data/generated/google/apis/books_v1/representations.rb +35 -0
  59. data/generated/google/apis/books_v1/service.rb +7 -3
  60. data/generated/google/apis/calendar_v3.rb +1 -1
  61. data/generated/google/apis/calendar_v3/classes.rb +208 -5
  62. data/generated/google/apis/calendar_v3/representations.rb +97 -0
  63. data/generated/google/apis/civicinfo_v2.rb +3 -2
  64. data/generated/google/apis/civicinfo_v2/classes.rb +377 -5
  65. data/generated/google/apis/civicinfo_v2/representations.rb +149 -0
  66. data/generated/google/apis/civicinfo_v2/service.rb +27 -6
  67. data/generated/google/apis/classroom_v1.rb +22 -25
  68. data/generated/google/apis/classroom_v1/classes.rb +998 -761
  69. data/generated/google/apis/classroom_v1/representations.rb +263 -198
  70. data/generated/google/apis/classroom_v1/service.rb +1349 -672
  71. data/generated/google/apis/cloudbilling_v1.rb +3 -3
  72. data/generated/google/apis/cloudbilling_v1/classes.rb +76 -75
  73. data/generated/google/apis/cloudbilling_v1/representations.rb +17 -17
  74. data/generated/google/apis/cloudbilling_v1/service.rb +117 -110
  75. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  76. data/generated/google/apis/cloudbuild_v1/classes.rb +661 -264
  77. data/generated/google/apis/cloudbuild_v1/representations.rb +198 -48
  78. data/generated/google/apis/cloudbuild_v1/service.rb +259 -44
  79. data/generated/google/apis/clouddebugger_v2.rb +5 -8
  80. data/generated/google/apis/clouddebugger_v2/classes.rb +686 -616
  81. data/generated/google/apis/clouddebugger_v2/representations.rb +151 -151
  82. data/generated/google/apis/clouddebugger_v2/service.rb +165 -159
  83. data/generated/google/apis/cloudkms_v1.rb +35 -0
  84. data/generated/google/apis/cloudkms_v1/classes.rb +1022 -0
  85. data/generated/google/apis/cloudkms_v1/representations.rb +448 -0
  86. data/generated/google/apis/cloudkms_v1/service.rb +933 -0
  87. data/generated/google/apis/cloudkms_v1beta1.rb +35 -0
  88. data/generated/google/apis/cloudkms_v1beta1/classes.rb +1039 -0
  89. data/generated/google/apis/cloudkms_v1beta1/representations.rb +448 -0
  90. data/generated/google/apis/cloudkms_v1beta1/service.rb +933 -0
  91. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  92. data/generated/google/apis/cloudresourcemanager_v1.rb +4 -4
  93. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1529 -167
  94. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +491 -26
  95. data/generated/google/apis/cloudresourcemanager_v1/service.rb +1593 -135
  96. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  97. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +1155 -235
  98. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +344 -44
  99. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +702 -310
  100. data/generated/google/apis/cloudtrace_v1.rb +9 -9
  101. data/generated/google/apis/cloudtrace_v1/classes.rb +98 -92
  102. data/generated/google/apis/cloudtrace_v1/representations.rb +24 -24
  103. data/generated/google/apis/cloudtrace_v1/service.rb +42 -37
  104. data/generated/google/apis/compute_beta.rb +1 -1
  105. data/generated/google/apis/compute_beta/classes.rb +7007 -3648
  106. data/generated/google/apis/compute_beta/representations.rb +1459 -120
  107. data/generated/google/apis/compute_beta/service.rb +7943 -3726
  108. data/generated/google/apis/compute_v1.rb +1 -1
  109. data/generated/google/apis/compute_v1/classes.rb +2567 -370
  110. data/generated/google/apis/compute_v1/representations.rb +855 -0
  111. data/generated/google/apis/compute_v1/service.rb +6388 -2908
  112. data/generated/google/apis/container_v1.rb +1 -1
  113. data/generated/google/apis/container_v1/classes.rb +287 -16
  114. data/generated/google/apis/container_v1/representations.rb +113 -2
  115. data/generated/google/apis/container_v1/service.rb +130 -0
  116. data/generated/google/apis/content_v2.rb +1 -1
  117. data/generated/google/apis/content_v2/classes.rb +778 -10
  118. data/generated/google/apis/content_v2/representations.rb +339 -0
  119. data/generated/google/apis/content_v2/service.rb +364 -49
  120. data/generated/google/apis/dataflow_v1b3.rb +37 -0
  121. data/generated/google/apis/dataflow_v1b3/classes.rb +4941 -0
  122. data/generated/google/apis/dataflow_v1b3/representations.rb +2037 -0
  123. data/generated/google/apis/dataflow_v1b3/service.rb +957 -0
  124. data/generated/google/apis/dataproc_v1.rb +1 -1
  125. data/generated/google/apis/dataproc_v1/classes.rb +1235 -963
  126. data/generated/google/apis/dataproc_v1/representations.rb +299 -225
  127. data/generated/google/apis/dataproc_v1/service.rb +277 -192
  128. data/generated/google/apis/datastore_v1.rb +38 -0
  129. data/generated/google/apis/datastore_v1/classes.rb +1289 -0
  130. data/generated/google/apis/datastore_v1/representations.rb +572 -0
  131. data/generated/google/apis/datastore_v1/service.rb +259 -0
  132. data/generated/google/apis/datastore_v1beta3.rb +38 -0
  133. data/generated/google/apis/datastore_v1beta3/classes.rb +1284 -0
  134. data/generated/google/apis/datastore_v1beta3/representations.rb +572 -0
  135. data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
  136. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  137. data/generated/google/apis/deploymentmanager_v2/classes.rb +436 -3
  138. data/generated/google/apis/deploymentmanager_v2/representations.rb +178 -0
  139. data/generated/google/apis/deploymentmanager_v2/service.rb +226 -61
  140. data/generated/google/apis/dfareporting_v2_5.rb +40 -0
  141. data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
  142. data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
  143. data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
  144. data/generated/google/apis/dfareporting_v2_6.rb +40 -0
  145. data/generated/google/apis/dfareporting_v2_6/classes.rb +11586 -0
  146. data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
  147. data/generated/google/apis/dfareporting_v2_6/service.rb +9025 -0
  148. data/generated/google/apis/dfareporting_v2_7.rb +40 -0
  149. data/generated/google/apis/dfareporting_v2_7/classes.rb +11876 -0
  150. data/generated/google/apis/dfareporting_v2_7/representations.rb +4243 -0
  151. data/generated/google/apis/dfareporting_v2_7/service.rb +9095 -0
  152. data/generated/google/apis/dns_v1.rb +1 -1
  153. data/generated/google/apis/dns_v1/classes.rb +1 -1
  154. data/generated/google/apis/dns_v2beta1.rb +43 -0
  155. data/generated/google/apis/dns_v2beta1/classes.rb +915 -0
  156. data/generated/google/apis/dns_v2beta1/representations.rb +368 -0
  157. data/generated/google/apis/dns_v2beta1/service.rb +768 -0
  158. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  159. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +79 -86
  160. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +25 -28
  161. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +10 -8
  162. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  163. data/generated/google/apis/doubleclicksearch_v2/classes.rb +6 -4
  164. data/generated/google/apis/drive_v2.rb +1 -1
  165. data/generated/google/apis/drive_v2/classes.rb +595 -37
  166. data/generated/google/apis/drive_v2/representations.rb +140 -0
  167. data/generated/google/apis/drive_v2/service.rb +406 -40
  168. data/generated/google/apis/drive_v3.rb +1 -1
  169. data/generated/google/apis/drive_v3/classes.rb +507 -40
  170. data/generated/google/apis/drive_v3/representations.rb +105 -0
  171. data/generated/google/apis/drive_v3/service.rb +326 -29
  172. data/generated/google/apis/fitness_v1.rb +38 -2
  173. data/generated/google/apis/fitness_v1/classes.rb +65 -7
  174. data/generated/google/apis/fitness_v1/representations.rb +20 -0
  175. data/generated/google/apis/fitness_v1/service.rb +17 -18
  176. data/generated/google/apis/fusiontables_v2.rb +1 -1
  177. data/generated/google/apis/fusiontables_v2/classes.rb +4 -3
  178. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  179. data/generated/google/apis/games_management_v1management.rb +1 -1
  180. data/generated/google/apis/games_v1.rb +1 -1
  181. data/generated/google/apis/genomics_v1.rb +10 -12
  182. data/generated/google/apis/genomics_v1/classes.rb +2276 -2165
  183. data/generated/google/apis/genomics_v1/representations.rb +468 -496
  184. data/generated/google/apis/genomics_v1/service.rb +978 -882
  185. data/generated/google/apis/gmail_v1.rb +11 -2
  186. data/generated/google/apis/gmail_v1/classes.rb +655 -5
  187. data/generated/google/apis/gmail_v1/representations.rb +261 -0
  188. data/generated/google/apis/gmail_v1/service.rb +1211 -48
  189. data/generated/google/apis/groupssettings_v1.rb +2 -2
  190. data/generated/google/apis/groupssettings_v1/classes.rb +12 -0
  191. data/generated/google/apis/groupssettings_v1/representations.rb +2 -0
  192. data/generated/google/apis/iam_v1.rb +2 -2
  193. data/generated/google/apis/iam_v1/classes.rb +446 -368
  194. data/generated/google/apis/iam_v1/representations.rb +109 -91
  195. data/generated/google/apis/iam_v1/service.rb +249 -162
  196. data/generated/google/apis/identitytoolkit_v3.rb +7 -1
  197. data/generated/google/apis/identitytoolkit_v3/classes.rb +254 -2
  198. data/generated/google/apis/identitytoolkit_v3/representations.rb +38 -0
  199. data/generated/google/apis/kgsearch_v1.rb +2 -3
  200. data/generated/google/apis/kgsearch_v1/classes.rb +13 -13
  201. data/generated/google/apis/kgsearch_v1/representations.rb +2 -2
  202. data/generated/google/apis/kgsearch_v1/service.rb +26 -24
  203. data/generated/google/apis/language_v1beta1.rb +36 -0
  204. data/generated/google/apis/language_v1beta1/classes.rb +757 -0
  205. data/generated/google/apis/language_v1beta1/representations.rb +339 -0
  206. data/generated/google/apis/language_v1beta1/service.rb +185 -0
  207. data/generated/google/apis/licensing_v1.rb +3 -3
  208. data/generated/google/apis/licensing_v1/classes.rb +14 -2
  209. data/generated/google/apis/licensing_v1/representations.rb +2 -0
  210. data/generated/google/apis/licensing_v1/service.rb +1 -1
  211. data/generated/google/apis/logging_v2beta1.rb +6 -6
  212. data/generated/google/apis/logging_v2beta1/classes.rb +900 -775
  213. data/generated/google/apis/logging_v2beta1/representations.rb +163 -142
  214. data/generated/google/apis/logging_v2beta1/service.rb +427 -155
  215. data/generated/google/apis/manufacturers_v1.rb +34 -0
  216. data/generated/google/apis/manufacturers_v1/classes.rb +605 -0
  217. data/generated/google/apis/manufacturers_v1/representations.rb +223 -0
  218. data/generated/google/apis/manufacturers_v1/service.rb +138 -0
  219. data/generated/google/apis/mirror_v1.rb +2 -2
  220. data/generated/google/apis/mirror_v1/service.rb +1 -1
  221. data/generated/google/apis/monitoring_v3.rb +45 -0
  222. data/generated/google/apis/monitoring_v3/classes.rb +1333 -0
  223. data/generated/google/apis/monitoring_v3/representations.rb +516 -0
  224. data/generated/google/apis/monitoring_v3/service.rb +706 -0
  225. data/generated/google/apis/oauth2_v2.rb +1 -1
  226. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  227. data/generated/google/apis/partners_v2.rb +3 -3
  228. data/generated/google/apis/partners_v2/classes.rb +1831 -477
  229. data/generated/google/apis/partners_v2/representations.rb +571 -114
  230. data/generated/google/apis/partners_v2/service.rb +898 -167
  231. data/generated/google/apis/people_v1.rb +15 -16
  232. data/generated/google/apis/people_v1/classes.rb +1047 -859
  233. data/generated/google/apis/people_v1/representations.rb +252 -213
  234. data/generated/google/apis/people_v1/service.rb +75 -62
  235. data/generated/google/apis/plus_domains_v1.rb +1 -1
  236. data/generated/google/apis/plus_v1.rb +1 -1
  237. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  238. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +527 -456
  239. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +101 -100
  240. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +467 -343
  241. data/generated/google/apis/pubsub_v1.rb +1 -1
  242. data/generated/google/apis/pubsub_v1/classes.rb +363 -310
  243. data/generated/google/apis/pubsub_v1/representations.rb +76 -76
  244. data/generated/google/apis/pubsub_v1/service.rb +464 -335
  245. data/generated/google/apis/qpx_express_v1.rb +1 -1
  246. data/generated/google/apis/qpx_express_v1/classes.rb +6 -0
  247. data/generated/google/apis/qpx_express_v1/representations.rb +1 -0
  248. data/generated/google/apis/replicapool_v1beta2.rb +1 -1
  249. data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -2
  250. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +3 -1
  251. data/generated/google/apis/reseller_v1.rb +1 -1
  252. data/generated/google/apis/reseller_v1/classes.rb +222 -61
  253. data/generated/google/apis/reseller_v1/representations.rb +28 -0
  254. data/generated/google/apis/reseller_v1/service.rb +240 -47
  255. data/generated/google/apis/script_v1.rb +19 -19
  256. data/generated/google/apis/script_v1/classes.rb +151 -137
  257. data/generated/google/apis/script_v1/representations.rb +26 -26
  258. data/generated/google/apis/script_v1/service.rb +9 -8
  259. data/generated/google/apis/sheets_v4.rb +7 -7
  260. data/generated/google/apis/sheets_v4/classes.rb +4530 -3506
  261. data/generated/google/apis/sheets_v4/representations.rb +988 -737
  262. data/generated/google/apis/sheets_v4/service.rb +266 -99
  263. data/generated/google/apis/site_verification_v1.rb +1 -1
  264. data/generated/google/apis/slides_v1.rb +49 -0
  265. data/generated/google/apis/slides_v1/classes.rb +4480 -0
  266. data/generated/google/apis/slides_v1/representations.rb +1926 -0
  267. data/generated/google/apis/slides_v1/service.rb +245 -0
  268. data/generated/google/apis/speech_v1beta1.rb +34 -0
  269. data/generated/google/apis/speech_v1beta1/classes.rb +498 -0
  270. data/generated/google/apis/speech_v1beta1/representations.rb +206 -0
  271. data/generated/google/apis/speech_v1beta1/service.rb +270 -0
  272. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  273. data/generated/google/apis/sqladmin_v1beta4/classes.rb +131 -10
  274. data/generated/google/apis/sqladmin_v1beta4/representations.rb +50 -0
  275. data/generated/google/apis/sqladmin_v1beta4/service.rb +92 -2
  276. data/generated/google/apis/storage_v1.rb +1 -1
  277. data/generated/google/apis/storage_v1/classes.rb +205 -21
  278. data/generated/google/apis/storage_v1/representations.rb +51 -1
  279. data/generated/google/apis/storage_v1/service.rb +263 -9
  280. data/generated/google/apis/tagmanager_v1.rb +5 -5
  281. data/generated/google/apis/translate_v2.rb +2 -2
  282. data/generated/google/apis/translate_v2/service.rb +1 -1
  283. data/generated/google/apis/vision_v1.rb +1 -1
  284. data/generated/google/apis/vision_v1/classes.rb +1275 -731
  285. data/generated/google/apis/vision_v1/representations.rb +378 -111
  286. data/generated/google/apis/vision_v1/service.rb +4 -4
  287. data/generated/google/apis/webmasters_v3.rb +1 -1
  288. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  289. data/generated/google/apis/youtube_analytics_v1/classes.rb +0 -209
  290. data/generated/google/apis/youtube_analytics_v1/representations.rb +0 -99
  291. data/generated/google/apis/youtube_analytics_v1/service.rb +5 -77
  292. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  293. data/generated/google/apis/youtube_partner_v1/classes.rb +155 -0
  294. data/generated/google/apis/youtube_partner_v1/representations.rb +69 -0
  295. data/generated/google/apis/youtube_partner_v1/service.rb +107 -3
  296. data/generated/google/apis/youtube_v3.rb +1 -1
  297. data/generated/google/apis/youtube_v3/classes.rb +430 -22
  298. data/generated/google/apis/youtube_v3/representations.rb +171 -4
  299. data/generated/google/apis/youtube_v3/service.rb +100 -9
  300. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  301. data/generated/google/apis/youtubereporting_v1/classes.rb +140 -131
  302. data/generated/google/apis/youtubereporting_v1/representations.rb +37 -37
  303. data/generated/google/apis/youtubereporting_v1/service.rb +139 -135
  304. data/google-api-client.gemspec +4 -3
  305. data/lib/google/apis/core/api_command.rb +16 -6
  306. data/lib/google/apis/core/base_service.rb +17 -9
  307. data/lib/google/apis/core/download.rb +7 -2
  308. data/lib/google/apis/core/http_command.rb +5 -1
  309. data/lib/google/apis/core/json_representation.rb +2 -2
  310. data/lib/google/apis/core/upload.rb +7 -1
  311. data/lib/google/apis/errors.rb +6 -2
  312. data/lib/google/apis/generator/annotator.rb +6 -0
  313. data/lib/google/apis/version.rb +1 -1
  314. data/samples/cli/lib/samples/bigquery.rb +101 -0
  315. data/samples/cli/lib/samples/calendar.rb +1 -1
  316. data/samples/cli/lib/samples/gmail.rb +74 -0
  317. data/samples/cli/lib/samples/sheets.rb +61 -0
  318. data/samples/cli/lib/samples/you_tube.rb +4 -1
  319. data/sync.rb +71 -0
  320. metadata +86 -18
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://cloud.google.com/resource-manager
27
27
  module CloudresourcemanagerV1beta1
28
28
  VERSION = 'V1beta1'
29
- REVISION = '20160518'
29
+ REVISION = '20170324'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,59 +22,654 @@ module Google
22
22
  module Apis
23
23
  module CloudresourcemanagerV1beta1
24
24
 
25
- # A Project is a high-level Google Cloud Platform entity. It is a container for
26
- # ACLs, APIs, AppEngine Apps, VMs, and other Google Cloud Platform resources.
25
+ # The request sent to the UndeleteProject
26
+ # method.
27
+ class UndeleteProjectRequest
28
+ include Google::Apis::Core::Hashable
29
+
30
+ def initialize(**args)
31
+ update!(**args)
32
+ end
33
+
34
+ # Update properties of this object
35
+ def update!(**args)
36
+ end
37
+ end
38
+
39
+ # The request sent to the ClearOrgPolicy method.
40
+ class ClearOrgPolicyRequest
41
+ include Google::Apis::Core::Hashable
42
+
43
+ # The current version, for concurrency control. Not sending an `etag`
44
+ # will cause the `Policy` to be cleared blindly.
45
+ # Corresponds to the JSON property `etag`
46
+ # @return [String]
47
+ attr_accessor :etag
48
+
49
+ # Name of the `Constraint` of the `Policy` to clear.
50
+ # Corresponds to the JSON property `constraint`
51
+ # @return [String]
52
+ attr_accessor :constraint
53
+
54
+ def initialize(**args)
55
+ update!(**args)
56
+ end
57
+
58
+ # Update properties of this object
59
+ def update!(**args)
60
+ @etag = args[:etag] if args.key?(:etag)
61
+ @constraint = args[:constraint] if args.key?(:constraint)
62
+ end
63
+ end
64
+
65
+ # A status object which is used as the `metadata` field for the Operation
66
+ # returned by CreateProject. It provides insight for when significant phases of
67
+ # Project creation have completed.
68
+ class ProjectCreationStatus
69
+ include Google::Apis::Core::Hashable
70
+
71
+ # True if the project creation process is complete.
72
+ # Corresponds to the JSON property `ready`
73
+ # @return [Boolean]
74
+ attr_accessor :ready
75
+ alias_method :ready?, :ready
76
+
77
+ # Creation time of the project creation workflow.
78
+ # Corresponds to the JSON property `createTime`
79
+ # @return [String]
80
+ attr_accessor :create_time
81
+
82
+ # True if the project can be retrieved using GetProject. No other operations
83
+ # on the project are guaranteed to work until the project creation is
84
+ # complete.
85
+ # Corresponds to the JSON property `gettable`
86
+ # @return [Boolean]
87
+ attr_accessor :gettable
88
+ alias_method :gettable?, :gettable
89
+
90
+ def initialize(**args)
91
+ update!(**args)
92
+ end
93
+
94
+ # Update properties of this object
95
+ def update!(**args)
96
+ @ready = args[:ready] if args.key?(:ready)
97
+ @create_time = args[:create_time] if args.key?(:create_time)
98
+ @gettable = args[:gettable] if args.key?(:gettable)
99
+ end
100
+ end
101
+
102
+ # A `Constraint` that is either enforced or not.
103
+ # For example a constraint `constraints/compute.disableSerialPortAccess`.
104
+ # If it is enforced on a VM instance, serial port connections will not be
105
+ # opened to that instance.
106
+ class BooleanConstraint
107
+ include Google::Apis::Core::Hashable
108
+
109
+ def initialize(**args)
110
+ update!(**args)
111
+ end
112
+
113
+ # Update properties of this object
114
+ def update!(**args)
115
+ end
116
+ end
117
+
118
+ # Response message for `TestIamPermissions` method.
119
+ class TestIamPermissionsResponse
120
+ include Google::Apis::Core::Hashable
121
+
122
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
123
+ # allowed.
124
+ # Corresponds to the JSON property `permissions`
125
+ # @return [Array<String>]
126
+ attr_accessor :permissions
127
+
128
+ def initialize(**args)
129
+ update!(**args)
130
+ end
131
+
132
+ # Update properties of this object
133
+ def update!(**args)
134
+ @permissions = args[:permissions] if args.key?(:permissions)
135
+ end
136
+ end
137
+
138
+ # Request message for `GetIamPolicy` method.
139
+ class GetIamPolicyRequest
140
+ include Google::Apis::Core::Hashable
141
+
142
+ def initialize(**args)
143
+ update!(**args)
144
+ end
145
+
146
+ # Update properties of this object
147
+ def update!(**args)
148
+ end
149
+ end
150
+
151
+ # The entity that owns an Organization. The lifetime of the Organization and
152
+ # all of its descendants are bound to the `OrganizationOwner`. If the
153
+ # `OrganizationOwner` is deleted, the Organization and all its descendants will
154
+ # be deleted.
155
+ class OrganizationOwner
156
+ include Google::Apis::Core::Hashable
157
+
158
+ # The Google for Work customer id used in the Directory API.
159
+ # Corresponds to the JSON property `directoryCustomerId`
160
+ # @return [String]
161
+ attr_accessor :directory_customer_id
162
+
163
+ def initialize(**args)
164
+ update!(**args)
165
+ end
166
+
167
+ # Update properties of this object
168
+ def update!(**args)
169
+ @directory_customer_id = args[:directory_customer_id] if args.key?(:directory_customer_id)
170
+ end
171
+ end
172
+
173
+ # A page of the response received from the
174
+ # ListProjects
175
+ # method.
176
+ # A paginated response where more pages are available has
177
+ # `next_page_token` set. This token can be used in a subsequent request to
178
+ # retrieve the next request page.
179
+ class ListProjectsResponse
180
+ include Google::Apis::Core::Hashable
181
+
182
+ # Pagination token.
183
+ # If the result set is too large to fit in a single response, this token
184
+ # is returned. It encodes the position of the current result cursor.
185
+ # Feeding this value into a new list request with the `page_token` parameter
186
+ # gives the next page of the results.
187
+ # When `next_page_token` is not filled in, there is no next page and
188
+ # the list returned is the last page in the result set.
189
+ # Pagination tokens have a limited lifetime.
190
+ # Corresponds to the JSON property `nextPageToken`
191
+ # @return [String]
192
+ attr_accessor :next_page_token
193
+
194
+ # The list of Projects that matched the list filter. This list can
195
+ # be paginated.
196
+ # Corresponds to the JSON property `projects`
197
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Project>]
198
+ attr_accessor :projects
199
+
200
+ def initialize(**args)
201
+ update!(**args)
202
+ end
203
+
204
+ # Update properties of this object
205
+ def update!(**args)
206
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
207
+ @projects = args[:projects] if args.key?(:projects)
208
+ end
209
+ end
210
+
211
+ # A Project is a high-level Google Cloud Platform entity. It is a
212
+ # container for ACLs, APIs, App Engine Apps, VMs, and other
213
+ # Google Cloud Platform resources.
27
214
  class Project
28
215
  include Google::Apis::Core::Hashable
29
216
 
30
- # The number uniquely identifying the project. Example: 415104041262 Read-only.
217
+ # The number uniquely identifying the project.
218
+ # Example: <code>415104041262</code>
219
+ # Read-only.
31
220
  # Corresponds to the JSON property `projectNumber`
32
221
  # @return [String]
33
222
  attr_accessor :project_number
34
223
 
35
- # The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase
36
- # letters, digits, or hyphens. It must start with a letter. Trailing hyphens are
37
- # prohibited. Example: tokyo-rain-123 Read-only after creation.
224
+ # A container to reference an id for any resource type. A `resource` in Google
225
+ # Cloud Platform is a generic term for something you (a developer) may want to
226
+ # interact with through one of our API's. Some examples are an App Engine app,
227
+ # a Compute Engine instance, a Cloud SQL database, and so on.
228
+ # Corresponds to the JSON property `parent`
229
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::ResourceId]
230
+ attr_accessor :parent
231
+
232
+ # Creation time.
233
+ # Read-only.
234
+ # Corresponds to the JSON property `createTime`
235
+ # @return [String]
236
+ attr_accessor :create_time
237
+
238
+ # The labels associated with this Project.
239
+ # Label keys must be between 1 and 63 characters long and must conform
240
+ # to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?.
241
+ # Label values must be between 0 and 63 characters long and must conform
242
+ # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?.
243
+ # No more than 256 labels can be associated with a given resource.
244
+ # Clients should store labels in a representation such as JSON that does not
245
+ # depend on specific characters being disallowed.
246
+ # Example: <code>"environment" : "dev"</code>
247
+ # Read-write.
248
+ # Corresponds to the JSON property `labels`
249
+ # @return [Hash<String,String>]
250
+ attr_accessor :labels
251
+
252
+ # The user-assigned display name of the Project.
253
+ # It must be 4 to 30 characters.
254
+ # Allowed characters are: lowercase and uppercase letters, numbers,
255
+ # hyphen, single-quote, double-quote, space, and exclamation point.
256
+ # Example: <code>My Project</code>
257
+ # Read-write.
258
+ # Corresponds to the JSON property `name`
259
+ # @return [String]
260
+ attr_accessor :name
261
+
262
+ # The unique, user-assigned ID of the Project.
263
+ # It must be 6 to 30 lowercase letters, digits, or hyphens.
264
+ # It must start with a letter.
265
+ # Trailing hyphens are prohibited.
266
+ # Example: <code>tokyo-rain-123</code>
267
+ # Read-only after creation.
38
268
  # Corresponds to the JSON property `projectId`
39
269
  # @return [String]
40
- attr_accessor :project_id
270
+ attr_accessor :project_id
271
+
272
+ # The Project lifecycle state.
273
+ # Read-only.
274
+ # Corresponds to the JSON property `lifecycleState`
275
+ # @return [String]
276
+ attr_accessor :lifecycle_state
277
+
278
+ def initialize(**args)
279
+ update!(**args)
280
+ end
281
+
282
+ # Update properties of this object
283
+ def update!(**args)
284
+ @project_number = args[:project_number] if args.key?(:project_number)
285
+ @parent = args[:parent] if args.key?(:parent)
286
+ @create_time = args[:create_time] if args.key?(:create_time)
287
+ @labels = args[:labels] if args.key?(:labels)
288
+ @name = args[:name] if args.key?(:name)
289
+ @project_id = args[:project_id] if args.key?(:project_id)
290
+ @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
291
+ end
292
+ end
293
+
294
+ # The response returned from the ListOrgPolicies method. It will be empty
295
+ # if no `Policies` are set on the resource.
296
+ class ListOrgPoliciesResponse
297
+ include Google::Apis::Core::Hashable
298
+
299
+ # The `Policies` that are set on the resource. It will be empty if no
300
+ # `Policies` are set.
301
+ # Corresponds to the JSON property `policies`
302
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::OrgPolicy>]
303
+ attr_accessor :policies
304
+
305
+ # Page token used to retrieve the next page. This is currently not used, but
306
+ # the server may at any point start supplying a valid token.
307
+ # Corresponds to the JSON property `nextPageToken`
308
+ # @return [String]
309
+ attr_accessor :next_page_token
310
+
311
+ def initialize(**args)
312
+ update!(**args)
313
+ end
314
+
315
+ # Update properties of this object
316
+ def update!(**args)
317
+ @policies = args[:policies] if args.key?(:policies)
318
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
319
+ end
320
+ end
321
+
322
+ # A classification of the Folder Operation error.
323
+ class FolderOperationError
324
+ include Google::Apis::Core::Hashable
325
+
326
+ # The type of operation error experienced.
327
+ # Corresponds to the JSON property `errorMessageId`
328
+ # @return [String]
329
+ attr_accessor :error_message_id
330
+
331
+ def initialize(**args)
332
+ update!(**args)
333
+ end
334
+
335
+ # Update properties of this object
336
+ def update!(**args)
337
+ @error_message_id = args[:error_message_id] if args.key?(:error_message_id)
338
+ end
339
+ end
340
+
341
+ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
342
+ # for configurations of Cloud Platform resources.
343
+ class OrgPolicy
344
+ include Google::Apis::Core::Hashable
345
+
346
+ # Version of the `Policy`. Default version is 0;
347
+ # Corresponds to the JSON property `version`
348
+ # @return [Fixnum]
349
+ attr_accessor :version
350
+
351
+ # Ignores policies set above this resource and restores the
352
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
353
+ # this resource.
354
+ # Suppose that `constraint_default` is set to `ALLOW` for the
355
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
356
+ # foo.com sets a `Policy` at their Organization resource node that restricts
357
+ # the allowed service activations to deny all service activations. They
358
+ # could then set a `Policy` with the `policy_type` `restore_default` on
359
+ # several experimental projects, restoring the `constraint_default`
360
+ # enforcement of the `Constraint` for only those projects, allowing those
361
+ # projects to have all services activated.
362
+ # Corresponds to the JSON property `restoreDefault`
363
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::RestoreDefault]
364
+ attr_accessor :restore_default
365
+
366
+ # Used in `policy_type` to specify how `list_policy` behaves at this
367
+ # resource.
368
+ # A `ListPolicy` can define specific values that are allowed or denied by
369
+ # setting either the `allowed_values` or `denied_values` fields. It can also
370
+ # be used to allow or deny all values, by setting the `all_values` field. If
371
+ # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`
372
+ # or `denied_values` must be set (attempting to set both or neither will
373
+ # result in a failed request). If `all_values` is set to either `ALLOW` or
374
+ # `DENY`, `allowed_values` and `denied_values` must be unset.
375
+ # Corresponds to the JSON property `listPolicy`
376
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::ListPolicy]
377
+ attr_accessor :list_policy
378
+
379
+ # An opaque tag indicating the current version of the `Policy`, used for
380
+ # concurrency control.
381
+ # When the `Policy` is returned from either a `GetPolicy` or a
382
+ # `ListOrgPolicy` request, this `etag` indicates the version of the current
383
+ # `Policy` to use when executing a read-modify-write loop.
384
+ # When the `Policy` is returned from a `GetEffectivePolicy` request, the
385
+ # `etag` will be unset.
386
+ # When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
387
+ # that was returned from a `GetOrgPolicy` request as part of a
388
+ # read-modify-write loop for concurrency control. Not setting the `etag`in a
389
+ # `SetOrgPolicy` request will result in an unconditional write of the
390
+ # `Policy`.
391
+ # Corresponds to the JSON property `etag`
392
+ # @return [String]
393
+ attr_accessor :etag
394
+
395
+ # The name of the `Constraint` the `Policy` is configuring, for example,
396
+ # `constraints/serviceuser.services`.
397
+ # Immutable after creation.
398
+ # Corresponds to the JSON property `constraint`
399
+ # @return [String]
400
+ attr_accessor :constraint
401
+
402
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
403
+ # resource.
404
+ # Corresponds to the JSON property `booleanPolicy`
405
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::BooleanPolicy]
406
+ attr_accessor :boolean_policy
407
+
408
+ # The time stamp the `Policy` was previously updated. This is set by the
409
+ # server, not specified by the caller, and represents the last time a call to
410
+ # `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
411
+ # be ignored.
412
+ # Corresponds to the JSON property `updateTime`
413
+ # @return [String]
414
+ attr_accessor :update_time
415
+
416
+ def initialize(**args)
417
+ update!(**args)
418
+ end
419
+
420
+ # Update properties of this object
421
+ def update!(**args)
422
+ @version = args[:version] if args.key?(:version)
423
+ @restore_default = args[:restore_default] if args.key?(:restore_default)
424
+ @list_policy = args[:list_policy] if args.key?(:list_policy)
425
+ @etag = args[:etag] if args.key?(:etag)
426
+ @constraint = args[:constraint] if args.key?(:constraint)
427
+ @boolean_policy = args[:boolean_policy] if args.key?(:boolean_policy)
428
+ @update_time = args[:update_time] if args.key?(:update_time)
429
+ end
430
+ end
431
+
432
+ # Used in `policy_type` to specify how `boolean_policy` will behave at this
433
+ # resource.
434
+ class BooleanPolicy
435
+ include Google::Apis::Core::Hashable
436
+
437
+ # If `true`, then the `Policy` is enforced. If `false`, then any
438
+ # configuration is acceptable.
439
+ # Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess`
440
+ # with `constraint_default` set to `ALLOW`. A `Policy` for that
441
+ # `Constraint` exhibits the following behavior:
442
+ # - If the `Policy` at this resource has enforced set to `false`, serial
443
+ # port connection attempts will be allowed.
444
+ # - If the `Policy` at this resource has enforced set to `true`, serial
445
+ # port connection attempts will be refused.
446
+ # - If the `Policy` at this resource is `RestoreDefault`, serial port
447
+ # connection attempts will be allowed.
448
+ # - If no `Policy` is set at this resource or anywhere higher in the
449
+ # resource hierarchy, serial port connection attempts will be allowed.
450
+ # - If no `Policy` is set at this resource, but one exists higher in the
451
+ # resource hierarchy, the behavior is as if the`Policy` were set at
452
+ # this resource.
453
+ # The following examples demonstrate the different possible layerings:
454
+ # Example 1 (nearest `Constraint` wins):
455
+ # `organizations/foo` has a `Policy` with:
456
+ # `enforced: false`
457
+ # `projects/bar` has no `Policy` set.
458
+ # The constraint at `projects/bar` and `organizations/foo` will not be
459
+ # enforced.
460
+ # Example 2 (enforcement gets replaced):
461
+ # `organizations/foo` has a `Policy` with:
462
+ # `enforced: false`
463
+ # `projects/bar` has a `Policy` with:
464
+ # `enforced: true`
465
+ # The constraint at `organizations/foo` is not enforced.
466
+ # The constraint at `projects/bar` is enforced.
467
+ # Example 3 (RestoreDefault):
468
+ # `organizations/foo` has a `Policy` with:
469
+ # `enforced: true`
470
+ # `projects/bar` has a `Policy` with:
471
+ # `RestoreDefault: ```
472
+ # The constraint at `organizations/foo` is enforced.
473
+ # The constraint at `projects/bar` is not enforced, because
474
+ # `constraint_default` for the `Constraint` is `ALLOW`.
475
+ # Corresponds to the JSON property `enforced`
476
+ # @return [Boolean]
477
+ attr_accessor :enforced
478
+ alias_method :enforced?, :enforced
479
+
480
+ def initialize(**args)
481
+ update!(**args)
482
+ end
483
+
484
+ # Update properties of this object
485
+ def update!(**args)
486
+ @enforced = args[:enforced] if args.key?(:enforced)
487
+ end
488
+ end
489
+
490
+ # Identifying information for a single ancestor of a project.
491
+ class Ancestor
492
+ include Google::Apis::Core::Hashable
493
+
494
+ # A container to reference an id for any resource type. A `resource` in Google
495
+ # Cloud Platform is a generic term for something you (a developer) may want to
496
+ # interact with through one of our API's. Some examples are an App Engine app,
497
+ # a Compute Engine instance, a Cloud SQL database, and so on.
498
+ # Corresponds to the JSON property `resourceId`
499
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::ResourceId]
500
+ attr_accessor :resource_id
501
+
502
+ def initialize(**args)
503
+ update!(**args)
504
+ end
505
+
506
+ # Update properties of this object
507
+ def update!(**args)
508
+ @resource_id = args[:resource_id] if args.key?(:resource_id)
509
+ end
510
+ end
511
+
512
+ # A `Constraint` that allows or disallows a list of string values, which are
513
+ # configured by an Organization's policy administrator with a `Policy`.
514
+ class ListConstraint
515
+ include Google::Apis::Core::Hashable
516
+
517
+ # Optional. The Google Cloud Console will try to default to a configuration
518
+ # that matches the value specified in this `Constraint`.
519
+ # Corresponds to the JSON property `suggestedValue`
520
+ # @return [String]
521
+ attr_accessor :suggested_value
522
+
523
+ def initialize(**args)
524
+ update!(**args)
525
+ end
526
+
527
+ # Update properties of this object
528
+ def update!(**args)
529
+ @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
530
+ end
531
+ end
532
+
533
+ # The request sent to the SetOrgPolicyRequest method.
534
+ class SetOrgPolicyRequest
535
+ include Google::Apis::Core::Hashable
536
+
537
+ # Defines a Cloud Organization `Policy` which is used to specify `Constraints`
538
+ # for configurations of Cloud Platform resources.
539
+ # Corresponds to the JSON property `policy`
540
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::OrgPolicy]
541
+ attr_accessor :policy
542
+
543
+ def initialize(**args)
544
+ update!(**args)
545
+ end
546
+
547
+ # Update properties of this object
548
+ def update!(**args)
549
+ @policy = args[:policy] if args.key?(:policy)
550
+ end
551
+ end
552
+
553
+ # Request message for `SetIamPolicy` method.
554
+ class SetIamPolicyRequest
555
+ include Google::Apis::Core::Hashable
556
+
557
+ # Defines an Identity and Access Management (IAM) policy. It is used to
558
+ # specify access control policies for Cloud Platform resources.
559
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
560
+ # `members` to a `role`, where the members can be user accounts, Google groups,
561
+ # Google domains, and service accounts. A `role` is a named list of permissions
562
+ # defined by IAM.
563
+ # **Example**
564
+ # `
565
+ # "bindings": [
566
+ # `
567
+ # "role": "roles/owner",
568
+ # "members": [
569
+ # "user:mike@example.com",
570
+ # "group:admins@example.com",
571
+ # "domain:google.com",
572
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
573
+ # ]
574
+ # `,
575
+ # `
576
+ # "role": "roles/viewer",
577
+ # "members": ["user:sean@example.com"]
578
+ # `
579
+ # ]
580
+ # `
581
+ # For a description of IAM and its features, see the
582
+ # [IAM developer's guide](https://cloud.google.com/iam).
583
+ # Corresponds to the JSON property `policy`
584
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::Policy]
585
+ attr_accessor :policy
586
+
587
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
588
+ # the fields in the mask will be modified. If no mask is provided, the
589
+ # following default mask is used:
590
+ # paths: "bindings, etag"
591
+ # This field is only used by Cloud IAM.
592
+ # Corresponds to the JSON property `updateMask`
593
+ # @return [String]
594
+ attr_accessor :update_mask
595
+
596
+ def initialize(**args)
597
+ update!(**args)
598
+ end
599
+
600
+ # Update properties of this object
601
+ def update!(**args)
602
+ @policy = args[:policy] if args.key?(:policy)
603
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
604
+ end
605
+ end
606
+
607
+ # A generic empty message that you can re-use to avoid defining duplicated
608
+ # empty messages in your APIs. A typical example is to use it as the request
609
+ # or the response type of an API method. For instance:
610
+ # service Foo `
611
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
612
+ # `
613
+ # The JSON representation for `Empty` is empty JSON object ````.
614
+ class Empty
615
+ include Google::Apis::Core::Hashable
616
+
617
+ def initialize(**args)
618
+ update!(**args)
619
+ end
620
+
621
+ # Update properties of this object
622
+ def update!(**args)
623
+ end
624
+ end
625
+
626
+ # The root node in the resource hierarchy to which a particular entity's
627
+ # (e.g., company) resources belong.
628
+ class Organization
629
+ include Google::Apis::Core::Hashable
630
+
631
+ # The organization's current lifecycle state. Assigned by the server.
632
+ # @OutputOnly
633
+ # Corresponds to the JSON property `lifecycleState`
634
+ # @return [String]
635
+ attr_accessor :lifecycle_state
636
+
637
+ # A friendly string to be used to refer to the Organization in the UI.
638
+ # Assigned by the server, set to the primary domain of the G Suite
639
+ # customer that owns the organization.
640
+ # @OutputOnly
641
+ # Corresponds to the JSON property `displayName`
642
+ # @return [String]
643
+ attr_accessor :display_name
41
644
 
42
- # The Project lifecycle state. Read-only.
43
- # Corresponds to the JSON property `lifecycleState`
645
+ # Timestamp when the Organization was created. Assigned by the server.
646
+ # @OutputOnly
647
+ # Corresponds to the JSON property `creationTime`
44
648
  # @return [String]
45
- attr_accessor :lifecycle_state
649
+ attr_accessor :creation_time
650
+
651
+ # The entity that owns an Organization. The lifetime of the Organization and
652
+ # all of its descendants are bound to the `OrganizationOwner`. If the
653
+ # `OrganizationOwner` is deleted, the Organization and all its descendants will
654
+ # be deleted.
655
+ # Corresponds to the JSON property `owner`
656
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::OrganizationOwner]
657
+ attr_accessor :owner
46
658
 
47
- # The user-assigned name of the Project. It must be 4 to 30 characters. Allowed
48
- # characters are: lowercase and uppercase letters, numbers, hyphen, single-quote,
49
- # double-quote, space, and exclamation point. Example: My Project Read-write.
659
+ # Output Only. The resource name of the organization. This is the
660
+ # organization's relative path in the API. Its format is
661
+ # "organizations/[organization_id]". For example, "organizations/1234".
50
662
  # Corresponds to the JSON property `name`
51
663
  # @return [String]
52
664
  attr_accessor :name
53
665
 
54
- # Creation time. Read-only.
55
- # Corresponds to the JSON property `createTime`
666
+ # An immutable id for the Organization that is assigned on creation. This
667
+ # should be omitted when creating a new Organization.
668
+ # This field is read-only.
669
+ # This field is deprecated and will be removed in v1. Use name instead.
670
+ # Corresponds to the JSON property `organizationId`
56
671
  # @return [String]
57
- attr_accessor :create_time
58
-
59
- # The labels associated with this Project. Label keys must be between 1 and 63
60
- # characters long and must conform to the following regular expression: \[a-z\](\
61
- # [-a-z0-9\]*\[a-z0-9\])?. Label values must be between 0 and 63 characters long
62
- # and must conform to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?.
63
- # No more than 256 labels can be associated with a given resource. Clients
64
- # should store labels in a representation such as JSON that does not depend on
65
- # specific characters being disallowed. Example: "environment" : "dev" Read-
66
- # write.
67
- # Corresponds to the JSON property `labels`
68
- # @return [Hash<String,String>]
69
- attr_accessor :labels
70
-
71
- # A container to reference an id for any resource type. A `resource` in Google
72
- # Cloud Platform is a generic term for something you (a developer) may want to
73
- # interact with through one of our API's. Some examples are an AppEngine app, a
74
- # Compute Engine instance, a Cloud SQL database, and so on.
75
- # Corresponds to the JSON property `parent`
76
- # @return [Google::Apis::CloudresourcemanagerV1beta1::ResourceId]
77
- attr_accessor :parent
672
+ attr_accessor :organization_id
78
673
 
79
674
  def initialize(**args)
80
675
  update!(**args)
@@ -82,34 +677,31 @@ module Google
82
677
 
83
678
  # Update properties of this object
84
679
  def update!(**args)
85
- @project_number = args[:project_number] if args.key?(:project_number)
86
- @project_id = args[:project_id] if args.key?(:project_id)
87
680
  @lifecycle_state = args[:lifecycle_state] if args.key?(:lifecycle_state)
681
+ @display_name = args[:display_name] if args.key?(:display_name)
682
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
683
+ @owner = args[:owner] if args.key?(:owner)
88
684
  @name = args[:name] if args.key?(:name)
89
- @create_time = args[:create_time] if args.key?(:create_time)
90
- @labels = args[:labels] if args.key?(:labels)
91
- @parent = args[:parent] if args.key?(:parent)
685
+ @organization_id = args[:organization_id] if args.key?(:organization_id)
92
686
  end
93
687
  end
94
688
 
95
- # A container to reference an id for any resource type. A `resource` in Google
96
- # Cloud Platform is a generic term for something you (a developer) may want to
97
- # interact with through one of our API's. Some examples are an AppEngine app, a
98
- # Compute Engine instance, a Cloud SQL database, and so on.
99
- class ResourceId
689
+ # The response returned from the ListAvailableOrgPolicyConstraints method.
690
+ # Returns all `Constraints` that could be set at this level of the hierarchy
691
+ # (contrast with the response from `ListPolicies`, which returns all policies
692
+ # which are set).
693
+ class ListAvailableOrgPolicyConstraintsResponse
100
694
  include Google::Apis::Core::Hashable
101
695
 
102
- # Required field representing the resource type this id is for. At present, the
103
- # only valid type is "organization".
104
- # Corresponds to the JSON property `type`
696
+ # Page token used to retrieve the next page. This is currently not used.
697
+ # Corresponds to the JSON property `nextPageToken`
105
698
  # @return [String]
106
- attr_accessor :type
699
+ attr_accessor :next_page_token
107
700
 
108
- # Required field for the type-specific id. This should correspond to the id used
109
- # in the type-specific API's.
110
- # Corresponds to the JSON property `id`
111
- # @return [String]
112
- attr_accessor :id
701
+ # The collection of constraints that are settable on the request resource.
702
+ # Corresponds to the JSON property `constraints`
703
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Constraint>]
704
+ attr_accessor :constraints
113
705
 
114
706
  def initialize(**args)
115
707
  update!(**args)
@@ -117,31 +709,125 @@ module Google
117
709
 
118
710
  # Update properties of this object
119
711
  def update!(**args)
120
- @type = args[:type] if args.key?(:type)
121
- @id = args[:id] if args.key?(:id)
712
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
713
+ @constraints = args[:constraints] if args.key?(:constraints)
122
714
  end
123
715
  end
124
716
 
125
- # A page of the response received from the ListProjects method. A paginated
126
- # response where more pages are available has `next_page_token` set. This token
127
- # can be used in a subsequent request to retrieve the next request page.
128
- class ListProjectsResponse
717
+ # Used in `policy_type` to specify how `list_policy` behaves at this
718
+ # resource.
719
+ # A `ListPolicy` can define specific values that are allowed or denied by
720
+ # setting either the `allowed_values` or `denied_values` fields. It can also
721
+ # be used to allow or deny all values, by setting the `all_values` field. If
722
+ # `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`
723
+ # or `denied_values` must be set (attempting to set both or neither will
724
+ # result in a failed request). If `all_values` is set to either `ALLOW` or
725
+ # `DENY`, `allowed_values` and `denied_values` must be unset.
726
+ class ListPolicy
129
727
  include Google::Apis::Core::Hashable
130
728
 
131
- # The list of Projects that matched the list filter. This list can be paginated.
132
- # Corresponds to the JSON property `projects`
133
- # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Project>]
134
- attr_accessor :projects
729
+ # The policy all_values state.
730
+ # Corresponds to the JSON property `allValues`
731
+ # @return [String]
732
+ attr_accessor :all_values
135
733
 
136
- # Pagination token. If the result set is too large to fit in a single response,
137
- # this token is returned. It encodes the position of the current result cursor.
138
- # Feeding this value into a new list request with the `page_token` parameter
139
- # gives the next page of the results. When `next_page_token` is not filled in,
140
- # there is no next page and the list returned is the last page in the result set.
141
- # Pagination tokens have a limited lifetime.
142
- # Corresponds to the JSON property `nextPageToken`
734
+ # List of values allowed at this resource. an only be set if no values are
735
+ # set for `denied_values` and `all_values` is set to
736
+ # `ALL_VALUES_UNSPECIFIED`.
737
+ # Corresponds to the JSON property `allowedValues`
738
+ # @return [Array<String>]
739
+ attr_accessor :allowed_values
740
+
741
+ # Optional. The Google Cloud Console will try to default to a configuration
742
+ # that matches the value specified in this `Policy`. If `suggested_value`
743
+ # is not set, it will inherit the value specified higher in the hierarchy,
744
+ # unless `inherit_from_parent` is `false`.
745
+ # Corresponds to the JSON property `suggestedValue`
143
746
  # @return [String]
144
- attr_accessor :next_page_token
747
+ attr_accessor :suggested_value
748
+
749
+ # Determines the inheritance behavior for this `Policy`.
750
+ # By default, a `ListPolicy` set at a resource supercedes any `Policy` set
751
+ # anywhere up the resource hierarchy. However, if `inherit_from_parent` is
752
+ # set to `true`, then the values from the effective `Policy` of the parent
753
+ # resource are inherited, meaning the values set in this `Policy` are
754
+ # added to the values inherited up the hierarchy.
755
+ # Setting `Policy` hierarchies that inherit both allowed values and denied
756
+ # values isn't recommended in most circumstances to keep the configuration
757
+ # simple and understandable. However, it is possible to set a `Policy` with
758
+ # `allowed_values` set that inherits a `Policy` with `denied_values` set.
759
+ # In this case, the values that are allowed must be in `allowed_values` and
760
+ # not present in `denied_values`.
761
+ # For example, suppose you have a `Constraint`
762
+ # `constraints/serviceuser.services`, which has a `constraint_type` of
763
+ # `list_constraint`, and with `constraint_default` set to `ALLOW`.
764
+ # Suppose that at the Organization level, a `Policy` is applied that
765
+ # restricts the allowed API activations to ``E1`, `E2``. Then, if a
766
+ # `Policy` is applied to a project below the Organization that has
767
+ # `inherit_from_parent` set to `false` and field all_values set to DENY,
768
+ # then an attempt to activate any API will be denied.
769
+ # The following examples demonstrate different possible layerings:
770
+ # Example 1 (no inherited values):
771
+ # `organizations/foo` has a `Policy` with values:
772
+ # `allowed_values: “E1” allowed_values:”E2”`
773
+ # ``projects/bar`` has `inherit_from_parent` `false` and values:
774
+ # `allowed_values: "E3" allowed_values: "E4"`
775
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
776
+ # The accepted values at `projects/bar` are `E3`, and `E4`.
777
+ # Example 2 (inherited values):
778
+ # `organizations/foo` has a `Policy` with values:
779
+ # `allowed_values: “E1” allowed_values:”E2”`
780
+ # `projects/bar` has a `Policy` with values:
781
+ # `value: “E3” value: ”E4” inherit_from_parent: true`
782
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
783
+ # The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
784
+ # Example 3 (inheriting both allowed and denied values):
785
+ # `organizations/foo` has a `Policy` with values:
786
+ # `allowed_values: "E1" allowed_values: "E2"`
787
+ # `projects/bar` has a `Policy` with:
788
+ # `denied_values: "E1"`
789
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
790
+ # The value accepted at `projects/bar` is `E2`.
791
+ # Example 4 (RestoreDefault):
792
+ # `organizations/foo` has a `Policy` with values:
793
+ # `allowed_values: “E1” allowed_values:”E2”`
794
+ # `projects/bar` has a `Policy` with values:
795
+ # `RestoreDefault: ```
796
+ # The accepted values at `organizations/foo` are `E1`, `E2`.
797
+ # The accepted values at `projects/bar` are either all or none depending on
798
+ # the value of `constraint_default` (if `ALLOW`, all; if
799
+ # `DENY`, none).
800
+ # Example 5 (no policy inherits parent policy):
801
+ # `organizations/foo` has no `Policy` set.
802
+ # `projects/bar` has no `Policy` set.
803
+ # The accepted values at both levels are either all or none depending on
804
+ # the value of `constraint_default` (if `ALLOW`, all; if
805
+ # `DENY`, none).
806
+ # Example 6 (ListConstraint allowing all):
807
+ # `organizations/foo` has a `Policy` with values:
808
+ # `allowed_values: “E1” allowed_values: ”E2”`
809
+ # `projects/bar` has a `Policy` with:
810
+ # `all: ALLOW`
811
+ # The accepted values at `organizations/foo` are `E1`, E2`.
812
+ # Any value is accepted at `projects/bar`.
813
+ # Example 7 (ListConstraint allowing none):
814
+ # `organizations/foo` has a `Policy` with values:
815
+ # `allowed_values: “E1” allowed_values: ”E2”`
816
+ # `projects/bar` has a `Policy` with:
817
+ # `all: DENY`
818
+ # The accepted values at `organizations/foo` are `E1`, E2`.
819
+ # No value is accepted at `projects/bar`.
820
+ # Corresponds to the JSON property `inheritFromParent`
821
+ # @return [Boolean]
822
+ attr_accessor :inherit_from_parent
823
+ alias_method :inherit_from_parent?, :inherit_from_parent
824
+
825
+ # List of values denied at this resource. Can only be set if no values are
826
+ # set for `allowed_values` and `all_values` is set to
827
+ # `ALL_VALUES_UNSPECIFIED`.
828
+ # Corresponds to the JSON property `deniedValues`
829
+ # @return [Array<String>]
830
+ attr_accessor :denied_values
145
831
 
146
832
  def initialize(**args)
147
833
  update!(**args)
@@ -149,42 +835,81 @@ module Google
149
835
 
150
836
  # Update properties of this object
151
837
  def update!(**args)
152
- @projects = args[:projects] if args.key?(:projects)
153
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
838
+ @all_values = args[:all_values] if args.key?(:all_values)
839
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
840
+ @suggested_value = args[:suggested_value] if args.key?(:suggested_value)
841
+ @inherit_from_parent = args[:inherit_from_parent] if args.key?(:inherit_from_parent)
842
+ @denied_values = args[:denied_values] if args.key?(:denied_values)
154
843
  end
155
844
  end
156
845
 
157
- # A generic empty message that you can re-use to avoid defining duplicated empty
158
- # messages in your APIs. A typical example is to use it as the request or the
159
- # response type of an API method. For instance: service Foo ` rpc Bar(google.
160
- # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
161
- # `Empty` is empty JSON object ````.
162
- class Empty
846
+ # Response from the GetAncestry method.
847
+ class GetAncestryResponse
163
848
  include Google::Apis::Core::Hashable
164
849
 
850
+ # Ancestors are ordered from bottom to top of the resource hierarchy. The
851
+ # first ancestor is the project itself, followed by the project's parent,
852
+ # etc.
853
+ # Corresponds to the JSON property `ancestor`
854
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Ancestor>]
855
+ attr_accessor :ancestor
856
+
165
857
  def initialize(**args)
166
858
  update!(**args)
167
859
  end
168
860
 
169
861
  # Update properties of this object
170
862
  def update!(**args)
863
+ @ancestor = args[:ancestor] if args.key?(:ancestor)
171
864
  end
172
865
  end
173
866
 
174
- # The request sent to the UndeleteProject method.
175
- class UndeleteProjectRequest
867
+ # Provides the configuration for logging a type of permissions.
868
+ # Example:
869
+ # `
870
+ # "audit_log_configs": [
871
+ # `
872
+ # "log_type": "DATA_READ",
873
+ # "exempted_members": [
874
+ # "user:foo@gmail.com"
875
+ # ]
876
+ # `,
877
+ # `
878
+ # "log_type": "DATA_WRITE",
879
+ # `
880
+ # ]
881
+ # `
882
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
883
+ # foo@gmail.com from DATA_READ logging.
884
+ class AuditLogConfig
176
885
  include Google::Apis::Core::Hashable
177
886
 
887
+ # Specifies the identities that do not cause logging for this type of
888
+ # permission.
889
+ # Follows the same format of Binding.members.
890
+ # Corresponds to the JSON property `exemptedMembers`
891
+ # @return [Array<String>]
892
+ attr_accessor :exempted_members
893
+
894
+ # The log type that this config enables.
895
+ # Corresponds to the JSON property `logType`
896
+ # @return [String]
897
+ attr_accessor :log_type
898
+
178
899
  def initialize(**args)
179
900
  update!(**args)
180
901
  end
181
902
 
182
903
  # Update properties of this object
183
904
  def update!(**args)
905
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
906
+ @log_type = args[:log_type] if args.key?(:log_type)
184
907
  end
185
908
  end
186
909
 
187
- # The request sent to the GetAncestry method.
910
+ # The request sent to the
911
+ # GetAncestry
912
+ # method.
188
913
  class GetAncestryRequest
189
914
  include Google::Apis::Core::Hashable
190
915
 
@@ -197,15 +922,17 @@ module Google
197
922
  end
198
923
  end
199
924
 
200
- # Response from the GetAncestry method.
201
- class GetAncestryResponse
925
+ # Request message for `TestIamPermissions` method.
926
+ class TestIamPermissionsRequest
202
927
  include Google::Apis::Core::Hashable
203
928
 
204
- # Ancestors are ordered from bottom to top of the resource hierarchy. The first
205
- # ancestor is the project itself, followed by the project's parent, etc.
206
- # Corresponds to the JSON property `ancestor`
207
- # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Ancestor>]
208
- attr_accessor :ancestor
929
+ # The set of permissions to check for the `resource`. Permissions with
930
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
931
+ # information see
932
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
933
+ # Corresponds to the JSON property `permissions`
934
+ # @return [Array<String>]
935
+ attr_accessor :permissions
209
936
 
210
937
  def initialize(**args)
211
938
  update!(**args)
@@ -213,21 +940,27 @@ module Google
213
940
 
214
941
  # Update properties of this object
215
942
  def update!(**args)
216
- @ancestor = args[:ancestor] if args.key?(:ancestor)
943
+ @permissions = args[:permissions] if args.key?(:permissions)
217
944
  end
218
945
  end
219
946
 
220
- # Identifying information for a single ancestor of a project.
221
- class Ancestor
947
+ # The request sent to the [ListAvailableOrgPolicyConstraints]
948
+ # google.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method.
949
+ class ListAvailableOrgPolicyConstraintsRequest
222
950
  include Google::Apis::Core::Hashable
223
951
 
224
- # A container to reference an id for any resource type. A `resource` in Google
225
- # Cloud Platform is a generic term for something you (a developer) may want to
226
- # interact with through one of our API's. Some examples are an AppEngine app, a
227
- # Compute Engine instance, a Cloud SQL database, and so on.
228
- # Corresponds to the JSON property `resourceId`
229
- # @return [Google::Apis::CloudresourcemanagerV1beta1::ResourceId]
230
- attr_accessor :resource_id
952
+ # Page token used to retrieve the next page. This is currently unsupported
953
+ # and will be ignored. The server may at any point start using this field.
954
+ # Corresponds to the JSON property `pageToken`
955
+ # @return [String]
956
+ attr_accessor :page_token
957
+
958
+ # Size of the pages to be returned. This is currently unsupported and will
959
+ # be ignored. The server may at any point start using this field to limit
960
+ # page size.
961
+ # Corresponds to the JSON property `pageSize`
962
+ # @return [Fixnum]
963
+ attr_accessor :page_size
231
964
 
232
965
  def initialize(**args)
233
966
  update!(**args)
@@ -235,59 +968,108 @@ module Google
235
968
 
236
969
  # Update properties of this object
237
970
  def update!(**args)
238
- @resource_id = args[:resource_id] if args.key?(:resource_id)
971
+ @page_token = args[:page_token] if args.key?(:page_token)
972
+ @page_size = args[:page_size] if args.key?(:page_size)
239
973
  end
240
974
  end
241
975
 
242
- # Request message for `GetIamPolicy` method.
243
- class GetIamPolicyRequest
976
+ # Defines an Identity and Access Management (IAM) policy. It is used to
977
+ # specify access control policies for Cloud Platform resources.
978
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
979
+ # `members` to a `role`, where the members can be user accounts, Google groups,
980
+ # Google domains, and service accounts. A `role` is a named list of permissions
981
+ # defined by IAM.
982
+ # **Example**
983
+ # `
984
+ # "bindings": [
985
+ # `
986
+ # "role": "roles/owner",
987
+ # "members": [
988
+ # "user:mike@example.com",
989
+ # "group:admins@example.com",
990
+ # "domain:google.com",
991
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
992
+ # ]
993
+ # `,
994
+ # `
995
+ # "role": "roles/viewer",
996
+ # "members": ["user:sean@example.com"]
997
+ # `
998
+ # ]
999
+ # `
1000
+ # For a description of IAM and its features, see the
1001
+ # [IAM developer's guide](https://cloud.google.com/iam).
1002
+ class Policy
244
1003
  include Google::Apis::Core::Hashable
245
1004
 
1005
+ # `etag` is used for optimistic concurrency control as a way to help
1006
+ # prevent simultaneous updates of a policy from overwriting each other.
1007
+ # It is strongly suggested that systems make use of the `etag` in the
1008
+ # read-modify-write cycle to perform policy updates in order to avoid race
1009
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1010
+ # systems are expected to put that etag in the request to `setIamPolicy` to
1011
+ # ensure that their change will be applied to the same version of the policy.
1012
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1013
+ # policy is overwritten blindly.
1014
+ # Corresponds to the JSON property `etag`
1015
+ # @return [String]
1016
+ attr_accessor :etag
1017
+
1018
+ # Version of the `Policy`. The default version is 0.
1019
+ # Corresponds to the JSON property `version`
1020
+ # @return [Fixnum]
1021
+ attr_accessor :version
1022
+
1023
+ # Specifies cloud audit logging configuration for this policy.
1024
+ # Corresponds to the JSON property `auditConfigs`
1025
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::AuditConfig>]
1026
+ attr_accessor :audit_configs
1027
+
1028
+ # Associates a list of `members` to a `role`.
1029
+ # Multiple `bindings` must not be specified for the same `role`.
1030
+ # `bindings` with no members will result in an error.
1031
+ # Corresponds to the JSON property `bindings`
1032
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Binding>]
1033
+ attr_accessor :bindings
1034
+
246
1035
  def initialize(**args)
247
1036
  update!(**args)
248
1037
  end
249
1038
 
250
1039
  # Update properties of this object
251
1040
  def update!(**args)
1041
+ @etag = args[:etag] if args.key?(:etag)
1042
+ @version = args[:version] if args.key?(:version)
1043
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1044
+ @bindings = args[:bindings] if args.key?(:bindings)
252
1045
  end
253
1046
  end
254
1047
 
255
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
256
- # access control policies for Cloud Platform resources. A `Policy` consists of a
257
- # list of `bindings`. A `Binding` binds a list of `members` to a `role`, where
258
- # the members can be user accounts, Google groups, Google domains, and service
259
- # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
260
- # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
261
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
262
- # appspot.gserviceaccount.com", ] `, ` "role": "roles/viewer", "members": ["user:
263
- # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
264
- # IAM developer's guide](https://cloud.google.com/iam).
265
- class Policy
1048
+ # Metadata describing a long running folder operation
1049
+ class FolderOperation
266
1050
  include Google::Apis::Core::Hashable
267
1051
 
268
- # Version of the `Policy`. The default version is 0.
269
- # Corresponds to the JSON property `version`
270
- # @return [Fixnum]
271
- attr_accessor :version
1052
+ # The type of this operation.
1053
+ # Corresponds to the JSON property `operationType`
1054
+ # @return [String]
1055
+ attr_accessor :operation_type
272
1056
 
273
- # Associates a list of `members` to a `role`. Multiple `bindings` must not be
274
- # specified for the same `role`. `bindings` with no members will result in an
275
- # error.
276
- # Corresponds to the JSON property `bindings`
277
- # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Binding>]
278
- attr_accessor :bindings
1057
+ # The display name of the folder.
1058
+ # Corresponds to the JSON property `displayName`
1059
+ # @return [String]
1060
+ attr_accessor :display_name
279
1061
 
280
- # `etag` is used for optimistic concurrency control as a way to help prevent
281
- # simultaneous updates of a policy from overwriting each other. It is strongly
282
- # suggested that systems make use of the `etag` in the read-modify-write cycle
283
- # to perform policy updates in order to avoid race conditions: An `etag` is
284
- # returned in the response to `getIamPolicy`, and systems are expected to put
285
- # that etag in the request to `setIamPolicy` to ensure that their change will be
286
- # applied to the same version of the policy. If no `etag` is provided in the
287
- # call to `setIamPolicy`, then the existing policy is overwritten blindly.
288
- # Corresponds to the JSON property `etag`
1062
+ # The resource name of the folder's parent.
1063
+ # Only applicable when the operation_type is MOVE.
1064
+ # Corresponds to the JSON property `sourceParent`
289
1065
  # @return [String]
290
- attr_accessor :etag
1066
+ attr_accessor :source_parent
1067
+
1068
+ # The resource name of the folder or organization we are either creating
1069
+ # the folder under or moving the folder to.
1070
+ # Corresponds to the JSON property `destinationParent`
1071
+ # @return [String]
1072
+ attr_accessor :destination_parent
291
1073
 
292
1074
  def initialize(**args)
293
1075
  update!(**args)
@@ -295,37 +1077,31 @@ module Google
295
1077
 
296
1078
  # Update properties of this object
297
1079
  def update!(**args)
298
- @version = args[:version] if args.key?(:version)
299
- @bindings = args[:bindings] if args.key?(:bindings)
300
- @etag = args[:etag] if args.key?(:etag)
1080
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1081
+ @display_name = args[:display_name] if args.key?(:display_name)
1082
+ @source_parent = args[:source_parent] if args.key?(:source_parent)
1083
+ @destination_parent = args[:destination_parent] if args.key?(:destination_parent)
301
1084
  end
302
1085
  end
303
1086
 
304
- # Associates `members` with a `role`.
305
- class Binding
1087
+ # A container to reference an id for any resource type. A `resource` in Google
1088
+ # Cloud Platform is a generic term for something you (a developer) may want to
1089
+ # interact with through one of our API's. Some examples are an App Engine app,
1090
+ # a Compute Engine instance, a Cloud SQL database, and so on.
1091
+ class ResourceId
306
1092
  include Google::Apis::Core::Hashable
307
1093
 
308
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
309
- # , or `roles/owner`. Required
310
- # Corresponds to the JSON property `role`
1094
+ # Required field representing the resource type this id is for.
1095
+ # At present, the valid types are "project" and "organization".
1096
+ # Corresponds to the JSON property `type`
311
1097
  # @return [String]
312
- attr_accessor :role
1098
+ attr_accessor :type
313
1099
 
314
- # Specifies the identities requesting access for a Cloud Platform resource. `
315
- # members` can have the following values: * `allUsers`: A special identifier
316
- # that represents anyone who is on the internet; with or without a Google
317
- # account. * `allAuthenticatedUsers`: A special identifier that represents
318
- # anyone who is authenticated with a Google account or a service account. * `
319
- # user:`emailid``: An email address that represents a specific Google account.
320
- # For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:`
321
- # emailid``: An email address that represents a service account. For example, `
322
- # my-other-app@appspot.gserviceaccount.com`. * `group:`emailid``: An email
323
- # address that represents a Google group. For example, `admins@example.com`. * `
324
- # domain:`domain``: A Google Apps domain name that represents all the users of
325
- # that domain. For example, `google.com` or `example.com`.
326
- # Corresponds to the JSON property `members`
327
- # @return [Array<String>]
328
- attr_accessor :members
1100
+ # Required field for the type-specific id. This should correspond to the id
1101
+ # used in the type-specific API's.
1102
+ # Corresponds to the JSON property `id`
1103
+ # @return [String]
1104
+ attr_accessor :id
329
1105
 
330
1106
  def initialize(**args)
331
1107
  update!(**args)
@@ -333,28 +1109,19 @@ module Google
333
1109
 
334
1110
  # Update properties of this object
335
1111
  def update!(**args)
336
- @role = args[:role] if args.key?(:role)
337
- @members = args[:members] if args.key?(:members)
1112
+ @type = args[:type] if args.key?(:type)
1113
+ @id = args[:id] if args.key?(:id)
338
1114
  end
339
1115
  end
340
1116
 
341
- # Request message for `SetIamPolicy` method.
342
- class SetIamPolicyRequest
1117
+ # The request sent to the GetEffectiveOrgPolicy method.
1118
+ class GetEffectiveOrgPolicyRequest
343
1119
  include Google::Apis::Core::Hashable
344
1120
 
345
- # Defines an Identity and Access Management (IAM) policy. It is used to specify
346
- # access control policies for Cloud Platform resources. A `Policy` consists of a
347
- # list of `bindings`. A `Binding` binds a list of `members` to a `role`, where
348
- # the members can be user accounts, Google groups, Google domains, and service
349
- # accounts. A `role` is a named list of permissions defined by IAM. **Example** `
350
- # "bindings": [ ` "role": "roles/owner", "members": [ "user:mike@example.com", "
351
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@
352
- # appspot.gserviceaccount.com", ] `, ` "role": "roles/viewer", "members": ["user:
353
- # sean@example.com"] ` ] ` For a description of IAM and its features, see the [
354
- # IAM developer's guide](https://cloud.google.com/iam).
355
- # Corresponds to the JSON property `policy`
356
- # @return [Google::Apis::CloudresourcemanagerV1beta1::Policy]
357
- attr_accessor :policy
1121
+ # The name of the `Constraint` to compute the effective `Policy`.
1122
+ # Corresponds to the JSON property `constraint`
1123
+ # @return [String]
1124
+ attr_accessor :constraint
358
1125
 
359
1126
  def initialize(**args)
360
1127
  update!(**args)
@@ -362,20 +1129,26 @@ module Google
362
1129
 
363
1130
  # Update properties of this object
364
1131
  def update!(**args)
365
- @policy = args[:policy] if args.key?(:policy)
1132
+ @constraint = args[:constraint] if args.key?(:constraint)
366
1133
  end
367
1134
  end
368
1135
 
369
- # Request message for `TestIamPermissions` method.
370
- class TestIamPermissionsRequest
1136
+ # The request sent to the ListOrgPolicies method.
1137
+ class ListOrgPoliciesRequest
371
1138
  include Google::Apis::Core::Hashable
372
1139
 
373
- # The set of permissions to check for the `resource`. Permissions with wildcards
374
- # (such as '*' or 'storage.*') are not allowed. For more information see IAM
375
- # Overview.
376
- # Corresponds to the JSON property `permissions`
377
- # @return [Array<String>]
378
- attr_accessor :permissions
1140
+ # Page token used to retrieve the next page. This is currently unsupported
1141
+ # and will be ignored. The server may at any point start using this field.
1142
+ # Corresponds to the JSON property `pageToken`
1143
+ # @return [String]
1144
+ attr_accessor :page_token
1145
+
1146
+ # Size of the pages to be returned. This is currently unsupported and will
1147
+ # be ignored. The server may at any point start using this field to limit
1148
+ # page size.
1149
+ # Corresponds to the JSON property `pageSize`
1150
+ # @return [Fixnum]
1151
+ attr_accessor :page_size
379
1152
 
380
1153
  def initialize(**args)
381
1154
  update!(**args)
@@ -383,18 +1156,73 @@ module Google
383
1156
 
384
1157
  # Update properties of this object
385
1158
  def update!(**args)
386
- @permissions = args[:permissions] if args.key?(:permissions)
1159
+ @page_token = args[:page_token] if args.key?(:page_token)
1160
+ @page_size = args[:page_size] if args.key?(:page_size)
387
1161
  end
388
1162
  end
389
1163
 
390
- # Response message for `TestIamPermissions` method.
391
- class TestIamPermissionsResponse
1164
+ # Specifies the audit configuration for a service.
1165
+ # The configuration determines which permission types are logged, and what
1166
+ # identities, if any, are exempted from logging.
1167
+ # An AuditConifg must have one or more AuditLogConfigs.
1168
+ # If there are AuditConfigs for both `allServices` and a specific service,
1169
+ # the union of the two AuditConfigs is used for that service: the log_types
1170
+ # specified in each AuditConfig are enabled, and the exempted_members in each
1171
+ # AuditConfig are exempted.
1172
+ # Example Policy with multiple AuditConfigs:
1173
+ # `
1174
+ # "audit_configs": [
1175
+ # `
1176
+ # "service": "allServices"
1177
+ # "audit_log_configs": [
1178
+ # `
1179
+ # "log_type": "DATA_READ",
1180
+ # "exempted_members": [
1181
+ # "user:foo@gmail.com"
1182
+ # ]
1183
+ # `,
1184
+ # `
1185
+ # "log_type": "DATA_WRITE",
1186
+ # `,
1187
+ # `
1188
+ # "log_type": "ADMIN_READ",
1189
+ # `
1190
+ # ]
1191
+ # `,
1192
+ # `
1193
+ # "service": "fooservice@googleapis.com"
1194
+ # "audit_log_configs": [
1195
+ # `
1196
+ # "log_type": "DATA_READ",
1197
+ # `,
1198
+ # `
1199
+ # "log_type": "DATA_WRITE",
1200
+ # "exempted_members": [
1201
+ # "user:bar@gmail.com"
1202
+ # ]
1203
+ # `
1204
+ # ]
1205
+ # `
1206
+ # ]
1207
+ # `
1208
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1209
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
1210
+ # bar@gmail.com from DATA_WRITE logging.
1211
+ class AuditConfig
392
1212
  include Google::Apis::Core::Hashable
393
1213
 
394
- # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
395
- # Corresponds to the JSON property `permissions`
396
- # @return [Array<String>]
397
- attr_accessor :permissions
1214
+ # Specifies a service that will be enabled for audit logging.
1215
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
1216
+ # `allServices` is a special value that covers all services.
1217
+ # Corresponds to the JSON property `service`
1218
+ # @return [String]
1219
+ attr_accessor :service
1220
+
1221
+ # The configuration for logging of each type of permission.
1222
+ # Next ID: 4
1223
+ # Corresponds to the JSON property `auditLogConfigs`
1224
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::AuditLogConfig>]
1225
+ attr_accessor :audit_log_configs
398
1226
 
399
1227
  def initialize(**args)
400
1228
  update!(**args)
@@ -402,7 +1230,8 @@ module Google
402
1230
 
403
1231
  # Update properties of this object
404
1232
  def update!(**args)
405
- @permissions = args[:permissions] if args.key?(:permissions)
1233
+ @service = args[:service] if args.key?(:service)
1234
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
406
1235
  end
407
1236
  end
408
1237
 
@@ -410,61 +1239,89 @@ module Google
410
1239
  class ListOrganizationsResponse
411
1240
  include Google::Apis::Core::Hashable
412
1241
 
413
- # The list of Organizations that matched the list query, possibly paginated.
414
- # Corresponds to the JSON property `organizations`
415
- # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Organization>]
416
- attr_accessor :organizations
417
-
418
1242
  # A pagination token to be used to retrieve the next page of results. If the
419
- # result is too large to fit within the page size specified in the request, this
420
- # field will be set with a token that can be used to fetch the next page of
421
- # results. If this field is empty, it indicates that this response contains the
422
- # last page of results.
1243
+ # result is too large to fit within the page size specified in the request,
1244
+ # this field will be set with a token that can be used to fetch the next page
1245
+ # of results. If this field is empty, it indicates that this response
1246
+ # contains the last page of results.
423
1247
  # Corresponds to the JSON property `nextPageToken`
424
1248
  # @return [String]
425
1249
  attr_accessor :next_page_token
426
1250
 
1251
+ # The list of Organizations that matched the list query, possibly paginated.
1252
+ # Corresponds to the JSON property `organizations`
1253
+ # @return [Array<Google::Apis::CloudresourcemanagerV1beta1::Organization>]
1254
+ attr_accessor :organizations
1255
+
427
1256
  def initialize(**args)
428
1257
  update!(**args)
429
1258
  end
430
1259
 
431
1260
  # Update properties of this object
432
1261
  def update!(**args)
433
- @organizations = args[:organizations] if args.key?(:organizations)
434
1262
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1263
+ @organizations = args[:organizations] if args.key?(:organizations)
435
1264
  end
436
1265
  end
437
1266
 
438
- # The root node in the resource hierarchy to which a particular entity's (e.g.,
439
- # company) resources belong.
440
- class Organization
1267
+ # A `Constraint` describes a way in which a resource's configuration can be
1268
+ # restricted. For example, it controls which cloud services can be activated
1269
+ # across an organization, or whether a Compute Engine instance can have
1270
+ # serial port connections established. `Constraints` can be configured by the
1271
+ # organization's policy adminstrator to fit the needs of the organzation by
1272
+ # setting Policies for `Constraints` at different locations in the
1273
+ # organization's resource hierarchy. Policies are inherited down the resource
1274
+ # hierarchy from higher levels, but can also be overridden. For details about
1275
+ # the inheritance rules please read about
1276
+ # Policies.
1277
+ # `Constraints` have a default behavior determined by the `constraint_default`
1278
+ # field, which is the enforcement behavior that is used in the absence of a
1279
+ # `Policy` being defined or inherited for the resource in question.
1280
+ class Constraint
441
1281
  include Google::Apis::Core::Hashable
442
1282
 
443
- # An immutable id for the Organization that is assigned on creation. This should
444
- # be omitted when creating a new Organization. This field is read-only.
445
- # Corresponds to the JSON property `organizationId`
1283
+ # Detailed description of what this `Constraint` controls as well as how and
1284
+ # where it is enforced.
1285
+ # Mutable.
1286
+ # Corresponds to the JSON property `description`
446
1287
  # @return [String]
447
- attr_accessor :organization_id
1288
+ attr_accessor :description
448
1289
 
449
- # A friendly string to be used to refer to the Organization in the UI. This
450
- # field is required.
1290
+ # The human readable name.
1291
+ # Mutable.
451
1292
  # Corresponds to the JSON property `displayName`
452
1293
  # @return [String]
453
1294
  attr_accessor :display_name
454
1295
 
455
- # The entity that owns an Organization. The lifetime of the Organization and all
456
- # of its descendants are bound to the `OrganizationOwner`. If the `
457
- # OrganizationOwner` is deleted, the Organization and all its descendants will
458
- # be deleted.
459
- # Corresponds to the JSON property `owner`
460
- # @return [Google::Apis::CloudresourcemanagerV1beta1::OrganizationOwner]
461
- attr_accessor :owner
1296
+ # A `Constraint` that is either enforced or not.
1297
+ # For example a constraint `constraints/compute.disableSerialPortAccess`.
1298
+ # If it is enforced on a VM instance, serial port connections will not be
1299
+ # opened to that instance.
1300
+ # Corresponds to the JSON property `booleanConstraint`
1301
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::BooleanConstraint]
1302
+ attr_accessor :boolean_constraint
462
1303
 
463
- # Timestamp when the Organization was created. Assigned by the server. @
464
- # OutputOnly
465
- # Corresponds to the JSON property `creationTime`
1304
+ # The evaluation behavior of this constraint in the absense of 'Policy'.
1305
+ # Corresponds to the JSON property `constraintDefault`
466
1306
  # @return [String]
467
- attr_accessor :creation_time
1307
+ attr_accessor :constraint_default
1308
+
1309
+ # Immutable value, required to globally be unique. For example,
1310
+ # `constraints/serviceuser.services`
1311
+ # Corresponds to the JSON property `name`
1312
+ # @return [String]
1313
+ attr_accessor :name
1314
+
1315
+ # A `Constraint` that allows or disallows a list of string values, which are
1316
+ # configured by an Organization's policy administrator with a `Policy`.
1317
+ # Corresponds to the JSON property `listConstraint`
1318
+ # @return [Google::Apis::CloudresourcemanagerV1beta1::ListConstraint]
1319
+ attr_accessor :list_constraint
1320
+
1321
+ # Version of the `Constraint`. Default version is 0;
1322
+ # Corresponds to the JSON property `version`
1323
+ # @return [Fixnum]
1324
+ attr_accessor :version
468
1325
 
469
1326
  def initialize(**args)
470
1327
  update!(**args)
@@ -472,24 +1329,44 @@ module Google
472
1329
 
473
1330
  # Update properties of this object
474
1331
  def update!(**args)
475
- @organization_id = args[:organization_id] if args.key?(:organization_id)
1332
+ @description = args[:description] if args.key?(:description)
476
1333
  @display_name = args[:display_name] if args.key?(:display_name)
477
- @owner = args[:owner] if args.key?(:owner)
478
- @creation_time = args[:creation_time] if args.key?(:creation_time)
1334
+ @boolean_constraint = args[:boolean_constraint] if args.key?(:boolean_constraint)
1335
+ @constraint_default = args[:constraint_default] if args.key?(:constraint_default)
1336
+ @name = args[:name] if args.key?(:name)
1337
+ @list_constraint = args[:list_constraint] if args.key?(:list_constraint)
1338
+ @version = args[:version] if args.key?(:version)
479
1339
  end
480
1340
  end
481
1341
 
482
- # The entity that owns an Organization. The lifetime of the Organization and all
483
- # of its descendants are bound to the `OrganizationOwner`. If the `
484
- # OrganizationOwner` is deleted, the Organization and all its descendants will
485
- # be deleted.
486
- class OrganizationOwner
1342
+ # Associates `members` with a `role`.
1343
+ class Binding
487
1344
  include Google::Apis::Core::Hashable
488
1345
 
489
- # The Google for Work customer id used in the Directory API.
490
- # Corresponds to the JSON property `directoryCustomerId`
1346
+ # Specifies the identities requesting access for a Cloud Platform resource.
1347
+ # `members` can have the following values:
1348
+ # * `allUsers`: A special identifier that represents anyone who is
1349
+ # on the internet; with or without a Google account.
1350
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
1351
+ # who is authenticated with a Google account or a service account.
1352
+ # * `user:`emailid``: An email address that represents a specific Google
1353
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
1354
+ # * `serviceAccount:`emailid``: An email address that represents a service
1355
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1356
+ # * `group:`emailid``: An email address that represents a Google group.
1357
+ # For example, `admins@example.com`.
1358
+ # * `domain:`domain``: A Google Apps domain name that represents all the
1359
+ # users of that domain. For example, `google.com` or `example.com`.
1360
+ # Corresponds to the JSON property `members`
1361
+ # @return [Array<String>]
1362
+ attr_accessor :members
1363
+
1364
+ # Role that is assigned to `members`.
1365
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1366
+ # Required
1367
+ # Corresponds to the JSON property `role`
491
1368
  # @return [String]
492
- attr_accessor :directory_customer_id
1369
+ attr_accessor :role
493
1370
 
494
1371
  def initialize(**args)
495
1372
  update!(**args)
@@ -497,7 +1374,50 @@ module Google
497
1374
 
498
1375
  # Update properties of this object
499
1376
  def update!(**args)
500
- @directory_customer_id = args[:directory_customer_id] if args.key?(:directory_customer_id)
1377
+ @members = args[:members] if args.key?(:members)
1378
+ @role = args[:role] if args.key?(:role)
1379
+ end
1380
+ end
1381
+
1382
+ # Ignores policies set above this resource and restores the
1383
+ # `constraint_default` enforcement behavior of the specific `Constraint` at
1384
+ # this resource.
1385
+ # Suppose that `constraint_default` is set to `ALLOW` for the
1386
+ # `Constraint` `constraints/serviceuser.services`. Suppose that organization
1387
+ # foo.com sets a `Policy` at their Organization resource node that restricts
1388
+ # the allowed service activations to deny all service activations. They
1389
+ # could then set a `Policy` with the `policy_type` `restore_default` on
1390
+ # several experimental projects, restoring the `constraint_default`
1391
+ # enforcement of the `Constraint` for only those projects, allowing those
1392
+ # projects to have all services activated.
1393
+ class RestoreDefault
1394
+ include Google::Apis::Core::Hashable
1395
+
1396
+ def initialize(**args)
1397
+ update!(**args)
1398
+ end
1399
+
1400
+ # Update properties of this object
1401
+ def update!(**args)
1402
+ end
1403
+ end
1404
+
1405
+ # The request sent to the GetOrgPolicy method.
1406
+ class GetOrgPolicyRequest
1407
+ include Google::Apis::Core::Hashable
1408
+
1409
+ # Name of the `Constraint` to get the `Policy`.
1410
+ # Corresponds to the JSON property `constraint`
1411
+ # @return [String]
1412
+ attr_accessor :constraint
1413
+
1414
+ def initialize(**args)
1415
+ update!(**args)
1416
+ end
1417
+
1418
+ # Update properties of this object
1419
+ def update!(**args)
1420
+ @constraint = args[:constraint] if args.key?(:constraint)
501
1421
  end
502
1422
  end
503
1423
  end