google-api-client 0.10.3 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +12 -18
  3. data/CHANGELOG.md +22 -2
  4. data/Gemfile +5 -7
  5. data/MIGRATING.md +33 -0
  6. data/README.md +10 -2
  7. data/Rakefile +1 -0
  8. data/bin/generate-api +7 -1
  9. data/dl.rb +0 -0
  10. data/generated/google/apis/acceleratedmobilepageurl_v1/classes.rb +6 -6
  11. data/generated/google/apis/acceleratedmobilepageurl_v1/representations.rb +1 -1
  12. data/generated/google/apis/acceleratedmobilepageurl_v1/service.rb +1 -0
  13. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  14. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +759 -759
  15. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +152 -152
  16. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +376 -375
  17. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +58 -58
  18. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +45 -45
  19. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +22 -21
  20. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +5 -5
  21. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +5 -5
  22. data/generated/google/apis/adexchangeseller_v2_0/service.rb +1 -0
  23. data/generated/google/apis/admin_datatransfer_v1/classes.rb +2 -2
  24. data/generated/google/apis/admin_datatransfer_v1/representations.rb +2 -2
  25. data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -1
  26. data/generated/google/apis/admin_directory_v1/classes.rb +11 -11
  27. data/generated/google/apis/admin_directory_v1/representations.rb +11 -11
  28. data/generated/google/apis/admin_directory_v1/service.rb +1 -0
  29. data/generated/google/apis/admin_reports_v1/classes.rb +5 -5
  30. data/generated/google/apis/admin_reports_v1/representations.rb +4 -4
  31. data/generated/google/apis/admin_reports_v1/service.rb +1 -0
  32. data/generated/google/apis/adsense_v1_4.rb +1 -1
  33. data/generated/google/apis/adsense_v1_4/classes.rb +2 -2
  34. data/generated/google/apis/adsense_v1_4/representations.rb +2 -2
  35. data/generated/google/apis/adsense_v1_4/service.rb +1 -0
  36. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  37. data/generated/google/apis/adsensehost_v4_1/classes.rb +1 -1
  38. data/generated/google/apis/adsensehost_v4_1/representations.rb +1 -1
  39. data/generated/google/apis/adsensehost_v4_1/service.rb +1 -0
  40. data/generated/google/apis/analytics_v3/classes.rb +10 -10
  41. data/generated/google/apis/analytics_v3/representations.rb +10 -10
  42. data/generated/google/apis/analytics_v3/service.rb +1 -0
  43. data/generated/google/apis/analyticsreporting_v4/classes.rb +933 -933
  44. data/generated/google/apis/analyticsreporting_v4/representations.rb +197 -197
  45. data/generated/google/apis/analyticsreporting_v4/service.rb +5 -4
  46. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  47. data/generated/google/apis/androidenterprise_v1/classes.rb +1 -1
  48. data/generated/google/apis/androidenterprise_v1/representations.rb +1 -1
  49. data/generated/google/apis/androidenterprise_v1/service.rb +1 -0
  50. data/generated/google/apis/androidpublisher_v2/classes.rb +13 -13
  51. data/generated/google/apis/androidpublisher_v2/representations.rb +13 -13
  52. data/generated/google/apis/androidpublisher_v2/service.rb +3 -2
  53. data/generated/google/apis/appengine_v1/classes.rb +2 -2
  54. data/generated/google/apis/appengine_v1/representations.rb +2 -2
  55. data/generated/google/apis/appengine_v1/service.rb +1 -0
  56. data/generated/google/apis/appsactivity_v1/classes.rb +1 -1
  57. data/generated/google/apis/appsactivity_v1/representations.rb +1 -1
  58. data/generated/google/apis/appsactivity_v1/service.rb +1 -0
  59. data/generated/google/apis/appsmarket_v2.rb +35 -0
  60. data/generated/google/apis/appsmarket_v2/classes.rb +396 -0
  61. data/generated/google/apis/appsmarket_v2/representations.rb +180 -0
  62. data/generated/google/apis/appsmarket_v2/service.rb +187 -0
  63. data/generated/google/apis/appstate_v1.rb +1 -1
  64. data/generated/google/apis/appstate_v1/service.rb +1 -0
  65. data/generated/google/apis/bigquery_v2/classes.rb +39 -39
  66. data/generated/google/apis/bigquery_v2/representations.rb +38 -38
  67. data/generated/google/apis/bigquery_v2/service.rb +3 -2
  68. data/generated/google/apis/blogger_v3/classes.rb +2 -2
  69. data/generated/google/apis/blogger_v3/representations.rb +2 -2
  70. data/generated/google/apis/blogger_v3/service.rb +1 -0
  71. data/generated/google/apis/books_v1/classes.rb +5 -5
  72. data/generated/google/apis/books_v1/representations.rb +4 -4
  73. data/generated/google/apis/books_v1/service.rb +1 -0
  74. data/generated/google/apis/calendar_v3/classes.rb +1 -1
  75. data/generated/google/apis/calendar_v3/representations.rb +1 -1
  76. data/generated/google/apis/calendar_v3/service.rb +1 -0
  77. data/generated/google/apis/civicinfo_v2/classes.rb +6 -6
  78. data/generated/google/apis/civicinfo_v2/representations.rb +6 -6
  79. data/generated/google/apis/civicinfo_v2/service.rb +2 -1
  80. data/generated/google/apis/classroom_v1/service.rb +1 -0
  81. data/generated/google/apis/cloudbilling_v1/service.rb +1 -0
  82. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  83. data/generated/google/apis/cloudbuild_v1/classes.rb +626 -626
  84. data/generated/google/apis/cloudbuild_v1/representations.rb +109 -109
  85. data/generated/google/apis/cloudbuild_v1/service.rb +159 -158
  86. data/generated/google/apis/clouddebugger_v2/classes.rb +358 -358
  87. data/generated/google/apis/clouddebugger_v2/representations.rb +99 -99
  88. data/generated/google/apis/clouddebugger_v2/service.rb +42 -41
  89. data/generated/google/apis/clouderrorreporting_v1beta1.rb +1 -1
  90. data/generated/google/apis/clouderrorreporting_v1beta1/classes.rb +220 -220
  91. data/generated/google/apis/clouderrorreporting_v1beta1/representations.rb +52 -52
  92. data/generated/google/apis/clouderrorreporting_v1beta1/service.rb +59 -58
  93. data/generated/google/apis/cloudfunctions_v1/classes.rb +7 -7
  94. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -1
  95. data/generated/google/apis/cloudfunctions_v1/service.rb +5 -4
  96. data/generated/google/apis/cloudkms_v1/classes.rb +311 -311
  97. data/generated/google/apis/cloudkms_v1/representations.rb +87 -87
  98. data/generated/google/apis/cloudkms_v1/service.rb +168 -167
  99. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +4 -4
  100. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +4 -4
  101. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +1 -0
  102. data/generated/google/apis/cloudresourcemanager_v1.rb +3 -3
  103. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +341 -341
  104. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +62 -62
  105. data/generated/google/apis/cloudresourcemanager_v1/service.rb +458 -457
  106. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +327 -327
  107. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +71 -71
  108. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +237 -236
  109. data/generated/google/apis/cloudtrace_v1.rb +3 -3
  110. data/generated/google/apis/cloudtrace_v1/classes.rb +38 -38
  111. data/generated/google/apis/cloudtrace_v1/representations.rb +13 -13
  112. data/generated/google/apis/cloudtrace_v1/service.rb +14 -13
  113. data/generated/google/apis/clouduseraccounts_beta/classes.rb +4 -4
  114. data/generated/google/apis/clouduseraccounts_beta/representations.rb +4 -4
  115. data/generated/google/apis/clouduseraccounts_beta/service.rb +1 -0
  116. data/generated/google/apis/compute_beta/classes.rb +52 -52
  117. data/generated/google/apis/compute_beta/representations.rb +52 -52
  118. data/generated/google/apis/compute_beta/service.rb +2 -1
  119. data/generated/google/apis/compute_v1/classes.rb +48 -48
  120. data/generated/google/apis/compute_v1/representations.rb +48 -48
  121. data/generated/google/apis/compute_v1/service.rb +2 -1
  122. data/generated/google/apis/container_v1/service.rb +1 -0
  123. data/generated/google/apis/content_v2.rb +1 -1
  124. data/generated/google/apis/content_v2/classes.rb +38 -660
  125. data/generated/google/apis/content_v2/representations.rb +37 -303
  126. data/generated/google/apis/content_v2/service.rb +63 -279
  127. data/generated/google/apis/customsearch_v1/classes.rb +2 -2
  128. data/generated/google/apis/customsearch_v1/representations.rb +2 -2
  129. data/generated/google/apis/customsearch_v1/service.rb +1 -0
  130. data/generated/google/apis/dataflow_v1b3/classes.rb +3281 -3281
  131. data/generated/google/apis/dataflow_v1b3/representations.rb +777 -777
  132. data/generated/google/apis/dataflow_v1b3/service.rb +106 -105
  133. data/generated/google/apis/dataproc_v1/classes.rb +395 -395
  134. data/generated/google/apis/dataproc_v1/representations.rb +91 -91
  135. data/generated/google/apis/dataproc_v1/service.rb +356 -355
  136. data/generated/google/apis/datastore_v1/classes.rb +506 -506
  137. data/generated/google/apis/datastore_v1/representations.rb +147 -147
  138. data/generated/google/apis/datastore_v1/service.rb +46 -45
  139. data/generated/google/apis/deploymentmanager_v2/classes.rb +6 -6
  140. data/generated/google/apis/deploymentmanager_v2/representations.rb +6 -6
  141. data/generated/google/apis/deploymentmanager_v2/service.rb +1 -0
  142. data/generated/google/apis/dfareporting_v2_6/classes.rb +280 -280
  143. data/generated/google/apis/dfareporting_v2_6/representations.rb +266 -266
  144. data/generated/google/apis/dfareporting_v2_6/service.rb +421 -420
  145. data/generated/google/apis/dfareporting_v2_7/classes.rb +280 -280
  146. data/generated/google/apis/dfareporting_v2_7/representations.rb +266 -266
  147. data/generated/google/apis/dfareporting_v2_7/service.rb +423 -422
  148. data/generated/google/apis/discovery_v1/service.rb +1 -0
  149. data/generated/google/apis/dns_v1/classes.rb +2 -2
  150. data/generated/google/apis/dns_v1/representations.rb +2 -2
  151. data/generated/google/apis/dns_v1/service.rb +1 -0
  152. data/generated/google/apis/dns_v2beta1/classes.rb +2 -2
  153. data/generated/google/apis/dns_v2beta1/representations.rb +2 -2
  154. data/generated/google/apis/dns_v2beta1/service.rb +1 -0
  155. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +15 -15
  156. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +13 -13
  157. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +5 -4
  158. data/generated/google/apis/doubleclicksearch_v2/classes.rb +28 -28
  159. data/generated/google/apis/doubleclicksearch_v2/representations.rb +28 -28
  160. data/generated/google/apis/doubleclicksearch_v2/service.rb +13 -12
  161. data/generated/google/apis/drive_v2/classes.rb +17 -17
  162. data/generated/google/apis/drive_v2/representations.rb +17 -17
  163. data/generated/google/apis/drive_v2/service.rb +5 -4
  164. data/generated/google/apis/drive_v3/classes.rb +13 -13
  165. data/generated/google/apis/drive_v3/representations.rb +12 -12
  166. data/generated/google/apis/drive_v3/service.rb +1 -0
  167. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  168. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +81 -81
  169. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +24 -24
  170. data/generated/google/apis/firebasedynamiclinks_v1/service.rb +1 -0
  171. data/generated/google/apis/firebaserules_v1/classes.rb +201 -201
  172. data/generated/google/apis/firebaserules_v1/representations.rb +61 -61
  173. data/generated/google/apis/firebaserules_v1/service.rb +1 -0
  174. data/generated/google/apis/fitness_v1/classes.rb +18 -18
  175. data/generated/google/apis/fitness_v1/representations.rb +18 -18
  176. data/generated/google/apis/fitness_v1/service.rb +6 -5
  177. data/generated/google/apis/fusiontables_v2/classes.rb +2 -2
  178. data/generated/google/apis/fusiontables_v2/representations.rb +2 -2
  179. data/generated/google/apis/fusiontables_v2/service.rb +1 -0
  180. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  181. data/generated/google/apis/games_configuration_v1configuration/classes.rb +2 -2
  182. data/generated/google/apis/games_configuration_v1configuration/representations.rb +2 -2
  183. data/generated/google/apis/games_configuration_v1configuration/service.rb +1 -0
  184. data/generated/google/apis/games_management_v1management.rb +1 -1
  185. data/generated/google/apis/games_management_v1management/classes.rb +6 -6
  186. data/generated/google/apis/games_management_v1management/representations.rb +6 -6
  187. data/generated/google/apis/games_management_v1management/service.rb +1 -0
  188. data/generated/google/apis/games_v1.rb +1 -1
  189. data/generated/google/apis/games_v1/classes.rb +47 -47
  190. data/generated/google/apis/games_v1/representations.rb +47 -47
  191. data/generated/google/apis/games_v1/service.rb +58 -57
  192. data/generated/google/apis/genomics_v1.rb +6 -6
  193. data/generated/google/apis/genomics_v1/classes.rb +2354 -2354
  194. data/generated/google/apis/genomics_v1/representations.rb +487 -487
  195. data/generated/google/apis/genomics_v1/service.rb +1188 -1187
  196. data/generated/google/apis/gmail_v1/classes.rb +11 -11
  197. data/generated/google/apis/gmail_v1/representations.rb +11 -11
  198. data/generated/google/apis/gmail_v1/service.rb +2 -1
  199. data/generated/google/apis/groupsmigration_v1/service.rb +1 -0
  200. data/generated/google/apis/groupssettings_v1/service.rb +1 -0
  201. data/generated/google/apis/iam_v1/classes.rb +437 -437
  202. data/generated/google/apis/iam_v1/representations.rb +95 -95
  203. data/generated/google/apis/iam_v1/service.rb +87 -86
  204. data/generated/google/apis/identitytoolkit_v3/classes.rb +20 -20
  205. data/generated/google/apis/identitytoolkit_v3/representations.rb +20 -20
  206. data/generated/google/apis/identitytoolkit_v3/service.rb +1 -0
  207. data/generated/google/apis/kgsearch_v1/service.rb +9 -8
  208. data/generated/google/apis/language_v1.rb +1 -1
  209. data/generated/google/apis/language_v1/classes.rb +245 -245
  210. data/generated/google/apis/language_v1/representations.rb +65 -65
  211. data/generated/google/apis/language_v1/service.rb +1 -0
  212. data/generated/google/apis/language_v1beta1.rb +1 -1
  213. data/generated/google/apis/language_v1beta1/classes.rb +277 -277
  214. data/generated/google/apis/language_v1beta1/representations.rb +83 -83
  215. data/generated/google/apis/language_v1beta1/service.rb +31 -30
  216. data/generated/google/apis/licensing_v1/service.rb +1 -0
  217. data/generated/google/apis/logging_v2/classes.rb +408 -408
  218. data/generated/google/apis/logging_v2/representations.rb +93 -93
  219. data/generated/google/apis/logging_v2/service.rb +408 -407
  220. data/generated/google/apis/logging_v2beta1.rb +3 -3
  221. data/generated/google/apis/logging_v2beta1/classes.rb +892 -892
  222. data/generated/google/apis/logging_v2beta1/representations.rb +128 -128
  223. data/generated/google/apis/logging_v2beta1/service.rb +89 -88
  224. data/generated/google/apis/manufacturers_v1/classes.rb +309 -309
  225. data/generated/google/apis/manufacturers_v1/representations.rb +64 -64
  226. data/generated/google/apis/manufacturers_v1/service.rb +1 -0
  227. data/generated/google/apis/mirror_v1/service.rb +1 -0
  228. data/generated/google/apis/ml_v1/classes.rb +1185 -1185
  229. data/generated/google/apis/ml_v1/representations.rb +171 -171
  230. data/generated/google/apis/ml_v1/service.rb +282 -281
  231. data/generated/google/apis/monitoring_v3.rb +3 -3
  232. data/generated/google/apis/monitoring_v3/classes.rb +334 -334
  233. data/generated/google/apis/monitoring_v3/representations.rb +86 -86
  234. data/generated/google/apis/monitoring_v3/service.rb +344 -343
  235. data/generated/google/apis/mybusiness_v3/service.rb +1 -0
  236. data/generated/google/apis/oauth2_v2/service.rb +1 -0
  237. data/generated/google/apis/pagespeedonline_v2/classes.rb +8 -8
  238. data/generated/google/apis/pagespeedonline_v2/representations.rb +8 -8
  239. data/generated/google/apis/pagespeedonline_v2/service.rb +1 -0
  240. data/generated/google/apis/partners_v2/classes.rb +1466 -1466
  241. data/generated/google/apis/partners_v2/representations.rb +371 -371
  242. data/generated/google/apis/partners_v2/service.rb +530 -529
  243. data/generated/google/apis/people_v1.rb +4 -4
  244. data/generated/google/apis/people_v1/classes.rb +1009 -1009
  245. data/generated/google/apis/people_v1/representations.rb +249 -249
  246. data/generated/google/apis/people_v1/service.rb +13 -12
  247. data/generated/google/apis/plus_domains_v1/classes.rb +2 -2
  248. data/generated/google/apis/plus_domains_v1/representations.rb +2 -2
  249. data/generated/google/apis/plus_domains_v1/service.rb +1 -0
  250. data/generated/google/apis/plus_v1/service.rb +1 -0
  251. data/generated/google/apis/prediction_v1_6/classes.rb +9 -9
  252. data/generated/google/apis/prediction_v1_6/representations.rb +9 -9
  253. data/generated/google/apis/prediction_v1_6/service.rb +1 -0
  254. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +221 -221
  255. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +55 -55
  256. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +378 -377
  257. data/generated/google/apis/pubsub_v1/classes.rb +99 -99
  258. data/generated/google/apis/pubsub_v1/representations.rb +25 -25
  259. data/generated/google/apis/pubsub_v1/service.rb +236 -235
  260. data/generated/google/apis/qpx_express_v1/service.rb +1 -0
  261. data/generated/google/apis/replicapool_v1beta2/classes.rb +3 -3
  262. data/generated/google/apis/replicapool_v1beta2/representations.rb +3 -3
  263. data/generated/google/apis/replicapool_v1beta2/service.rb +1 -0
  264. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +2 -2
  265. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +2 -2
  266. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +1 -0
  267. data/generated/google/apis/reseller_v1/classes.rb +5 -5
  268. data/generated/google/apis/reseller_v1/representations.rb +5 -5
  269. data/generated/google/apis/reseller_v1/service.rb +1 -0
  270. data/generated/google/apis/resourceviews_v1beta2/classes.rb +2 -2
  271. data/generated/google/apis/resourceviews_v1beta2/representations.rb +2 -2
  272. data/generated/google/apis/resourceviews_v1beta2/service.rb +1 -0
  273. data/generated/google/apis/runtimeconfig_v1.rb +3 -3
  274. data/generated/google/apis/runtimeconfig_v1/classes.rb +28 -28
  275. data/generated/google/apis/runtimeconfig_v1/representations.rb +3 -3
  276. data/generated/google/apis/runtimeconfig_v1/service.rb +53 -52
  277. data/generated/google/apis/script_v1.rb +18 -18
  278. data/generated/google/apis/script_v1/classes.rb +84 -84
  279. data/generated/google/apis/script_v1/representations.rb +18 -18
  280. data/generated/google/apis/script_v1/service.rb +11 -10
  281. data/generated/google/apis/searchconsole_v1/classes.rb +75 -75
  282. data/generated/google/apis/searchconsole_v1/representations.rb +32 -32
  283. data/generated/google/apis/searchconsole_v1/service.rb +11 -10
  284. data/generated/google/apis/servicecontrol_v1/classes.rb +582 -582
  285. data/generated/google/apis/servicecontrol_v1/representations.rb +113 -113
  286. data/generated/google/apis/servicecontrol_v1/service.rb +71 -70
  287. data/generated/google/apis/servicemanagement_v1.rb +3 -3
  288. data/generated/google/apis/servicemanagement_v1/classes.rb +3725 -3725
  289. data/generated/google/apis/servicemanagement_v1/representations.rb +255 -255
  290. data/generated/google/apis/servicemanagement_v1/service.rb +179 -178
  291. data/generated/google/apis/serviceuser_v1.rb +3 -3
  292. data/generated/google/apis/serviceuser_v1/classes.rb +2845 -2845
  293. data/generated/google/apis/serviceuser_v1/representations.rb +228 -228
  294. data/generated/google/apis/serviceuser_v1/service.rb +47 -46
  295. data/generated/google/apis/sheets_v4.rb +1 -1
  296. data/generated/google/apis/sheets_v4/classes.rb +4456 -4456
  297. data/generated/google/apis/sheets_v4/representations.rb +859 -859
  298. data/generated/google/apis/sheets_v4/service.rb +180 -179
  299. data/generated/google/apis/site_verification_v1/service.rb +1 -0
  300. data/generated/google/apis/slides_v1.rb +1 -1
  301. data/generated/google/apis/slides_v1/classes.rb +2856 -2856
  302. data/generated/google/apis/slides_v1/representations.rb +683 -683
  303. data/generated/google/apis/slides_v1/service.rb +27 -26
  304. data/generated/google/apis/sourcerepo_v1/classes.rb +281 -281
  305. data/generated/google/apis/sourcerepo_v1/representations.rb +79 -79
  306. data/generated/google/apis/sourcerepo_v1/service.rb +112 -111
  307. data/generated/google/apis/spanner_v1/classes.rb +2177 -2177
  308. data/generated/google/apis/spanner_v1/representations.rb +325 -325
  309. data/generated/google/apis/spanner_v1/service.rb +374 -373
  310. data/generated/google/apis/speech_v1beta1/classes.rb +197 -197
  311. data/generated/google/apis/speech_v1beta1/representations.rb +36 -36
  312. data/generated/google/apis/speech_v1beta1/service.rb +27 -26
  313. data/generated/google/apis/sqladmin_v1beta4/classes.rb +14 -14
  314. data/generated/google/apis/sqladmin_v1beta4/representations.rb +14 -14
  315. data/generated/google/apis/sqladmin_v1beta4/service.rb +3 -2
  316. data/generated/google/apis/storage_v1.rb +1 -1
  317. data/generated/google/apis/storage_v1/classes.rb +11 -11
  318. data/generated/google/apis/storage_v1/representations.rb +11 -11
  319. data/generated/google/apis/storage_v1/service.rb +65 -64
  320. data/generated/google/apis/storagetransfer_v1/classes.rb +239 -239
  321. data/generated/google/apis/storagetransfer_v1/representations.rb +79 -79
  322. data/generated/google/apis/storagetransfer_v1/service.rb +133 -132
  323. data/generated/google/apis/surveys_v2/classes.rb +4 -4
  324. data/generated/google/apis/surveys_v2/representations.rb +4 -4
  325. data/generated/google/apis/surveys_v2/service.rb +1 -0
  326. data/generated/google/apis/tagmanager_v1/classes.rb +7 -7
  327. data/generated/google/apis/tagmanager_v1/representations.rb +7 -7
  328. data/generated/google/apis/tagmanager_v1/service.rb +1 -0
  329. data/generated/google/apis/tagmanager_v2/classes.rb +6 -6
  330. data/generated/google/apis/tagmanager_v2/representations.rb +6 -6
  331. data/generated/google/apis/tagmanager_v2/service.rb +1 -0
  332. data/generated/google/apis/taskqueue_v1beta2/classes.rb +5 -5
  333. data/generated/google/apis/taskqueue_v1beta2/representations.rb +5 -5
  334. data/generated/google/apis/taskqueue_v1beta2/service.rb +1 -0
  335. data/generated/google/apis/tasks_v1/service.rb +3 -2
  336. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  337. data/generated/google/apis/toolresults_v1beta3/classes.rb +4 -4
  338. data/generated/google/apis/toolresults_v1beta3/representations.rb +4 -4
  339. data/generated/google/apis/toolresults_v1beta3/service.rb +1 -0
  340. data/generated/google/apis/tracing_v1/classes.rb +421 -421
  341. data/generated/google/apis/tracing_v1/representations.rb +86 -86
  342. data/generated/google/apis/tracing_v1/service.rb +60 -59
  343. data/generated/google/apis/translate_v2/service.rb +1 -0
  344. data/generated/google/apis/urlshortener_v1/classes.rb +3 -3
  345. data/generated/google/apis/urlshortener_v1/representations.rb +3 -3
  346. data/generated/google/apis/urlshortener_v1/service.rb +1 -0
  347. data/generated/google/apis/vision_v1/classes.rb +1290 -1290
  348. data/generated/google/apis/vision_v1/representations.rb +184 -184
  349. data/generated/google/apis/vision_v1/service.rb +11 -10
  350. data/generated/google/apis/webfonts_v1/service.rb +1 -0
  351. data/generated/google/apis/webmasters_v3/classes.rb +5 -5
  352. data/generated/google/apis/webmasters_v3/representations.rb +5 -5
  353. data/generated/google/apis/webmasters_v3/service.rb +1 -0
  354. data/generated/google/apis/youtube_analytics_v1/classes.rb +1 -1
  355. data/generated/google/apis/youtube_analytics_v1/representations.rb +1 -1
  356. data/generated/google/apis/youtube_analytics_v1/service.rb +1 -0
  357. data/generated/google/apis/youtube_partner_v1/classes.rb +13 -13
  358. data/generated/google/apis/youtube_partner_v1/representations.rb +13 -13
  359. data/generated/google/apis/youtube_partner_v1/service.rb +1 -0
  360. data/generated/google/apis/youtube_v3/classes.rb +31 -31
  361. data/generated/google/apis/youtube_v3/representations.rb +31 -31
  362. data/generated/google/apis/youtube_v3/service.rb +2 -1
  363. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  364. data/generated/google/apis/youtubereporting_v1/classes.rb +73 -73
  365. data/generated/google/apis/youtubereporting_v1/representations.rb +18 -18
  366. data/generated/google/apis/youtubereporting_v1/service.rb +77 -76
  367. data/google-api-client.gemspec +4 -6
  368. data/lib/google/apis/core/api_command.rb +8 -3
  369. data/lib/google/apis/core/base_service.rb +47 -18
  370. data/lib/google/apis/core/batch.rb +13 -18
  371. data/lib/google/apis/core/composite_io.rb +97 -0
  372. data/lib/google/apis/core/download.rb +24 -20
  373. data/lib/google/apis/core/http_command.rb +49 -38
  374. data/lib/google/apis/core/json_representation.rb +5 -1
  375. data/lib/google/apis/core/multipart.rb +43 -95
  376. data/lib/google/apis/core/upload.rb +59 -84
  377. data/lib/google/apis/generator/model.rb +2 -0
  378. data/lib/google/apis/generator/templates/_representation.tmpl +1 -1
  379. data/lib/google/apis/generator/templates/service.rb.tmpl +1 -0
  380. data/lib/google/apis/options.rb +24 -12
  381. data/lib/google/apis/version.rb +1 -1
  382. data/samples/web/Gemfile +0 -1
  383. metadata +39 -37
  384. data/lib/google/apis/core/http_client_adapter.rb +0 -82
  385. data/third_party/hurley_patches.rb +0 -103
