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
@@ -22,302 +22,320 @@ module Google
22
22
  module Apis
23
23
  module IamV1
24
24
 
25
+ class CreateServiceAccountRequest
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
25
31
  class ListServiceAccountsResponse
26
32
  class Representation < Google::Apis::Core::JsonRepresentation; end
27
33
 
28
34
  include Google::Apis::Core::JsonObjectSupport
29
35
  end
30
36
 
31
- class ServiceAccount
37
+ class QueryGrantableRolesResponse
32
38
  class Representation < Google::Apis::Core::JsonRepresentation; end
33
39
 
34
40
  include Google::Apis::Core::JsonObjectSupport
35
41
  end
36
42
 
37
- class CreateServiceAccountRequest
43
+ class SignBlobRequest
38
44
  class Representation < Google::Apis::Core::JsonRepresentation; end
39
45
 
40
46
  include Google::Apis::Core::JsonObjectSupport
41
47
  end
42
48
 
43
- class Empty
49
+ class Role
44
50
  class Representation < Google::Apis::Core::JsonRepresentation; end
45
51
 
46
52
  include Google::Apis::Core::JsonObjectSupport
47
53
  end
48
54
 
49
- class ListServiceAccountKeysResponse
55
+ class SetIamPolicyRequest
50
56
  class Representation < Google::Apis::Core::JsonRepresentation; end
51
57
 
52
58
  include Google::Apis::Core::JsonObjectSupport
53
59
  end
54
60
 
55
- class ServiceAccountKey
61
+ class Binding
56
62
  class Representation < Google::Apis::Core::JsonRepresentation; end
57
63
 
58
64
  include Google::Apis::Core::JsonObjectSupport
59
65
  end
60
66
 
61
- class CreateServiceAccountKeyRequest
67
+ class QueryGrantableRolesRequest
62
68
  class Representation < Google::Apis::Core::JsonRepresentation; end
63
69
 
64
70
  include Google::Apis::Core::JsonObjectSupport
65
71
  end
66
72
 
67
- class SignBlobRequest
73
+ class Empty
68
74
  class Representation < Google::Apis::Core::JsonRepresentation; end
69
75
 
70
76
  include Google::Apis::Core::JsonObjectSupport
71
77
  end
72
78
 
73
- class SignBlobResponse
79
+ class ServiceAccount
74
80
  class Representation < Google::Apis::Core::JsonRepresentation; end
75
81
 
76
82
  include Google::Apis::Core::JsonObjectSupport
77
83
  end
78
84
 
79
- class Policy
85
+ class TestIamPermissionsResponse
80
86
  class Representation < Google::Apis::Core::JsonRepresentation; end
81
87
 
82
88
  include Google::Apis::Core::JsonObjectSupport
83
89
  end
84
90
 
85
- class Binding
91
+ class ListServiceAccountKeysResponse
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
97
+ class ServiceAccountKey
86
98
  class Representation < Google::Apis::Core::JsonRepresentation; end
87
99
 
88
100
  include Google::Apis::Core::JsonObjectSupport
89
101
  end
90
102
 
91
- class Rule
103
+ class CreateServiceAccountKeyRequest
92
104
  class Representation < Google::Apis::Core::JsonRepresentation; end
93
105
 
94
106
  include Google::Apis::Core::JsonObjectSupport
95
107
  end
96
108
 
97
- class Condition
109
+ class TestIamPermissionsRequest
98
110
  class Representation < Google::Apis::Core::JsonRepresentation; end
99
111
 
100
112
  include Google::Apis::Core::JsonObjectSupport
101
113
  end
102
114
 
103
- class LogConfig
115
+ class SignBlobResponse
104
116
  class Representation < Google::Apis::Core::JsonRepresentation; end
105
117
 
106
118
  include Google::Apis::Core::JsonObjectSupport
107
119
  end
108
120
 
109
- class CounterOptions
121
+ class SignJwtResponse
110
122
  class Representation < Google::Apis::Core::JsonRepresentation; end
111
123
 
112
124
  include Google::Apis::Core::JsonObjectSupport
113
125
  end
114
126
 
115
- class DataAccessOptions
127
+ class Policy
116
128
  class Representation < Google::Apis::Core::JsonRepresentation; end
117
129
 
118
130
  include Google::Apis::Core::JsonObjectSupport
119
131
  end
120
132
 
121
- class CloudAuditOptions
133
+ class SignJwtRequest
122
134
  class Representation < Google::Apis::Core::JsonRepresentation; end
123
135
 
124
136
  include Google::Apis::Core::JsonObjectSupport
125
137
  end
126
138
 
127
- class SetIamPolicyRequest
139
+ class AuditData
128
140
  class Representation < Google::Apis::Core::JsonRepresentation; end
129
141
 
130
142
  include Google::Apis::Core::JsonObjectSupport
131
143
  end
132
144
 
133
- class TestIamPermissionsRequest
145
+ class BindingDelta
134
146
  class Representation < Google::Apis::Core::JsonRepresentation; end
135
147
 
136
148
  include Google::Apis::Core::JsonObjectSupport
137
149
  end
138
150
 
139
- class TestIamPermissionsResponse
151
+ class PolicyDelta
140
152
  class Representation < Google::Apis::Core::JsonRepresentation; end
141
153
 
142
154
  include Google::Apis::Core::JsonObjectSupport
143
155
  end
144
156
 
145
- class ListServiceAccountsResponse
157
+ class CreateServiceAccountRequest
146
158
  # @private
147
159
  class Representation < Google::Apis::Core::JsonRepresentation
148
- collection :accounts, as: 'accounts', class: Google::Apis::IamV1::ServiceAccount, decorator: Google::Apis::IamV1::ServiceAccount::Representation
160
+ property :service_account, as: 'serviceAccount', class: Google::Apis::IamV1::ServiceAccount, decorator: Google::Apis::IamV1::ServiceAccount::Representation
149
161
 
150
- property :next_page_token, as: 'nextPageToken'
162
+ property :account_id, as: 'accountId'
151
163
  end
152
164
  end
153
165
 
154
- class ServiceAccount
166
+ class ListServiceAccountsResponse
155
167
  # @private
156
168
  class Representation < Google::Apis::Core::JsonRepresentation
157
- property :name, as: 'name'
158
- property :project_id, as: 'projectId'
159
- property :unique_id, as: 'uniqueId'
160
- property :email, as: 'email'
161
- property :display_name, as: 'displayName'
162
- property :etag, :base64 => true, as: 'etag'
163
- property :oauth2_client_id, as: 'oauth2ClientId'
169
+ property :next_page_token, as: 'nextPageToken'
170
+ collection :accounts, as: 'accounts', class: Google::Apis::IamV1::ServiceAccount, decorator: Google::Apis::IamV1::ServiceAccount::Representation
171
+
164
172
  end
