google-api-client 0.10.3 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
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