@@ -304,7 +304,7 @@ module Google
304
304
 
305
305
  # The mailbox sequence ID.
306
306
  # Corresponds to the JSON property `id`
307
- # @return [String]
307
+ # @return [Fixnum]
308
308
  attr_accessor :id
309
309
 
310
310
  # Labels added to messages in this history record.
@@ -636,7 +636,7 @@ module Google
636
636
 
637
637
  # The ID of the mailbox's current history record.
638
638
  # Corresponds to the JSON property `historyId`
639
- # @return [String]
639
+ # @return [Fixnum]
640
640
  attr_accessor :history_id
641
641
 
642
642
  # Page token to retrieve the next page of results in the list.
@@ -781,7 +781,7 @@ module Google
781
781
 
782
782
  # The ID of the last history record that modified this message.
783
783
  # Corresponds to the JSON property `historyId`
784
- # @return [String]
784
+ # @return [Fixnum]
785
785
  attr_accessor :history_id
786
786
 
787
787
  # The immutable ID of the message.
@@ -795,7 +795,7 @@ module Google
795
795
  # Date header. However, for API-migrated mail, it can be configured by client to
796
796
  # be based on the Date header.
797
797
  # Corresponds to the JSON property `internalDate`
798
- # @return [String]
798
+ # @return [Fixnum]
799
799
  attr_accessor :internal_date