165
173
  end
166
174
 
167
- class CreateServiceAccountRequest
175
+ class QueryGrantableRolesResponse
168
176
  # @private
169
177
  class Representation < Google::Apis::Core::JsonRepresentation
170
- property :account_id, as: 'accountId'
171
- property :service_account, as: 'serviceAccount', class: Google::Apis::IamV1::ServiceAccount, decorator: Google::Apis::IamV1::ServiceAccount::Representation
178
+ collection :roles, as: 'roles', class: Google::Apis::IamV1::Role, decorator: Google::Apis::IamV1::Role::Representation
172
179
 
173
180
  end
174
181
  end
175
182
 
176
- class Empty
183
+ class SignBlobRequest
177
184
  # @private
178
185
  class Representation < Google::Apis::Core::JsonRepresentation
186
+ property :bytes_to_sign, :base64 => true, as: 'bytesToSign'
179
187
  end
180
188
  end
181
189
 
182
- class ListServiceAccountKeysResponse
190
+ class Role
183
191
  # @private
184
192
  class Representation < Google::Apis::Core::JsonRepresentation
185
- collection :keys, as: 'keys', class: Google::Apis::IamV1::ServiceAccountKey, decorator: Google::Apis::IamV1::ServiceAccountKey::Representation
186
-
193
+ property :title, as: 'title'
194
+ property :name, as: 'name'
195
+ property :description, as: 'description'
187
196
  end
188
197
  end
189
198
 
190
- class ServiceAccountKey
199
+ class SetIamPolicyRequest
191
200
  # @private
192
201
  class Representation < Google::Apis::Core::JsonRepresentation
193
- property :name, as: 'name'
194
- property :private_key_type, as: 'privateKeyType'
195
- property :private_key_data, :base64 => true, as: 'privateKeyData'
196
- property :valid_after_time, as: 'validAfterTime'
197
- property :valid_before_time, as: 'validBeforeTime'
202
+ property :policy, as: 'policy', class: Google::Apis::IamV1::Policy, decorator: Google::Apis::IamV1::Policy::Representation
203
+
198
204
  end
199
205
  end
200
206
 
201
- class CreateServiceAccountKeyRequest
207
+ class Binding
202
208
  # @private
203
209
  class Representation < Google::Apis::Core::JsonRepresentation
204
- property :private_key_type, as: 'privateKeyType'
210
+ collection :members, as: 'members'
211
+ property :role, as: 'role'
205
212
  end
206
213
  end
207
214
 
208
- class SignBlobRequest
215
+ class QueryGrantableRolesRequest
209
216
  # @private
210
217
  class Representation < Google::Apis::Core::JsonRepresentation
211
- property :bytes_to_sign, :base64 => true, as: 'bytesToSign'
218
+ property :full_resource_name, as: 'fullResourceName'
212
219
  end
213
220
  end
214
221
 
215
- class SignBlobResponse
222
+ class Empty
216
223
  # @private
217
224
  class Representation < Google::Apis::Core::JsonRepresentation
218
- property :key_id, as: 'keyId'
219
- property :signature, :base64 => true, as: 'signature'
220
225
  end
221
226
  end
222
227
 
223
- class Policy
228
+ class ServiceAccount
224
229
  # @private
225
230
  class Representation < Google::Apis::Core::JsonRepresentation
226
- property :version, as: 'version'
227
- collection :bindings, as: 'bindings', class: Google::Apis::IamV1::Binding, decorator: Google::Apis::IamV1::Binding::Representation
228
-
229
- collection :rules, as: 'rules', class: Google::Apis::IamV1::Rule, decorator: Google::Apis::IamV1::Rule::Representation
230
-
231
+ property :email, as: 'email'
232
+ property :name, as: 'name'
233
+ property :project_id, as: 'projectId'
234
+ property :oauth2_client_id, as: 'oauth2ClientId'
235
+ property :unique_id, as: 'uniqueId'
236
+ property :display_name, as: 'displayName'
231
237
  property :etag, :base64 => true, as: 'etag'
232
238
  end
233
239
  end
234
240
 
235
- class Binding
241
+ class TestIamPermissionsResponse
236
242
  # @private
237
243
  class Representation < Google::Apis::Core::JsonRepresentation
238
- property :role, as: 'role'
239
- collection :members, as: 'members'
244
+ collection :permissions, as: 'permissions'
240
245
  end
241
246
  end
242
247
 
243
- class Rule
248
+ class ListServiceAccountKeysResponse
244
249
  # @private
245
250
  class Representation < Google::Apis::Core::JsonRepresentation
246
- property :description, as: 'description'
247
- collection :permissions, as: 'permissions'
248
- property :action, as: 'action'
249
- collection :in, as: 'in'
250
- collection :not_in, as: 'notIn'
251
- collection :conditions, as: 'conditions', class: Google::Apis::IamV1::Condition, decorator: Google::Apis::IamV1::Condition::Representation
252
-
253
- collection :log_config, as: 'logConfig', class: Google::Apis::IamV1::LogConfig, decorator: Google::Apis::IamV1::LogConfig::Representation
251
+ collection :keys, as: 'keys', class: Google::Apis::IamV1::ServiceAccountKey, decorator: Google::Apis::IamV1::ServiceAccountKey::Representation
254
252
 
255
253
  end
256
254
  end
257
255
 
258
- class Condition
256
+ class ServiceAccountKey
259
257
  # @private
260
258
  class Representation < Google::Apis::Core::JsonRepresentation
261
- property :iam, as: 'iam'
262
- property :sys, as: 'sys'
263
- property :svc, as: 'svc'
264
- property :op, as: 'op'
265
- property :value, as: 'value'
266
- collection :values, as: 'values'
259
+ property :valid_after_time, as: 'validAfterTime'
260
+ property :private_key_type, as: 'privateKeyType'
261
+ property :private_key_data, :base64 => true, as: 'privateKeyData'
262
+ property :public_key_data, :base64 => true, as: 'publicKeyData'
263
+ property :name, as: 'name'
264
+ property :valid_before_time, as: 'validBeforeTime'
265
+ property :key_algorithm, as: 'keyAlgorithm'
267
266
  end
268
267
  end
269
268
 
270
- class LogConfig
269
+ class CreateServiceAccountKeyRequest
271
270
  # @private
272
271
  class Representation < Google::Apis::Core::JsonRepresentation
