google-api-client 0.9.8 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +15 -8
  3. data/CHANGELOG.md +84 -0
  4. data/Gemfile +10 -2
  5. data/README.md +10 -2
  6. data/api_names.yaml +37172 -135
  7. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +35 -0
  8. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1200 -0
  9. data/generated/google/apis/adexchangebuyer2_v2beta1/representations.rb +526 -0
  10. data/generated/google/apis/adexchangebuyer2_v2beta1/service.rb +844 -0
  11. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  12. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +310 -28
  13. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +84 -0
  14. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +60 -8
  15. data/generated/google/apis/adexchangeseller_v2_0.rb +2 -3
  16. data/generated/google/apis/adexchangeseller_v2_0/service.rb +1 -2
  17. data/generated/google/apis/admin_directory_v1.rb +1 -1
  18. data/generated/google/apis/admin_directory_v1/classes.rb +206 -0
  19. data/generated/google/apis/admin_directory_v1/representations.rb +63 -0
  20. data/generated/google/apis/admin_directory_v1/service.rb +41 -2
  21. data/generated/google/apis/admin_reports_v1.rb +5 -5
  22. data/generated/google/apis/admin_reports_v1/service.rb +6 -6
  23. data/generated/google/apis/adsense_v1_4.rb +1 -1
  24. data/generated/google/apis/adsense_v1_4/classes.rb +1 -1
  25. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  26. data/generated/google/apis/adsensehost_v4_1/classes.rb +1 -2
  27. data/generated/google/apis/analytics_v3.rb +1 -1
  28. data/generated/google/apis/analytics_v3/classes.rb +379 -3
  29. data/generated/google/apis/analytics_v3/representations.rb +136 -0
  30. data/generated/google/apis/analytics_v3/service.rb +256 -0
  31. data/generated/google/apis/analyticsreporting_v4.rb +1 -1
  32. data/generated/google/apis/analyticsreporting_v4/classes.rb +858 -823
  33. data/generated/google/apis/analyticsreporting_v4/representations.rb +194 -193
  34. data/generated/google/apis/analyticsreporting_v4/service.rb +4 -4
  35. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  36. data/generated/google/apis/androidenterprise_v1/classes.rb +913 -220
  37. data/generated/google/apis/androidenterprise_v1/representations.rb +337 -30
  38. data/generated/google/apis/androidenterprise_v1/service.rb +1163 -561
  39. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  40. data/generated/google/apis/androidpublisher_v2/classes.rb +230 -8
  41. data/generated/google/apis/androidpublisher_v2/representations.rb +90 -0
  42. data/generated/google/apis/androidpublisher_v2/service.rb +116 -3
  43. data/generated/google/apis/appengine_v1beta5.rb +7 -1
  44. data/generated/google/apis/appengine_v1beta5/classes.rb +810 -395
  45. data/generated/google/apis/appengine_v1beta5/representations.rb +188 -22
  46. data/generated/google/apis/appengine_v1beta5/service.rb +343 -39
  47. data/generated/google/apis/appsactivity_v1.rb +3 -3
  48. data/generated/google/apis/appsactivity_v1/classes.rb +7 -0
  49. data/generated/google/apis/appsactivity_v1/representations.rb +1 -0
  50. data/generated/google/apis/appsactivity_v1/service.rb +1 -1
  51. data/generated/google/apis/appstate_v1.rb +1 -1
  52. data/generated/google/apis/bigquery_v2.rb +1 -1
  53. data/generated/google/apis/bigquery_v2/classes.rb +360 -38
  54. data/generated/google/apis/bigquery_v2/representations.rb +106 -0
  55. data/generated/google/apis/bigquery_v2/service.rb +18 -4
  56. data/generated/google/apis/books_v1.rb +2 -2
  57. data/generated/google/apis/books_v1/classes.rb +83 -0
  58. data/generated/google/apis/books_v1/representations.rb +35 -0
  59. data/generated/google/apis/books_v1/service.rb +7 -3
  60. data/generated/google/apis/calendar_v3.rb +1 -1
  61. data/generated/google/apis/calendar_v3/classes.rb +208 -5
  62. data/generated/google/apis/calendar_v3/representations.rb +97 -0
  63. data/generated/google/apis/civicinfo_v2.rb +3 -2
  64. data/generated/google/apis/civicinfo_v2/classes.rb +377 -5
  65. data/generated/google/apis/civicinfo_v2/representations.rb +149 -0
  66. data/generated/google/apis/civicinfo_v2/service.rb +27 -6
  67. data/generated/google/apis/classroom_v1.rb +22 -25
  68. data/generated/google/apis/classroom_v1/classes.rb +998 -761
  69. data/generated/google/apis/classroom_v1/representations.rb +263 -198
  70. data/generated/google/apis/classroom_v1/service.rb +1349 -672
  71. data/generated/google/apis/cloudbilling_v1.rb +3 -3
  72. data/generated/google/apis/cloudbilling_v1/classes.rb +76 -75
  73. data/generated/google/apis/cloudbilling_v1/representations.rb +17 -17
  74. data/generated/google/apis/cloudbilling_v1/service.rb +117 -110
  75. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  76. data/generated/google/apis/cloudbuild_v1/classes.rb +661 -264
  77. data/generated/google/apis/cloudbuild_v1/representations.rb +198 -48
  78. data/generated/google/apis/cloudbuild_v1/service.rb +259 -44
  79. data/generated/google/apis/clouddebugger_v2.rb +5 -8
  80. data/generated/google/apis/clouddebugger_v2/classes.rb +686 -616
  81. data/generated/google/apis/clouddebugger_v2/representations.rb +151 -151
  82. data/generated/google/apis/clouddebugger_v2/service.rb +165 -159
  83. data/generated/google/apis/cloudkms_v1.rb +35 -0
  84. data/generated/google/apis/cloudkms_v1/classes.rb +1022 -0
  85. data/generated/google/apis/cloudkms_v1/representations.rb +448 -0
  86. data/generated/google/apis/cloudkms_v1/service.rb +933 -0
  87. data/generated/google/apis/cloudkms_v1beta1.rb +35 -0
  88. data/generated/google/apis/cloudkms_v1beta1/classes.rb +1039 -0
  89. data/generated/google/apis/cloudkms_v1beta1/representations.rb +448 -0
  90. data/generated/google/apis/cloudkms_v1beta1/service.rb +933 -0
  91. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  92. data/generated/google/apis/cloudresourcemanager_v1.rb +4 -4
  93. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +1529 -167
  94. data/generated/google/apis/cloudresourcemanager_v1/representations.rb +491 -26
  95. data/generated/google/apis/cloudresourcemanager_v1/service.rb +1593 -135
  96. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +1 -1
  97. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +1155 -235
  98. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +344 -44
  99. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +702 -310
  100. data/generated/google/apis/cloudtrace_v1.rb +9 -9
  101. data/generated/google/apis/cloudtrace_v1/classes.rb +98 -92
  102. data/generated/google/apis/cloudtrace_v1/representations.rb +24 -24
  103. data/generated/google/apis/cloudtrace_v1/service.rb +42 -37
  104. data/generated/google/apis/compute_beta.rb +1 -1
  105. data/generated/google/apis/compute_beta/classes.rb +7007 -3648
  106. data/generated/google/apis/compute_beta/representations.rb +1459 -120
  107. data/generated/google/apis/compute_beta/service.rb +7943 -3726
  108. data/generated/google/apis/compute_v1.rb +1 -1
  109. data/generated/google/apis/compute_v1/classes.rb +2567 -370
  110. data/generated/google/apis/compute_v1/representations.rb +855 -0
  111. data/generated/google/apis/compute_v1/service.rb +6388 -2908
  112. data/generated/google/apis/container_v1.rb +1 -1
  113. data/generated/google/apis/container_v1/classes.rb +287 -16
  114. data/generated/google/apis/container_v1/representations.rb +113 -2
  115. data/generated/google/apis/container_v1/service.rb +130 -0
  116. data/generated/google/apis/content_v2.rb +1 -1
  117. data/generated/google/apis/content_v2/classes.rb +778 -10
  118. data/generated/google/apis/content_v2/representations.rb +339 -0
  119. data/generated/google/apis/content_v2/service.rb +364 -49
  120. data/generated/google/apis/dataflow_v1b3.rb +37 -0
  121. data/generated/google/apis/dataflow_v1b3/classes.rb +4941 -0
  122. data/generated/google/apis/dataflow_v1b3/representations.rb +2037 -0
  123. data/generated/google/apis/dataflow_v1b3/service.rb +957 -0
  124. data/generated/google/apis/dataproc_v1.rb +1 -1
  125. data/generated/google/apis/dataproc_v1/classes.rb +1235 -963
  126. data/generated/google/apis/dataproc_v1/representations.rb +299 -225
  127. data/generated/google/apis/dataproc_v1/service.rb +277 -192
  128. data/generated/google/apis/datastore_v1.rb +38 -0
  129. data/generated/google/apis/datastore_v1/classes.rb +1289 -0
  130. data/generated/google/apis/datastore_v1/representations.rb +572 -0
  131. data/generated/google/apis/datastore_v1/service.rb +259 -0
  132. data/generated/google/apis/datastore_v1beta3.rb +38 -0
  133. data/generated/google/apis/datastore_v1beta3/classes.rb +1284 -0
  134. data/generated/google/apis/datastore_v1beta3/representations.rb +572 -0
  135. data/generated/google/apis/datastore_v1beta3/service.rb +259 -0
  136. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  137. data/generated/google/apis/deploymentmanager_v2/classes.rb +436 -3
  138. data/generated/google/apis/deploymentmanager_v2/representations.rb +178 -0
  139. data/generated/google/apis/deploymentmanager_v2/service.rb +226 -61
  140. data/generated/google/apis/dfareporting_v2_5.rb +40 -0
  141. data/generated/google/apis/dfareporting_v2_5/classes.rb +11225 -0
  142. data/generated/google/apis/dfareporting_v2_5/representations.rb +3982 -0
  143. data/generated/google/apis/dfareporting_v2_5/service.rb +8755 -0
  144. data/generated/google/apis/dfareporting_v2_6.rb +40 -0
  145. data/generated/google/apis/dfareporting_v2_6/classes.rb +11586 -0
  146. data/generated/google/apis/dfareporting_v2_6/representations.rb +4119 -0
  147. data/generated/google/apis/dfareporting_v2_6/service.rb +9025 -0
  148. data/generated/google/apis/dfareporting_v2_7.rb +40 -0
  149. data/generated/google/apis/dfareporting_v2_7/classes.rb +11876 -0
  150. data/generated/google/apis/dfareporting_v2_7/representations.rb +4243 -0
  151. data/generated/google/apis/dfareporting_v2_7/service.rb +9095 -0
  152. data/generated/google/apis/dns_v1.rb +1 -1
  153. data/generated/google/apis/dns_v1/classes.rb +1 -1
  154. data/generated/google/apis/dns_v2beta1.rb +43 -0
  155. data/generated/google/apis/dns_v2beta1/classes.rb +915 -0
  156. data/generated/google/apis/dns_v2beta1/representations.rb +368 -0
  157. data/generated/google/apis/dns_v2beta1/service.rb +768 -0
  158. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  159. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +79 -86
  160. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +25 -28
  161. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +10 -8
  162. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  163. data/generated/google/apis/doubleclicksearch_v2/classes.rb +6 -4
  164. data/generated/google/apis/drive_v2.rb +1 -1
  165. data/generated/google/apis/drive_v2/classes.rb +595 -37
  166. data/generated/google/apis/drive_v2/representations.rb +140 -0
  167. data/generated/google/apis/drive_v2/service.rb +406 -40
  168. data/generated/google/apis/drive_v3.rb +1 -1
  169. data/generated/google/apis/drive_v3/classes.rb +507 -40
  170. data/generated/google/apis/drive_v3/representations.rb +105 -0
  171. data/generated/google/apis/drive_v3/service.rb +326 -29
  172. data/generated/google/apis/fitness_v1.rb +38 -2
  173. data/generated/google/apis/fitness_v1/classes.rb +65 -7
  174. data/generated/google/apis/fitness_v1/representations.rb +20 -0
  175. data/generated/google/apis/fitness_v1/service.rb +17 -18
  176. data/generated/google/apis/fusiontables_v2.rb +1 -1
  177. data/generated/google/apis/fusiontables_v2/classes.rb +4 -3
  178. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  179. data/generated/google/apis/games_management_v1management.rb +1 -1
  180. data/generated/google/apis/games_v1.rb +1 -1
  181. data/generated/google/apis/genomics_v1.rb +10 -12
  182. data/generated/google/apis/genomics_v1/classes.rb +2276 -2165
  183. data/generated/google/apis/genomics_v1/representations.rb +468 -496
  184. data/generated/google/apis/genomics_v1/service.rb +978 -882
  185. data/generated/google/apis/gmail_v1.rb +11 -2
  186. data/generated/google/apis/gmail_v1/classes.rb +655 -5
  187. data/generated/google/apis/gmail_v1/representations.rb +261 -0
  188. data/generated/google/apis/gmail_v1/service.rb +1211 -48
  189. data/generated/google/apis/groupssettings_v1.rb +2 -2
  190. data/generated/google/apis/groupssettings_v1/classes.rb +12 -0
  191. data/generated/google/apis/groupssettings_v1/representations.rb +2 -0
  192. data/generated/google/apis/iam_v1.rb +2 -2
  193. data/generated/google/apis/iam_v1/classes.rb +446 -368
  194. data/generated/google/apis/iam_v1/representations.rb +109 -91
  195. data/generated/google/apis/iam_v1/service.rb +249 -162
  196. data/generated/google/apis/identitytoolkit_v3.rb +7 -1
  197. data/generated/google/apis/identitytoolkit_v3/classes.rb +254 -2
  198. data/generated/google/apis/identitytoolkit_v3/representations.rb +38 -0
  199. data/generated/google/apis/kgsearch_v1.rb +2 -3
  200. data/generated/google/apis/kgsearch_v1/classes.rb +13 -13
  201. data/generated/google/apis/kgsearch_v1/representations.rb +2 -2
  202. data/generated/google/apis/kgsearch_v1/service.rb +26 -24
  203. data/generated/google/apis/language_v1beta1.rb +36 -0
  204. data/generated/google/apis/language_v1beta1/classes.rb +757 -0
  205. data/generated/google/apis/language_v1beta1/representations.rb +339 -0
  206. data/generated/google/apis/language_v1beta1/service.rb +185 -0
  207. data/generated/google/apis/licensing_v1.rb +3 -3
  208. data/generated/google/apis/licensing_v1/classes.rb +14 -2
  209. data/generated/google/apis/licensing_v1/representations.rb +2 -0
  210. data/generated/google/apis/licensing_v1/service.rb +1 -1
  211. data/generated/google/apis/logging_v2beta1.rb +6 -6
  212. data/generated/google/apis/logging_v2beta1/classes.rb +900 -775
  213. data/generated/google/apis/logging_v2beta1/representations.rb +163 -142
  214. data/generated/google/apis/logging_v2beta1/service.rb +427 -155
  215. data/generated/google/apis/manufacturers_v1.rb +34 -0
  216. data/generated/google/apis/manufacturers_v1/classes.rb +605 -0
  217. data/generated/google/apis/manufacturers_v1/representations.rb +223 -0
  218. data/generated/google/apis/manufacturers_v1/service.rb +138 -0
  219. data/generated/google/apis/mirror_v1.rb +2 -2
  220. data/generated/google/apis/mirror_v1/service.rb +1 -1
  221. data/generated/google/apis/monitoring_v3.rb +45 -0
  222. data/generated/google/apis/monitoring_v3/classes.rb +1333 -0
  223. data/generated/google/apis/monitoring_v3/representations.rb +516 -0
  224. data/generated/google/apis/monitoring_v3/service.rb +706 -0
  225. data/generated/google/apis/oauth2_v2.rb +1 -1
  226. data/generated/google/apis/pagespeedonline_v2.rb +1 -1
  227. data/generated/google/apis/partners_v2.rb +3 -3
  228. data/generated/google/apis/partners_v2/classes.rb +1831 -477
  229. data/generated/google/apis/partners_v2/representations.rb +571 -114
  230. data/generated/google/apis/partners_v2/service.rb +898 -167
  231. data/generated/google/apis/people_v1.rb +15 -16
  232. data/generated/google/apis/people_v1/classes.rb +1047 -859
  233. data/generated/google/apis/people_v1/representations.rb +252 -213
  234. data/generated/google/apis/people_v1/service.rb +75 -62
  235. data/generated/google/apis/plus_domains_v1.rb +1 -1
  236. data/generated/google/apis/plus_v1.rb +1 -1
  237. data/generated/google/apis/proximitybeacon_v1beta1.rb +1 -1
  238. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +527 -456
  239. data/generated/google/apis/proximitybeacon_v1beta1/representations.rb +101 -100
  240. data/generated/google/apis/proximitybeacon_v1beta1/service.rb +467 -343
  241. data/generated/google/apis/pubsub_v1.rb +1 -1
  242. data/generated/google/apis/pubsub_v1/classes.rb +363 -310
  243. data/generated/google/apis/pubsub_v1/representations.rb +76 -76
  244. data/generated/google/apis/pubsub_v1/service.rb +464 -335
  245. data/generated/google/apis/qpx_express_v1.rb +1 -1
  246. data/generated/google/apis/qpx_express_v1/classes.rb +6 -0
  247. data/generated/google/apis/qpx_express_v1/representations.rb +1 -0
  248. data/generated/google/apis/replicapool_v1beta2.rb +1 -1
  249. data/generated/google/apis/replicapoolupdater_v1beta1.rb +4 -2
  250. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +3 -1
  251. data/generated/google/apis/reseller_v1.rb +1 -1
  252. data/generated/google/apis/reseller_v1/classes.rb +222 -61
  253. data/generated/google/apis/reseller_v1/representations.rb +28 -0
  254. data/generated/google/apis/reseller_v1/service.rb +240 -47
  255. data/generated/google/apis/script_v1.rb +19 -19
  256. data/generated/google/apis/script_v1/classes.rb +151 -137
  257. data/generated/google/apis/script_v1/representations.rb +26 -26
  258. data/generated/google/apis/script_v1/service.rb +9 -8
  259. data/generated/google/apis/sheets_v4.rb +7 -7
  260. data/generated/google/apis/sheets_v4/classes.rb +4530 -3506
  261. data/generated/google/apis/sheets_v4/representations.rb +988 -737
  262. data/generated/google/apis/sheets_v4/service.rb +266 -99
  263. data/generated/google/apis/site_verification_v1.rb +1 -1
  264. data/generated/google/apis/slides_v1.rb +49 -0
  265. data/generated/google/apis/slides_v1/classes.rb +4480 -0
  266. data/generated/google/apis/slides_v1/representations.rb +1926 -0
  267. data/generated/google/apis/slides_v1/service.rb +245 -0
  268. data/generated/google/apis/speech_v1beta1.rb +34 -0
  269. data/generated/google/apis/speech_v1beta1/classes.rb +498 -0
  270. data/generated/google/apis/speech_v1beta1/representations.rb +206 -0
  271. data/generated/google/apis/speech_v1beta1/service.rb +270 -0
  272. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  273. data/generated/google/apis/sqladmin_v1beta4/classes.rb +131 -10
  274. data/generated/google/apis/sqladmin_v1beta4/representations.rb +50 -0
  275. data/generated/google/apis/sqladmin_v1beta4/service.rb +92 -2
  276. data/generated/google/apis/storage_v1.rb +1 -1
  277. data/generated/google/apis/storage_v1/classes.rb +205 -21
  278. data/generated/google/apis/storage_v1/representations.rb +51 -1
  279. data/generated/google/apis/storage_v1/service.rb +263 -9
  280. data/generated/google/apis/tagmanager_v1.rb +5 -5
  281. data/generated/google/apis/translate_v2.rb +2 -2
  282. data/generated/google/apis/translate_v2/service.rb +1 -1
  283. data/generated/google/apis/vision_v1.rb +1 -1
  284. data/generated/google/apis/vision_v1/classes.rb +1275 -731
  285. data/generated/google/apis/vision_v1/representations.rb +378 -111
  286. data/generated/google/apis/vision_v1/service.rb +4 -4
  287. data/generated/google/apis/webmasters_v3.rb +1 -1
  288. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  289. data/generated/google/apis/youtube_analytics_v1/classes.rb +0 -209
  290. data/generated/google/apis/youtube_analytics_v1/representations.rb +0 -99
  291. data/generated/google/apis/youtube_analytics_v1/service.rb +5 -77
  292. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  293. data/generated/google/apis/youtube_partner_v1/classes.rb +155 -0
  294. data/generated/google/apis/youtube_partner_v1/representations.rb +69 -0
  295. data/generated/google/apis/youtube_partner_v1/service.rb +107 -3
  296. data/generated/google/apis/youtube_v3.rb +1 -1
  297. data/generated/google/apis/youtube_v3/classes.rb +430 -22
  298. data/generated/google/apis/youtube_v3/representations.rb +171 -4
  299. data/generated/google/apis/youtube_v3/service.rb +100 -9
  300. data/generated/google/apis/youtubereporting_v1.rb +4 -4
  301. data/generated/google/apis/youtubereporting_v1/classes.rb +140 -131
  302. data/generated/google/apis/youtubereporting_v1/representations.rb +37 -37
  303. data/generated/google/apis/youtubereporting_v1/service.rb +139 -135
  304. data/google-api-client.gemspec +4 -3
  305. data/lib/google/apis/core/api_command.rb +16 -6
  306. data/lib/google/apis/core/base_service.rb +17 -9
  307. data/lib/google/apis/core/download.rb +7 -2
  308. data/lib/google/apis/core/http_command.rb +5 -1
  309. data/lib/google/apis/core/json_representation.rb +2 -2
  310. data/lib/google/apis/core/upload.rb +7 -1
  311. data/lib/google/apis/errors.rb +6 -2
  312. data/lib/google/apis/generator/annotator.rb +6 -0
  313. data/lib/google/apis/version.rb +1 -1
  314. data/samples/cli/lib/samples/bigquery.rb +101 -0
  315. data/samples/cli/lib/samples/calendar.rb +1 -1
  316. data/samples/cli/lib/samples/gmail.rb +74 -0
  317. data/samples/cli/lib/samples/sheets.rb +61 -0
  318. data/samples/cli/lib/samples/you_tube.rb +4 -1
  319. data/sync.rb +71 -0
  320. metadata +86 -18