800
800
 
801
801
  # List of IDs of labels applied to this message.
@@ -1060,7 +1060,7 @@ module Google
1060
1060
 
1061
1061
  # The ID of the mailbox's current history record.
1062
1062
  # Corresponds to the JSON property `historyId`
1063
- # @return [String]
1063
+ # @return [Fixnum]
1064
1064
  attr_accessor :history_id
1065
1065
 
1066
1066
  # The total number of messages in the mailbox.
@@ -1185,7 +1185,7 @@ module Google
1185
1185
 
1186
1186
  # When the certificate expires (in milliseconds since epoch).
1187
1187
  # Corresponds to the JSON property `expiration`
1188
- # @return [String]
1188
+ # @return [Fixnum]
1189
1189
  attr_accessor :expiration
1190
1190
 
1191
1191
  # The immutable ID for the SmimeInfo.
@@ -1291,7 +1291,7 @@ module Google
1291
1291
 
1292
1292
  # The ID of the last history record that modified this thread.
1293
1293
  # Corresponds to the JSON property `historyId`
1294
- # @return [String]
1294
+ # @return [Fixnum]
1295
1295
  attr_accessor :history_id
1296
1296
 
1297
1297
  # The unique ID of the thread.
@@ -1338,7 +1338,7 @@ module Google
1338
1338
  # before the end time. If both startTime and endTime are specified, startTime
1339
1339
  # must precede endTime.
1340
1340
  # Corresponds to the JSON property `endTime`
1341
- # @return [String]
1341
+ # @return [Fixnum]
1342
1342
  attr_accessor :end_time
1343
1343
 
1344
1344
  # Response body in HTML format. Gmail will sanitize the HTML before storing it.
@@ -1377,7 +1377,7 @@ module Google
1377
1377
  # after the start time. If both startTime and endTime are specified, startTime
1378
1378
  # must precede endTime.
1379
1379
  # Corresponds to the JSON property `startTime`
1380
- # @return [String]
1380
+ # @return [Fixnum]
1381
1381
  attr_accessor :start_time
1382
1382
 
1383
1383
  def initialize(**args)
@@ -1443,12 +1443,12 @@ module Google
1443
1443
  # When Gmail will stop sending notifications for mailbox updates (epoch millis).
1444
1444
  # Call watch again before this time to renew the watch.
1445
1445
  # Corresponds to the JSON property `expiration`
