google-api-client 0.9.8 → 0.10.2

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