273
- property :counter, as: 'counter', class: Google::Apis::IamV1::CounterOptions, decorator: Google::Apis::IamV1::CounterOptions::Representation
274
-
275
- property :data_access, as: 'dataAccess', class: Google::Apis::IamV1::DataAccessOptions, decorator: Google::Apis::IamV1::DataAccessOptions::Representation
272
+ property :key_algorithm, as: 'keyAlgorithm'
273
+ property :private_key_type, as: 'privateKeyType'
274
+ end
275
+ end
276
276
 
277
- property :cloud_audit, as: 'cloudAudit', class: Google::Apis::IamV1::CloudAuditOptions, decorator: Google::Apis::IamV1::CloudAuditOptions::Representation
277
+ class TestIamPermissionsRequest
278
+ # @private
279
+ class Representation < Google::Apis::Core::JsonRepresentation
280
+ collection :permissions, as: 'permissions'
281
+ end
282
+ end
278
283
 
284
+ class SignBlobResponse
285
+ # @private
286
+ class Representation < Google::Apis::Core::JsonRepresentation
287
+ property :signature, :base64 => true, as: 'signature'
288
+ property :key_id, as: 'keyId'
279
289
  end
280
290
  end
281
291
 
282
- class CounterOptions
292
+ class SignJwtResponse
283
293
  # @private
284
294
  class Representation < Google::Apis::Core::JsonRepresentation
285
- property :metric, as: 'metric'
286
- property :field, as: 'field'
295
+ property :key_id, as: 'keyId'
296
+ property :signed_jwt, as: 'signedJwt'
287
297
  end
288
298
  end
289
299
 
290
- class DataAccessOptions
300
+ class Policy
291
301
  # @private
292
302
  class Representation < Google::Apis::Core::JsonRepresentation
303
+ collection :bindings, as: 'bindings', class: Google::Apis::IamV1::Binding, decorator: Google::Apis::IamV1::Binding::Representation
304
+
305
+ property :etag, :base64 => true, as: 'etag'
306
+ property :version, as: 'version'
293
307
  end
294
308
  end
295
309
 
296
- class CloudAuditOptions
310
+ class SignJwtRequest
297
311
  # @private
298
312
  class Representation < Google::Apis::Core::JsonRepresentation
313
+ property :payload, as: 'payload'
299
314
  end
300
315
  end
301
316
 
302
- class SetIamPolicyRequest
317
+ class AuditData
303
318
  # @private
304
319
  class Representation < Google::Apis::Core::JsonRepresentation
305
- property :policy, as: 'policy', class: Google::Apis::IamV1::Policy, decorator: Google::Apis::IamV1::Policy::Representation
320
+ property :policy_delta, as: 'policyDelta', class: Google::Apis::IamV1::PolicyDelta, decorator: Google::Apis::IamV1::PolicyDelta::Representation
306
321
 
307
322
  end
308
323
  end
309
324
 
310
- class TestIamPermissionsRequest
325
+ class BindingDelta
311
326
  # @private
312
327
  class Representation < Google::Apis::Core::JsonRepresentation
313
- collection :permissions, as: 'permissions'
328
+ property :role, as: 'role'
329
+ property :action, as: 'action'
330
+ property :member, as: 'member'
314
331
  end
315
332
  end
316
333
 
317
- class TestIamPermissionsResponse
334
+ class PolicyDelta
318
335
  # @private
319
336
  class Representation < Google::Apis::Core::JsonRepresentation
320
- collection :permissions, as: 'permissions'
337
+ collection :binding_deltas, as: 'bindingDeltas', class: Google::Apis::IamV1::BindingDelta, decorator: Google::Apis::IamV1::BindingDelta::Representation
338
+
321
339
  end
322
340
  end
323
341
  end
@@ -20,7 +20,7 @@ require 'google/apis/errors'
20
20
  module Google
21
21
  module Apis
22
22
  module IamV1
23
- # Google Identity and Access Management API
23
+ # Google Identity and Access Management (IAM) API
24
24
  #
25
25
  # Manages identity and access control for Google Cloud Platform resources,
26
26
  # including the creation of service accounts, which you can use to authenticate
@@ -48,17 +48,10 @@ module Google
48
48
  super('https://iam.googleapis.com/', '')
49
49
  end
50
50
 
51
- # Lists service accounts for a project.
52
- # @param [String] name
53
- # Required. The resource name of the project associated with the service
54
- # accounts, such as "projects/123"
55
- # @param [Fixnum] page_size
56
- # Optional limit on the number of service accounts to include in the response.
57
- # Further accounts can subsequently be obtained by including the [
58
- # ListServiceAccountsResponse.next_page_token] in a subsequent request.
59
- # @param [String] page_token
60
- # Optional pagination token returned in an earlier [ListServiceAccountsResponse.
61
- # next_page_token].
51
+ # Queries roles that can be granted on a particular resource.
52
+ # A role is grantable if it can be used as the role in a binding for a policy
53
+ # for that resource.
54
+ # @param [Google::Apis::IamV1::QueryGrantableRolesRequest] query_grantable_roles_request_object
62
55
  # @param [String] fields
63
56
  # Selector specifying which fields to include in a partial response.
64
57
  # @param [String] quota_user
@@ -68,32 +61,38 @@ module Google
68
61
  # Request-specific options
69
62
  #
70
63
  # @yield [result, err] Result & error if block supplied
71
- # @yieldparam result [Google::Apis::IamV1::ListServiceAccountsResponse] parsed result object
64
+ # @yieldparam result [Google::Apis::IamV1::QueryGrantableRolesResponse] parsed result object
72
65
  # @yieldparam err [StandardError] error object if request failed
73
66
  #
74
- # @return [Google::Apis::IamV1::ListServiceAccountsResponse]
67
+ # @return [Google::Apis::IamV1::QueryGrantableRolesResponse]
75
68
  #
76
69
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
77
70
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
78
71
  # @raise [Google::Apis::AuthorizationError] Authorization is required