1446
- # @return [String]
1446
+ # @return [Fixnum]
1447
1447
  attr_accessor :expiration
1448
1448
 
1449
1449
  # The ID of the mailbox's current history record.
1450
1450
  # Corresponds to the JSON property `historyId`
1451
- # @return [String]
1451
+ # @return [Fixnum]
1452
1452
  attr_accessor :history_id
1453
1453
 
1454
1454
  def initialize(**args)
@@ -336,7 +336,7 @@ module Google
336
336
  class History
337
337
  # @private
338
338
  class Representation < Google::Apis::Core::JsonRepresentation
339
- property :id, as: 'id'
339
+ property :id, :numeric_string => true, as: 'id'
340
340
  collection :labels_added, as: 'labelsAdded', class: Google::Apis::GmailV1::HistoryLabelAdded, decorator: Google::Apis::GmailV1::HistoryLabelAdded::Representation
341
341
 
342
342
  collection :labels_removed, as: 'labelsRemoved', class: Google::Apis::GmailV1::HistoryLabelRemoved, decorator: Google::Apis::GmailV1::HistoryLabelRemoved::Representation
@@ -440,7 +440,7 @@ module Google
440
440
  class Representation < Google::Apis::Core::JsonRepresentation
441
441
  collection :history, as: 'history', class: Google::Apis::GmailV1::History, decorator: Google::Apis::GmailV1::History::Representation
442
442
 
443
- property :history_id, as: 'historyId'
443
+ property :history_id, :numeric_string => true, as: 'historyId'
444
444
  property :next_page_token, as: 'nextPageToken'
445
445
  end
446
446
  end
@@ -492,9 +492,9 @@ module Google
492
492
  class Message
493
493
  # @private
494
494
  class Representation < Google::Apis::Core::JsonRepresentation
495
- property :history_id, as: 'historyId'
495
+ property :history_id, :numeric_string => true, as: 'historyId'
496
496
  property :id, as: 'id'
497
- property :internal_date, as: 'internalDate'
497
+ property :internal_date, :numeric_string => true, as: 'internalDate'
498
498
  collection :label_ids, as: 'labelIds'
499
499
  property :payload, as: 'payload', class: Google::Apis::GmailV1::MessagePart, decorator: Google::Apis::GmailV1::MessagePart::Representation
500
500
 
@@ -565,7 +565,7 @@ module Google
565
565
  # @private
566
566
  class Representation < Google::Apis::Core::JsonRepresentation
567
567
  property :email_address, as: 'emailAddress'
568
- property :history_id, as: 'historyId'
568
+ property :history_id, :numeric_string => true, as: 'historyId'
569
569
  property :messages_total, as: 'messagesTotal'
570
570
  property :threads_total, as: 'threadsTotal'
571
571
  end
@@ -591,7 +591,7 @@ module Google
591
591
  # @private
592
592
  class Representation < Google::Apis::Core::JsonRepresentation
593
593
  property :encrypted_key_password, as: 'encryptedKeyPassword'
594
- property :expiration, as: 'expiration'
594
+ property :expiration, :numeric_string => true, as: 'expiration'
595
595
  property :id, as: 'id'
596
596
  property :is_default, as: 'isDefault'
597
597
  property :issuer_cn, as: 'issuerCn'
@@ -614,7 +614,7 @@ module Google
614
614
  class Thread
615
615
  # @private
616
616
  class Representation < Google::Apis::Core::JsonRepresentation
617
- property :history_id, as: 'historyId'
617
+ property :history_id, :numeric_string => true, as: 'historyId'
618
618
  property :id, as: 'id'
619
619
  collection :messages, as: 'messages', class: Google::Apis::GmailV1::Message, decorator: Google::Apis::GmailV1::Message::Representation
620
620
 
@@ -626,13 +626,13 @@ module Google
626
626
  # @private
627
627
  class Representation < Google::Apis::Core::JsonRepresentation
628
628
  property :enable_auto_reply, as: 'enableAutoReply'
629
- property :end_time, as: 'endTime'
629
+ property :end_time, :numeric_string => true, as: 'endTime'
630
630
  property :response_body_html, as: 'responseBodyHtml'
631
631
  property :response_body_plain_text, as: 'responseBodyPlainText'
632
632
  property :response_subject, as: 'responseSubject'
633
633
  property :restrict_to_contacts, as: 'restrictToContacts'
634
634
  property :restrict_to_domain, as: 'restrictToDomain'
635
- property :start_time, as: 'startTime'
635
+ property :start_time, :numeric_string => true, as: 'startTime'
636
636
  end
637
637
  end
638
638
 
@@ -648,8 +648,8 @@ module Google
648
648
  class WatchResponse
649
649
  # @private
650
650
  class Representation < Google::Apis::Core::JsonRepresentation
651
- property :expiration, as: 'expiration'
652
- property :history_id, as: 'historyId'
651
+ property :expiration, :numeric_string => true, as: 'expiration'
652
+ property :history_id, :numeric_string => true, as: 'historyId'
653
653
  end
654
654
  end
655
655
  end
@@ -50,6 +50,7 @@ module Google
50
50
 
51
51
  def initialize
52
52
  super('https://www.googleapis.com/', 'gmail/v1/users/')
53
+ @batch_path = 'batch'
53
54
  end
54
55
 
55
56
  # Gets the current user's Gmail profile.
@@ -455,7 +456,7 @@ module Google
455
456
  # The maximum number of history records to return.
456
457
  # @param [String] page_token
457
458
  # Page token to retrieve a specific page of results in the list.
458
- # @param [String] start_history_id
459
+ # @param [Fixnum] start_history_id
459
460
  # Required. Returns history records after the specified startHistoryId. The
460
461
  # supplied startHistoryId should be obtained from the historyId of a message,
461
462
  # thread, or previous list response. History IDs increase chronologically but
@@ -50,6 +50,7 @@ module Google
50
50
 
51
51
  def initialize
52
52
  super('https://www.googleapis.com/', 'groups/v1/groups/')
53
+ @batch_path = 'batch'
53
54
  end
54
55
 
55
56
  # Inserts a new mail into the archive of the Google group.
@@ -50,6 +50,7 @@ module Google
50
50
 
51
51
  def initialize
52
52
  super('https://www.googleapis.com/', 'groups/v1/groups/')
53
+ @batch_path = 'batch'
53
54
  end
54
55
 
55
56
  # Gets one resource by id.
@@ -22,14 +22,22 @@ module Google
22
22
  module Apis
23
23
  module IamV1
24
24
 
25
- # The grantable role query response.
26
- class QueryGrantableRolesResponse
25
+ # The service account key create request.
26
+ class CreateServiceAccountKeyRequest
27
27
  include Google::Apis::Core::Hashable
28
28
 
29
- # The list of matching roles.
30
- # Corresponds to the JSON property `roles`
31
- # @return [Array<Google::Apis::IamV1::Role>]
32
- attr_accessor :roles
29
+ # Which type of key and algorithm to use for the key.
30
+ # The default is currently a 2K RSA key. However this may change in the
31
+ # future.
32
+ # Corresponds to the JSON property `keyAlgorithm`
33
+ # @return [String]
34
+ attr_accessor :key_algorithm
35
+
36
+ # The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the
37
+ # default output format.
38
+ # Corresponds to the JSON property `privateKeyType`
39
+ # @return [String]
40
+ attr_accessor :private_key_type
33
41
 
34
42
  def initialize(**args)
35
43
  update!(**args)
@@ -37,19 +45,25 @@ module Google
37
45
 
38
46
  # Update properties of this object
39
47
  def update!(**args)
40
- @roles = args[:roles] if args.key?(:roles)
48
+ @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
49
+ @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
41
50
  end
42
51
  end
43
52
 
44
- # The service account sign blob request.
45
- class SignBlobRequest
53
+ # The service account sign blob response.
54
+ class SignBlobResponse
46
55
  include Google::Apis::Core::Hashable
47
56
 
48
- # The bytes to sign.
49
- # Corresponds to the JSON property `bytesToSign`
57
+ # The id of the key used to sign the blob.
58
+ # Corresponds to the JSON property `keyId`
59
+ # @return [String]
60
+ attr_accessor :key_id
61
+
62
+ # The signed blob.
63
+ # Corresponds to the JSON property `signature`
50
64
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
51
65
  # @return [String]
52
- attr_accessor :bytes_to_sign
66
+ attr_accessor :signature
53
67
 
54
68
  def initialize(**args)
55
69
  update!(**args)
@@ -57,33 +71,22 @@ module Google
57
71
 
58
72
  # Update properties of this object
59
73
  def update!(**args)
60
- @bytes_to_sign = args[:bytes_to_sign] if args.key?(:bytes_to_sign)
74
+ @key_id = args[:key_id] if args.key?(:key_id)
75
+ @signature = args[:signature] if args.key?(:signature)
61
76
  end
62
77
  end
63
78
 
64
- # A role in the Identity and Access Management API.
65
- class Role
79
+ # Request message for `TestIamPermissions` method.
80
+ class TestIamPermissionsRequest
66
81
  include Google::Apis::Core::Hashable
67
82
 
68
- # Optional. A human-readable title for the role. Typically this
69
- # is limited to 100 UTF-8 bytes.
70
- # Corresponds to the JSON property `title`
71
- # @return [String]
72
- attr_accessor :title
73
-
74
- # The name of the role.
75
- # When Role is used in CreateRole, the role name must not be set.
76
- # When Role is used in output and other input such as UpdateRole, the role
77
- # name is the complete path, e.g., roles/logging.viewer for curated roles
78
- # and organizations/`ORGANIZATION_ID`/roles/logging.viewer for custom roles.
79
- # Corresponds to the JSON property `name`
80
- # @return [String]
81
- attr_accessor :name
82
-
83
- # Optional. A human-readable description for the role.
84
- # Corresponds to the JSON property `description`
85
- # @return [String]
86
- attr_accessor :description
83
+ # The set of permissions to check for the `resource`. Permissions with
84
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
85
+ # information see
86
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
87
+ # Corresponds to the JSON property `permissions`
88
+ # @return [Array<String>]
89
+ attr_accessor :permissions
87
90
 
88
91
  def initialize(**args)
89
92
  update!(**args)
@@ -91,45 +94,23 @@ module Google
91
94
 
92
95
  # Update properties of this object
93
96
  def update!(**args)
94
- @title = args[:title] if args.key?(:title)
95
- @name = args[:name] if args.key?(:name)
96
- @description = args[:description] if args.key?(:description)
97
+ @permissions = args[:permissions] if args.key?(:permissions)
97
98
  end