@@ -0,0 +1,35 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/cloudkms_v1/service.rb'
16
+ require 'google/apis/cloudkms_v1/classes.rb'
17
+ require 'google/apis/cloudkms_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Cloud Key Management Service (KMS) API
22
+ #
23
+ # Manages encryption for your cloud services the same way you do on-premise. You
24
+ # can generate, use, rotate, and destroy AES256 encryption keys.
25
+ #
26
+ # @see https://cloud.google.com/kms/
27
+ module CloudkmsV1
28
+ VERSION = 'V1'
29
+ REVISION = '20170320'
30
+
31
+ # View and manage your data across Google Cloud Platform services
32
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,1022 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module CloudkmsV1
24
+
25
+ # A resource that represents Google Cloud Platform location.
26
+ class Location
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Resource name for the location, which may vary between implementations.
30
+ # For example: `"projects/example-project/locations/us-east1"`
31
+ # Corresponds to the JSON property `name`
32
+ # @return [String]
33
+ attr_accessor :name
34
+
35
+ # The canonical id for this location. For example: `"us-east1"`.
36
+ # Corresponds to the JSON property `locationId`
37
+ # @return [String]
38
+ attr_accessor :location_id
39
+
40
+ # Service-specific metadata. For example the available capacity at the given
41
+ # location.
42
+ # Corresponds to the JSON property `metadata`
43
+ # @return [Hash<String,Object>]
44
+ attr_accessor :metadata
45
+
46
+ # Cross-service attributes for the location. For example
47
+ # `"cloud.googleapis.com/region": "us-east1"`
48
+ # Corresponds to the JSON property `labels`
49
+ # @return [Hash<String,String>]
50
+ attr_accessor :labels
51
+
52
+ def initialize(**args)
53
+ update!(**args)
54
+ end
55
+
56
+ # Update properties of this object
57
+ def update!(**args)
58
+ @name = args[:name] if args.key?(:name)
59
+ @location_id = args[:location_id] if args.key?(:location_id)
60
+ @metadata = args[:metadata] if args.key?(:metadata)
61
+ @labels = args[:labels] if args.key?(:labels)
62
+ end
63
+ end
64
+
65
+ # Response message for KeyManagementService.ListCryptoKeys.
66
+ class ListCryptoKeysResponse
67
+ include Google::Apis::Core::Hashable
68
+
69
+ # A token to retrieve next page of results. Pass this value in
70
+ # ListCryptoKeysRequest.page_token to retrieve the next page of results.
71
+ # Corresponds to the JSON property `nextPageToken`
72
+ # @return [String]
73
+ attr_accessor :next_page_token
74
+
75
+ # The list of CryptoKeys.
76
+ # Corresponds to the JSON property `cryptoKeys`
77
+ # @return [Array<Google::Apis::CloudkmsV1::CryptoKey>]
78
+ attr_accessor :crypto_keys
79
+
80
+ # The total number of CryptoKeys that matched the query.
81
+ # Corresponds to the JSON property `totalSize`
82
+ # @return [Fixnum]
83
+ attr_accessor :total_size
84
+
85
+ def initialize(**args)
86
+ update!(**args)
87
+ end
88
+
89
+ # Update properties of this object
90
+ def update!(**args)
91
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
92
+ @crypto_keys = args[:crypto_keys] if args.key?(:crypto_keys)
93
+ @total_size = args[:total_size] if args.key?(:total_size)
94
+ end
95
+ end
96
+
97
+ # A condition to be met.
98
+ class Condition
99
+ include Google::Apis::Core::Hashable
100
+
101
+ # An operator to apply the subject with.
102
+ # Corresponds to the JSON property `op`
103
+ # @return [String]
104
+ attr_accessor :op
105
+
106
+ # Trusted attributes discharged by the service.
107
+ # Corresponds to the JSON property `svc`
108
+ # @return [String]
109
+ attr_accessor :svc
110
+
111
+ # DEPRECATED. Use 'values' instead.
112
+ # Corresponds to the JSON property `value`
113
+ # @return [String]
114
+ attr_accessor :value
115
+
116
+ # Trusted attributes supplied by any service that owns resources and uses
117
+ # the IAM system for access control.
118
+ # Corresponds to the JSON property `sys`
119
+ # @return [String]
120
+ attr_accessor :sys
121
+
122
+ # Trusted attributes supplied by the IAM system.
123
+ # Corresponds to the JSON property `iam`
124
+ # @return [String]
125
+ attr_accessor :iam
126
+
127
+ # The objects of the condition. This is mutually exclusive with 'value'.
128
+ # Corresponds to the JSON property `values`
129
+ # @return [Array<String>]
130
+ attr_accessor :values
131
+
132
+ def initialize(**args)
133
+ update!(**args)
134
+ end
135
+
136
+ # Update properties of this object
137
+ def update!(**args)
138
+ @op = args[:op] if args.key?(:op)
139
+ @svc = args[:svc] if args.key?(:svc)
140
+ @value = args[:value] if args.key?(:value)
141
+ @sys = args[:sys] if args.key?(:sys)
142
+ @iam = args[:iam] if args.key?(:iam)
143
+ @values = args[:values] if args.key?(:values)
144
+ end
145
+ end
146
+
147
+ # Options for counters
148
+ class CounterOptions
149
+ include Google::Apis::Core::Hashable
150
+
151
+ # The metric to update.
152
+ # Corresponds to the JSON property `metric`
153
+ # @return [String]
154
+ attr_accessor :metric
155
+
156
+ # The field value to attribute.
157
+ # Corresponds to the JSON property `field`
158
+ # @return [String]
159
+ attr_accessor :field
160
+
161
+ def initialize(**args)
162
+ update!(**args)
163
+ end
164
+
165
+ # Update properties of this object
166
+ def update!(**args)
167
+ @metric = args[:metric] if args.key?(:metric)
168
+ @field = args[:field] if args.key?(:field)
169
+ end
170
+ end
171
+
172
+ # Provides the configuration for logging a type of permissions.
173
+ # Example:
174
+ # `
175
+ # "audit_log_configs": [
176
+ # `
177
+ # "log_type": "DATA_READ",
178
+ # "exempted_members": [
179
+ # "user:foo@gmail.com"
180
+ # ]
181
+ # `,
182
+ # `
183
+ # "log_type": "DATA_WRITE",
184
+ # `
185
+ # ]
186
+ # `
187
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
188
+ # foo@gmail.com from DATA_READ logging.
189
+ class AuditLogConfig
190
+ include Google::Apis::Core::Hashable
191
+
192
+ # Specifies the identities that do not cause logging for this type of
193
+ # permission.
194
+ # Follows the same format of Binding.members.
195
+ # Corresponds to the JSON property `exemptedMembers`
196
+ # @return [Array<String>]
197
+ attr_accessor :exempted_members
198
+
199
+ # The log type that this config enables.
200
+ # Corresponds to the JSON property `logType`
201
+ # @return [String]
202
+ attr_accessor :log_type
203
+
204
+ def initialize(**args)
205
+ update!(**args)
206
+ end
207
+
208
+ # Update properties of this object
209
+ def update!(**args)
210
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
211
+ @log_type = args[:log_type] if args.key?(:log_type)
212
+ end
213
+ end
214
+
215
+ # Response message for KeyManagementService.Decrypt.
216
+ class DecryptResponse
217
+ include Google::Apis::Core::Hashable
218
+
219
+ # The decrypted data originally supplied in EncryptRequest.plaintext.
220
+ # Corresponds to the JSON property `plaintext`
221
+ # @return [String]
222
+ attr_accessor :plaintext
223
+
224
+ def initialize(**args)
225
+ update!(**args)
226
+ end
227
+
228
+ # Update properties of this object
229
+ def update!(**args)
230
+ @plaintext = args[:plaintext] if args.key?(:plaintext)
231
+ end
232
+ end
233
+
234
+ # Request message for `TestIamPermissions` method.
235
+ class TestIamPermissionsRequest
236
+ include Google::Apis::Core::Hashable
237
+
238
+ # The set of permissions to check for the `resource`. Permissions with
239
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
240
+ # information see
241
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
242
+ # Corresponds to the JSON property `permissions`
243
+ # @return [Array<String>]
244
+ attr_accessor :permissions
245
+
246
+ def initialize(**args)
247
+ update!(**args)
248
+ end
249
+
250
+ # Update properties of this object
251
+ def update!(**args)
252
+ @permissions = args[:permissions] if args.key?(:permissions)
253
+ end
254
+ end
255
+
256
+ # Defines an Identity and Access Management (IAM) policy. It is used to
257
+ # specify access control policies for Cloud Platform resources.
258
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
259
+ # `members` to a `role`, where the members can be user accounts, Google groups,
260
+ # Google domains, and service accounts. A `role` is a named list of permissions
261
+ # defined by IAM.
262
+ # **Example**
263
+ # `
264
+ # "bindings": [
265
+ # `
266
+ # "role": "roles/owner",
267
+ # "members": [
268
+ # "user:mike@example.com",
269
+ # "group:admins@example.com",
270
+ # "domain:google.com",
271
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
272
+ # ]
273
+ # `,
274
+ # `
275
+ # "role": "roles/viewer",
276
+ # "members": ["user:sean@example.com"]
277
+ # `
278
+ # ]
279
+ # `
280
+ # For a description of IAM and its features, see the
281
+ # [IAM developer's guide](https://cloud.google.com/iam).
282
+ class Policy
283
+ include Google::Apis::Core::Hashable
284
+
285
+ # `etag` is used for optimistic concurrency control as a way to help
286
+ # prevent simultaneous updates of a policy from overwriting each other.
287
+ # It is strongly suggested that systems make use of the `etag` in the
288
+ # read-modify-write cycle to perform policy updates in order to avoid race
289
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
290
+ # systems are expected to put that etag in the request to `setIamPolicy` to
291
+ # ensure that their change will be applied to the same version of the policy.
292
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
293
+ # policy is overwritten blindly.
294
+ # Corresponds to the JSON property `etag`
295
+ # @return [String]
296
+ attr_accessor :etag
297
+
298
+ #
299
+ # Corresponds to the JSON property `iamOwned`
300
+ # @return [Boolean]
301
+ attr_accessor :iam_owned
302
+ alias_method :iam_owned?, :iam_owned
303
+
304
+ # If more than one rule is specified, the rules are applied in the following
305
+ # manner:
306
+ # - All matching LOG rules are always applied.
307
+ # - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
308
+ # Logging will be applied if one or more matching rule requires logging.
309
+ # - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
310
+ # granted.
311
+ # Logging will be applied if one or more matching rule requires logging.
312
+ # - Otherwise, if no rule applies, permission is denied.
313
+ # Corresponds to the JSON property `rules`
314
+ # @return [Array<Google::Apis::CloudkmsV1::Rule>]
315
+ attr_accessor :rules
316
+
317
+ # Version of the `Policy`. The default version is 0.
318
+ # Corresponds to the JSON property `version`
319
+ # @return [Fixnum]
320
+ attr_accessor :version
321
+
322
+ # Specifies cloud audit logging configuration for this policy.
323
+ # Corresponds to the JSON property `auditConfigs`
324
+ # @return [Array<Google::Apis::CloudkmsV1::AuditConfig>]
325
+ attr_accessor :audit_configs
326
+
327
+ # Associates a list of `members` to a `role`.
328
+ # Multiple `bindings` must not be specified for the same `role`.
329
+ # `bindings` with no members will result in an error.
330
+ # Corresponds to the JSON property `bindings`
331
+ # @return [Array<Google::Apis::CloudkmsV1::Binding>]
332
+ attr_accessor :bindings
333
+
334
+ def initialize(**args)
335
+ update!(**args)
336
+ end
337
+
338
+ # Update properties of this object
339
+ def update!(**args)
340
+ @etag = args[:etag] if args.key?(:etag)
341
+ @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
342
+ @rules = args[:rules] if args.key?(:rules)
343
+ @version = args[:version] if args.key?(:version)
344
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
345
+ @bindings = args[:bindings] if args.key?(:bindings)
346
+ end
347
+ end
348
+
349
+ # The response message for Locations.ListLocations.
350
+ class ListLocationsResponse
351
+ include Google::Apis::Core::Hashable
352
+
353
+ # A list of locations that matches the specified filter in the request.
354
+ # Corresponds to the JSON property `locations`
355
+ # @return [Array<Google::Apis::CloudkmsV1::Location>]
356
+ attr_accessor :locations
357
+
358
+ # The standard List next-page token.
359
+ # Corresponds to the JSON property `nextPageToken`
360
+ # @return [String]
361
+ attr_accessor :next_page_token
362
+
363
+ def initialize(**args)
364
+ update!(**args)
365
+ end
366
+
367
+ # Update properties of this object
368
+ def update!(**args)
369
+ @locations = args[:locations] if args.key?(:locations)
370
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
371
+ end
372
+ end
373
+
374
+ # A KeyRing is a toplevel logical grouping of CryptoKeys.
375
+ class KeyRing
376
+ include Google::Apis::Core::Hashable
377
+
378
+ # Output only. The resource name for the KeyRing in the format
379
+ # `projects/*/locations/*/keyRings/*`.
380
+ # Corresponds to the JSON property `name`
381
+ # @return [String]
382
+ attr_accessor :name
383
+
384
+ # Output only. The time at which this KeyRing was created.
385
+ # Corresponds to the JSON property `createTime`
386
+ # @return [String]
387
+ attr_accessor :create_time
388
+
389
+ def initialize(**args)
390
+ update!(**args)
391
+ end
392
+
393
+ # Update properties of this object
394
+ def update!(**args)
395
+ @name = args[:name] if args.key?(:name)
396
+ @create_time = args[:create_time] if args.key?(:create_time)
397
+ end
398
+ end
399
+
400
+ # Response message for KeyManagementService.Encrypt.
401
+ class EncryptResponse
402
+ include Google::Apis::Core::Hashable
403
+
404
+ # The resource name of the CryptoKeyVersion used in encryption.
405
+ # Corresponds to the JSON property `name`
406
+ # @return [String]
407
+ attr_accessor :name
408
+
409
+ # The encrypted data.
410
+ # Corresponds to the JSON property `ciphertext`
411
+ # @return [String]
412
+ attr_accessor :ciphertext
413
+
414
+ def initialize(**args)
415
+ update!(**args)
416
+ end
417
+
418
+ # Update properties of this object
419
+ def update!(**args)
420
+ @name = args[:name] if args.key?(:name)
421
+ @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
422
+ end
423
+ end
424
+
425
+ # Request message for KeyManagementService.RestoreCryptoKeyVersion.
426
+ class RestoreCryptoKeyVersionRequest
427
+ include Google::Apis::Core::Hashable
428
+
429
+ def initialize(**args)
430
+ update!(**args)
431
+ end
432
+
433
+ # Update properties of this object
434
+ def update!(**args)
435
+ end
436
+ end
437
+
438
+ # Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.
439
+ class UpdateCryptoKeyPrimaryVersionRequest
440
+ include Google::Apis::Core::Hashable
441
+
442
+ # The id of the child CryptoKeyVersion to use as primary.
443
+ # Corresponds to the JSON property `cryptoKeyVersionId`
444
+ # @return [String]
445
+ attr_accessor :crypto_key_version_id
446
+
447
+ def initialize(**args)
448
+ update!(**args)
449
+ end
450
+
451
+ # Update properties of this object
452
+ def update!(**args)
453
+ @crypto_key_version_id = args[:crypto_key_version_id] if args.key?(:crypto_key_version_id)
454
+ end
455
+ end
456
+
457
+ # Response message for KeyManagementService.ListKeyRings.
458
+ class ListKeyRingsResponse
459
+ include Google::Apis::Core::Hashable
460
+
461
+ # A token to retrieve next page of results. Pass this value in
462
+ # ListKeyRingsRequest.page_token to retrieve the next page of results.
463
+ # Corresponds to the JSON property `nextPageToken`
464
+ # @return [String]
465
+ attr_accessor :next_page_token
466
+
467
+ # The total number of KeyRings that matched the query.
468
+ # Corresponds to the JSON property `totalSize`
469
+ # @return [Fixnum]
470
+ attr_accessor :total_size
471
+
472
+ # The list of KeyRings.
473
+ # Corresponds to the JSON property `keyRings`
474
+ # @return [Array<Google::Apis::CloudkmsV1::KeyRing>]
475
+ attr_accessor :key_rings
476
+
477
+ def initialize(**args)
478
+ update!(**args)
479
+ end
480
+
481
+ # Update properties of this object
482
+ def update!(**args)
483
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
484
+ @total_size = args[:total_size] if args.key?(:total_size)
485
+ @key_rings = args[:key_rings] if args.key?(:key_rings)
486
+ end
487
+ end
488
+
489
+ # Write a Data Access (Gin) log
490
+ class DataAccessOptions
491
+ include Google::Apis::Core::Hashable
492
+
493
+ def initialize(**args)
494
+ update!(**args)
495
+ end
496
+
497
+ # Update properties of this object
498
+ def update!(**args)
499
+ end
500
+ end
501
+
502
+ # Specifies the audit configuration for a service.
503
+ # The configuration determines which permission types are logged, and what
504
+ # identities, if any, are exempted from logging.
505
+ # An AuditConifg must have one or more AuditLogConfigs.
506
+ # If there are AuditConfigs for both `allServices` and a specific service,
507
+ # the union of the two AuditConfigs is used for that service: the log_types
508
+ # specified in each AuditConfig are enabled, and the exempted_members in each
509
+ # AuditConfig are exempted.
510
+ # Example Policy with multiple AuditConfigs:
511
+ # `
512
+ # "audit_configs": [
513
+ # `
514
+ # "service": "allServices"
515
+ # "audit_log_configs": [
516
+ # `
517
+ # "log_type": "DATA_READ",
518
+ # "exempted_members": [
519
+ # "user:foo@gmail.com"
520
+ # ]
521
+ # `,
522
+ # `
523
+ # "log_type": "DATA_WRITE",
524
+ # `,
525
+ # `
526
+ # "log_type": "ADMIN_READ",
527
+ # `
528
+ # ]
529
+ # `,
530
+ # `
531
+ # "service": "fooservice@googleapis.com"
532
+ # "audit_log_configs": [
533
+ # `
534
+ # "log_type": "DATA_READ",
535
+ # `,
536
+ # `
537
+ # "log_type": "DATA_WRITE",
538
+ # "exempted_members": [
539
+ # "user:bar@gmail.com"
540
+ # ]
541
+ # `
542
+ # ]
543
+ # `
544
+ # ]
545
+ # `
546
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
547
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
548
+ # bar@gmail.com from DATA_WRITE logging.
549
+ class AuditConfig
550
+ include Google::Apis::Core::Hashable
551
+
552
+ # Specifies a service that will be enabled for audit logging.
553
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
554
+ # `allServices` is a special value that covers all services.
555
+ # Corresponds to the JSON property `service`
556
+ # @return [String]
557
+ attr_accessor :service
558
+
559
+ # The configuration for logging of each type of permission.
560
+ # Next ID: 4
561
+ # Corresponds to the JSON property `auditLogConfigs`
562
+ # @return [Array<Google::Apis::CloudkmsV1::AuditLogConfig>]
563
+ attr_accessor :audit_log_configs
564
+
565
+ #
566
+ # Corresponds to the JSON property `exemptedMembers`
567
+ # @return [Array<String>]
568
+ attr_accessor :exempted_members
569
+
570
+ def initialize(**args)
571
+ update!(**args)
572
+ end
573
+
574
+ # Update properties of this object
575
+ def update!(**args)
576
+ @service = args[:service] if args.key?(:service)
577
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
578
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
579
+ end
580
+ end
581
+
582
+ # A CryptoKeyVersion represents an individual cryptographic key, and the
583
+ # associated key material.
584
+ # It can be used for cryptographic operations either directly, or via its
585
+ # parent CryptoKey, in which case the server will choose the appropriate
586
+ # version for the operation.
587
+ class CryptoKeyVersion
588
+ include Google::Apis::Core::Hashable
589
+
590
+ # Output only. The time this CryptoKeyVersion's key material is scheduled
591
+ # for destruction. Only present if state is
592
+ # DESTROY_SCHEDULED.
593
+ # Corresponds to the JSON property `destroyTime`
594
+ # @return [String]
595
+ attr_accessor :destroy_time
596
+
597
+ # Output only. The time at which this CryptoKeyVersion was created.
598
+ # Corresponds to the JSON property `createTime`
599
+ # @return [String]
600
+ attr_accessor :create_time
601
+
602
+ # The current state of the CryptoKeyVersion.
603
+ # Corresponds to the JSON property `state`
604
+ # @return [String]
605
+ attr_accessor :state
606
+
607
+ # Output only. The resource name for this CryptoKeyVersion in the format
608
+ # `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
609
+ # Corresponds to the JSON property `name`
610
+ # @return [String]
611
+ attr_accessor :name
612
+
613
+ # Output only. The time this CryptoKeyVersion's key material was
614
+ # destroyed. Only present if state is
615
+ # DESTROYED.
616
+ # Corresponds to the JSON property `destroyEventTime`
617
+ # @return [String]
618
+ attr_accessor :destroy_event_time
619
+
620
+ def initialize(**args)
621
+ update!(**args)
622
+ end
623
+
624
+ # Update properties of this object
625
+ def update!(**args)
626
+ @destroy_time = args[:destroy_time] if args.key?(:destroy_time)
627
+ @create_time = args[:create_time] if args.key?(:create_time)
628
+ @state = args[:state] if args.key?(:state)
629
+ @name = args[:name] if args.key?(:name)
630
+ @destroy_event_time = args[:destroy_event_time] if args.key?(:destroy_event_time)
631
+ end
632
+ end
633
+
634
+ # Write a Cloud Audit log
635
+ class CloudAuditOptions
636
+ include Google::Apis::Core::Hashable
637
+
638
+ def initialize(**args)
639
+ update!(**args)
640
+ end
641
+
642
+ # Update properties of this object
643
+ def update!(**args)
644
+ end
645
+ end
646
+
647
+ # Associates `members` with a `role`.
648
+ class Binding
649
+ include Google::Apis::Core::Hashable
650
+
651
+ # Specifies the identities requesting access for a Cloud Platform resource.
652
+ # `members` can have the following values:
653
+ # * `allUsers`: A special identifier that represents anyone who is
654
+ # on the internet; with or without a Google account.
655
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
656
+ # who is authenticated with a Google account or a service account.
657
+ # * `user:`emailid``: An email address that represents a specific Google
658
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
659
+ # * `serviceAccount:`emailid``: An email address that represents a service
660
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
661
+ # * `group:`emailid``: An email address that represents a Google group.
662
+ # For example, `admins@example.com`.
663
+ # * `domain:`domain``: A Google Apps domain name that represents all the
664
+ # users of that domain. For example, `google.com` or `example.com`.
665
+ # Corresponds to the JSON property `members`
666
+ # @return [Array<String>]
667
+ attr_accessor :members
668
+
669
+ # Role that is assigned to `members`.
670
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
671
+ # Required
672
+ # Corresponds to the JSON property `role`
673
+ # @return [String]
674
+ attr_accessor :role
675
+
676
+ def initialize(**args)
677
+ update!(**args)
678
+ end
679
+
680
+ # Update properties of this object
681
+ def update!(**args)
682
+ @members = args[:members] if args.key?(:members)
683
+ @role = args[:role] if args.key?(:role)
684
+ end
685
+ end
686
+
687
+ # Request message for KeyManagementService.Encrypt.
688
+ class EncryptRequest
689
+ include Google::Apis::Core::Hashable
690
+
691
+ # Optional data that, if specified, must also be provided during decryption
692
+ # through DecryptRequest.additional_authenticated_data. Must be no
693
+ # larger than 64KiB.
694
+ # Corresponds to the JSON property `additionalAuthenticatedData`
695
+ # @return [String]
696
+ attr_accessor :additional_authenticated_data
697
+
698
+ # Required. The data to encrypt. Must be no larger than 64KiB.
699
+ # Corresponds to the JSON property `plaintext`
700
+ # @return [String]
701
+ attr_accessor :plaintext
702
+
703
+ def initialize(**args)
704
+ update!(**args)
705
+ end
706
+
707
+ # Update properties of this object
708
+ def update!(**args)
709
+ @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
710
+ @plaintext = args[:plaintext] if args.key?(:plaintext)
711
+ end
712
+ end
713
+
714
+ # Response message for KeyManagementService.ListCryptoKeyVersions.
715
+ class ListCryptoKeyVersionsResponse
716
+ include Google::Apis::Core::Hashable
717
+
718
+ # A token to retrieve next page of results. Pass this value in
719
+ # ListCryptoKeyVersionsRequest.page_token to retrieve the next page of
720
+ # results.
721
+ # Corresponds to the JSON property `nextPageToken`
722
+ # @return [String]
723
+ attr_accessor :next_page_token
724
+
725
+ # The total number of CryptoKeyVersions that matched the
726
+ # query.
727
+ # Corresponds to the JSON property `totalSize`
728
+ # @return [Fixnum]
729
+ attr_accessor :total_size
730
+
731
+ # The list of CryptoKeyVersions.
732
+ # Corresponds to the JSON property `cryptoKeyVersions`
733
+ # @return [Array<Google::Apis::CloudkmsV1::CryptoKeyVersion>]
734
+ attr_accessor :crypto_key_versions
735
+
736
+ def initialize(**args)
737
+ update!(**args)
738
+ end
739
+
740
+ # Update properties of this object
741
+ def update!(**args)
742
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
743
+ @total_size = args[:total_size] if args.key?(:total_size)
744
+ @crypto_key_versions = args[:crypto_key_versions] if args.key?(:crypto_key_versions)
745
+ end
746
+ end
747
+
748
+ # Response message for `TestIamPermissions` method.
749
+ class TestIamPermissionsResponse
750
+ include Google::Apis::Core::Hashable
751
+
752
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
753
+ # allowed.
754
+ # Corresponds to the JSON property `permissions`
755
+ # @return [Array<String>]
756
+ attr_accessor :permissions
757
+
758
+ def initialize(**args)
759
+ update!(**args)
760
+ end
761
+
762
+ # Update properties of this object
763
+ def update!(**args)
764
+ @permissions = args[:permissions] if args.key?(:permissions)
765
+ end
766
+ end
767
+
768
+ # Request message for KeyManagementService.DestroyCryptoKeyVersion.
769
+ class DestroyCryptoKeyVersionRequest
770
+ include Google::Apis::Core::Hashable
771
+
772
+ def initialize(**args)
773
+ update!(**args)
774
+ end
775
+
776
+ # Update properties of this object
777
+ def update!(**args)
778
+ end
779
+ end
780
+
781
+ # A CryptoKey represents a logical key that can be used for cryptographic
782
+ # operations.
783
+ # A CryptoKey is made up of one or more versions, which
784
+ # represent the actual key material used in cryptographic operations.
785
+ class CryptoKey
786
+ include Google::Apis::Core::Hashable
787
+
788
+ # The immutable purpose of this CryptoKey. Currently, the only acceptable
789
+ # purpose is ENCRYPT_DECRYPT.
790
+ # Corresponds to the JSON property `purpose`
791
+ # @return [String]
792
+ attr_accessor :purpose
793
+
794
+ # At next_rotation_time, the Key Management Service will automatically:
795
+ # 1. Create a new version of this CryptoKey.
796
+ # 2. Mark the new version as primary.
797
+ # Key rotations performed manually via
798
+ # CreateCryptoKeyVersion and
799
+ # UpdateCryptoKeyPrimaryVersion
800
+ # do not affect next_rotation_time.
801
+ # Corresponds to the JSON property `nextRotationTime`
802
+ # @return [String]
803
+ attr_accessor :next_rotation_time
804
+
805
+ # Output only. The time at which this CryptoKey was created.
806
+ # Corresponds to the JSON property `createTime`
807
+ # @return [String]
808
+ attr_accessor :create_time
809
+
810
+ # next_rotation_time will be advanced by this period when the service
811
+ # automatically rotates a key. Must be at least one day.
812
+ # If rotation_period is set, next_rotation_time must also be set.
813
+ # Corresponds to the JSON property `rotationPeriod`
814
+ # @return [String]
815
+ attr_accessor :rotation_period
816
+
817
+ # A CryptoKeyVersion represents an individual cryptographic key, and the
818
+ # associated key material.
819
+ # It can be used for cryptographic operations either directly, or via its
820
+ # parent CryptoKey, in which case the server will choose the appropriate
821
+ # version for the operation.
822
+ # Corresponds to the JSON property `primary`
823
+ # @return [Google::Apis::CloudkmsV1::CryptoKeyVersion]
824
+ attr_accessor :primary
825
+
826
+ # Output only. The resource name for this CryptoKey in the format
827
+ # `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
828
+ # Corresponds to the JSON property `name`
829
+ # @return [String]
830
+ attr_accessor :name
831
+
832
+ def initialize(**args)
833
+ update!(**args)
834
+ end
835
+
836
+ # Update properties of this object
837
+ def update!(**args)
838
+ @purpose = args[:purpose] if args.key?(:purpose)
839
+ @next_rotation_time = args[:next_rotation_time] if args.key?(:next_rotation_time)
840
+ @create_time = args[:create_time] if args.key?(:create_time)
841
+ @rotation_period = args[:rotation_period] if args.key?(:rotation_period)
842
+ @primary = args[:primary] if args.key?(:primary)
843
+ @name = args[:name] if args.key?(:name)
844
+ end
845
+ end
846
+
847
+ # A rule to be applied in a Policy.
848
+ class Rule
849
+ include Google::Apis::Core::Hashable
850
+
851
+ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
852
+ # that match the LOG action.
853
+ # Corresponds to the JSON property `logConfig`
854
+ # @return [Array<Google::Apis::CloudkmsV1::LogConfig>]
855
+ attr_accessor :log_config
856
+
857
+ # If one or more 'in' clauses are specified, the rule matches if
858
+ # the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
859
+ # Corresponds to the JSON property `in`
860
+ # @return [Array<String>]
861
+ attr_accessor :in
862
+
863
+ # A permission is a string of form '<service>.<resource type>.<verb>'
864
+ # (e.g., 'storage.buckets.list'). A value of '*' matches all permissions,
865
+ # and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
866
+ # Corresponds to the JSON property `permissions`
867
+ # @return [Array<String>]
868
+ attr_accessor :permissions
869
+
870
+ # Required
871
+ # Corresponds to the JSON property `action`
872
+ # @return [String]
873
+ attr_accessor :action
874
+
875
+ # If one or more 'not_in' clauses are specified, the rule matches
876
+ # if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
877
+ # The format for in and not_in entries is the same as for members in a
878
+ # Binding (see google/iam/v1/policy.proto).
879
+ # Corresponds to the JSON property `notIn`
880
+ # @return [Array<String>]
881
+ attr_accessor :not_in
882
+
883
+ # Human-readable description of the rule.
884
+ # Corresponds to the JSON property `description`
885
+ # @return [String]
886
+ attr_accessor :description
887
+
888
+ # Additional restrictions that must be met
889
+ # Corresponds to the JSON property `conditions`
890
+ # @return [Array<Google::Apis::CloudkmsV1::Condition>]
891
+ attr_accessor :conditions
892
+
893
+ def initialize(**args)
894
+ update!(**args)
895
+ end
896
+
897
+ # Update properties of this object
898
+ def update!(**args)
899
+ @log_config = args[:log_config] if args.key?(:log_config)
900
+ @in = args[:in] if args.key?(:in)
901
+ @permissions = args[:permissions] if args.key?(:permissions)
902
+ @action = args[:action] if args.key?(:action)
903
+ @not_in = args[:not_in] if args.key?(:not_in)
904
+ @description = args[:description] if args.key?(:description)
905
+ @conditions = args[:conditions] if args.key?(:conditions)
906
+ end
907
+ end
908
+
909
+ # Specifies what kind of log the caller must write
910
+ class LogConfig
911
+ include Google::Apis::Core::Hashable
912
+
913
+ # Write a Cloud Audit log
914
+ # Corresponds to the JSON property `cloudAudit`
915
+ # @return [Google::Apis::CloudkmsV1::CloudAuditOptions]
916
+ attr_accessor :cloud_audit
917
+
918
+ # Options for counters
919
+ # Corresponds to the JSON property `counter`
920
+ # @return [Google::Apis::CloudkmsV1::CounterOptions]
921
+ attr_accessor :counter
922
+
923
+ # Write a Data Access (Gin) log
924
+ # Corresponds to the JSON property `dataAccess`
925
+ # @return [Google::Apis::CloudkmsV1::DataAccessOptions]
926
+ attr_accessor :data_access
927
+
928
+ def initialize(**args)
929
+ update!(**args)
930
+ end
931
+
932
+ # Update properties of this object
933
+ def update!(**args)
934
+ @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
935
+ @counter = args[:counter] if args.key?(:counter)
936
+ @data_access = args[:data_access] if args.key?(:data_access)
937
+ end
938
+ end
939
+
940
+ # Request message for `SetIamPolicy` method.
941
+ class SetIamPolicyRequest
942
+ include Google::Apis::Core::Hashable
943
+
944
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
945
+ # the fields in the mask will be modified. If no mask is provided, the
946
+ # following default mask is used:
947
+ # paths: "bindings, etag"
948
+ # This field is only used by Cloud IAM.
949
+ # Corresponds to the JSON property `updateMask`
950
+ # @return [String]
951
+ attr_accessor :update_mask
952
+
953
+ # Defines an Identity and Access Management (IAM) policy. It is used to
954
+ # specify access control policies for Cloud Platform resources.
955
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
956
+ # `members` to a `role`, where the members can be user accounts, Google groups,
957
+ # Google domains, and service accounts. A `role` is a named list of permissions
958
+ # defined by IAM.
959
+ # **Example**
960
+ # `
961
+ # "bindings": [
962
+ # `
963
+ # "role": "roles/owner",
964
+ # "members": [
965
+ # "user:mike@example.com",
966
+ # "group:admins@example.com",
967
+ # "domain:google.com",
968
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
969
+ # ]
970
+ # `,
971
+ # `
972
+ # "role": "roles/viewer",
973
+ # "members": ["user:sean@example.com"]
974
+ # `
975
+ # ]
976
+ # `
977
+ # For a description of IAM and its features, see the
978
+ # [IAM developer's guide](https://cloud.google.com/iam).
979
+ # Corresponds to the JSON property `policy`
980
+ # @return [Google::Apis::CloudkmsV1::Policy]
981
+ attr_accessor :policy
982
+
983
+ def initialize(**args)
984
+ update!(**args)
985
+ end
986
+
987
+ # Update properties of this object
988
+ def update!(**args)
989
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
990
+ @policy = args[:policy] if args.key?(:policy)
991
+ end
992
+ end
993
+
994
+ # Request message for KeyManagementService.Decrypt.
995
+ class DecryptRequest
996
+ include Google::Apis::Core::Hashable
997
+
998
+ # Required. The encrypted data originally returned in
999
+ # EncryptResponse.ciphertext.
1000
+ # Corresponds to the JSON property `ciphertext`
1001
+ # @return [String]
1002
+ attr_accessor :ciphertext
1003
+
1004
+ # Optional data that must match the data originally supplied in
1005
+ # EncryptRequest.additional_authenticated_data.
1006
+ # Corresponds to the JSON property `additionalAuthenticatedData`
1007
+ # @return [String]
1008
+ attr_accessor :additional_authenticated_data
1009
+
1010
+ def initialize(**args)
1011
+ update!(**args)
1012
+ end
1013
+
1014
+ # Update properties of this object
1015
+ def update!(**args)
1016
+ @ciphertext = args[:ciphertext] if args.key?(:ciphertext)
1017
+ @additional_authenticated_data = args[:additional_authenticated_data] if args.key?(:additional_authenticated_data)
1018
+ end
1019
+ end
1020
+ end
1021
+ end
1022
+ end