79
- def list_project_service_accounts(name, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
80
- command = make_simple_command(:get, 'v1/{+name}/serviceAccounts', options)
81
- command.response_representation = Google::Apis::IamV1::ListServiceAccountsResponse::Representation
82
- command.response_class = Google::Apis::IamV1::ListServiceAccountsResponse
83
- command.params['name'] = name unless name.nil?
84
- command.query['pageSize'] = page_size unless page_size.nil?
85
- command.query['pageToken'] = page_token unless page_token.nil?
72
+ def query_grantable_roles(query_grantable_roles_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
73
+ command = make_simple_command(:post, 'v1/roles:queryGrantableRoles', options)
74
+ command.request_representation = Google::Apis::IamV1::QueryGrantableRolesRequest::Representation
75
+ command.request_object = query_grantable_roles_request_object
76
+ command.response_representation = Google::Apis::IamV1::QueryGrantableRolesResponse::Representation
77
+ command.response_class = Google::Apis::IamV1::QueryGrantableRolesResponse
86
78
  command.query['fields'] = fields unless fields.nil?
87
79
  command.query['quotaUser'] = quota_user unless quota_user.nil?
88
80
  execute_or_queue_command(command, &block)
89
81
  end
90
82
 
91
- # Gets a ServiceAccount
83
+ # Updates a ServiceAccount.
84
+ # Currently, only the following fields are updatable:
85
+ # `display_name` .
86
+ # The `etag` is mandatory.
92
87
  # @param [String] name
93
- # The resource name of the service account in the format "projects/`project`/
94
- # serviceAccounts/`account`". Using '-' as a wildcard for the project, will
95
- # infer the project from the account. The account value can be the email address
96
- # or the unique_id of the service account.
88
+ # The resource name of the service account in the following format:
89
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
90
+ # Requests using `-` as a wildcard for the project will infer the project
91
+ # from the `account` and the `account` value can be the `email` address or
92
+ # the `unique_id` of the service account.
93
+ # In responses the resource name will always be in the format
94
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
95
+ # @param [Google::Apis::IamV1::ServiceAccount] service_account_object
97
96
  # @param [String] fields
98
97
  # Selector specifying which fields to include in a partial response.
99
98
  # @param [String] quota_user
@@ -111,8 +110,10 @@ module Google
111
110
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
112
111
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
113
112
  # @raise [Google::Apis::AuthorizationError] Authorization is required
114
- def get_project_service_account(name, fields: nil, quota_user: nil, options: nil, &block)
115
- command = make_simple_command(:get, 'v1/{+name}', options)
113
+ def update_project_service_account(name, service_account_object = nil, fields: nil, quota_user: nil, options: nil, &block)
114
+ command = make_simple_command(:put, 'v1/{+name}', options)
115
+ command.request_representation = Google::Apis::IamV1::ServiceAccount::Representation
116
+ command.request_object = service_account_object
116
117
  command.response_representation = Google::Apis::IamV1::ServiceAccount::Representation
117
118
  command.response_class = Google::Apis::IamV1::ServiceAccount
118
119
  command.params['name'] = name unless name.nil?
@@ -121,11 +122,48 @@ module Google
121
122
  execute_or_queue_command(command, &block)
122
123
  end
123
124
 
124
- # Creates a service account and returns it.
125
+ # Tests the specified permissions against the IAM access control policy
126
+ # for a ServiceAccount.
127
+ # @param [String] resource
128
+ # REQUIRED: The resource for which the policy detail is being requested.
129
+ # See the operation documentation for the appropriate value for this field.
130
+ # @param [Google::Apis::IamV1::TestIamPermissionsRequest] test_iam_permissions_request_object
131
+ # @param [String] fields
132
+ # Selector specifying which fields to include in a partial response.
133
+ # @param [String] quota_user
134
+ # Available to use for quota purposes for server-side applications. Can be any
135
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
136
+ # @param [Google::Apis::RequestOptions] options
137
+ # Request-specific options
138
+ #
139
+ # @yield [result, err] Result & error if block supplied
140
+ # @yieldparam result [Google::Apis::IamV1::TestIamPermissionsResponse] parsed result object
141
+ # @yieldparam err [StandardError] error object if request failed
142
+ #
143
+ # @return [Google::Apis::IamV1::TestIamPermissionsResponse]
144
+ #
145
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
146
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
147
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
148
+ def test_service_account_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
149
+ command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
150
+ command.request_representation = Google::Apis::IamV1::TestIamPermissionsRequest::Representation
151
+ command.request_object = test_iam_permissions_request_object
152
+ command.response_representation = Google::Apis::IamV1::TestIamPermissionsResponse::Representation
153
+ command.response_class = Google::Apis::IamV1::TestIamPermissionsResponse
154
+ command.params['resource'] = resource unless resource.nil?
155
+ command.query['fields'] = fields unless fields.nil?
156
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
157
+ execute_or_queue_command(command, &block)
158
+ end
159
+
160
+ # Deletes a ServiceAccount.
125
161
  # @param [String] name
126
- # Required. The resource name of the project associated with the service
127
- # accounts, such as "projects/123"
128
- # @param [Google::Apis::IamV1::CreateServiceAccountRequest] create_service_account_request_object
162
+ # The resource name of the service account in the following format:
163
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
164
+ # Using `-` as a wildcard for the project will infer the project from
165
+ # the account. The `account` value can be the `email` address or the
166
+ # `unique_id` of the service account.
129
167
  # @param [String] fields
130
168
  # Selector specifying which fields to include in a partial response.
131
169
  # @param [String] quota_user
@@ -135,36 +173,32 @@ module Google
135
173
  # Request-specific options
136
174
  #
137
175
  # @yield [result, err] Result & error if block supplied
138
- # @yieldparam result [Google::Apis::IamV1::ServiceAccount] parsed result object
176
+ # @yieldparam result [Google::Apis::IamV1::Empty] parsed result object
139
177
  # @yieldparam err [StandardError] error object if request failed
140
178
  #
141
- # @return [Google::Apis::IamV1::ServiceAccount]
179
+ # @return [Google::Apis::IamV1::Empty]
142
180
  #
143
181
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
144
182
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
145
183
  # @raise [Google::Apis::AuthorizationError] Authorization is required
146
- def create_service_account(name, create_service_account_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
147
- command = make_simple_command(:post, 'v1/{+name}/serviceAccounts', options)
148
- command.request_representation = Google::Apis::IamV1::CreateServiceAccountRequest::Representation
149
- command.request_object = create_service_account_request_object
150
- command.response_representation = Google::Apis::IamV1::ServiceAccount::Representation
151
- command.response_class = Google::Apis::IamV1::ServiceAccount
184
+ def delete_project_service_account(name, fields: nil, quota_user: nil, options: nil, &block)
185
+ command = make_simple_command(:delete, 'v1/{+name}', options)
186
+ command.response_representation = Google::Apis::IamV1::Empty::Representation
187
+ command.response_class = Google::Apis::IamV1::Empty
152
188
  command.params['name'] = name unless name.nil?
153
189
  command.query['fields'] = fields unless fields.nil?
154
190
  command.query['quotaUser'] = quota_user unless quota_user.nil?
155
191
  execute_or_queue_command(command, &block)
156
192
  end
157
193
 
158
- # Updates a service account. Currently, only the following fields are updatable:
159
- # 'display_name' . The 'etag' is mandatory.
194
+ # Signs a blob using a service account's system-managed private key.
160
195
  # @param [String] name
161
- # The resource name of the service account in the format "projects/`project`/
162
- # serviceAccounts/`account`". In requests using '-' as a wildcard for the
163
- # project, will infer the project from the account and the account value can be
164
- # the email address or the unique_id of the service account. In responses the
165
- # resource name will always be in the format "projects/`project`/serviceAccounts/
166
- # `email`".
167
- # @param [Google::Apis::IamV1::ServiceAccount] service_account_object
196
+ # The resource name of the service account in the following format:
197
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
198
+ # Using `-` as a wildcard for the project will infer the project from
199
+ # the account. The `account` value can be the `email` address or the
200
+ # `unique_id` of the service account.
201
+ # @param [Google::Apis::IamV1::SignBlobRequest] sign_blob_request_object
168
202
  # @param [String] fields
169
203
  # Selector specifying which fields to include in a partial response.
170
204
  # @param [String] quota_user
@@ -174,32 +208,38 @@ module Google
174
208
  # Request-specific options
175
209
  #
176
210
  # @yield [result, err] Result & error if block supplied
177
- # @yieldparam result [Google::Apis::IamV1::ServiceAccount] parsed result object
211
+ # @yieldparam result [Google::Apis::IamV1::SignBlobResponse] parsed result object
178
212
  # @yieldparam err [StandardError] error object if request failed
179
213
  #
180
- # @return [Google::Apis::IamV1::ServiceAccount]
214
+ # @return [Google::Apis::IamV1::SignBlobResponse]
181
215
  #
182
216
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
183
217
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
184
218
  # @raise [Google::Apis::AuthorizationError] Authorization is required
185
- def update_project_service_account(name, service_account_object = nil, fields: nil, quota_user: nil, options: nil, &block)
186
- command = make_simple_command(:put, 'v1/{+name}', options)
187
- command.request_representation = Google::Apis::IamV1::ServiceAccount::Representation
188
- command.request_object = service_account_object
189
- command.response_representation = Google::Apis::IamV1::ServiceAccount::Representation
190
- command.response_class = Google::Apis::IamV1::ServiceAccount
219
+ def sign_service_account_blob(name, sign_blob_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
220
+ command = make_simple_command(:post, 'v1/{+name}:signBlob', options)
221
+ command.request_representation = Google::Apis::IamV1::SignBlobRequest::Representation
222
+ command.request_object = sign_blob_request_object
223
+ command.response_representation = Google::Apis::IamV1::SignBlobResponse::Representation
224
+ command.response_class = Google::Apis::IamV1::SignBlobResponse
191
225
  command.params['name'] = name unless name.nil?
192
226
  command.query['fields'] = fields unless fields.nil?
193
227
  command.query['quotaUser'] = quota_user unless quota_user.nil?
194
228
  execute_or_queue_command(command, &block)
195
229
  end
196
230
 
197
- # Deletes a service acount.
231
+ # Lists ServiceAccounts for a project.
198
232
  # @param [String] name
199
- # The resource name of the service account in the format "projects/`project`/
200
- # serviceAccounts/`account`". Using '-' as a wildcard for the project, will
201
- # infer the project from the account. The account value can be the email address
202
- # or the unique_id of the service account.
233
+ # Required. The resource name of the project associated with the service
234
+ # accounts, such as `projects/my-project-123`.
235
+ # @param [String] page_token
236
+ # Optional pagination token returned in an earlier
237
+ # ListServiceAccountsResponse.next_page_token.
238
+ # @param [Fixnum] page_size
239
+ # Optional limit on the number of service accounts to include in the
240
+ # response. Further accounts can subsequently be obtained by including the
241
+ # ListServiceAccountsResponse.next_page_token
242
+ # in a subsequent request.
203
243
  # @param [String] fields
204
244
  # Selector specifying which fields to include in a partial response.
205
245
  # @param [String] quota_user
@@ -209,31 +249,32 @@ module Google
209
249
  # Request-specific options
210
250
  #
211
251
  # @yield [result, err] Result & error if block supplied
212
- # @yieldparam result [Google::Apis::IamV1::Empty] parsed result object
252
+ # @yieldparam result [Google::Apis::IamV1::ListServiceAccountsResponse] parsed result object
213
253
  # @yieldparam err [StandardError] error object if request failed
214
254
  #
215
- # @return [Google::Apis::IamV1::Empty]
255
+ # @return [Google::Apis::IamV1::ListServiceAccountsResponse]
216
256
  #
217
257
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
218
258
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
219
259
  # @raise [Google::Apis::AuthorizationError] Authorization is required
220
- def delete_project_service_account(name, fields: nil, quota_user: nil, options: nil, &block)
221
- command = make_simple_command(:delete, 'v1/{+name}', options)
222
- command.response_representation = Google::Apis::IamV1::Empty::Representation
223
- command.response_class = Google::Apis::IamV1::Empty
260
+ def list_project_service_accounts(name, page_token: nil, page_size: nil, fields: nil, quota_user: nil, options: nil, &block)
261
+ command = make_simple_command(:get, 'v1/{+name}/serviceAccounts', options)
262
+ command.response_representation = Google::Apis::IamV1::ListServiceAccountsResponse::Representation
263
+ command.response_class = Google::Apis::IamV1::ListServiceAccountsResponse
224
264
  command.params['name'] = name unless name.nil?
265
+ command.query['pageToken'] = page_token unless page_token.nil?
266
+ command.query['pageSize'] = page_size unless page_size.nil?
225
267
  command.query['fields'] = fields unless fields.nil?
226
268
  command.query['quotaUser'] = quota_user unless quota_user.nil?
227
269
  execute_or_queue_command(command, &block)
228
270
  end
229
271
 
230
- # Signs a blob using a service account.
272
+ # Creates a ServiceAccount
273
+ # and returns it.
231
274
  # @param [String] name
232
- # The resource name of the service account in the format "projects/`project`/
233
- # serviceAccounts/`account`". Using '-' as a wildcard for the project, will
234
- # infer the project from the account. The account value can be the email address
235
- # or the unique_id of the service account.
236
- # @param [Google::Apis::IamV1::SignBlobRequest] sign_blob_request_object
275
+ # Required. The resource name of the project associated with the service
276
+ # accounts, such as `projects/my-project-123`.
277
+ # @param [Google::Apis::IamV1::CreateServiceAccountRequest] create_service_account_request_object
237
278
  # @param [String] fields
238
279
  # Selector specifying which fields to include in a partial response.
239
280
  # @param [String] quota_user
@@ -243,32 +284,37 @@ module Google
243
284
  # Request-specific options
244
285
  #
245
286
  # @yield [result, err] Result & error if block supplied
246
- # @yieldparam result [Google::Apis::IamV1::SignBlobResponse] parsed result object
287
+ # @yieldparam result [Google::Apis::IamV1::ServiceAccount] parsed result object
247
288
  # @yieldparam err [StandardError] error object if request failed
248
289
  #
249
- # @return [Google::Apis::IamV1::SignBlobResponse]
290
+ # @return [Google::Apis::IamV1::ServiceAccount]
250
291
  #
251
292
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
252
293
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
253
294
  # @raise [Google::Apis::AuthorizationError] Authorization is required
254
- def sign_service_account_blob(name, sign_blob_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
255
- command = make_simple_command(:post, 'v1/{+name}:signBlob', options)
256
- command.request_representation = Google::Apis::IamV1::SignBlobRequest::Representation
257
- command.request_object = sign_blob_request_object
258
- command.response_representation = Google::Apis::IamV1::SignBlobResponse::Representation
259
- command.response_class = Google::Apis::IamV1::SignBlobResponse
295
+ def create_service_account(name, create_service_account_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
296
+ command = make_simple_command(:post, 'v1/{+name}/serviceAccounts', options)
297
+ command.request_representation = Google::Apis::IamV1::CreateServiceAccountRequest::Representation
298
+ command.request_object = create_service_account_request_object
299
+ command.response_representation = Google::Apis::IamV1::ServiceAccount::Representation
300
+ command.response_class = Google::Apis::IamV1::ServiceAccount
260
301
  command.params['name'] = name unless name.nil?
261
302
  command.query['fields'] = fields unless fields.nil?
262
303
  command.query['quotaUser'] = quota_user unless quota_user.nil?
263
304
  execute_or_queue_command(command, &block)
264
305
  end
265
306
 
266
- # Returns the IAM access control policy for specified IAM resource.
267
- # @param [String] resource
268
- # REQUIRED: The resource for which the policy is being requested. `resource` is
269
- # usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*
270
- # disk*`. The format for the path specified in this value is resource specific
271
- # and is specified in the `getIamPolicy` documentation.
307
+ # Signs a JWT using a service account's system-managed private key.
308
+ # If no expiry time (`exp`) is provided in the `SignJwtRequest`, IAM sets an
309
+ # an expiry time of one hour by default. If you request an expiry time of
310
+ # more than one hour, the request will fail.
311
+ # @param [String] name
312
+ # The resource name of the service account in the following format:
313
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
314
+ # Using `-` as a wildcard for the project will infer the project from
315
+ # the account. The `account` value can be the `email` address or the
316
+ # `unique_id` of the service account.
317
+ # @param [Google::Apis::IamV1::SignJwtRequest] sign_jwt_request_object
272
318
  # @param [String] fields
273
319
  # Selector specifying which fields to include in a partial response.
274
320
  # @param [String] quota_user
@@ -278,30 +324,31 @@ module Google
278
324
  # Request-specific options
279
325
  #
280
326
  # @yield [result, err] Result & error if block supplied
281
- # @yieldparam result [Google::Apis::IamV1::Policy] parsed result object
327
+ # @yieldparam result [Google::Apis::IamV1::SignJwtResponse] parsed result object
282
328
  # @yieldparam err [StandardError] error object if request failed
283
329
  #
284
- # @return [Google::Apis::IamV1::Policy]
330
+ # @return [Google::Apis::IamV1::SignJwtResponse]
285
331
  #
286
332
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
287
333
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
288
334
  # @raise [Google::Apis::AuthorizationError] Authorization is required
289
- def get_project_service_account_iam_policy(resource, fields: nil, quota_user: nil, options: nil, &block)
290
- command = make_simple_command(:post, 'v1/{+resource}:getIamPolicy', options)
291
- command.response_representation = Google::Apis::IamV1::Policy::Representation
292
- command.response_class = Google::Apis::IamV1::Policy
293
- command.params['resource'] = resource unless resource.nil?
335
+ def sign_service_account_jwt(name, sign_jwt_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
336
+ command = make_simple_command(:post, 'v1/{+name}:signJwt', options)
337
+ command.request_representation = Google::Apis::IamV1::SignJwtRequest::Representation
338
+ command.request_object = sign_jwt_request_object
339
+ command.response_representation = Google::Apis::IamV1::SignJwtResponse::Representation
340
+ command.response_class = Google::Apis::IamV1::SignJwtResponse
341
+ command.params['name'] = name unless name.nil?
294
342
  command.query['fields'] = fields unless fields.nil?
295
343
  command.query['quotaUser'] = quota_user unless quota_user.nil?
296
344
  execute_or_queue_command(command, &block)
297
345
  end
298
346
 
299
- # Sets the IAM access control policy for the specified IAM resource.
347
+ # Sets the IAM access control policy for a
348
+ # ServiceAccount.
300
349
  # @param [String] resource
301
- # REQUIRED: The resource for which the policy is being specified. `resource` is
302
- # usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*
303
- # disk*`. The format for the path specified in this value is resource specific
304
- # and is specified in the `setIamPolicy` documentation.
350
+ # REQUIRED: The resource for which the policy is being specified.
351
+ # See the operation documentation for the appropriate value for this field.
305
352
  # @param [Google::Apis::IamV1::SetIamPolicyRequest] set_iam_policy_request_object
306
353
  # @param [String] fields
307
354
  # Selector specifying which fields to include in a partial response.
@@ -332,14 +379,11 @@ module Google
332
379
  execute_or_queue_command(command, &block)
333
380
  end
334
381
 
335
- # Tests the specified permissions against the IAM access control policy for the
336
- # specified IAM resource.
382
+ # Returns the IAM access control policy for a
383
+ # ServiceAccount.
337
384
  # @param [String] resource
338
- # REQUIRED: The resource for which the policy detail is being requested. `
339
- # resource` is usually specified as a path, such as `projects/*project*/zones/*
340
- # zone*/disks/*disk*`. The format for the path specified in this value is
341
- # resource specific and is specified in the `testIamPermissions` documentation.
342
- # @param [Google::Apis::IamV1::TestIamPermissionsRequest] test_iam_permissions_request_object
385
+ # REQUIRED: The resource for which the policy is being requested.
386
+ # See the operation documentation for the appropriate value for this field.
343
387
  # @param [String] fields
344
388
  # Selector specifying which fields to include in a partial response.
345
389
  # @param [String] quota_user
@@ -349,35 +393,31 @@ module Google
349
393
  # Request-specific options
350
394
  #
351
395
  # @yield [result, err] Result & error if block supplied
352
- # @yieldparam result [Google::Apis::IamV1::TestIamPermissionsResponse] parsed result object
396
+ # @yieldparam result [Google::Apis::IamV1::Policy] parsed result object
353
397
  # @yieldparam err [StandardError] error object if request failed
354
398
  #
355
- # @return [Google::Apis::IamV1::TestIamPermissionsResponse]
399
+ # @return [Google::Apis::IamV1::Policy]
356
400
  #
357
401
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
358
402
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
359
403
  # @raise [Google::Apis::AuthorizationError] Authorization is required
360
- def test_service_account_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
361
- command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
362
- command.request_representation = Google::Apis::IamV1::TestIamPermissionsRequest::Representation
363
- command.request_object = test_iam_permissions_request_object
364
- command.response_representation = Google::Apis::IamV1::TestIamPermissionsResponse::Representation
365
- command.response_class = Google::Apis::IamV1::TestIamPermissionsResponse
404
+ def get_project_service_account_iam_policy(resource, fields: nil, quota_user: nil, options: nil, &block)
405
+ command = make_simple_command(:post, 'v1/{+resource}:getIamPolicy', options)
406
+ command.response_representation = Google::Apis::IamV1::Policy::Representation
407
+ command.response_class = Google::Apis::IamV1::Policy
366
408
  command.params['resource'] = resource unless resource.nil?
367
409
  command.query['fields'] = fields unless fields.nil?
368
410
  command.query['quotaUser'] = quota_user unless quota_user.nil?
369
411
  execute_or_queue_command(command, &block)
370
412
  end
371
413
 
372
- # Lists service account keys
414
+ # Gets a ServiceAccount.
373
415
  # @param [String] name
374
- # The resource name of the service account in the format "projects/`project`/
375
- # serviceAccounts/`account`". Using '-' as a wildcard for the project, will
376
- # infer the project from the account. The account value can be the email address
377
- # or the unique_id of the service account.
378
- # @param [Array<String>, String] key_types
379
- # The type of keys the user wants to list. If empty, all key types are included
380
- # in the response. Duplicate key types are not allowed.
416
+ # The resource name of the service account in the following format:
417
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
418
+ # Using `-` as a wildcard for the project will infer the project from
419
+ # the account. The `account` value can be the `email` address or the
420
+ # `unique_id` of the service account.
381
421
  # @param [String] fields
382
422
  # Selector specifying which fields to include in a partial response.
383
423
  # @param [String] quota_user
@@ -387,31 +427,31 @@ module Google
387
427
  # Request-specific options
388
428
  #
389
429
  # @yield [result, err] Result & error if block supplied
390
- # @yieldparam result [Google::Apis::IamV1::ListServiceAccountKeysResponse] parsed result object
430
+ # @yieldparam result [Google::Apis::IamV1::ServiceAccount] parsed result object
391
431
  # @yieldparam err [StandardError] error object if request failed
392
432
  #
393
- # @return [Google::Apis::IamV1::ListServiceAccountKeysResponse]
433
+ # @return [Google::Apis::IamV1::ServiceAccount]
394
434
  #
395
435
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
396
436
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
397
437
  # @raise [Google::Apis::AuthorizationError] Authorization is required
398
- def list_project_service_account_keys(name, key_types: nil, fields: nil, quota_user: nil, options: nil, &block)
399
- command = make_simple_command(:get, 'v1/{+name}/keys', options)
400
- command.response_representation = Google::Apis::IamV1::ListServiceAccountKeysResponse::Representation
401
- command.response_class = Google::Apis::IamV1::ListServiceAccountKeysResponse
438
+ def get_project_service_account(name, fields: nil, quota_user: nil, options: nil, &block)
439
+ command = make_simple_command(:get, 'v1/{+name}', options)
440
+ command.response_representation = Google::Apis::IamV1::ServiceAccount::Representation
441
+ command.response_class = Google::Apis::IamV1::ServiceAccount
402
442
  command.params['name'] = name unless name.nil?
403
- command.query['keyTypes'] = key_types unless key_types.nil?
404
443
  command.query['fields'] = fields unless fields.nil?
405
444
  command.query['quotaUser'] = quota_user unless quota_user.nil?
406
445
  execute_or_queue_command(command, &block)
407
446
  end
408
447
 
409
- # Gets the ServiceAccountKey by key id.
448
+ # Deletes a ServiceAccountKey.
410
449
  # @param [String] name
411
- # The resource name of the service account key in the format "projects/`project`/
412
- # serviceAccounts/`account`/keys/`key`". Using '-' as a wildcard for the project
413
- # will infer the project from the account. The account value can be the email
414
- # address or the unique_id of the service account.
450
+ # The resource name of the service account key in the following format:
451
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`/keys/`key``.
452
+ # Using `-` as a wildcard for the project will infer the project from
453
+ # the account. The `account` value can be the `email` address or the
454
+ # `unique_id` of the service account.
415
455
  # @param [String] fields
416
456
  # Selector specifying which fields to include in a partial response.
417
457
  # @param [String] quota_user
@@ -421,31 +461,74 @@ module Google
421
461
  # Request-specific options
422
462
  #
423
463
  # @yield [result, err] Result & error if block supplied
424
- # @yieldparam result [Google::Apis::IamV1::ServiceAccountKey] parsed result object
464
+ # @yieldparam result [Google::Apis::IamV1::Empty] parsed result object
425
465
  # @yieldparam err [StandardError] error object if request failed
426
466
  #
427
- # @return [Google::Apis::IamV1::ServiceAccountKey]
467
+ # @return [Google::Apis::IamV1::Empty]
428
468
  #
429
469
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
430
470
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
431
471
  # @raise [Google::Apis::AuthorizationError] Authorization is required
432
- def get_project_service_account_key(name, fields: nil, quota_user: nil, options: nil, &block)
433
- command = make_simple_command(:get, 'v1/{+name}', options)
434
- command.response_representation = Google::Apis::IamV1::ServiceAccountKey::Representation
435
- command.response_class = Google::Apis::IamV1::ServiceAccountKey
472
+ def delete_project_service_account_key(name, fields: nil, quota_user: nil, options: nil, &block)
473
+ command = make_simple_command(:delete, 'v1/{+name}', options)
474
+ command.response_representation = Google::Apis::IamV1::Empty::Representation
475
+ command.response_class = Google::Apis::IamV1::Empty
436
476
  command.params['name'] = name unless name.nil?
437
477
  command.query['fields'] = fields unless fields.nil?
438
478
  command.query['quotaUser'] = quota_user unless quota_user.nil?
439
479
  execute_or_queue_command(command, &block)
440
480
  end
441
481
 
442
- # Creates a service account key and returns it.
482
+ # Lists ServiceAccountKeys.
443
483
  # @param [String] name
444
- # The resource name of the service account in the format "projects/`project`/
445
- # serviceAccounts/`account`". Using '-' as a wildcard for the project, will
446
- # infer the project from the account. The account value can be the email address
447
- # or the unique_id of the service account.
448
- # @param [Google::Apis::IamV1::CreateServiceAccountKeyRequest] create_service_account_key_request_object
484
+ # The resource name of the service account in the following format:
485
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
486
+ # Using `-` as a wildcard for the project, will infer the project from
487
+ # the account. The `account` value can be the `email` address or the
488
+ # `unique_id` of the service account.
489
+ # @param [Array<String>, String] key_types
490
+ # Filters the types of keys the user wants to include in the list
491
+ # response. Duplicate key types are not allowed. If no key type
492
+ # is provided, all keys are returned.
493
+ # @param [String] fields
494
+ # Selector specifying which fields to include in a partial response.
495
+ # @param [String] quota_user
496
+ # Available to use for quota purposes for server-side applications. Can be any
497
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
498
+ # @param [Google::Apis::RequestOptions] options
499
+ # Request-specific options
500
+ #
501
+ # @yield [result, err] Result & error if block supplied
502
+ # @yieldparam result [Google::Apis::IamV1::ListServiceAccountKeysResponse] parsed result object
503
+ # @yieldparam err [StandardError] error object if request failed
504
+ #
505
+ # @return [Google::Apis::IamV1::ListServiceAccountKeysResponse]
506
+ #
507
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
508
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
509
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
510
+ def list_project_service_account_keys(name, key_types: nil, fields: nil, quota_user: nil, options: nil, &block)
511
+ command = make_simple_command(:get, 'v1/{+name}/keys', options)
512
+ command.response_representation = Google::Apis::IamV1::ListServiceAccountKeysResponse::Representation
513
+ command.response_class = Google::Apis::IamV1::ListServiceAccountKeysResponse
514
+ command.params['name'] = name unless name.nil?
515
+ command.query['keyTypes'] = key_types unless key_types.nil?
516
+ command.query['fields'] = fields unless fields.nil?
517
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
518
+ execute_or_queue_command(command, &block)
519
+ end
520
+
521
+ # Gets the ServiceAccountKey
522
+ # by key id.
523
+ # @param [String] name
524
+ # The resource name of the service account key in the following format:
525
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`/keys/`key``.
526
+ # Using `-` as a wildcard for the project will infer the project from
527
+ # the account. The `account` value can be the `email` address or the
528
+ # `unique_id` of the service account.
529
+ # @param [String] public_key_type
530
+ # The output format of the public key requested.
531
+ # X509_PEM is the default output format.
449
532
  # @param [String] fields
450
533
  # Selector specifying which fields to include in a partial response.
451
534
  # @param [String] quota_user
@@ -463,24 +546,26 @@ module Google
463
546
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
464
547
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
465
548
  # @raise [Google::Apis::AuthorizationError] Authorization is required
466
- def create_service_account_key(name, create_service_account_key_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
467
- command = make_simple_command(:post, 'v1/{+name}/keys', options)
468
- command.request_representation = Google::Apis::IamV1::CreateServiceAccountKeyRequest::Representation
469
- command.request_object = create_service_account_key_request_object
549
+ def get_project_service_account_key(name, public_key_type: nil, fields: nil, quota_user: nil, options: nil, &block)
550
+ command = make_simple_command(:get, 'v1/{+name}', options)
470
551
  command.response_representation = Google::Apis::IamV1::ServiceAccountKey::Representation
471
552
  command.response_class = Google::Apis::IamV1::ServiceAccountKey
472
553
  command.params['name'] = name unless name.nil?
554
+ command.query['publicKeyType'] = public_key_type unless public_key_type.nil?
473
555
  command.query['fields'] = fields unless fields.nil?
474
556
  command.query['quotaUser'] = quota_user unless quota_user.nil?
475
557
  execute_or_queue_command(command, &block)
476
558
  end
477
559
 
478
- # Deletes a service account key.
560
+ # Creates a ServiceAccountKey
561
+ # and returns it.
479
562
  # @param [String] name
480
- # The resource name of the service account key in the format "projects/`project`/
481
- # serviceAccounts/`account`/keys/`key`". Using '-' as a wildcard for the project
482
- # will infer the project from the account. The account value can be the email
483
- # address or the unique_id of the service account.
563
+ # The resource name of the service account in the following format:
564
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
565
+ # Using `-` as a wildcard for the project will infer the project from
566
+ # the account. The `account` value can be the `email` address or the
567
+ # `unique_id` of the service account.
568
+ # @param [Google::Apis::IamV1::CreateServiceAccountKeyRequest] create_service_account_key_request_object
484
569
  # @param [String] fields
485
570
  # Selector specifying which fields to include in a partial response.
486
571
  # @param [String] quota_user
@@ -490,18 +575,20 @@ module Google
490
575
  # Request-specific options
491
576
  #
492
577
  # @yield [result, err] Result & error if block supplied
493
- # @yieldparam result [Google::Apis::IamV1::Empty] parsed result object
578
+ # @yieldparam result [Google::Apis::IamV1::ServiceAccountKey] parsed result object
494
579
  # @yieldparam err [StandardError] error object if request failed
495
580
  #
496
- # @return [Google::Apis::IamV1::Empty]
581
+ # @return [Google::Apis::IamV1::ServiceAccountKey]
497
582
  #
498
583
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
499
584
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
500
585
  # @raise [Google::Apis::AuthorizationError] Authorization is required
501
- def delete_project_service_account_key(name, fields: nil, quota_user: nil, options: nil, &block)
502
- command = make_simple_command(:delete, 'v1/{+name}', options)
503
- command.response_representation = Google::Apis::IamV1::Empty::Representation
504
- command.response_class = Google::Apis::IamV1::Empty
586
+ def create_service_account_key(name, create_service_account_key_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
587
+ command = make_simple_command(:post, 'v1/{+name}/keys', options)
588
+ command.request_representation = Google::Apis::IamV1::CreateServiceAccountKeyRequest::Representation
589
+ command.request_object = create_service_account_key_request_object
590
+ command.response_representation = Google::Apis::IamV1::ServiceAccountKey::Representation
591
+ command.response_class = Google::Apis::IamV1::ServiceAccountKey
505
592
  command.params['name'] = name unless name.nil?
506
593
  command.query['fields'] = fields unless fields.nil?
507
594
  command.query['quotaUser'] = quota_user unless quota_user.nil?