98
99
  end
99
100
 
100
- # Request message for `SetIamPolicy` method.
101
- class SetIamPolicyRequest
101
+ # The service account sign JWT response.
102
+ class SignJwtResponse
102
103
  include Google::Apis::Core::Hashable
103
104
 
104
- # Defines an Identity and Access Management (IAM) policy. It is used to
105
- # specify access control policies for Cloud Platform resources.
106
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
107
- # `members` to a `role`, where the members can be user accounts, Google groups,
108
- # Google domains, and service accounts. A `role` is a named list of permissions
109
- # defined by IAM.
110
- # **Example**
111
- # `
112
- # "bindings": [
113
- # `
114
- # "role": "roles/owner",
115
- # "members": [
116
- # "user:mike@example.com",
117
- # "group:admins@example.com",
118
- # "domain:google.com",
119
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
120
- # ]
121
- # `,
122
- # `
123
- # "role": "roles/viewer",
124
- # "members": ["user:sean@example.com"]
125
- # `
126
- # ]
127
- # `
128
- # For a description of IAM and its features, see the
129
- # [IAM developer's guide](https://cloud.google.com/iam).
130
- # Corresponds to the JSON property `policy`
131
- # @return [Google::Apis::IamV1::Policy]
132
- attr_accessor :policy
105
+ # The id of the key used to sign the JWT.
106
+ # Corresponds to the JSON property `keyId`
107
+ # @return [String]
108
+ attr_accessor :key_id
109
+
110
+ # The signed JWT.
111
+ # Corresponds to the JSON property `signedJwt`
112
+ # @return [String]
113
+ attr_accessor :signed_jwt
133
114
 
134
115
  def initialize(**args)
135
116
  update!(**args)
@@ -137,38 +118,19 @@ module Google
137
118
 
138
119
  # Update properties of this object
139
120
  def update!(**args)
140
- @policy = args[:policy] if args.key?(:policy)
121
+ @key_id = args[:key_id] if args.key?(:key_id)
122
+ @signed_jwt = args[:signed_jwt] if args.key?(:signed_jwt)
141
123
  end
142
124
  end
143
125
 
144
- # Associates `members` with a `role`.
145
- class Binding
126
+ # The service account sign JWT request.
127
+ class SignJwtRequest
146
128
  include Google::Apis::Core::Hashable
147
129
 
148
- # Specifies the identities requesting access for a Cloud Platform resource.
149
- # `members` can have the following values:
150
- # * `allUsers`: A special identifier that represents anyone who is
151
- # on the internet; with or without a Google account.
152
- # * `allAuthenticatedUsers`: A special identifier that represents anyone
153
- # who is authenticated with a Google account or a service account.
154
- # * `user:`emailid``: An email address that represents a specific Google
155
- # account. For example, `alice@gmail.com` or `joe@example.com`.
156
- # * `serviceAccount:`emailid``: An email address that represents a service
157
- # account. For example, `my-other-app@appspot.gserviceaccount.com`.
158
- # * `group:`emailid``: An email address that represents a Google group.
159
- # For example, `admins@example.com`.
160
- # * `domain:`domain``: A Google Apps domain name that represents all the
161
- # users of that domain. For example, `google.com` or `example.com`.
162
- # Corresponds to the JSON property `members`
163
- # @return [Array<String>]
164
- attr_accessor :members
165
-
166
- # Role that is assigned to `members`.
167
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
168
- # Required
169
- # Corresponds to the JSON property `role`
130
+ # The JWT payload to sign, a JSON JWT Claim set.
131
+ # Corresponds to the JSON property `payload`
170
132
  # @return [String]
171
- attr_accessor :role
133
+ attr_accessor :payload
172
134
 
173
135
  def initialize(**args)
174
136
  update!(**args)
@@ -176,22 +138,64 @@ module Google
176
138
 
177
139
  # Update properties of this object
178
140
  def update!(**args)
179
- @members = args[:members] if args.key?(:members)
180
- @role = args[:role] if args.key?(:role)
141
+ @payload = args[:payload] if args.key?(:payload)
181
142
  end
182
143
  end
183
144
 
184
- # The grantable role query request.
185
- class QueryGrantableRolesRequest
145
+ # Defines an Identity and Access Management (IAM) policy. It is used to
146
+ # specify access control policies for Cloud Platform resources.
147
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
148
+ # `members` to a `role`, where the members can be user accounts, Google groups,
149
+ # Google domains, and service accounts. A `role` is a named list of permissions
150
+ # defined by IAM.
151
+ # **Example**
152
+ # `
153
+ # "bindings": [
154
+ # `
155
+ # "role": "roles/owner",
156
+ # "members": [
157
+ # "user:mike@example.com",
158
+ # "group:admins@example.com",
159
+ # "domain:google.com",
160
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
161
+ # ]
162
+ # `,
163
+ # `
164
+ # "role": "roles/viewer",
165
+ # "members": ["user:sean@example.com"]
166
+ # `
167
+ # ]
168
+ # `
169
+ # For a description of IAM and its features, see the
170
+ # [IAM developer's guide](https://cloud.google.com/iam).
171
+ class Policy
186
172
  include Google::Apis::Core::Hashable
187
173
 
188
- # Required. The full resource name to query from the list of grantable roles.
189
- # The name follows the Google Cloud Platform resource format.
190
- # For example, a Cloud Platform project with id `my-project` will be named
191
- # `//cloudresourcemanager.googleapis.com/projects/my-project`.
192
- # Corresponds to the JSON property `fullResourceName`
174
+ # `etag` is used for optimistic concurrency control as a way to help
175
+ # prevent simultaneous updates of a policy from overwriting each other.
176
+ # It is strongly suggested that systems make use of the `etag` in the
177
+ # read-modify-write cycle to perform policy updates in order to avoid race
178
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
179
+ # systems are expected to put that etag in the request to `setIamPolicy` to
180
+ # ensure that their change will be applied to the same version of the policy.
181
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
182
+ # policy is overwritten blindly.
183
+ # Corresponds to the JSON property `etag`
184
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
193
185
  # @return [String]
194
- attr_accessor :full_resource_name
186
+ attr_accessor :etag
187
+
188
+ # Version of the `Policy`. The default version is 0.
189
+ # Corresponds to the JSON property `version`
190
+ # @return [Fixnum]
191
+ attr_accessor :version
192
+
193
+ # Associates a list of `members` to a `role`.
194
+ # Multiple `bindings` must not be specified for the same `role`.
195
+ # `bindings` with no members will result in an error.
196
+ # Corresponds to the JSON property `bindings`
197
+ # @return [Array<Google::Apis::IamV1::Binding>]
198
+ attr_accessor :bindings
195
199
 
196
200
  def initialize(**args)
197
201
  update!(**args)
@@ -199,90 +203,57 @@ module Google
199
203
 
200
204
  # Update properties of this object
201
205
  def update!(**args)
202
- @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
206
+ @etag = args[:etag] if args.key?(:etag)
207
+ @version = args[:version] if args.key?(:version)
208
+ @bindings = args[:bindings] if args.key?(:bindings)
203
209
  end
204
210
  end
205
211
 
206
- # A generic empty message that you can re-use to avoid defining duplicated
207
- # empty messages in your APIs. A typical example is to use it as the request
208
- # or the response type of an API method. For instance:
209
- # service Foo `
210
- # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
211
- # `
212
- # The JSON representation for `Empty` is empty JSON object ````.
213
- class Empty
212
+ # Audit log information specific to Cloud IAM. This message is serialized
213
+ # as an `Any` type in the `ServiceData` message of an
214
+ # `AuditLog` message.
215
+ class AuditData
214
216
  include Google::Apis::Core::Hashable
215
217
 
218
+ # The difference delta between two policies.
219
+ # Corresponds to the JSON property `policyDelta`
220
+ # @return [Google::Apis::IamV1::PolicyDelta]
221
+ attr_accessor :policy_delta
222
+
216
223
  def initialize(**args)
217
224
  update!(**args)
218
225
  end
219
226
 
220
227
  # Update properties of this object
221
228
  def update!(**args)
229
+ @policy_delta = args[:policy_delta] if args.key?(:policy_delta)
222
230
  end
223
231
  end
224
232
 
225
- # A service account in the Identity and Access Management API.
226
- # To create a service account, specify the `project_id` and the `account_id`
227
- # for the account. The `account_id` is unique within the project, and is used
228
- # to generate the service account email address and a stable
229
- # `unique_id`.
230
- # If the account already exists, the account's resource name is returned
231
- # in util::Status's ResourceInfo.resource_name in the format of
232
- # projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`. The caller can
233
- # use the name in other methods to access the account.
234
- # All other methods can identify the service account using the format
235
- # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
236
- # Using `-` as a wildcard for the project will infer the project from
237
- # the account. The `account` value can be the `email` address or the
238
- # `unique_id` of the service account.
239
- class ServiceAccount
233
+ # One delta entry for Binding. Each individual change (only one member in each
234
+ # entry) to a binding will be a separate entry.
235
+ class BindingDelta
240
236
  include Google::Apis::Core::Hashable
241
237
 
242
- # @OutputOnly The id of the project that owns the service account.
243
- # Corresponds to the JSON property `projectId`
244
- # @return [String]
245
- attr_accessor :project_id
246
-
247
- # @OutputOnly. The OAuth2 client id for the service account.
248
- # This is used in conjunction with the OAuth2 clientconfig API to make
249
- # three legged OAuth2 (3LO) flows to access the data of Google users.
250
- # Corresponds to the JSON property `oauth2ClientId`
251
- # @return [String]
252
- attr_accessor :oauth2_client_id
253
-
254
- # @OutputOnly The unique and stable id of the service account.
255
- # Corresponds to the JSON property `uniqueId`
256
- # @return [String]
257
- attr_accessor :unique_id
258
-
259
- # Optional. A user-specified description of the service account. Must be
260
- # fewer than 100 UTF-8 bytes.
261
- # Corresponds to the JSON property `displayName`
262
- # @return [String]
263
- attr_accessor :display_name
264
-
265
- # Used to perform a consistent read-modify-write.
266
- # Corresponds to the JSON property `etag`
267
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
238
+ # Role that is assigned to `members`.
239
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
240
+ # Required
241
+ # Corresponds to the JSON property `role`
268
242
  # @return [String]
269
- attr_accessor :etag
243
+ attr_accessor :role
270
244
 
271
- # @OutputOnly The email address of the service account.
272
- # Corresponds to the JSON property `email`
245
+ # The action that was performed on a Binding.
246
+ # Required
247
+ # Corresponds to the JSON property `action`
273
248
  # @return [String]
274
- attr_accessor :email
249
+ attr_accessor :action
275
250
 
276
- # The resource name of the service account in the following format:
277
- # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
278
- # Requests using `-` as a wildcard for the project will infer the project
279
- # from the `account` and the `account` value can be the `email` address or
280
- # the `unique_id` of the service account.
281
- # In responses the resource name will always be in the format
282
- # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
283
- # Corresponds to the JSON property `name`
251
+ # A single identity requesting access for a Cloud Platform resource.
252
+ # Follows the same format of Binding.members.
253
+ # Required
254
+ # Corresponds to the JSON property `member`
284
255
  # @return [String]
285
- attr_accessor :name
256
+ attr_accessor :member
286
257
 
287
258
  def initialize(**args)
288
259
  update!(**args)
@@ -290,24 +261,20 @@ module Google
290
261
 
291
262
  # Update properties of this object
292
263
  def update!(**args)
293
- @project_id = args[:project_id] if args.key?(:project_id)
294
- @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id)
295
- @unique_id = args[:unique_id] if args.key?(:unique_id)
296
- @display_name = args[:display_name] if args.key?(:display_name)
297
- @etag = args[:etag] if args.key?(:etag)
298
- @email = args[:email] if args.key?(:email)
299
- @name = args[:name] if args.key?(:name)
264
+ @role = args[:role] if args.key?(:role)
265
+ @action = args[:action] if args.key?(:action)
266
+ @member = args[:member] if args.key?(:member)
300
267
  end
301
268
  end
302
269
 
303
- # The service account keys list response.
304
- class ListServiceAccountKeysResponse
270
+ # The difference delta between two policies.
271
+ class PolicyDelta
305
272
  include Google::Apis::Core::Hashable
306
273
 
307
- # The public keys for the service account.
308
- # Corresponds to the JSON property `keys`
309
- # @return [Array<Google::Apis::IamV1::ServiceAccountKey>]
310
- attr_accessor :keys
274
+ # The delta for Bindings between two policies.
275
+ # Corresponds to the JSON property `bindingDeltas`
276
+ # @return [Array<Google::Apis::IamV1::BindingDelta>]
277
+ attr_accessor :binding_deltas
311
278
 
312
279
  def initialize(**args)
313
280
  update!(**args)
@@ -315,19 +282,25 @@ module Google
315
282
 
316
283
  # Update properties of this object
317
284
  def update!(**args)
318
- @keys = args[:keys] if args.key?(:keys)
285
+ @binding_deltas = args[:binding_deltas] if args.key?(:binding_deltas)
319
286
  end
320
287
  end
321
288
 
322
- # Response message for `TestIamPermissions` method.
323
- class TestIamPermissionsResponse
289
+ # The service account list response.
290
+ class ListServiceAccountsResponse
324
291
  include Google::Apis::Core::Hashable
325
292
 
326
- # A subset of `TestPermissionsRequest.permissions` that the caller is
327
- # allowed.
328
- # Corresponds to the JSON property `permissions`
329
- # @return [Array<String>]
330
- attr_accessor :permissions
293
+ # To retrieve the next page of results, set
294
+ # ListServiceAccountsRequest.page_token
295
+ # to this value.
296
+ # Corresponds to the JSON property `nextPageToken`
297
+ # @return [String]
298
+ attr_accessor :next_page_token
299
+
300
+ # The list of matching service accounts.
301
+ # Corresponds to the JSON property `accounts`
302
+ # @return [Array<Google::Apis::IamV1::ServiceAccount>]
303
+ attr_accessor :accounts
331
304
 
332
305
  def initialize(**args)
333
306
  update!(**args)
@@ -335,67 +308,40 @@ module Google
335
308
 
336
309
  # Update properties of this object
337
310
  def update!(**args)
338
- @permissions = args[:permissions] if args.key?(:permissions)
311
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
312
+ @accounts = args[:accounts] if args.key?(:accounts)
339
313
  end
340
314
  end
341
315
 
342
- # Represents a service account key.
343
- # A service account has two sets of key-pairs: user-managed, and
344
- # system-managed.
345
- # User-managed key-pairs can be created and deleted by users. Users are
346
- # responsible for rotating these keys periodically to ensure security of
347
- # their service accounts. Users retain the private key of these key-pairs,
348
- # and Google retains ONLY the public key.
349
- # System-managed key-pairs are managed automatically by Google, and rotated
350
- # daily without user intervention. The private key never leaves Google's
351
- # servers to maximize security.
352
- # Public keys for all service accounts are also published at the OAuth2
353
- # Service Account API.
354
- class ServiceAccountKey
316
+ # The service account create request.
317
+ class CreateServiceAccountRequest
355
318
  include Google::Apis::Core::Hashable
356
319
 
357
- # The private key data. Only provided in `CreateServiceAccountKey`
358
- # responses.
359
- # Corresponds to the JSON property `privateKeyData`
360
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
361
- # @return [String]
362
- attr_accessor :private_key_data
363
-
364
- # The public key data. Only provided in `GetServiceAccountKey` responses.
365
- # Corresponds to the JSON property `publicKeyData`
366
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
367
- # @return [String]
368
- attr_accessor :public_key_data
369
-
370
- # The resource name of the service account key in the following format
371
- # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`/keys/`key``.
372
- # Corresponds to the JSON property `name`
373
- # @return [String]
374
- attr_accessor :name
375
-
376
- # The key can be used before this timestamp.
377
- # Corresponds to the JSON property `validBeforeTime`
378
- # @return [String]
379
- attr_accessor :valid_before_time
380
-
381
- # Specifies the algorithm (and possibly key size) for the key.
382
- # Corresponds to the JSON property `keyAlgorithm`
383
- # @return [String]
384
- attr_accessor :key_algorithm
385
-
386
- # The key can be used after this timestamp.
387
- # Corresponds to the JSON property `validAfterTime`
320
+ # Required. The account id that is used to generate the service account
321
+ # email address and a stable unique id. It is unique within a project,
322
+ # must be 6-30 characters long, and match the regular expression
323
+ # `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
324
+ # Corresponds to the JSON property `accountId`
388
325
  # @return [String]
389
- attr_accessor :valid_after_time
326
+ attr_accessor :account_id
390
327
 
391
- # The output format for the private key.
392
- # Only provided in `CreateServiceAccountKey` responses, not
393
- # in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
394
- # Google never exposes system-managed private keys, and never retains
395
- # user-managed private keys.
396
- # Corresponds to the JSON property `privateKeyType`
397
- # @return [String]
398
- attr_accessor :private_key_type
328
+ # A service account in the Identity and Access Management API.
329
+ # To create a service account, specify the `project_id` and the `account_id`
330
+ # for the account. The `account_id` is unique within the project, and is used
331
+ # to generate the service account email address and a stable
332
+ # `unique_id`.
333
+ # If the account already exists, the account's resource name is returned
334
+ # in util::Status's ResourceInfo.resource_name in the format of
335
+ # projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`. The caller can
336
+ # use the name in other methods to access the account.
337
+ # All other methods can identify the service account using the format
338
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
339
+ # Using `-` as a wildcard for the project will infer the project from
340
+ # the account. The `account` value can be the `email` address or the
341
+ # `unique_id` of the service account.
342
+ # Corresponds to the JSON property `serviceAccount`
343
+ # @return [Google::Apis::IamV1::ServiceAccount]
344
+ attr_accessor :service_account
399
345
 
400
346
  def initialize(**args)
401
347
  update!(**args)
@@ -403,32 +349,19 @@ module Google
403
349
 
404
350
  # Update properties of this object
405
351
  def update!(**args)
406
- @private_key_data = args[:private_key_data] if args.key?(:private_key_data)
407
- @public_key_data = args[:public_key_data] if args.key?(:public_key_data)
408
- @name = args[:name] if args.key?(:name)
409
- @valid_before_time = args[:valid_before_time] if args.key?(:valid_before_time)
410
- @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
411
- @valid_after_time = args[:valid_after_time] if args.key?(:valid_after_time)
412
- @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
352
+ @account_id = args[:account_id] if args.key?(:account_id)
353
+ @service_account = args[:service_account] if args.key?(:service_account)
413
354
  end
414
355
  end
415
356
 
416
- # The service account key create request.
417
- class CreateServiceAccountKeyRequest
357
+ # The grantable role query response.
358
+ class QueryGrantableRolesResponse
418
359
  include Google::Apis::Core::Hashable
419
360
 
420
- # Which type of key and algorithm to use for the key.
421
- # The default is currently a 2K RSA key. However this may change in the
422
- # future.
423
- # Corresponds to the JSON property `keyAlgorithm`
424
- # @return [String]
425
- attr_accessor :key_algorithm
426
-
427
- # The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the
428
- # default output format.
429
- # Corresponds to the JSON property `privateKeyType`
430
- # @return [String]
431
- attr_accessor :private_key_type
361
+ # The list of matching roles.
362
+ # Corresponds to the JSON property `roles`
363
+ # @return [Array<Google::Apis::IamV1::Role>]
364
+ attr_accessor :roles
432
365
 
433
366
  def initialize(**args)
434
367
  update!(**args)
@@ -436,22 +369,19 @@ module Google
436
369
 
437
370
  # Update properties of this object
438
371
  def update!(**args)
439
- @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
440
- @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
372
+ @roles = args[:roles] if args.key?(:roles)
441
373
  end
442
374
  end
443
375
 
444
- # Request message for `TestIamPermissions` method.
445
- class TestIamPermissionsRequest
376
+ # The service account sign blob request.
377
+ class SignBlobRequest
446
378
  include Google::Apis::Core::Hashable
447
379
 
448
- # The set of permissions to check for the `resource`. Permissions with
449
- # wildcards (such as '*' or 'storage.*') are not allowed. For more
450
- # information see
451
- # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
452
- # Corresponds to the JSON property `permissions`
453
- # @return [Array<String>]
454
- attr_accessor :permissions
380
+ # The bytes to sign.
381
+ # Corresponds to the JSON property `bytesToSign`
382
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
383
+ # @return [String]
384
+ attr_accessor :bytes_to_sign
455
385
 
456
386
  def initialize(**args)
457
387
  update!(**args)
@@ -459,24 +389,33 @@ module Google
459
389
 
460
390
  # Update properties of this object
461
391
  def update!(**args)
462
- @permissions = args[:permissions] if args.key?(:permissions)
392
+ @bytes_to_sign = args[:bytes_to_sign] if args.key?(:bytes_to_sign)
463
393
  end
464
394
  end
465
395
 
466
- # The service account sign blob response.
467
- class SignBlobResponse
396
+ # A role in the Identity and Access Management API.
397
+ class Role
468
398
  include Google::Apis::Core::Hashable
469
399
 
470
- # The signed blob.
471
- # Corresponds to the JSON property `signature`
472
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
400
+ # The name of the role.
401
+ # When Role is used in CreateRole, the role name must not be set.
402
+ # When Role is used in output and other input such as UpdateRole, the role
403
+ # name is the complete path, e.g., roles/logging.viewer for curated roles
404
+ # and organizations/`ORGANIZATION_ID`/roles/logging.viewer for custom roles.
405
+ # Corresponds to the JSON property `name`
473
406
  # @return [String]
474
- attr_accessor :signature
407
+ attr_accessor :name
475
408
 
476
- # The id of the key used to sign the blob.
477
- # Corresponds to the JSON property `keyId`
409
+ # Optional. A human-readable description for the role.
410
+ # Corresponds to the JSON property `description`
478
411
  # @return [String]
479
- attr_accessor :key_id
412
+ attr_accessor :description
413
+
414
+ # Optional. A human-readable title for the role. Typically this
415
+ # is limited to 100 UTF-8 bytes.
416
+ # Corresponds to the JSON property `title`
417
+ # @return [String]
418
+ attr_accessor :title
480
419
 
481
420
  def initialize(**args)
482
421
  update!(**args)
@@ -484,24 +423,45 @@ module Google
484
423
 
485
424
  # Update properties of this object
486
425
  def update!(**args)
487
- @signature = args[:signature] if args.key?(:signature)
488
- @key_id = args[:key_id] if args.key?(:key_id)
426
+ @name = args[:name] if args.key?(:name)
427
+ @description = args[:description] if args.key?(:description)
428
+ @title = args[:title] if args.key?(:title)
489
429
  end
490
430
  end
491
431
 
492
- # The service account sign JWT response.
493
- class SignJwtResponse
432
+ # Request message for `SetIamPolicy` method.
433
+ class SetIamPolicyRequest
494
434
  include Google::Apis::Core::Hashable
495
435
 
496
- # The id of the key used to sign the JWT.
497
- # Corresponds to the JSON property `keyId`
498
- # @return [String]
499
- attr_accessor :key_id
500
-
501
- # The signed JWT.
502
- # Corresponds to the JSON property `signedJwt`
503
- # @return [String]
504
- attr_accessor :signed_jwt
436
+ # Defines an Identity and Access Management (IAM) policy. It is used to
437
+ # specify access control policies for Cloud Platform resources.
438
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
439
+ # `members` to a `role`, where the members can be user accounts, Google groups,
440
+ # Google domains, and service accounts. A `role` is a named list of permissions
441
+ # defined by IAM.
442
+ # **Example**
443
+ # `
444
+ # "bindings": [
445
+ # `
446
+ # "role": "roles/owner",
447
+ # "members": [
448
+ # "user:mike@example.com",
449
+ # "group:admins@example.com",
450
+ # "domain:google.com",
451
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
452
+ # ]
453
+ # `,
454
+ # `
455
+ # "role": "roles/viewer",
456
+ # "members": ["user:sean@example.com"]
457
+ # `
458
+ # ]
459
+ # `
460
+ # For a description of IAM and its features, see the
461
+ # [IAM developer's guide](https://cloud.google.com/iam).
462
+ # Corresponds to the JSON property `policy`
463
+ # @return [Google::Apis::IamV1::Policy]
464
+ attr_accessor :policy
505
465
 
506
466
  def initialize(**args)
507
467
  update!(**args)
@@ -509,65 +469,38 @@ module Google
509
469
 
510
470
  # Update properties of this object
511
471
  def update!(**args)
512
- @key_id = args[:key_id] if args.key?(:key_id)
513
- @signed_jwt = args[:signed_jwt] if args.key?(:signed_jwt)
472
+ @policy = args[:policy] if args.key?(:policy)
514
473
  end
515
474
  end
516
475
 
517
- # Defines an Identity and Access Management (IAM) policy. It is used to
518
- # specify access control policies for Cloud Platform resources.
519
- # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
520
- # `members` to a `role`, where the members can be user accounts, Google groups,
521
- # Google domains, and service accounts. A `role` is a named list of permissions
522
- # defined by IAM.
523
- # **Example**
524
- # `
525
- # "bindings": [
526
- # `
527
- # "role": "roles/owner",
528
- # "members": [
529
- # "user:mike@example.com",
530
- # "group:admins@example.com",
531
- # "domain:google.com",
532
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
533
- # ]
534
- # `,
535
- # `
536
- # "role": "roles/viewer",
537
- # "members": ["user:sean@example.com"]
538
- # `
539
- # ]
540
- # `
541
- # For a description of IAM and its features, see the
542
- # [IAM developer's guide](https://cloud.google.com/iam).
543
- class Policy
476
+ # Associates `members` with a `role`.
477
+ class Binding
544
478
  include Google::Apis::Core::Hashable
545
479
 
546
- # Associates a list of `members` to a `role`.
547
- # Multiple `bindings` must not be specified for the same `role`.
548
- # `bindings` with no members will result in an error.
549
- # Corresponds to the JSON property `bindings`
550
- # @return [Array<Google::Apis::IamV1::Binding>]
551
- attr_accessor :bindings
480
+ # Specifies the identities requesting access for a Cloud Platform resource.
481
+ # `members` can have the following values:
482
+ # * `allUsers`: A special identifier that represents anyone who is
483
+ # on the internet; with or without a Google account.
484
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
485
+ # who is authenticated with a Google account or a service account.
486
+ # * `user:`emailid``: An email address that represents a specific Google
487
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
488
+ # * `serviceAccount:`emailid``: An email address that represents a service
489
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
490
+ # * `group:`emailid``: An email address that represents a Google group.
491
+ # For example, `admins@example.com`.
492
+ # * `domain:`domain``: A Google Apps domain name that represents all the
493
+ # users of that domain. For example, `google.com` or `example.com`.
494
+ # Corresponds to the JSON property `members`
495
+ # @return [Array<String>]
496
+ attr_accessor :members
552
497
 
553
- # `etag` is used for optimistic concurrency control as a way to help
554
- # prevent simultaneous updates of a policy from overwriting each other.
555
- # It is strongly suggested that systems make use of the `etag` in the
556
- # read-modify-write cycle to perform policy updates in order to avoid race
557
- # conditions: An `etag` is returned in the response to `getIamPolicy`, and
558
- # systems are expected to put that etag in the request to `setIamPolicy` to
559
- # ensure that their change will be applied to the same version of the policy.
560
- # If no `etag` is provided in the call to `setIamPolicy`, then the existing
561
- # policy is overwritten blindly.
562
- # Corresponds to the JSON property `etag`
563
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
498
+ # Role that is assigned to `members`.
499
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
500
+ # Required
501
+ # Corresponds to the JSON property `role`
564
502
  # @return [String]
565
- attr_accessor :etag
566
-
567
- # Version of the `Policy`. The default version is 0.
568
- # Corresponds to the JSON property `version`
569
- # @return [Fixnum]
570
- attr_accessor :version
503
+ attr_accessor :role
571
504
 
572
505
  def initialize(**args)
573
506
  update!(**args)
@@ -575,20 +508,22 @@ module Google
575
508
 
576
509
  # Update properties of this object
577
510
  def update!(**args)
578
- @bindings = args[:bindings] if args.key?(:bindings)
579
- @etag = args[:etag] if args.key?(:etag)
580
- @version = args[:version] if args.key?(:version)
511
+ @members = args[:members] if args.key?(:members)
512
+ @role = args[:role] if args.key?(:role)
581
513
  end
582
514
  end
583
515
 
584
- # The service account sign JWT request.
585
- class SignJwtRequest
516
+ # The grantable role query request.
517
+ class QueryGrantableRolesRequest
586
518
  include Google::Apis::Core::Hashable
587
519
 
588
- # The JWT payload to sign, a JSON JWT Claim set.
589
- # Corresponds to the JSON property `payload`
520
+ # Required. The full resource name to query from the list of grantable roles.
521
+ # The name follows the Google Cloud Platform resource format.
522
+ # For example, a Cloud Platform project with id `my-project` will be named
523
+ # `//cloudresourcemanager.googleapis.com/projects/my-project`.
524
+ # Corresponds to the JSON property `fullResourceName`
590
525
  # @return [String]
591
- attr_accessor :payload
526
+ attr_accessor :full_resource_name
592
527
 
593
528
  def initialize(**args)
594
529
  update!(**args)
@@ -596,55 +531,90 @@ module Google
596
531
 
597
532
  # Update properties of this object
598
533
  def update!(**args)
599
- @payload = args[:payload] if args.key?(:payload)
534
+ @full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
600
535
  end
601
536
  end
602
537
 
603
- # Audit log information specific to Cloud IAM. This message is serialized
604
- # as an `Any` type in the `ServiceData` message of an
605
- # `AuditLog` message.
606
- class AuditData
538
+ # A generic empty message that you can re-use to avoid defining duplicated
539
+ # empty messages in your APIs. A typical example is to use it as the request
540
+ # or the response type of an API method. For instance:
541
+ # service Foo `
542
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
543
+ # `
544
+ # The JSON representation for `Empty` is empty JSON object ````.
545
+ class Empty
607
546
  include Google::Apis::Core::Hashable
608
547
 
609
- # The difference delta between two policies.
610
- # Corresponds to the JSON property `policyDelta`
611
- # @return [Google::Apis::IamV1::PolicyDelta]
612
- attr_accessor :policy_delta
613
-
614
548
  def initialize(**args)
615
549
  update!(**args)
616
550
  end
617
551
 
618
552
  # Update properties of this object
619
553
  def update!(**args)
620
- @policy_delta = args[:policy_delta] if args.key?(:policy_delta)
621
554
  end
622
555
  end
623
556
 
624
- # One delta entry for Binding. Each individual change (only one member in each
625
- # entry) to a binding will be a separate entry.
626
- class BindingDelta
557
+ # A service account in the Identity and Access Management API.
558
+ # To create a service account, specify the `project_id` and the `account_id`
559
+ # for the account. The `account_id` is unique within the project, and is used
560
+ # to generate the service account email address and a stable
561
+ # `unique_id`.
562
+ # If the account already exists, the account's resource name is returned
563
+ # in util::Status's ResourceInfo.resource_name in the format of
564
+ # projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`. The caller can
565
+ # use the name in other methods to access the account.
566
+ # All other methods can identify the service account using the format
567
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
568
+ # Using `-` as a wildcard for the project will infer the project from
569
+ # the account. The `account` value can be the `email` address or the
570
+ # `unique_id` of the service account.
571
+ class ServiceAccount
627
572
  include Google::Apis::Core::Hashable
628
573
 
629
- # Role that is assigned to `members`.
630
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
631
- # Required
632
- # Corresponds to the JSON property `role`
574
+ # @OutputOnly. The OAuth2 client id for the service account.
575
+ # This is used in conjunction with the OAuth2 clientconfig API to make
576
+ # three legged OAuth2 (3LO) flows to access the data of Google users.
577
+ # Corresponds to the JSON property `oauth2ClientId`
633
578
  # @return [String]
634
- attr_accessor :role
579
+ attr_accessor :oauth2_client_id
635
580
 
636
- # The action that was performed on a Binding.
637
- # Required
638
- # Corresponds to the JSON property `action`
581
+ # @OutputOnly The unique and stable id of the service account.
582
+ # Corresponds to the JSON property `uniqueId`
639
583
  # @return [String]
640
- attr_accessor :action
584
+ attr_accessor :unique_id
641
585
 
642
- # A single identity requesting access for a Cloud Platform resource.
643
- # Follows the same format of Binding.members.
644
- # Required
645
- # Corresponds to the JSON property `member`
586
+ # Optional. A user-specified description of the service account. Must be
587
+ # fewer than 100 UTF-8 bytes.
588
+ # Corresponds to the JSON property `displayName`
646
589
  # @return [String]
647
- attr_accessor :member
590
+ attr_accessor :display_name
591
+
592
+ # Used to perform a consistent read-modify-write.
593
+ # Corresponds to the JSON property `etag`
594
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
595
+ # @return [String]
596
+ attr_accessor :etag
597
+
598
+ # @OutputOnly The email address of the service account.
599
+ # Corresponds to the JSON property `email`
600
+ # @return [String]
601
+ attr_accessor :email
602
+
603
+ # The resource name of the service account in the following format:
604
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
605
+ # Requests using `-` as a wildcard for the project will infer the project
606
+ # from the `account` and the `account` value can be the `email` address or
607
+ # the `unique_id` of the service account.
608
+ # In responses the resource name will always be in the format
609
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
610
+ # Corresponds to the JSON property `name`
611
+ # @return [String]
612
+ attr_accessor :name
613
+
614
+ # @OutputOnly The id of the project that owns the service account.
615
+ # Corresponds to the JSON property `projectId`
616
+ # @return [String]
617
+ attr_accessor :project_id
648
618
 
649
619
  def initialize(**args)
650
620
  update!(**args)
@@ -652,20 +622,24 @@ module Google
652
622
 
653
623
  # Update properties of this object
654
624
  def update!(**args)
655
- @role = args[:role] if args.key?(:role)
656
- @action = args[:action] if args.key?(:action)
657
- @member = args[:member] if args.key?(:member)
625
+ @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id)
626
+ @unique_id = args[:unique_id] if args.key?(:unique_id)
627
+ @display_name = args[:display_name] if args.key?(:display_name)
628
+ @etag = args[:etag] if args.key?(:etag)
629
+ @email = args[:email] if args.key?(:email)
630
+ @name = args[:name] if args.key?(:name)
631
+ @project_id = args[:project_id] if args.key?(:project_id)
658
632
  end
659
633
  end
660
634
 
661
- # The difference delta between two policies.
662
- class PolicyDelta
635
+ # The service account keys list response.
636
+ class ListServiceAccountKeysResponse
663
637
  include Google::Apis::Core::Hashable
664
638
 
665
- # The delta for Bindings between two policies.
666
- # Corresponds to the JSON property `bindingDeltas`
667
- # @return [Array<Google::Apis::IamV1::BindingDelta>]
668
- attr_accessor :binding_deltas
639
+ # The public keys for the service account.
640
+ # Corresponds to the JSON property `keys`
641
+ # @return [Array<Google::Apis::IamV1::ServiceAccountKey>]
642
+ attr_accessor :keys
669
643
 
670
644
  def initialize(**args)
671
645
  update!(**args)
@@ -673,39 +647,19 @@ module Google
673
647
 
674
648
  # Update properties of this object
675
649
  def update!(**args)
676
- @binding_deltas = args[:binding_deltas] if args.key?(:binding_deltas)
650
+ @keys = args[:keys] if args.key?(:keys)
677
651
  end
678
652
  end
679
653
 
680
- # The service account create request.
681
- class CreateServiceAccountRequest
654
+ # Response message for `TestIamPermissions` method.
655
+ class TestIamPermissionsResponse
682
656
  include Google::Apis::Core::Hashable
683
657
 
684
- # A service account in the Identity and Access Management API.
685
- # To create a service account, specify the `project_id` and the `account_id`
686
- # for the account. The `account_id` is unique within the project, and is used
687
- # to generate the service account email address and a stable
688
- # `unique_id`.
689
- # If the account already exists, the account's resource name is returned
690
- # in util::Status's ResourceInfo.resource_name in the format of
691
- # projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`. The caller can
692
- # use the name in other methods to access the account.
693
- # All other methods can identify the service account using the format
694
- # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL``.
695
- # Using `-` as a wildcard for the project will infer the project from
696
- # the account. The `account` value can be the `email` address or the
697
- # `unique_id` of the service account.
698
- # Corresponds to the JSON property `serviceAccount`
699
- # @return [Google::Apis::IamV1::ServiceAccount]
700
- attr_accessor :service_account
701
-
702
- # Required. The account id that is used to generate the service account
703
- # email address and a stable unique id. It is unique within a project,
704
- # must be 6-30 characters long, and match the regular expression
705
- # `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
706
- # Corresponds to the JSON property `accountId`
707
- # @return [String]
708
- attr_accessor :account_id
658
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
659
+ # allowed.
660
+ # Corresponds to the JSON property `permissions`
661
+ # @return [Array<String>]
662
+ attr_accessor :permissions
709
663
 
710
664
  def initialize(**args)
711
665
  update!(**args)
@@ -713,26 +667,67 @@ module Google
713
667
 
714
668
  # Update properties of this object
715
669
  def update!(**args)
716
- @service_account = args[:service_account] if args.key?(:service_account)
717
- @account_id = args[:account_id] if args.key?(:account_id)
670
+ @permissions = args[:permissions] if args.key?(:permissions)
718
671
  end
719
672
  end
720
673
 
721
- # The service account list response.
722
- class ListServiceAccountsResponse
674
+ # Represents a service account key.
675
+ # A service account has two sets of key-pairs: user-managed, and
676
+ # system-managed.
677
+ # User-managed key-pairs can be created and deleted by users. Users are
678
+ # responsible for rotating these keys periodically to ensure security of
679
+ # their service accounts. Users retain the private key of these key-pairs,
680
+ # and Google retains ONLY the public key.
681
+ # System-managed key-pairs are managed automatically by Google, and rotated
682
+ # daily without user intervention. The private key never leaves Google's
683
+ # servers to maximize security.
684
+ # Public keys for all service accounts are also published at the OAuth2
685
+ # Service Account API.
686
+ class ServiceAccountKey
723
687
  include Google::Apis::Core::Hashable
724
688
 
725
- # To retrieve the next page of results, set
726
- # ListServiceAccountsRequest.page_token
727
- # to this value.
728
- # Corresponds to the JSON property `nextPageToken`
689
+ # Specifies the algorithm (and possibly key size) for the key.
690
+ # Corresponds to the JSON property `keyAlgorithm`
729
691
  # @return [String]
730
- attr_accessor :next_page_token
692
+ attr_accessor :key_algorithm
731
693
 
732
- # The list of matching service accounts.
733
- # Corresponds to the JSON property `accounts`
734
- # @return [Array<Google::Apis::IamV1::ServiceAccount>]
735
- attr_accessor :accounts
694
+ # The key can be used after this timestamp.
695
+ # Corresponds to the JSON property `validAfterTime`
696
+ # @return [String]
697
+ attr_accessor :valid_after_time
698
+
699
+ # The output format for the private key.
700
+ # Only provided in `CreateServiceAccountKey` responses, not
701
+ # in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
702
+ # Google never exposes system-managed private keys, and never retains
703
+ # user-managed private keys.
704
+ # Corresponds to the JSON property `privateKeyType`
705
+ # @return [String]
706
+ attr_accessor :private_key_type
707
+
708
+ # The private key data. Only provided in `CreateServiceAccountKey`
709
+ # responses.
710
+ # Corresponds to the JSON property `privateKeyData`
711
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
712
+ # @return [String]
713
+ attr_accessor :private_key_data
714
+
715
+ # The public key data. Only provided in `GetServiceAccountKey` responses.
716
+ # Corresponds to the JSON property `publicKeyData`
717
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
718
+ # @return [String]
719
+ attr_accessor :public_key_data
720
+
721
+ # The resource name of the service account key in the following format
722
+ # `projects/`PROJECT_ID`/serviceAccounts/`SERVICE_ACCOUNT_EMAIL`/keys/`key``.
723
+ # Corresponds to the JSON property `name`
724
+ # @return [String]
725
+ attr_accessor :name
726
+
727
+ # The key can be used before this timestamp.
728
+ # Corresponds to the JSON property `validBeforeTime`
729
+ # @return [String]
730
+ attr_accessor :valid_before_time
736
731
 
737
732
  def initialize(**args)
738
733
  update!(**args)
@@ -740,8 +735,13 @@ module Google
740
735
 
741
736
  # Update properties of this object
742
737
  def update!(**args)
743
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
744
- @accounts = args[:accounts] if args.key?(:accounts)
738
+ @key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
739
+ @valid_after_time = args[:valid_after_time] if args.key?(:valid_after_time)
740
+ @private_key_type = args[:private_key_type] if args.key?(:private_key_type)
741
+ @private_key_data = args[:private_key_data] if args.key?(:private_key_data)
742
+ @public_key_data = args[:public_key_data] if args.key?(:public_key_data)
743
+ @name = args[:name] if args.key?(:name)
744
+ @valid_before_time = args[:valid_before_time] if args.key?(:valid_before_time)
745
745
  end
746
746
  end
747
747
  end