google-api-client 0.8.7 → 0.9.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (397) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +7 -0
  5. data/.rubocop_todo.yml +63 -0
  6. data/.travis.yml +21 -0
  7. data/.yardopts +12 -0
  8. data/CHANGELOG.md +6 -3
  9. data/CONTRIBUTING.md +31 -0
  10. data/Gemfile +28 -2
  11. data/MIGRATING.md +171 -0
  12. data/README.md +158 -150
  13. data/Rakefile +1 -40
  14. data/api_names.yaml +872 -0
  15. data/api_names_out.yaml +20843 -0
  16. data/bin/generate-api +93 -0
  17. data/generated/google/apis/adexchangebuyer_v1_3.rb +35 -0
  18. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +1124 -0
  19. data/generated/google/apis/adexchangebuyer_v1_3/representations.rb +375 -0
  20. data/generated/google/apis/adexchangebuyer_v1_3/service.rb +893 -0
  21. data/generated/google/apis/adexchangeseller_v2_0.rb +38 -0
  22. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +792 -0
  23. data/generated/google/apis/adexchangeseller_v2_0/representations.rb +309 -0
  24. data/generated/google/apis/adexchangeseller_v2_0/service.rb +682 -0
  25. data/generated/google/apis/admin_directory_v1.rb +89 -0
  26. data/generated/google/apis/admin_directory_v1/classes.rb +2389 -0
  27. data/generated/google/apis/admin_directory_v1/representations.rb +780 -0
  28. data/generated/google/apis/admin_directory_v1/service.rb +2805 -0
  29. data/generated/google/apis/admin_reports_v1.rb +38 -0
  30. data/generated/google/apis/admin_reports_v1/classes.rb +582 -0
  31. data/generated/google/apis/admin_reports_v1/representations.rb +231 -0
  32. data/generated/google/apis/admin_reports_v1/service.rb +341 -0
  33. data/generated/google/apis/adsense_v1_4.rb +38 -0
  34. data/generated/google/apis/adsense_v1_4/classes.rb +1279 -0
  35. data/generated/google/apis/adsense_v1_4/representations.rb +493 -0
  36. data/generated/google/apis/adsense_v1_4/service.rb +1752 -0
  37. data/generated/google/apis/adsensehost_v4_1.rb +35 -0
  38. data/generated/google/apis/adsensehost_v4_1/classes.rb +834 -0
  39. data/generated/google/apis/adsensehost_v4_1/representations.rb +327 -0
  40. data/generated/google/apis/adsensehost_v4_1/service.rb +1190 -0
  41. data/generated/google/apis/analytics_v3.rb +49 -0
  42. data/generated/google/apis/analytics_v3/classes.rb +5113 -0
  43. data/generated/google/apis/analytics_v3/representations.rb +1661 -0
  44. data/generated/google/apis/analytics_v3/service.rb +3600 -0
  45. data/generated/google/apis/androidenterprise_v1.rb +34 -0
  46. data/generated/google/apis/androidenterprise_v1/classes.rb +1162 -0
  47. data/generated/google/apis/androidenterprise_v1/representations.rb +431 -0
  48. data/generated/google/apis/androidenterprise_v1/service.rb +1979 -0
  49. data/generated/google/apis/androidpublisher_v2.rb +34 -0
  50. data/generated/google/apis/androidpublisher_v2/classes.rb +1374 -0
  51. data/generated/google/apis/androidpublisher_v2/representations.rb +630 -0
  52. data/generated/google/apis/androidpublisher_v2/service.rb +2390 -0
  53. data/generated/google/apis/appsactivity_v1.rb +46 -0
  54. data/generated/google/apis/appsactivity_v1/classes.rb +392 -0
  55. data/generated/google/apis/appsactivity_v1/representations.rb +184 -0
  56. data/generated/google/apis/appsactivity_v1/service.rb +129 -0
  57. data/generated/google/apis/appstate_v1.rb +34 -0
  58. data/generated/google/apis/appstate_v1/classes.rb +154 -0
  59. data/generated/google/apis/appstate_v1/representations.rb +79 -0
  60. data/generated/google/apis/appstate_v1/service.rb +265 -0
  61. data/generated/google/apis/autoscaler_v1beta2.rb +38 -0
  62. data/generated/google/apis/autoscaler_v1beta2/classes.rb +747 -0
  63. data/generated/google/apis/autoscaler_v1beta2/representations.rb +281 -0
  64. data/generated/google/apis/autoscaler_v1beta2/service.rb +488 -0
  65. data/generated/google/apis/bigquery_v2.rb +49 -0
  66. data/generated/google/apis/bigquery_v2/classes.rb +2255 -0
  67. data/generated/google/apis/bigquery_v2/representations.rb +754 -0
  68. data/generated/google/apis/bigquery_v2/service.rb +1003 -0
  69. data/generated/google/apis/blogger_v3.rb +37 -0
  70. data/generated/google/apis/blogger_v3/classes.rb +1354 -0
  71. data/generated/google/apis/blogger_v3/representations.rb +562 -0
  72. data/generated/google/apis/blogger_v3/service.rb +1620 -0
  73. data/generated/google/apis/books_v1.rb +34 -0
  74. data/generated/google/apis/books_v1/classes.rb +3515 -0
  75. data/generated/google/apis/books_v1/representations.rb +1361 -0
  76. data/generated/google/apis/books_v1/service.rb +2170 -0
  77. data/generated/google/apis/calendar_v3.rb +37 -0
  78. data/generated/google/apis/calendar_v3/classes.rb +1702 -0
  79. data/generated/google/apis/calendar_v3/representations.rb +566 -0
  80. data/generated/google/apis/calendar_v3/service.rb +1943 -0
  81. data/generated/google/apis/civicinfo_v2.rb +31 -0
  82. data/generated/google/apis/civicinfo_v2/classes.rb +1057 -0
  83. data/generated/google/apis/civicinfo_v2/representations.rb +374 -0
  84. data/generated/google/apis/civicinfo_v2/service.rb +284 -0
  85. data/generated/google/apis/cloudmonitoring_v2beta2.rb +34 -0
  86. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +679 -0
  87. data/generated/google/apis/cloudmonitoring_v2beta2/representations.rb +311 -0
  88. data/generated/google/apis/cloudmonitoring_v2beta2/service.rb +458 -0
  89. data/generated/google/apis/cloudresourcemanager_v1beta1.rb +38 -0
  90. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +139 -0
  91. data/generated/google/apis/cloudresourcemanager_v1beta1/representations.rb +65 -0
  92. data/generated/google/apis/cloudresourcemanager_v1beta1/service.rb +301 -0
  93. data/generated/google/apis/compute_v1.rb +49 -0
  94. data/generated/google/apis/compute_v1/classes.rb +6391 -0
  95. data/generated/google/apis/compute_v1/representations.rb +2209 -0
  96. data/generated/google/apis/compute_v1/service.rb +6352 -0
  97. data/generated/google/apis/container_v1beta1.rb +35 -0
  98. data/generated/google/apis/container_v1beta1/classes.rb +466 -0
  99. data/generated/google/apis/container_v1beta1/representations.rb +177 -0
  100. data/generated/google/apis/container_v1beta1/service.rb +394 -0
  101. data/generated/google/apis/content_v2.rb +35 -0
  102. data/generated/google/apis/content_v2/classes.rb +3780 -0
  103. data/generated/google/apis/content_v2/representations.rb +1456 -0
  104. data/generated/google/apis/content_v2/service.rb +1706 -0
  105. data/generated/google/apis/coordinate_v1.rb +37 -0
  106. data/generated/google/apis/coordinate_v1/classes.rb +669 -0
  107. data/generated/google/apis/coordinate_v1/representations.rb +285 -0
  108. data/generated/google/apis/coordinate_v1/service.rb +687 -0
  109. data/{lib/google/api_client/auth/compute_service_account.rb → generated/google/apis/customsearch_v1.rb} +13 -10
  110. data/generated/google/apis/customsearch_v1/classes.rb +771 -0
  111. data/generated/google/apis/customsearch_v1/representations.rb +276 -0
  112. data/generated/google/apis/customsearch_v1/service.rb +208 -0
  113. data/generated/google/apis/datastore_v1beta2.rb +40 -0
  114. data/generated/google/apis/datastore_v1beta2/classes.rb +1186 -0
  115. data/generated/google/apis/datastore_v1beta2/representations.rb +526 -0
  116. data/generated/google/apis/datastore_v1beta2/service.rb +300 -0
  117. data/generated/google/apis/deploymentmanager_v2beta2.rb +41 -0
  118. data/generated/google/apis/deploymentmanager_v2beta2/classes.rb +820 -0
  119. data/generated/google/apis/deploymentmanager_v2beta2/representations.rb +303 -0
  120. data/generated/google/apis/deploymentmanager_v2beta2/service.rb +647 -0
  121. data/generated/google/apis/dfareporting_v2_1.rb +37 -0
  122. data/generated/google/apis/dfareporting_v2_1/classes.rb +10755 -0
  123. data/generated/google/apis/dfareporting_v2_1/representations.rb +3438 -0
  124. data/generated/google/apis/dfareporting_v2_1/service.rb +8775 -0
  125. data/generated/google/apis/discovery_v1.rb +32 -0
  126. data/generated/google/apis/discovery_v1/classes.rb +947 -0
  127. data/generated/google/apis/discovery_v1/representations.rb +355 -0
  128. data/generated/google/apis/discovery_v1/service.rb +144 -0
  129. data/generated/google/apis/dns_v1.rb +41 -0
  130. data/generated/google/apis/dns_v1/classes.rb +406 -0
  131. data/generated/google/apis/dns_v1/representations.rb +151 -0
  132. data/generated/google/apis/dns_v1/service.rb +460 -0
  133. data/{spec/google/api_client/request_spec.rb → generated/google/apis/doubleclickbidmanager_v1.rb} +15 -13
  134. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +709 -0
  135. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +297 -0
  136. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +349 -0
  137. data/generated/google/apis/doubleclicksearch_v2.rb +35 -0
  138. data/generated/google/apis/doubleclicksearch_v2/classes.rb +947 -0
  139. data/generated/google/apis/doubleclicksearch_v2/representations.rb +315 -0
  140. data/generated/google/apis/doubleclicksearch_v2/service.rb +490 -0
  141. data/generated/google/apis/drive_v2.rb +55 -0
  142. data/generated/google/apis/drive_v2/classes.rb +2519 -0
  143. data/generated/google/apis/drive_v2/representations.rb +781 -0
  144. data/generated/google/apis/drive_v2/service.rb +2685 -0
  145. data/generated/google/apis/fitness_v1.rb +49 -0
  146. data/generated/google/apis/fitness_v1/classes.rb +809 -0
  147. data/generated/google/apis/fitness_v1/representations.rb +295 -0
  148. data/generated/google/apis/fitness_v1/service.rb +684 -0
  149. data/generated/google/apis/fusiontables_v2.rb +37 -0
  150. data/generated/google/apis/fusiontables_v2/classes.rb +1048 -0
  151. data/generated/google/apis/fusiontables_v2/representations.rb +409 -0
  152. data/generated/google/apis/fusiontables_v2/service.rb +1496 -0
  153. data/generated/google/apis/games_configuration_v1configuration.rb +34 -0
  154. data/generated/google/apis/games_configuration_v1configuration/classes.rb +506 -0
  155. data/generated/google/apis/games_configuration_v1configuration/representations.rb +206 -0
  156. data/generated/google/apis/games_configuration_v1configuration/service.rb +578 -0
  157. data/generated/google/apis/games_v1.rb +40 -0
  158. data/generated/google/apis/games_v1/classes.rb +4578 -0
  159. data/generated/google/apis/games_v1/representations.rb +1570 -0
  160. data/generated/google/apis/games_v1/service.rb +2306 -0
  161. data/generated/google/apis/gan_v1beta1.rb +31 -0
  162. data/generated/google/apis/gan_v1beta1/classes.rb +1428 -0
  163. data/generated/google/apis/gan_v1beta1/representations.rb +428 -0
  164. data/generated/google/apis/gan_v1beta1/service.rb +692 -0
  165. data/generated/google/apis/genomics_v1beta2.rb +46 -0
  166. data/generated/google/apis/genomics_v1beta2/classes.rb +3288 -0
  167. data/generated/google/apis/genomics_v1beta2/representations.rb +1194 -0
  168. data/generated/google/apis/genomics_v1beta2/service.rb +2356 -0
  169. data/generated/google/apis/gmail_v1.rb +49 -0
  170. data/generated/google/apis/gmail_v1/classes.rb +794 -0
  171. data/generated/google/apis/gmail_v1/representations.rb +339 -0
  172. data/generated/google/apis/gmail_v1/service.rb +1502 -0
  173. data/generated/google/apis/groupsmigration_v1.rb +34 -0
  174. data/generated/google/apis/groupsmigration_v1/classes.rb +51 -0
  175. data/generated/google/apis/groupsmigration_v1/representations.rb +38 -0
  176. data/generated/google/apis/groupsmigration_v1/service.rb +111 -0
  177. data/generated/google/apis/groupssettings_v1.rb +34 -0
  178. data/generated/google/apis/groupssettings_v1/classes.rb +221 -0
  179. data/generated/google/apis/groupssettings_v1/representations.rb +64 -0
  180. data/generated/google/apis/groupssettings_v1/service.rb +179 -0
  181. data/generated/google/apis/identitytoolkit_v3.rb +31 -0
  182. data/generated/google/apis/identitytoolkit_v3/classes.rb +1229 -0
  183. data/generated/google/apis/identitytoolkit_v3/representations.rb +422 -0
  184. data/generated/google/apis/identitytoolkit_v3/service.rb +491 -0
  185. data/generated/google/apis/licensing_v1.rb +34 -0
  186. data/generated/google/apis/licensing_v1/classes.rb +132 -0
  187. data/generated/google/apis/licensing_v1/representations.rb +68 -0
  188. data/generated/google/apis/licensing_v1/service.rb +376 -0
  189. data/generated/google/apis/logging_v1beta3.rb +35 -0
  190. data/generated/google/apis/logging_v1beta3/classes.rb +505 -0
  191. data/generated/google/apis/logging_v1beta3/representations.rb +222 -0
  192. data/generated/google/apis/logging_v1beta3/service.rb +670 -0
  193. data/generated/google/apis/manager_v1beta2.rb +50 -0
  194. data/generated/google/apis/manager_v1beta2/classes.rb +1287 -0
  195. data/generated/google/apis/manager_v1beta2/representations.rb +536 -0
  196. data/generated/google/apis/manager_v1beta2/service.rb +380 -0
  197. data/generated/google/apis/mapsengine_v1.rb +38 -0
  198. data/generated/google/apis/mapsengine_v1/classes.rb +2873 -0
  199. data/generated/google/apis/mapsengine_v1/representations.rb +1235 -0
  200. data/generated/google/apis/mapsengine_v1/service.rb +3465 -0
  201. data/generated/google/apis/mirror_v1.rb +37 -0
  202. data/generated/google/apis/mirror_v1/classes.rb +1072 -0
  203. data/generated/google/apis/mirror_v1/representations.rb +350 -0
  204. data/generated/google/apis/mirror_v1/service.rb +1001 -0
  205. data/generated/google/apis/oauth2_v2.rb +43 -0
  206. data/generated/google/apis/oauth2_v2/classes.rb +245 -0
  207. data/generated/google/apis/oauth2_v2/representations.rb +94 -0
  208. data/generated/google/apis/oauth2_v2/service.rb +203 -0
  209. data/generated/google/apis/pagespeedonline_v2.rb +32 -0
  210. data/generated/google/apis/pagespeedonline_v2/classes.rb +614 -0
  211. data/generated/google/apis/pagespeedonline_v2/representations.rb +244 -0
  212. data/generated/google/apis/pagespeedonline_v2/service.rb +120 -0
  213. data/generated/google/apis/plus_domains_v1.rb +61 -0
  214. data/generated/google/apis/plus_domains_v1/classes.rb +2402 -0
  215. data/generated/google/apis/plus_domains_v1/representations.rb +873 -0
  216. data/generated/google/apis/plus_domains_v1/service.rb +924 -0
  217. data/generated/google/apis/plus_v1.rb +43 -0
  218. data/generated/google/apis/plus_v1/classes.rb +2384 -0
  219. data/generated/google/apis/plus_v1/representations.rb +812 -0
  220. data/generated/google/apis/plus_v1/service.rb +616 -0
  221. data/generated/google/apis/prediction_v1_6.rb +44 -0
  222. data/generated/google/apis/prediction_v1_6/classes.rb +751 -0
  223. data/generated/google/apis/prediction_v1_6/representations.rb +327 -0
  224. data/generated/google/apis/prediction_v1_6/service.rb +388 -0
  225. data/generated/google/apis/pubsub_v1beta2.rb +37 -0
  226. data/generated/google/apis/pubsub_v1beta2/classes.rb +824 -0
  227. data/generated/google/apis/pubsub_v1beta2/representations.rb +366 -0
  228. data/generated/google/apis/pubsub_v1beta2/service.rb +778 -0
  229. data/generated/google/apis/qpx_express_v1.rb +31 -0
  230. data/generated/google/apis/qpx_express_v1/classes.rb +1268 -0
  231. data/generated/google/apis/qpx_express_v1/representations.rb +424 -0
  232. data/generated/google/apis/qpx_express_v1/service.rb +101 -0
  233. data/generated/google/apis/replicapool_v1beta2.rb +41 -0
  234. data/generated/google/apis/replicapool_v1beta2/classes.rb +621 -0
  235. data/generated/google/apis/replicapool_v1beta2/representations.rb +235 -0
  236. data/generated/google/apis/replicapool_v1beta2/service.rb +620 -0
  237. data/generated/google/apis/replicapoolupdater_v1beta1.rb +41 -0
  238. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +682 -0
  239. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +247 -0
  240. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +472 -0
  241. data/generated/google/apis/reseller_v1.rb +37 -0
  242. data/generated/google/apis/reseller_v1/classes.rb +502 -0
  243. data/generated/google/apis/reseller_v1/representations.rb +199 -0
  244. data/generated/google/apis/reseller_v1/service.rb +637 -0
  245. data/generated/google/apis/resourceviews_v1beta2.rb +47 -0
  246. data/generated/google/apis/resourceviews_v1beta2/classes.rb +660 -0
  247. data/generated/google/apis/resourceviews_v1beta2/representations.rb +269 -0
  248. data/generated/google/apis/resourceviews_v1beta2/service.rb +574 -0
  249. data/generated/google/apis/site_verification_v1.rb +37 -0
  250. data/generated/google/apis/site_verification_v1/classes.rb +185 -0
  251. data/generated/google/apis/site_verification_v1/representations.rb +101 -0
  252. data/generated/google/apis/site_verification_v1/service.rb +322 -0
  253. data/generated/google/apis/sqladmin_v1beta4.rb +37 -0
  254. data/generated/google/apis/sqladmin_v1beta4/classes.rb +1817 -0
  255. data/generated/google/apis/sqladmin_v1beta4/representations.rb +688 -0
  256. data/generated/google/apis/sqladmin_v1beta4/service.rb +1534 -0
  257. data/generated/google/apis/storage_v1.rb +43 -0
  258. data/generated/google/apis/storage_v1/classes.rb +1177 -0
  259. data/generated/google/apis/storage_v1/representations.rb +427 -0
  260. data/generated/google/apis/storage_v1/service.rb +1920 -0
  261. data/generated/google/apis/tagmanager_v1.rb +52 -0
  262. data/generated/google/apis/tagmanager_v1/classes.rb +1226 -0
  263. data/generated/google/apis/tagmanager_v1/representations.rb +461 -0
  264. data/generated/google/apis/tagmanager_v1/service.rb +1978 -0
  265. data/generated/google/apis/taskqueue_v1beta2.rb +37 -0
  266. data/generated/google/apis/taskqueue_v1beta2/classes.rb +254 -0
  267. data/generated/google/apis/taskqueue_v1beta2/representations.rb +114 -0
  268. data/generated/google/apis/taskqueue_v1beta2/service.rb +416 -0
  269. data/generated/google/apis/tasks_v1.rb +37 -0
  270. data/generated/google/apis/tasks_v1/classes.rb +296 -0
  271. data/generated/google/apis/tasks_v1/representations.rb +115 -0
  272. data/generated/google/apis/tasks_v1/service.rb +657 -0
  273. data/generated/google/apis/translate_v2.rb +31 -0
  274. data/generated/google/apis/translate_v2/classes.rb +168 -0
  275. data/generated/google/apis/translate_v2/representations.rb +109 -0
  276. data/generated/google/apis/translate_v2/service.rb +185 -0
  277. data/generated/google/apis/urlshortener_v1.rb +34 -0
  278. data/generated/google/apis/urlshortener_v1/classes.rb +246 -0
  279. data/generated/google/apis/urlshortener_v1/representations.rb +111 -0
  280. data/generated/google/apis/urlshortener_v1/service.rb +179 -0
  281. data/generated/google/apis/webmasters_v3.rb +37 -0
  282. data/generated/google/apis/webmasters_v3/classes.rb +563 -0
  283. data/generated/google/apis/webmasters_v3/representations.rb +250 -0
  284. data/generated/google/apis/webmasters_v3/service.rb +587 -0
  285. data/generated/google/apis/youtube_analytics_v1.rb +46 -0
  286. data/generated/google/apis/youtube_analytics_v1/classes.rb +540 -0
  287. data/generated/google/apis/youtube_analytics_v1/representations.rb +242 -0
  288. data/generated/google/apis/youtube_analytics_v1/service.rb +567 -0
  289. data/generated/google/apis/youtube_v3.rb +49 -0
  290. data/generated/google/apis/youtube_v3/classes.rb +7225 -0
  291. data/generated/google/apis/youtube_v3/representations.rb +2529 -0
  292. data/generated/google/apis/youtube_v3/service.rb +4051 -0
  293. data/google-api-client.gemspec +27 -39
  294. data/lib/google/api_client/auth/storage.rb +3 -2
  295. data/lib/google/api_client/auth/storages/file_store.rb +1 -3
  296. data/lib/google/api_client/auth/storages/redis_store.rb +6 -2
  297. data/lib/google/apis.rb +48 -0
  298. data/lib/google/apis/core/api_command.rb +128 -0
  299. data/lib/google/apis/core/base_service.rb +314 -0
  300. data/lib/google/apis/core/batch.rb +222 -0
  301. data/lib/google/apis/core/download.rb +94 -0
  302. data/lib/google/apis/core/hashable.rb +44 -0
  303. data/lib/google/apis/core/http_command.rb +275 -0
  304. data/lib/google/apis/core/json_representation.rb +122 -0
  305. data/lib/google/{api_client/version.rb → apis/core/logging.rb} +12 -8
  306. data/lib/google/apis/core/multipart.rb +173 -0
  307. data/lib/google/apis/core/upload.rb +275 -0
  308. data/lib/google/{api_client → apis}/errors.rb +32 -28
  309. data/lib/google/apis/generator.rb +70 -0
  310. data/lib/google/apis/generator/annotator.rb +271 -0
  311. data/lib/google/apis/generator/helpers.rb +74 -0
  312. data/lib/google/apis/generator/model.rb +130 -0
  313. data/lib/google/apis/generator/template.rb +124 -0
  314. data/lib/google/apis/generator/templates/_class.tmpl +40 -0
  315. data/lib/google/apis/generator/templates/_method.tmpl +90 -0
  316. data/lib/google/apis/generator/templates/_representation.tmpl +51 -0
  317. data/lib/google/apis/generator/templates/_representation_stub.tmpl +15 -0
  318. data/lib/google/apis/generator/templates/_representation_type.tmpl +10 -0
  319. data/lib/google/{api_client/reference.rb → apis/generator/templates/classes.rb.tmpl} +11 -9
  320. data/lib/google/apis/generator/templates/module.rb.tmpl +40 -0
  321. data/lib/google/apis/generator/templates/representations.rb.tmpl +32 -0
  322. data/lib/google/apis/generator/templates/service.rb.tmpl +60 -0
  323. data/lib/google/apis/options.rb +79 -0
  324. data/lib/google/apis/version.rb +39 -0
  325. data/rakelib/metrics.rake +22 -0
  326. data/rakelib/rubocop.rake +10 -0
  327. data/rakelib/spec.rake +11 -0
  328. data/rakelib/yard.rake +11 -0
  329. data/samples/calendar/calendar.rb +43 -0
  330. data/samples/drive/drive.rb +40 -0
  331. data/samples/pubsub/pubsub.rb +52 -0
  332. data/{lib/google/api_client/discovery.rb → samples/translate/translate.rb} +14 -5
  333. data/script/generate +79 -0
  334. data/script/package +8 -0
  335. data/script/release +15 -0
  336. data/spec/fixtures/files/api_names.yaml +3 -0
  337. data/spec/fixtures/files/auth_stored_credentials.json +8 -0
  338. data/spec/fixtures/files/client_secrets.json +1 -0
  339. data/spec/fixtures/files/test.blah +1 -0
  340. data/spec/fixtures/files/test.txt +1 -0
  341. data/spec/fixtures/files/test_api.json +440 -0
  342. data/spec/google/api_client/auth/storage_spec.rb +1 -3
  343. data/spec/google/api_client/auth/storages/file_store_spec.rb +1 -2
  344. data/spec/google/api_client/auth/storages/redis_store_spec.rb +1 -3
  345. data/spec/google/apis/core/api_command_spec.rb +170 -0
  346. data/spec/google/apis/core/batch_spec.rb +128 -0
  347. data/spec/google/apis/core/download_spec.rb +90 -0
  348. data/spec/google/apis/core/hashable_spec.rb +60 -0
  349. data/spec/google/apis/core/http_command_spec.rb +238 -0
  350. data/spec/google/apis/core/json_representation_spec.rb +192 -0
  351. data/spec/google/apis/core/service_spec.rb +247 -0
  352. data/spec/google/apis/core/upload_spec.rb +238 -0
  353. data/{lib/google/api_client/service_account.rb → spec/google/apis/generated_spec.rb} +14 -8
  354. data/spec/google/apis/generator/generator_spec.rb +272 -0
  355. data/spec/google/apis/logging_spec.rb +45 -0
  356. data/spec/google/apis/options_spec.rb +40 -0
  357. data/spec/integration_tests/drive_spec.rb +35 -0
  358. data/spec/integration_tests/pubsub_spec.rb +48 -0
  359. data/spec/integration_tests/url_shortener_spec.rb +31 -0
  360. data/spec/spec_helper.rb +102 -46
  361. metadata +433 -178
  362. data/lib/compat/multi_json.rb +0 -19
  363. data/lib/google/api_client.rb +0 -750
  364. data/lib/google/api_client/auth/file_storage.rb +0 -59
  365. data/lib/google/api_client/auth/jwt_asserter.rb +0 -126
  366. data/lib/google/api_client/auth/key_utils.rb +0 -93
  367. data/lib/google/api_client/auth/pkcs12.rb +0 -41
  368. data/lib/google/api_client/batch.rb +0 -326
  369. data/lib/google/api_client/charset.rb +0 -33
  370. data/lib/google/api_client/discovery/api.rb +0 -310
  371. data/lib/google/api_client/discovery/media.rb +0 -77
  372. data/lib/google/api_client/discovery/method.rb +0 -363
  373. data/lib/google/api_client/discovery/resource.rb +0 -156
  374. data/lib/google/api_client/discovery/schema.rb +0 -117
  375. data/lib/google/api_client/environment.rb +0 -42
  376. data/lib/google/api_client/gzip.rb +0 -28
  377. data/lib/google/api_client/logging.rb +0 -32
  378. data/lib/google/api_client/media.rb +0 -259
  379. data/lib/google/api_client/railtie.rb +0 -18
  380. data/lib/google/api_client/request.rb +0 -350
  381. data/lib/google/api_client/result.rb +0 -255
  382. data/lib/google/api_client/service.rb +0 -233
  383. data/lib/google/api_client/service/batch.rb +0 -110
  384. data/lib/google/api_client/service/request.rb +0 -144
  385. data/lib/google/api_client/service/resource.rb +0 -40
  386. data/lib/google/api_client/service/result.rb +0 -162
  387. data/lib/google/api_client/service/simple_file_store.rb +0 -151
  388. data/lib/google/api_client/service/stub_generator.rb +0 -61
  389. data/spec/google/api_client/batch_spec.rb +0 -248
  390. data/spec/google/api_client/discovery_spec.rb +0 -708
  391. data/spec/google/api_client/gzip_spec.rb +0 -98
  392. data/spec/google/api_client/media_spec.rb +0 -178
  393. data/spec/google/api_client/result_spec.rb +0 -207
  394. data/spec/google/api_client/service_account_spec.rb +0 -169
  395. data/spec/google/api_client/service_spec.rb +0 -618
  396. data/spec/google/api_client/simple_file_store_spec.rb +0 -133
  397. data/spec/google/api_client_spec.rb +0 -352
@@ -0,0 +1,37 @@
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/sqladmin_v1beta4/service.rb'
16
+ require 'google/apis/sqladmin_v1beta4/classes.rb'
17
+ require 'google/apis/sqladmin_v1beta4/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud SQL Administration API
22
+ #
23
+ # API for Cloud SQL database instance management.
24
+ #
25
+ # @see https://cloud.google.com/sql/docs/reference/latest
26
+ module SqladminV1beta4
27
+ VERSION = 'V1beta4'
28
+ REVISION = '20150305'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+
33
+ # Manage your Google SQL Service instances
34
+ AUTH_SQLSERVICE_ADMIN = 'https://www.googleapis.com/auth/sqlservice.admin'
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,1817 @@
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 SqladminV1beta4
24
+
25
+ # An entry for an Access Control list.
26
+ class AclEntry
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The time when this access control entry expires in RFC 3339 format, for
30
+ # example 2012-11-15T16:19:00.094Z.
31
+ # Corresponds to the JSON property `expirationTime`
32
+ # @return [DateTime]
33
+ attr_accessor :expiration_time
34
+
35
+ # This is always sql#aclEntry.
36
+ # Corresponds to the JSON property `kind`
37
+ # @return [String]
38
+ attr_accessor :kind
39
+
40
+ # An optional label to identify this entry.
41
+ # Corresponds to the JSON property `name`
42
+ # @return [String]
43
+ attr_accessor :name
44
+
45
+ # The whitelisted value for the access control list.
46
+ # Corresponds to the JSON property `value`
47
+ # @return [String]
48
+ attr_accessor :value
49
+
50
+ def initialize(**args)
51
+ update!(**args)
52
+ end
53
+
54
+ # Update properties of this object
55
+ def update!(**args)
56
+ @expiration_time = args[:expiration_time] unless args[:expiration_time].nil?
57
+ @kind = args[:kind] unless args[:kind].nil?
58
+ @name = args[:name] unless args[:name].nil?
59
+ @value = args[:value] unless args[:value].nil?
60
+ end
61
+ end
62
+
63
+ # Database instance backup configuration.
64
+ class BackupConfiguration
65
+ include Google::Apis::Core::Hashable
66
+
67
+ # Whether binary log is enabled. If backup configuration is disabled, binary log
68
+ # must be disabled as well.
69
+ # Corresponds to the JSON property `binaryLogEnabled`
70
+ # @return [Boolean]
71
+ attr_accessor :binary_log_enabled
72
+ alias_method :binary_log_enabled?, :binary_log_enabled
73
+
74
+ # Whether this configuration is enabled.
75
+ # Corresponds to the JSON property `enabled`
76
+ # @return [Boolean]
77
+ attr_accessor :enabled
78
+ alias_method :enabled?, :enabled
79
+
80
+ # This is always sql#backupConfiguration.
81
+ # Corresponds to the JSON property `kind`
82
+ # @return [String]
83
+ attr_accessor :kind
84
+
85
+ # Start time for the daily backup configuration in UTC timezone in the 24 hour
86
+ # format - HH:MM.
87
+ # Corresponds to the JSON property `startTime`
88
+ # @return [String]
89
+ attr_accessor :start_time
90
+
91
+ def initialize(**args)
92
+ update!(**args)
93
+ end
94
+
95
+ # Update properties of this object
96
+ def update!(**args)
97
+ @binary_log_enabled = args[:binary_log_enabled] unless args[:binary_log_enabled].nil?
98
+ @enabled = args[:enabled] unless args[:enabled].nil?
99
+ @kind = args[:kind] unless args[:kind].nil?
100
+ @start_time = args[:start_time] unless args[:start_time].nil?
101
+ end
102
+ end
103
+
104
+ # A database instance backup run resource.
105
+ class BackupRun
106
+ include Google::Apis::Core::Hashable
107
+
108
+ # The time the backup operation completed in UTC timezone in RFC 3339 format,
109
+ # for example 2012-11-15T16:19:00.094Z.
110
+ # Corresponds to the JSON property `endTime`
111
+ # @return [DateTime]
112
+ attr_accessor :end_time
113
+
114
+ # The time the run was enqueued in UTC timezone in RFC 3339 format, for example
115
+ # 2012-11-15T16:19:00.094Z.
116
+ # Corresponds to the JSON property `enqueuedTime`
117
+ # @return [DateTime]
118
+ attr_accessor :enqueued_time
119
+
120
+ # Database instance operation error.
121
+ # Corresponds to the JSON property `error`
122
+ # @return [Google::Apis::SqladminV1beta4::OperationError]
123
+ attr_accessor :error
124
+
125
+ # A unique identifier for this backup run. Note that this is unique only within
126
+ # the scope of a particular Cloud SQL instance.
127
+ # Corresponds to the JSON property `id`
128
+ # @return [String]
129
+ attr_accessor :id
130
+
131
+ # Name of the database instance.
132
+ # Corresponds to the JSON property `instance`
133
+ # @return [String]
134
+ attr_accessor :instance
135
+
136
+ # This is always sql#backupRun.
137
+ # Corresponds to the JSON property `kind`
138
+ # @return [String]
139
+ attr_accessor :kind
140
+
141
+ # The URI of this resource.
142
+ # Corresponds to the JSON property `selfLink`
143
+ # @return [String]
144
+ attr_accessor :self_link
145
+
146
+ # The time the backup operation actually started in UTC timezone in RFC 3339
147
+ # format, for example 2012-11-15T16:19:00.094Z.
148
+ # Corresponds to the JSON property `startTime`
149
+ # @return [DateTime]
150
+ attr_accessor :start_time
151
+
152
+ # The status of this run.
153
+ # Corresponds to the JSON property `status`
154
+ # @return [String]
155
+ attr_accessor :status
156
+
157
+ # The start time of the backup window during which this the backup was attempted
158
+ # in RFC 3339 format, for example 2012-11-15T16:19:00.094Z.
159
+ # Corresponds to the JSON property `windowStartTime`
160
+ # @return [DateTime]
161
+ attr_accessor :window_start_time
162
+
163
+ def initialize(**args)
164
+ update!(**args)
165
+ end
166
+
167
+ # Update properties of this object
168
+ def update!(**args)
169
+ @end_time = args[:end_time] unless args[:end_time].nil?
170
+ @enqueued_time = args[:enqueued_time] unless args[:enqueued_time].nil?
171
+ @error = args[:error] unless args[:error].nil?
172
+ @id = args[:id] unless args[:id].nil?
173
+ @instance = args[:instance] unless args[:instance].nil?
174
+ @kind = args[:kind] unless args[:kind].nil?
175
+ @self_link = args[:self_link] unless args[:self_link].nil?
176
+ @start_time = args[:start_time] unless args[:start_time].nil?
177
+ @status = args[:status] unless args[:status].nil?
178
+ @window_start_time = args[:window_start_time] unless args[:window_start_time].nil?
179
+ end
180
+ end
181
+
182
+ # Backup run list results.
183
+ class ListBackupRunsResponse
184
+ include Google::Apis::Core::Hashable
185
+
186
+ # A list of backup runs in reverse chronological order of the enqueued time.
187
+ # Corresponds to the JSON property `items`
188
+ # @return [Array<Google::Apis::SqladminV1beta4::BackupRun>]
189
+ attr_accessor :items
190
+
191
+ # This is always sql#backupRunsList.
192
+ # Corresponds to the JSON property `kind`
193
+ # @return [String]
194
+ attr_accessor :kind
195
+
196
+ # The continuation token, used to page through large result sets. Provide this
197
+ # value in a subsequent request to return the next page of results.
198
+ # Corresponds to the JSON property `nextPageToken`
199
+ # @return [String]
200
+ attr_accessor :next_page_token
201
+
202
+ def initialize(**args)
203
+ update!(**args)
204
+ end
205
+
206
+ # Update properties of this object
207
+ def update!(**args)
208
+ @items = args[:items] unless args[:items].nil?
209
+ @kind = args[:kind] unless args[:kind].nil?
210
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
211
+ end
212
+ end
213
+
214
+ # Binary log coordinates.
215
+ class BinLogCoordinates
216
+ include Google::Apis::Core::Hashable
217
+
218
+ # Name of the binary log file for a Cloud SQL instance.
219
+ # Corresponds to the JSON property `binLogFileName`
220
+ # @return [String]
221
+ attr_accessor :bin_log_file_name
222
+
223
+ # Position (offset) within the binary log file.
224
+ # Corresponds to the JSON property `binLogPosition`
225
+ # @return [String]
226
+ attr_accessor :bin_log_position
227
+
228
+ # This is always sql#binLogCoordinates.
229
+ # Corresponds to the JSON property `kind`
230
+ # @return [String]
231
+ attr_accessor :kind
232
+
233
+ def initialize(**args)
234
+ update!(**args)
235
+ end
236
+
237
+ # Update properties of this object
238
+ def update!(**args)
239
+ @bin_log_file_name = args[:bin_log_file_name] unless args[:bin_log_file_name].nil?
240
+ @bin_log_position = args[:bin_log_position] unless args[:bin_log_position].nil?
241
+ @kind = args[:kind] unless args[:kind].nil?
242
+ end
243
+ end
244
+
245
+ # Database instance clone context.
246
+ class CloneContext
247
+ include Google::Apis::Core::Hashable
248
+
249
+ # Binary log coordinates.
250
+ # Corresponds to the JSON property `binLogCoordinates`
251
+ # @return [Google::Apis::SqladminV1beta4::BinLogCoordinates]
252
+ attr_accessor :bin_log_coordinates
253
+
254
+ # Name of the Cloud SQL instance to be created as a clone.
255
+ # Corresponds to the JSON property `destinationInstanceName`
256
+ # @return [String]
257
+ attr_accessor :destination_instance_name
258
+
259
+ # This is always sql#cloneContext.
260
+ # Corresponds to the JSON property `kind`
261
+ # @return [String]
262
+ attr_accessor :kind
263
+
264
+ def initialize(**args)
265
+ update!(**args)
266
+ end
267
+
268
+ # Update properties of this object
269
+ def update!(**args)
270
+ @bin_log_coordinates = args[:bin_log_coordinates] unless args[:bin_log_coordinates].nil?
271
+ @destination_instance_name = args[:destination_instance_name] unless args[:destination_instance_name].nil?
272
+ @kind = args[:kind] unless args[:kind].nil?
273
+ end
274
+ end
275
+
276
+ # A database resource inside a Cloud SQL instance.
277
+ class Database
278
+ include Google::Apis::Core::Hashable
279
+
280
+ # The MySQL charset value.
281
+ # Corresponds to the JSON property `charset`
282
+ # @return [String]
283
+ attr_accessor :charset
284
+
285
+ # The MySQL collation value.
286
+ # Corresponds to the JSON property `collation`
287
+ # @return [String]
288
+ attr_accessor :collation
289
+
290
+ # HTTP 1.1 Entity tag for the resource.
291
+ # Corresponds to the JSON property `etag`
292
+ # @return [String]
293
+ attr_accessor :etag
294
+
295
+ # The name of the Cloud SQL instance. This does not include the project ID.
296
+ # Corresponds to the JSON property `instance`
297
+ # @return [String]
298
+ attr_accessor :instance
299
+
300
+ # This is always sql#database.
301
+ # Corresponds to the JSON property `kind`
302
+ # @return [String]
303
+ attr_accessor :kind
304
+
305
+ # The name of the database in the Cloud SQL instance. This does not include the
306
+ # project ID or instance name.
307
+ # Corresponds to the JSON property `name`
308
+ # @return [String]
309
+ attr_accessor :name
310
+
311
+ # The project ID of the project containing the Cloud SQL database. The Google
312
+ # apps domain is prefixed if applicable.
313
+ # Corresponds to the JSON property `project`
314
+ # @return [String]
315
+ attr_accessor :project
316
+
317
+ # The URI of this resource.
318
+ # Corresponds to the JSON property `selfLink`
319
+ # @return [String]
320
+ attr_accessor :self_link
321
+
322
+ def initialize(**args)
323
+ update!(**args)
324
+ end
325
+
326
+ # Update properties of this object
327
+ def update!(**args)
328
+ @charset = args[:charset] unless args[:charset].nil?
329
+ @collation = args[:collation] unless args[:collation].nil?
330
+ @etag = args[:etag] unless args[:etag].nil?
331
+ @instance = args[:instance] unless args[:instance].nil?
332
+ @kind = args[:kind] unless args[:kind].nil?
333
+ @name = args[:name] unless args[:name].nil?
334
+ @project = args[:project] unless args[:project].nil?
335
+ @self_link = args[:self_link] unless args[:self_link].nil?
336
+ end
337
+ end
338
+
339
+ # MySQL flags for Cloud SQL instances.
340
+ class DatabaseFlags
341
+ include Google::Apis::Core::Hashable
342
+
343
+ # The name of the flag. These flags are passed at instance startup, so include
344
+ # both MySQL server options and MySQL system variables. Flags should be
345
+ # specified with underscores, not hyphens. For more information, see Configuring
346
+ # MySQL Flags in the Google Cloud SQL documentation, as well as the official
347
+ # MySQL documentation for server options and system variables.
348
+ # Corresponds to the JSON property `name`
349
+ # @return [String]
350
+ attr_accessor :name
351
+
352
+ # The value of the flag. Booleans should be set to on for true and off for false.
353
+ # This field must be omitted if the flag doesn't take a value.
354
+ # Corresponds to the JSON property `value`
355
+ # @return [String]
356
+ attr_accessor :value
357
+
358
+ def initialize(**args)
359
+ update!(**args)
360
+ end
361
+
362
+ # Update properties of this object
363
+ def update!(**args)
364
+ @name = args[:name] unless args[:name].nil?
365
+ @value = args[:value] unless args[:value].nil?
366
+ end
367
+ end
368
+
369
+ # A Cloud SQL instance resource.
370
+ class DatabaseInstance
371
+ include Google::Apis::Core::Hashable
372
+
373
+ # The current disk usage of the instance in bytes.
374
+ # Corresponds to the JSON property `currentDiskSize`
375
+ # @return [String]
376
+ attr_accessor :current_disk_size
377
+
378
+ # The database engine type and version. Can be MYSQL_5_5 or MYSQL_5_6. Defaults
379
+ # to MYSQL_5_5. The databaseVersion can not be changed after instance creation.
380
+ # Corresponds to the JSON property `databaseVersion`
381
+ # @return [String]
382
+ attr_accessor :database_version
383
+
384
+ # HTTP 1.1 Entity tag for the resource.
385
+ # Corresponds to the JSON property `etag`
386
+ # @return [String]
387
+ attr_accessor :etag
388
+
389
+ # The instance type. This can be one of the following.
390
+ # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master.
391
+ # ON_PREMISES_INSTANCE: An instance running on the customer's premises.
392
+ # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica.
393
+ # Corresponds to the JSON property `instanceType`
394
+ # @return [String]
395
+ attr_accessor :instance_type
396
+
397
+ # The assigned IP addresses for the instance.
398
+ # Corresponds to the JSON property `ipAddresses`
399
+ # @return [Array<Google::Apis::SqladminV1beta4::IpMapping>]
400
+ attr_accessor :ip_addresses
401
+
402
+ # The IPv6 address assigned to the instance.
403
+ # Corresponds to the JSON property `ipv6Address`
404
+ # @return [String]
405
+ attr_accessor :ipv6_address
406
+
407
+ # This is always sql#instance.
408
+ # Corresponds to the JSON property `kind`
409
+ # @return [String]
410
+ attr_accessor :kind
411
+
412
+ # The name of the instance which will act as master in the replication setup.
413
+ # Corresponds to the JSON property `masterInstanceName`
414
+ # @return [String]
415
+ attr_accessor :master_instance_name
416
+
417
+ # The maximum disk size of the instance in bytes.
418
+ # Corresponds to the JSON property `maxDiskSize`
419
+ # @return [String]
420
+ attr_accessor :max_disk_size
421
+
422
+ # Name of the Cloud SQL instance. This does not include the project ID.
423
+ # Corresponds to the JSON property `name`
424
+ # @return [String]
425
+ attr_accessor :name
426
+
427
+ # On-premises instance configuration.
428
+ # Corresponds to the JSON property `onPremisesConfiguration`
429
+ # @return [Google::Apis::SqladminV1beta4::OnPremisesConfiguration]
430
+ attr_accessor :on_premises_configuration
431
+
432
+ # The project ID of the project containing the Cloud SQL instance. The Google
433
+ # apps domain is prefixed if applicable.
434
+ # Corresponds to the JSON property `project`
435
+ # @return [String]
436
+ attr_accessor :project
437
+
438
+ # The geographical region. Can be us-central, asia-east1 or europe-west1.
439
+ # Defaults to us-central. The region can not be changed after instance creation.
440
+ # Corresponds to the JSON property `region`
441
+ # @return [String]
442
+ attr_accessor :region
443
+
444
+ # Read-replica configuration for connecting to the master.
445
+ # Corresponds to the JSON property `replicaConfiguration`
446
+ # @return [Google::Apis::SqladminV1beta4::ReplicaConfiguration]
447
+ attr_accessor :replica_configuration
448
+
449
+ # The replicas of the instance.
450
+ # Corresponds to the JSON property `replicaNames`
451
+ # @return [Array<String>]
452
+ attr_accessor :replica_names
453
+
454
+ # The URI of this resource.
455
+ # Corresponds to the JSON property `selfLink`
456
+ # @return [String]
457
+ attr_accessor :self_link
458
+
459
+ # SslCerts Resource
460
+ # Corresponds to the JSON property `serverCaCert`
461
+ # @return [Google::Apis::SqladminV1beta4::SslCert]
462
+ attr_accessor :server_ca_cert
463
+
464
+ # The service account email address assigned to the instance.
465
+ # Corresponds to the JSON property `serviceAccountEmailAddress`
466
+ # @return [String]
467
+ attr_accessor :service_account_email_address
468
+
469
+ # Database instance settings.
470
+ # Corresponds to the JSON property `settings`
471
+ # @return [Google::Apis::SqladminV1beta4::Settings]
472
+ attr_accessor :settings
473
+
474
+ # The current serving state of the Cloud SQL instance. This can be one of the
475
+ # following.
476
+ # RUNNABLE: The instance is running, or is ready to run when accessed.
477
+ # SUSPENDED: The instance is not available, for example due to problems with
478
+ # billing.
479
+ # PENDING_CREATE: The instance is being created.
480
+ # MAINTENANCE: The instance is down for maintenance.
481
+ # FAILED: The instance creation failed.
482
+ # UNKNOWN_STATE: The state of the instance is unknown.
483
+ # Corresponds to the JSON property `state`
484
+ # @return [String]
485
+ attr_accessor :state
486
+
487
+ def initialize(**args)
488
+ update!(**args)
489
+ end
490
+
491
+ # Update properties of this object
492
+ def update!(**args)
493
+ @current_disk_size = args[:current_disk_size] unless args[:current_disk_size].nil?
494
+ @database_version = args[:database_version] unless args[:database_version].nil?
495
+ @etag = args[:etag] unless args[:etag].nil?
496
+ @instance_type = args[:instance_type] unless args[:instance_type].nil?
497
+ @ip_addresses = args[:ip_addresses] unless args[:ip_addresses].nil?
498
+ @ipv6_address = args[:ipv6_address] unless args[:ipv6_address].nil?
499
+ @kind = args[:kind] unless args[:kind].nil?
500
+ @master_instance_name = args[:master_instance_name] unless args[:master_instance_name].nil?
501
+ @max_disk_size = args[:max_disk_size] unless args[:max_disk_size].nil?
502
+ @name = args[:name] unless args[:name].nil?
503
+ @on_premises_configuration = args[:on_premises_configuration] unless args[:on_premises_configuration].nil?
504
+ @project = args[:project] unless args[:project].nil?
505
+ @region = args[:region] unless args[:region].nil?
506
+ @replica_configuration = args[:replica_configuration] unless args[:replica_configuration].nil?
507
+ @replica_names = args[:replica_names] unless args[:replica_names].nil?
508
+ @self_link = args[:self_link] unless args[:self_link].nil?
509
+ @server_ca_cert = args[:server_ca_cert] unless args[:server_ca_cert].nil?
510
+ @service_account_email_address = args[:service_account_email_address] unless args[:service_account_email_address].nil?
511
+ @settings = args[:settings] unless args[:settings].nil?
512
+ @state = args[:state] unless args[:state].nil?
513
+ end
514
+ end
515
+
516
+ # Database list response.
517
+ class ListDatabasesResponse
518
+ include Google::Apis::Core::Hashable
519
+
520
+ # List of database resources in the instance.
521
+ # Corresponds to the JSON property `items`
522
+ # @return [Array<Google::Apis::SqladminV1beta4::Database>]
523
+ attr_accessor :items
524
+
525
+ # This is always sql#databasesList.
526
+ # Corresponds to the JSON property `kind`
527
+ # @return [String]
528
+ attr_accessor :kind
529
+
530
+ def initialize(**args)
531
+ update!(**args)
532
+ end
533
+
534
+ # Update properties of this object
535
+ def update!(**args)
536
+ @items = args[:items] unless args[:items].nil?
537
+ @kind = args[:kind] unless args[:kind].nil?
538
+ end
539
+ end
540
+
541
+ # Database instance export context.
542
+ class ExportContext
543
+ include Google::Apis::Core::Hashable
544
+
545
+ # Options for exporting data as CSV.
546
+ # Corresponds to the JSON property `csvExportOptions`
547
+ # @return [Google::Apis::SqladminV1beta4::ExportContext::CsvExportOptions]
548
+ attr_accessor :csv_export_options
549
+
550
+ # Databases (for example, guestbook) from which the export is made. If fileType
551
+ # is SQL and no database is specified, all databases are exported. If fileType
552
+ # is CSV, you can optionally specify at most one database to export. If
553
+ # csvExportOptions.selectQuery also specifies the database, this field will be
554
+ # ignored.
555
+ # Corresponds to the JSON property `databases`
556
+ # @return [Array<String>]
557
+ attr_accessor :databases
558
+
559
+ # The file type for the specified uri.
560
+ # SQL: The file contains SQL statements.
561
+ # CSV: The file contains CSV data.
562
+ # Corresponds to the JSON property `fileType`
563
+ # @return [String]
564
+ attr_accessor :file_type
565
+
566
+ # This is always sql#exportContext.
567
+ # Corresponds to the JSON property `kind`
568
+ # @return [String]
569
+ attr_accessor :kind
570
+
571
+ # Options for exporting data as SQL statements.
572
+ # Corresponds to the JSON property `sqlExportOptions`
573
+ # @return [Google::Apis::SqladminV1beta4::ExportContext::SqlExportOptions]
574
+ attr_accessor :sql_export_options
575
+
576
+ # The path to the file in Google Cloud Storage where the export will be stored.
577
+ # The URI is in the form gs://bucketName/fileName. If the file already exists,
578
+ # the operation fails. If fileType is SQL and the filename ends with .gz, the
579
+ # contents are compressed.
580
+ # Corresponds to the JSON property `uri`
581
+ # @return [String]
582
+ attr_accessor :uri
583
+
584
+ def initialize(**args)
585
+ update!(**args)
586
+ end
587
+
588
+ # Update properties of this object
589
+ def update!(**args)
590
+ @csv_export_options = args[:csv_export_options] unless args[:csv_export_options].nil?
591
+ @databases = args[:databases] unless args[:databases].nil?
592
+ @file_type = args[:file_type] unless args[:file_type].nil?
593
+ @kind = args[:kind] unless args[:kind].nil?
594
+ @sql_export_options = args[:sql_export_options] unless args[:sql_export_options].nil?
595
+ @uri = args[:uri] unless args[:uri].nil?
596
+ end
597
+
598
+ # Options for exporting data as CSV.
599
+ class CsvExportOptions
600
+ include Google::Apis::Core::Hashable
601
+
602
+ # The select query used to extract the data.
603
+ # Corresponds to the JSON property `selectQuery`
604
+ # @return [String]
605
+ attr_accessor :select_query
606
+
607
+ def initialize(**args)
608
+ update!(**args)
609
+ end
610
+
611
+ # Update properties of this object
612
+ def update!(**args)
613
+ @select_query = args[:select_query] unless args[:select_query].nil?
614
+ end
615
+ end
616
+
617
+ # Options for exporting data as SQL statements.
618
+ class SqlExportOptions
619
+ include Google::Apis::Core::Hashable
620
+
621
+ # Tables to export, or that were exported, from the specified database. If you
622
+ # specify tables, specify one and only one database.
623
+ # Corresponds to the JSON property `tables`
624
+ # @return [Array<String>]
625
+ attr_accessor :tables
626
+
627
+ def initialize(**args)
628
+ update!(**args)
629
+ end
630
+
631
+ # Update properties of this object
632
+ def update!(**args)
633
+ @tables = args[:tables] unless args[:tables].nil?
634
+ end
635
+ end
636
+ end
637
+
638
+ # A Google Cloud SQL service flag resource.
639
+ class Flag
640
+ include Google::Apis::Core::Hashable
641
+
642
+ # For STRING flags, a list of strings that the value can be set to.
643
+ # Corresponds to the JSON property `allowedStringValues`
644
+ # @return [Array<String>]
645
+ attr_accessor :allowed_string_values
646
+
647
+ # The database version this flag applies to. Currently this can only be [
648
+ # MYSQL_5_5].
649
+ # Corresponds to the JSON property `appliesTo`
650
+ # @return [Array<String>]
651
+ attr_accessor :applies_to
652
+
653
+ # This is always sql#flag.
654
+ # Corresponds to the JSON property `kind`
655
+ # @return [String]
656
+ attr_accessor :kind
657
+
658
+ # For INTEGER flags, the maximum allowed value.
659
+ # Corresponds to the JSON property `maxValue`
660
+ # @return [String]
661
+ attr_accessor :max_value
662
+
663
+ # For INTEGER flags, the minimum allowed value.
664
+ # Corresponds to the JSON property `minValue`
665
+ # @return [String]
666
+ attr_accessor :min_value
667
+
668
+ # This is the name of the flag. Flag names always use underscores, not hyphens,
669
+ # e.g. max_allowed_packet
670
+ # Corresponds to the JSON property `name`
671
+ # @return [String]
672
+ attr_accessor :name
673
+
674
+ # The type of the flag. Flags are typed to being BOOLEAN, STRING, INTEGER or
675
+ # NONE. NONE is used for flags which do not take a value, such as
676
+ # skip_grant_tables.
677
+ # Corresponds to the JSON property `type`
678
+ # @return [String]
679
+ attr_accessor :type
680
+
681
+ def initialize(**args)
682
+ update!(**args)
683
+ end
684
+
685
+ # Update properties of this object
686
+ def update!(**args)
687
+ @allowed_string_values = args[:allowed_string_values] unless args[:allowed_string_values].nil?
688
+ @applies_to = args[:applies_to] unless args[:applies_to].nil?
689
+ @kind = args[:kind] unless args[:kind].nil?
690
+ @max_value = args[:max_value] unless args[:max_value].nil?
691
+ @min_value = args[:min_value] unless args[:min_value].nil?
692
+ @name = args[:name] unless args[:name].nil?
693
+ @type = args[:type] unless args[:type].nil?
694
+ end
695
+ end
696
+
697
+ # Flags list response.
698
+ class ListFlagsResponse
699
+ include Google::Apis::Core::Hashable
700
+
701
+ # List of flags.
702
+ # Corresponds to the JSON property `items`
703
+ # @return [Array<Google::Apis::SqladminV1beta4::Flag>]
704
+ attr_accessor :items
705
+
706
+ # This is always sql#flagsList.
707
+ # Corresponds to the JSON property `kind`
708
+ # @return [String]
709
+ attr_accessor :kind
710
+
711
+ def initialize(**args)
712
+ update!(**args)
713
+ end
714
+
715
+ # Update properties of this object
716
+ def update!(**args)
717
+ @items = args[:items] unless args[:items].nil?
718
+ @kind = args[:kind] unless args[:kind].nil?
719
+ end
720
+ end
721
+
722
+ # Database instance import context.
723
+ class ImportContext
724
+ include Google::Apis::Core::Hashable
725
+
726
+ # Options for importing data as CSV.
727
+ # Corresponds to the JSON property `csvImportOptions`
728
+ # @return [Google::Apis::SqladminV1beta4::ImportContext::CsvImportOptions]
729
+ attr_accessor :csv_import_options
730
+
731
+ # The database (for example, guestbook) to which the import is made. If fileType
732
+ # is SQL and no database is specified, it is assumed that the database is
733
+ # specified in the file to be imported. If fileType is CSV, it must be specified.
734
+ # Corresponds to the JSON property `database`
735
+ # @return [String]
736
+ attr_accessor :database
737
+
738
+ # The file type for the specified uri.
739
+ # SQL: The file contains SQL statements.
740
+ # CSV: The file contains CSV data.
741
+ # Corresponds to the JSON property `fileType`
742
+ # @return [String]
743
+ attr_accessor :file_type
744
+
745
+ # This is always sql#importContext.
746
+ # Corresponds to the JSON property `kind`
747
+ # @return [String]
748
+ attr_accessor :kind
749
+
750
+ # A path to the file in Google Cloud Storage from which the import is made. The
751
+ # URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are
752
+ # supported when fileType is SQL.
753
+ # Corresponds to the JSON property `uri`
754
+ # @return [String]
755
+ attr_accessor :uri
756
+
757
+ def initialize(**args)
758
+ update!(**args)
759
+ end
760
+
761
+ # Update properties of this object
762
+ def update!(**args)
763
+ @csv_import_options = args[:csv_import_options] unless args[:csv_import_options].nil?
764
+ @database = args[:database] unless args[:database].nil?
765
+ @file_type = args[:file_type] unless args[:file_type].nil?
766
+ @kind = args[:kind] unless args[:kind].nil?
767
+ @uri = args[:uri] unless args[:uri].nil?
768
+ end
769
+
770
+ # Options for importing data as CSV.
771
+ class CsvImportOptions
772
+ include Google::Apis::Core::Hashable
773
+
774
+ # The columns to which CSV data is imported. If not specified, all columns of
775
+ # the database table are loaded with CSV data.
776
+ # Corresponds to the JSON property `columns`
777
+ # @return [Array<String>]
778
+ attr_accessor :columns
779
+
780
+ # The table to which CSV data is imported.
781
+ # Corresponds to the JSON property `table`
782
+ # @return [String]
783
+ attr_accessor :table
784
+
785
+ def initialize(**args)
786
+ update!(**args)
787
+ end
788
+
789
+ # Update properties of this object
790
+ def update!(**args)
791
+ @columns = args[:columns] unless args[:columns].nil?
792
+ @table = args[:table] unless args[:table].nil?
793
+ end
794
+ end
795
+ end
796
+
797
+ # Database instance clone request.
798
+ class CloneInstancesRequest
799
+ include Google::Apis::Core::Hashable
800
+
801
+ # Database instance clone context.
802
+ # Corresponds to the JSON property `cloneContext`
803
+ # @return [Google::Apis::SqladminV1beta4::CloneContext]
804
+ attr_accessor :clone_context
805
+
806
+ def initialize(**args)
807
+ update!(**args)
808
+ end
809
+
810
+ # Update properties of this object
811
+ def update!(**args)
812
+ @clone_context = args[:clone_context] unless args[:clone_context].nil?
813
+ end
814
+ end
815
+
816
+ # Database instance export request.
817
+ class ExportInstancesRequest
818
+ include Google::Apis::Core::Hashable
819
+
820
+ # Database instance export context.
821
+ # Corresponds to the JSON property `exportContext`
822
+ # @return [Google::Apis::SqladminV1beta4::ExportContext]
823
+ attr_accessor :export_context
824
+
825
+ def initialize(**args)
826
+ update!(**args)
827
+ end
828
+
829
+ # Update properties of this object
830
+ def update!(**args)
831
+ @export_context = args[:export_context] unless args[:export_context].nil?
832
+ end
833
+ end
834
+
835
+ # Database instance import request.
836
+ class ImportInstancesRequest
837
+ include Google::Apis::Core::Hashable
838
+
839
+ # Database instance import context.
840
+ # Corresponds to the JSON property `importContext`
841
+ # @return [Google::Apis::SqladminV1beta4::ImportContext]
842
+ attr_accessor :import_context
843
+
844
+ def initialize(**args)
845
+ update!(**args)
846
+ end
847
+
848
+ # Update properties of this object
849
+ def update!(**args)
850
+ @import_context = args[:import_context] unless args[:import_context].nil?
851
+ end
852
+ end
853
+
854
+ # Database instances list response.
855
+ class ListInstancesResponse
856
+ include Google::Apis::Core::Hashable
857
+
858
+ # List of database instance resources.
859
+ # Corresponds to the JSON property `items`
860
+ # @return [Array<Google::Apis::SqladminV1beta4::DatabaseInstance>]
861
+ attr_accessor :items
862
+
863
+ # This is always sql#instancesList.
864
+ # Corresponds to the JSON property `kind`
865
+ # @return [String]
866
+ attr_accessor :kind
867
+
868
+ # The continuation token, used to page through large result sets. Provide this
869
+ # value in a subsequent request to return the next page of results.
870
+ # Corresponds to the JSON property `nextPageToken`
871
+ # @return [String]
872
+ attr_accessor :next_page_token
873
+
874
+ def initialize(**args)
875
+ update!(**args)
876
+ end
877
+
878
+ # Update properties of this object
879
+ def update!(**args)
880
+ @items = args[:items] unless args[:items].nil?
881
+ @kind = args[:kind] unless args[:kind].nil?
882
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
883
+ end
884
+ end
885
+
886
+ # Database instance restore backup request.
887
+ class RestoreInstancesBackupRequest
888
+ include Google::Apis::Core::Hashable
889
+
890
+ # Database instance restore from backup context.
891
+ # Corresponds to the JSON property `restoreBackupContext`
892
+ # @return [Google::Apis::SqladminV1beta4::RestoreBackupContext]
893
+ attr_accessor :restore_backup_context
894
+
895
+ def initialize(**args)
896
+ update!(**args)
897
+ end
898
+
899
+ # Update properties of this object
900
+ def update!(**args)
901
+ @restore_backup_context = args[:restore_backup_context] unless args[:restore_backup_context].nil?
902
+ end
903
+ end
904
+
905
+ # IP Management configuration.
906
+ class IpConfiguration
907
+ include Google::Apis::Core::Hashable
908
+
909
+ # The list of external networks that are allowed to connect to the instance
910
+ # using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.
911
+ # 100.0/24).
912
+ # Corresponds to the JSON property `authorizedNetworks`
913
+ # @return [Array<Google::Apis::SqladminV1beta4::AclEntry>]
914
+ attr_accessor :authorized_networks
915
+
916
+ # Whether the instance should be assigned an IP address or not.
917
+ # Corresponds to the JSON property `ipv4Enabled`
918
+ # @return [Boolean]
919
+ attr_accessor :ipv4_enabled
920
+ alias_method :ipv4_enabled?, :ipv4_enabled
921
+
922
+ # Whether the mysqld should default to 'REQUIRE X509' for users connecting over
923
+ # IP.
924
+ # Corresponds to the JSON property `requireSsl`
925
+ # @return [Boolean]
926
+ attr_accessor :require_ssl
927
+ alias_method :require_ssl?, :require_ssl
928
+
929
+ def initialize(**args)
930
+ update!(**args)
931
+ end
932
+
933
+ # Update properties of this object
934
+ def update!(**args)
935
+ @authorized_networks = args[:authorized_networks] unless args[:authorized_networks].nil?
936
+ @ipv4_enabled = args[:ipv4_enabled] unless args[:ipv4_enabled].nil?
937
+ @require_ssl = args[:require_ssl] unless args[:require_ssl].nil?
938
+ end
939
+ end
940
+
941
+ # Database instance IP Mapping.
942
+ class IpMapping
943
+ include Google::Apis::Core::Hashable
944
+
945
+ # The IP address assigned.
946
+ # Corresponds to the JSON property `ipAddress`
947
+ # @return [String]
948
+ attr_accessor :ip_address
949
+
950
+ # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-
951
+ # 15T16:19:00.094Z. This field is only available when the IP is scheduled to be
952
+ # retired.
953
+ # Corresponds to the JSON property `timeToRetire`
954
+ # @return [DateTime]
955
+ attr_accessor :time_to_retire
956
+
957
+ def initialize(**args)
958
+ update!(**args)
959
+ end
960
+
961
+ # Update properties of this object
962
+ def update!(**args)
963
+ @ip_address = args[:ip_address] unless args[:ip_address].nil?
964
+ @time_to_retire = args[:time_to_retire] unless args[:time_to_retire].nil?
965
+ end
966
+ end
967
+
968
+ # Preferred location. This specifies where a Cloud SQL instance should
969
+ # preferably be located, either in a specific Compute Engine zone, or co-located
970
+ # with an App Engine application. Note that if the preferred location is not
971
+ # available, the instance will be located as close as possible within the region.
972
+ # Only one location may be specified.
973
+ class LocationPreference
974
+ include Google::Apis::Core::Hashable
975
+
976
+ # The AppEngine application to follow, it must be in the same region as the
977
+ # Cloud SQL instance.
978
+ # Corresponds to the JSON property `followGaeApplication`
979
+ # @return [String]
980
+ attr_accessor :follow_gae_application
981
+
982
+ # This is always sql#locationPreference.
983
+ # Corresponds to the JSON property `kind`
984
+ # @return [String]
985
+ attr_accessor :kind
986
+
987
+ # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.).
988
+ # Corresponds to the JSON property `zone`
989
+ # @return [String]
990
+ attr_accessor :zone
991
+
992
+ def initialize(**args)
993
+ update!(**args)
994
+ end
995
+
996
+ # Update properties of this object
997
+ def update!(**args)
998
+ @follow_gae_application = args[:follow_gae_application] unless args[:follow_gae_application].nil?
999
+ @kind = args[:kind] unless args[:kind].nil?
1000
+ @zone = args[:zone] unless args[:zone].nil?
1001
+ end
1002
+ end
1003
+
1004
+ # Read-replica configuration specific to MySQL databases.
1005
+ class MySqlReplicaConfiguration
1006
+ include Google::Apis::Core::Hashable
1007
+
1008
+ # PEM representation of the trusted CA's x509 certificate.
1009
+ # Corresponds to the JSON property `caCertificate`
1010
+ # @return [String]
1011
+ attr_accessor :ca_certificate
1012
+
1013
+ # PEM representation of the slave's x509 certificate.
1014
+ # Corresponds to the JSON property `clientCertificate`
1015
+ # @return [String]
1016
+ attr_accessor :client_certificate
1017
+
1018
+ # PEM representation of the slave's private key. The corresponsing public key is
1019
+ # encoded in the client's certificate.
1020
+ # Corresponds to the JSON property `clientKey`
1021
+ # @return [String]
1022
+ attr_accessor :client_key
1023
+
1024
+ # Seconds to wait between connect retries. MySQL's default is 60 seconds.
1025
+ # Corresponds to the JSON property `connectRetryInterval`
1026
+ # @return [Fixnum]
1027
+ attr_accessor :connect_retry_interval
1028
+
1029
+ # Path to a SQL dump file in Google Cloud Storage from which the slave instance
1030
+ # is to be created. The URI is in the form gs://bucketName/fileName. Compressed
1031
+ # gzip files (.gz) are also supported. Dumps should have the binlog co-ordinates
1032
+ # from which replication should begin. This can be accomplished by setting --
1033
+ # master-data to 1 when using mysqldump.
1034
+ # Corresponds to the JSON property `dumpFilePath`
1035
+ # @return [String]
1036
+ attr_accessor :dump_file_path
1037
+
1038
+ # This is always sql#mysqlReplicaConfiguration.
1039
+ # Corresponds to the JSON property `kind`
1040
+ # @return [String]
1041
+ attr_accessor :kind
1042
+
1043
+ # Interval in milliseconds between replication heartbeats.
1044
+ # Corresponds to the JSON property `masterHeartbeatPeriod`
1045
+ # @return [String]
1046
+ attr_accessor :master_heartbeat_period
1047
+
1048
+ # The password for the replication connection.
1049
+ # Corresponds to the JSON property `password`
1050
+ # @return [String]
1051
+ attr_accessor :password
1052
+
1053
+ # A list of permissible ciphers to use for SSL encryption.
1054
+ # Corresponds to the JSON property `sslCipher`
1055
+ # @return [String]
1056
+ attr_accessor :ssl_cipher
1057
+
1058
+ # The username for the replication connection.
1059
+ # Corresponds to the JSON property `username`
1060
+ # @return [String]
1061
+ attr_accessor :username
1062
+
1063
+ # Whether or not to check the master's Common Name value in the certificate that
1064
+ # it sends during the SSL handshake.
1065
+ # Corresponds to the JSON property `verifyServerCertificate`
1066
+ # @return [Boolean]
1067
+ attr_accessor :verify_server_certificate
1068
+ alias_method :verify_server_certificate?, :verify_server_certificate
1069
+
1070
+ def initialize(**args)
1071
+ update!(**args)
1072
+ end
1073
+
1074
+ # Update properties of this object
1075
+ def update!(**args)
1076
+ @ca_certificate = args[:ca_certificate] unless args[:ca_certificate].nil?
1077
+ @client_certificate = args[:client_certificate] unless args[:client_certificate].nil?
1078
+ @client_key = args[:client_key] unless args[:client_key].nil?
1079
+ @connect_retry_interval = args[:connect_retry_interval] unless args[:connect_retry_interval].nil?
1080
+ @dump_file_path = args[:dump_file_path] unless args[:dump_file_path].nil?
1081
+ @kind = args[:kind] unless args[:kind].nil?
1082
+ @master_heartbeat_period = args[:master_heartbeat_period] unless args[:master_heartbeat_period].nil?
1083
+ @password = args[:password] unless args[:password].nil?
1084
+ @ssl_cipher = args[:ssl_cipher] unless args[:ssl_cipher].nil?
1085
+ @username = args[:username] unless args[:username].nil?
1086
+ @verify_server_certificate = args[:verify_server_certificate] unless args[:verify_server_certificate].nil?
1087
+ end
1088
+ end
1089
+
1090
+ # On-premises instance configuration.
1091
+ class OnPremisesConfiguration
1092
+ include Google::Apis::Core::Hashable
1093
+
1094
+ # The host and port of the on-premises instance in host:port format
1095
+ # Corresponds to the JSON property `hostPort`
1096
+ # @return [String]
1097
+ attr_accessor :host_port
1098
+
1099
+ # This is always sql#onPremisesConfiguration.
1100
+ # Corresponds to the JSON property `kind`
1101
+ # @return [String]
1102
+ attr_accessor :kind
1103
+
1104
+ def initialize(**args)
1105
+ update!(**args)
1106
+ end
1107
+
1108
+ # Update properties of this object
1109
+ def update!(**args)
1110
+ @host_port = args[:host_port] unless args[:host_port].nil?
1111
+ @kind = args[:kind] unless args[:kind].nil?
1112
+ end
1113
+ end
1114
+
1115
+ # An Operations resource contains information about database instance operations
1116
+ # such as create, delete, and restart. Operations resources are created in
1117
+ # response to operations that were initiated; you never create them directly.
1118
+ class Operation
1119
+ include Google::Apis::Core::Hashable
1120
+
1121
+ # The time this operation finished in UTC timezone in RFC 3339 format, for
1122
+ # example 2012-11-15T16:19:00.094Z.
1123
+ # Corresponds to the JSON property `endTime`
1124
+ # @return [DateTime]
1125
+ attr_accessor :end_time
1126
+
1127
+ # Database instance operation errors list wrapper.
1128
+ # Corresponds to the JSON property `error`
1129
+ # @return [Google::Apis::SqladminV1beta4::OperationErrors]
1130
+ attr_accessor :error
1131
+
1132
+ # Database instance export context.
1133
+ # Corresponds to the JSON property `exportContext`
1134
+ # @return [Google::Apis::SqladminV1beta4::ExportContext]
1135
+ attr_accessor :export_context
1136
+
1137
+ # Database instance import context.
1138
+ # Corresponds to the JSON property `importContext`
1139
+ # @return [Google::Apis::SqladminV1beta4::ImportContext]
1140
+ attr_accessor :import_context
1141
+
1142
+ # The time this operation was enqueued in UTC timezone in RFC 3339 format, for
1143
+ # example 2012-11-15T16:19:00.094Z.
1144
+ # Corresponds to the JSON property `insertTime`
1145
+ # @return [DateTime]
1146
+ attr_accessor :insert_time
1147
+
1148
+ # This is always sql#operation.
1149
+ # Corresponds to the JSON property `kind`
1150
+ # @return [String]
1151
+ attr_accessor :kind
1152
+
1153
+ # An identifier that uniquely identifies the operation. You can use this
1154
+ # identifier to retrieve the Operations resource that has information about the
1155
+ # operation.
1156
+ # Corresponds to the JSON property `name`
1157
+ # @return [String]
1158
+ attr_accessor :name
1159
+
1160
+ # The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART,
1161
+ # IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME, CREATE_USER, DELETE_USER,
1162
+ # CREATE_DATABASE, DELETE_DATABASE .
1163
+ # Corresponds to the JSON property `operationType`
1164
+ # @return [String]
1165
+ attr_accessor :operation_type
1166
+
1167
+ # The URI of this resource.
1168
+ # Corresponds to the JSON property `selfLink`
1169
+ # @return [String]
1170
+ attr_accessor :self_link
1171
+
1172
+ # The time this operation actually started in UTC timezone in RFC 3339 format,
1173
+ # for example 2012-11-15T16:19:00.094Z.
1174
+ # Corresponds to the JSON property `startTime`
1175
+ # @return [DateTime]
1176
+ attr_accessor :start_time
1177
+
1178
+ # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN.
1179
+ # Corresponds to the JSON property `status`
1180
+ # @return [String]
1181
+ attr_accessor :status
1182
+
1183
+ # Name of the database instance related to this operation.
1184
+ # Corresponds to the JSON property `targetId`
1185
+ # @return [String]
1186
+ attr_accessor :target_id
1187
+
1188
+ # The URI of the instance related to the operation.
1189
+ # Corresponds to the JSON property `targetLink`
1190
+ # @return [String]
1191
+ attr_accessor :target_link
1192
+
1193
+ # The project ID of the target instance related to this operation.
1194
+ # Corresponds to the JSON property `targetProject`
1195
+ # @return [String]
1196
+ attr_accessor :target_project
1197
+
1198
+ # The email address of the user who initiated this operation.
1199
+ # Corresponds to the JSON property `user`
1200
+ # @return [String]
1201
+ attr_accessor :user
1202
+
1203
+ def initialize(**args)
1204
+ update!(**args)
1205
+ end
1206
+
1207
+ # Update properties of this object
1208
+ def update!(**args)
1209
+ @end_time = args[:end_time] unless args[:end_time].nil?
1210
+ @error = args[:error] unless args[:error].nil?
1211
+ @export_context = args[:export_context] unless args[:export_context].nil?
1212
+ @import_context = args[:import_context] unless args[:import_context].nil?
1213
+ @insert_time = args[:insert_time] unless args[:insert_time].nil?
1214
+ @kind = args[:kind] unless args[:kind].nil?
1215
+ @name = args[:name] unless args[:name].nil?
1216
+ @operation_type = args[:operation_type] unless args[:operation_type].nil?
1217
+ @self_link = args[:self_link] unless args[:self_link].nil?
1218
+ @start_time = args[:start_time] unless args[:start_time].nil?
1219
+ @status = args[:status] unless args[:status].nil?
1220
+ @target_id = args[:target_id] unless args[:target_id].nil?
1221
+ @target_link = args[:target_link] unless args[:target_link].nil?
1222
+ @target_project = args[:target_project] unless args[:target_project].nil?
1223
+ @user = args[:user] unless args[:user].nil?
1224
+ end
1225
+ end
1226
+
1227
+ # Database instance operation error.
1228
+ class OperationError
1229
+ include Google::Apis::Core::Hashable
1230
+
1231
+ # Identifies the specific error that occurred.
1232
+ # Corresponds to the JSON property `code`
1233
+ # @return [String]
1234
+ attr_accessor :code
1235
+
1236
+ # This is always sql#operationError.
1237
+ # Corresponds to the JSON property `kind`
1238
+ # @return [String]
1239
+ attr_accessor :kind
1240
+
1241
+ # Additional information about the error encountered.
1242
+ # Corresponds to the JSON property `message`
1243
+ # @return [String]
1244
+ attr_accessor :message
1245
+
1246
+ def initialize(**args)
1247
+ update!(**args)
1248
+ end
1249
+
1250
+ # Update properties of this object
1251
+ def update!(**args)
1252
+ @code = args[:code] unless args[:code].nil?
1253
+ @kind = args[:kind] unless args[:kind].nil?
1254
+ @message = args[:message] unless args[:message].nil?
1255
+ end
1256
+ end
1257
+
1258
+ # Database instance operation errors list wrapper.
1259
+ class OperationErrors
1260
+ include Google::Apis::Core::Hashable
1261
+
1262
+ # The list of errors encountered while processing this operation.
1263
+ # Corresponds to the JSON property `errors`
1264
+ # @return [Array<Google::Apis::SqladminV1beta4::OperationError>]
1265
+ attr_accessor :errors
1266
+
1267
+ # This is always sql#operationErrors.
1268
+ # Corresponds to the JSON property `kind`
1269
+ # @return [String]
1270
+ attr_accessor :kind
1271
+
1272
+ def initialize(**args)
1273
+ update!(**args)
1274
+ end
1275
+
1276
+ # Update properties of this object
1277
+ def update!(**args)
1278
+ @errors = args[:errors] unless args[:errors].nil?
1279
+ @kind = args[:kind] unless args[:kind].nil?
1280
+ end
1281
+ end
1282
+
1283
+ # Database instance list operations response.
1284
+ class ListOperationsResponse
1285
+ include Google::Apis::Core::Hashable
1286
+
1287
+ # List of operation resources.
1288
+ # Corresponds to the JSON property `items`
1289
+ # @return [Array<Google::Apis::SqladminV1beta4::Operation>]
1290
+ attr_accessor :items
1291
+
1292
+ # This is always sql#operationsList.
1293
+ # Corresponds to the JSON property `kind`
1294
+ # @return [String]
1295
+ attr_accessor :kind
1296
+
1297
+ # The continuation token, used to page through large result sets. Provide this
1298
+ # value in a subsequent request to return the next page of results.
1299
+ # Corresponds to the JSON property `nextPageToken`
1300
+ # @return [String]
1301
+ attr_accessor :next_page_token
1302
+
1303
+ def initialize(**args)
1304
+ update!(**args)
1305
+ end
1306
+
1307
+ # Update properties of this object
1308
+ def update!(**args)
1309
+ @items = args[:items] unless args[:items].nil?
1310
+ @kind = args[:kind] unless args[:kind].nil?
1311
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1312
+ end
1313
+ end
1314
+
1315
+ # Read-replica configuration for connecting to the master.
1316
+ class ReplicaConfiguration
1317
+ include Google::Apis::Core::Hashable
1318
+
1319
+ # This is always sql#replicaConfiguration.
1320
+ # Corresponds to the JSON property `kind`
1321
+ # @return [String]
1322
+ attr_accessor :kind
1323
+
1324
+ # Read-replica configuration specific to MySQL databases.
1325
+ # Corresponds to the JSON property `mysqlReplicaConfiguration`
1326
+ # @return [Google::Apis::SqladminV1beta4::MySqlReplicaConfiguration]
1327
+ attr_accessor :mysql_replica_configuration
1328
+
1329
+ def initialize(**args)
1330
+ update!(**args)
1331
+ end
1332
+
1333
+ # Update properties of this object
1334
+ def update!(**args)
1335
+ @kind = args[:kind] unless args[:kind].nil?
1336
+ @mysql_replica_configuration = args[:mysql_replica_configuration] unless args[:mysql_replica_configuration].nil?
1337
+ end
1338
+ end
1339
+
1340
+ # Database instance restore from backup context.
1341
+ class RestoreBackupContext
1342
+ include Google::Apis::Core::Hashable
1343
+
1344
+ # The ID of the backup run to restore from.
1345
+ # Corresponds to the JSON property `backupRunId`
1346
+ # @return [String]
1347
+ attr_accessor :backup_run_id
1348
+
1349
+ # The ID of the instance that the backup was taken from.
1350
+ # Corresponds to the JSON property `instanceId`
1351
+ # @return [String]
1352
+ attr_accessor :instance_id
1353
+
1354
+ # This is always sql#restoreBackupContext.
1355
+ # Corresponds to the JSON property `kind`
1356
+ # @return [String]
1357
+ attr_accessor :kind
1358
+
1359
+ def initialize(**args)
1360
+ update!(**args)
1361
+ end
1362
+
1363
+ # Update properties of this object
1364
+ def update!(**args)
1365
+ @backup_run_id = args[:backup_run_id] unless args[:backup_run_id].nil?
1366
+ @instance_id = args[:instance_id] unless args[:instance_id].nil?
1367
+ @kind = args[:kind] unless args[:kind].nil?
1368
+ end
1369
+ end
1370
+
1371
+ # Database instance settings.
1372
+ class Settings
1373
+ include Google::Apis::Core::Hashable
1374
+
1375
+ # The activation policy for this instance. This specifies when the instance
1376
+ # should be activated and is applicable only when the instance state is RUNNABLE.
1377
+ # This can be one of the following.
1378
+ # ALWAYS: The instance should always be active.
1379
+ # NEVER: The instance should never be activated.
1380
+ # ON_DEMAND: The instance is activated upon receiving requests.
1381
+ # Corresponds to the JSON property `activationPolicy`
1382
+ # @return [String]
1383
+ attr_accessor :activation_policy
1384
+
1385
+ # The App Engine app IDs that can access this instance.
1386
+ # Corresponds to the JSON property `authorizedGaeApplications`
1387
+ # @return [Array<String>]
1388
+ attr_accessor :authorized_gae_applications
1389
+
1390
+ # Database instance backup configuration.
1391
+ # Corresponds to the JSON property `backupConfiguration`
1392
+ # @return [Google::Apis::SqladminV1beta4::BackupConfiguration]
1393
+ attr_accessor :backup_configuration
1394
+
1395
+ # Configuration specific to read replica instances. Indicates whether database
1396
+ # flags for crash-safe replication are enabled.
1397
+ # Corresponds to the JSON property `crashSafeReplicationEnabled`
1398
+ # @return [Boolean]
1399
+ attr_accessor :crash_safe_replication_enabled
1400
+ alias_method :crash_safe_replication_enabled?, :crash_safe_replication_enabled
1401
+
1402
+ # The database flags passed to the instance at startup.
1403
+ # Corresponds to the JSON property `databaseFlags`
1404
+ # @return [Array<Google::Apis::SqladminV1beta4::DatabaseFlags>]
1405
+ attr_accessor :database_flags
1406
+
1407
+ # Configuration specific to read replica instances. Indicates whether
1408
+ # replication is enabled or not.
1409
+ # Corresponds to the JSON property `databaseReplicationEnabled`
1410
+ # @return [Boolean]
1411
+ attr_accessor :database_replication_enabled
1412
+ alias_method :database_replication_enabled?, :database_replication_enabled
1413
+
1414
+ # IP Management configuration.
1415
+ # Corresponds to the JSON property `ipConfiguration`
1416
+ # @return [Google::Apis::SqladminV1beta4::IpConfiguration]
1417
+ attr_accessor :ip_configuration
1418
+
1419
+ # This is always sql#settings.
1420
+ # Corresponds to the JSON property `kind`
1421
+ # @return [String]
1422
+ attr_accessor :kind
1423
+
1424
+ # Preferred location. This specifies where a Cloud SQL instance should
1425
+ # preferably be located, either in a specific Compute Engine zone, or co-located
1426
+ # with an App Engine application. Note that if the preferred location is not
1427
+ # available, the instance will be located as close as possible within the region.
1428
+ # Only one location may be specified.
1429
+ # Corresponds to the JSON property `locationPreference`
1430
+ # @return [Google::Apis::SqladminV1beta4::LocationPreference]
1431
+ attr_accessor :location_preference
1432
+
1433
+ # The pricing plan for this instance. This can be either PER_USE or PACKAGE.
1434
+ # Corresponds to the JSON property `pricingPlan`
1435
+ # @return [String]
1436
+ attr_accessor :pricing_plan
1437
+
1438
+ # The type of replication this instance uses. This can be either ASYNCHRONOUS or
1439
+ # SYNCHRONOUS.
1440
+ # Corresponds to the JSON property `replicationType`
1441
+ # @return [String]
1442
+ attr_accessor :replication_type
1443
+
1444
+ # The version of instance settings. This is a required field for update method
1445
+ # to make sure concurrent updates are handled properly. During update, use the
1446
+ # most recent settingsVersion value for this instance and do not try to update
1447
+ # this value.
1448
+ # Corresponds to the JSON property `settingsVersion`
1449
+ # @return [String]
1450
+ attr_accessor :settings_version
1451
+
1452
+ # The tier of service for this instance, for example D1, D2. For more
1453
+ # information, see pricing.
1454
+ # Corresponds to the JSON property `tier`
1455
+ # @return [String]
1456
+ attr_accessor :tier
1457
+
1458
+ def initialize(**args)
1459
+ update!(**args)
1460
+ end
1461
+
1462
+ # Update properties of this object
1463
+ def update!(**args)
1464
+ @activation_policy = args[:activation_policy] unless args[:activation_policy].nil?
1465
+ @authorized_gae_applications = args[:authorized_gae_applications] unless args[:authorized_gae_applications].nil?
1466
+ @backup_configuration = args[:backup_configuration] unless args[:backup_configuration].nil?
1467
+ @crash_safe_replication_enabled = args[:crash_safe_replication_enabled] unless args[:crash_safe_replication_enabled].nil?
1468
+ @database_flags = args[:database_flags] unless args[:database_flags].nil?
1469
+ @database_replication_enabled = args[:database_replication_enabled] unless args[:database_replication_enabled].nil?
1470
+ @ip_configuration = args[:ip_configuration] unless args[:ip_configuration].nil?
1471
+ @kind = args[:kind] unless args[:kind].nil?
1472
+ @location_preference = args[:location_preference] unless args[:location_preference].nil?
1473
+ @pricing_plan = args[:pricing_plan] unless args[:pricing_plan].nil?
1474
+ @replication_type = args[:replication_type] unless args[:replication_type].nil?
1475
+ @settings_version = args[:settings_version] unless args[:settings_version].nil?
1476
+ @tier = args[:tier] unless args[:tier].nil?
1477
+ end
1478
+ end
1479
+
1480
+ # SslCerts Resource
1481
+ class SslCert
1482
+ include Google::Apis::Core::Hashable
1483
+
1484
+ # PEM representation.
1485
+ # Corresponds to the JSON property `cert`
1486
+ # @return [String]
1487
+ attr_accessor :cert
1488
+
1489
+ # Serial number, as extracted from the certificate.
1490
+ # Corresponds to the JSON property `certSerialNumber`
1491
+ # @return [String]
1492
+ attr_accessor :cert_serial_number
1493
+
1494
+ # User supplied name. Constrained to [a-zA-Z.-_ ]+.
1495
+ # Corresponds to the JSON property `commonName`
1496
+ # @return [String]
1497
+ attr_accessor :common_name
1498
+
1499
+ # The time when the certificate was created in RFC 3339 format, for example 2012-
1500
+ # 11-15T16:19:00.094Z
1501
+ # Corresponds to the JSON property `createTime`
1502
+ # @return [DateTime]
1503
+ attr_accessor :create_time
1504
+
1505
+ # The time when the certificate expires in RFC 3339 format, for example 2012-11-
1506
+ # 15T16:19:00.094Z.
1507
+ # Corresponds to the JSON property `expirationTime`
1508
+ # @return [DateTime]
1509
+ attr_accessor :expiration_time
1510
+
1511
+ # Name of the database instance.
1512
+ # Corresponds to the JSON property `instance`
1513
+ # @return [String]
1514
+ attr_accessor :instance
1515
+
1516
+ # This is always sql#sslCert.
1517
+ # Corresponds to the JSON property `kind`
1518
+ # @return [String]
1519
+ attr_accessor :kind
1520
+
1521
+ # The URI of this resource.
1522
+ # Corresponds to the JSON property `selfLink`
1523
+ # @return [String]
1524
+ attr_accessor :self_link
1525
+
1526
+ # Sha1 Fingerprint.
1527
+ # Corresponds to the JSON property `sha1Fingerprint`
1528
+ # @return [String]
1529
+ attr_accessor :sha1_fingerprint
1530
+
1531
+ def initialize(**args)
1532
+ update!(**args)
1533
+ end
1534
+
1535
+ # Update properties of this object
1536
+ def update!(**args)
1537
+ @cert = args[:cert] unless args[:cert].nil?
1538
+ @cert_serial_number = args[:cert_serial_number] unless args[:cert_serial_number].nil?
1539
+ @common_name = args[:common_name] unless args[:common_name].nil?
1540
+ @create_time = args[:create_time] unless args[:create_time].nil?
1541
+ @expiration_time = args[:expiration_time] unless args[:expiration_time].nil?
1542
+ @instance = args[:instance] unless args[:instance].nil?
1543
+ @kind = args[:kind] unless args[:kind].nil?
1544
+ @self_link = args[:self_link] unless args[:self_link].nil?
1545
+ @sha1_fingerprint = args[:sha1_fingerprint] unless args[:sha1_fingerprint].nil?
1546
+ end
1547
+ end
1548
+
1549
+ # SslCertDetail.
1550
+ class SslCertDetail
1551
+ include Google::Apis::Core::Hashable
1552
+
1553
+ # SslCerts Resource
1554
+ # Corresponds to the JSON property `certInfo`
1555
+ # @return [Google::Apis::SqladminV1beta4::SslCert]
1556
+ attr_accessor :cert_info
1557
+
1558
+ # The private key for the client cert, in pem format. Keep private in order to
1559
+ # protect your security.
1560
+ # Corresponds to the JSON property `certPrivateKey`
1561
+ # @return [String]
1562
+ attr_accessor :cert_private_key
1563
+
1564
+ def initialize(**args)
1565
+ update!(**args)
1566
+ end
1567
+
1568
+ # Update properties of this object
1569
+ def update!(**args)
1570
+ @cert_info = args[:cert_info] unless args[:cert_info].nil?
1571
+ @cert_private_key = args[:cert_private_key] unless args[:cert_private_key].nil?
1572
+ end
1573
+ end
1574
+
1575
+ # SslCerts insert request.
1576
+ class InsertSslCertsRequest
1577
+ include Google::Apis::Core::Hashable
1578
+
1579
+ # User supplied name. Must be a distinct name from the other certificates for
1580
+ # this instance. New certificates will not be usable until the instance is
1581
+ # restarted.
1582
+ # Corresponds to the JSON property `commonName`
1583
+ # @return [String]
1584
+ attr_accessor :common_name
1585
+
1586
+ def initialize(**args)
1587
+ update!(**args)
1588
+ end
1589
+
1590
+ # Update properties of this object
1591
+ def update!(**args)
1592
+ @common_name = args[:common_name] unless args[:common_name].nil?
1593
+ end
1594
+ end
1595
+
1596
+ # SslCert insert response.
1597
+ class InsertSslCertsResponse
1598
+ include Google::Apis::Core::Hashable
1599
+
1600
+ # SslCertDetail.
1601
+ # Corresponds to the JSON property `clientCert`
1602
+ # @return [Google::Apis::SqladminV1beta4::SslCertDetail]
1603
+ attr_accessor :client_cert
1604
+
1605
+ # This is always sql#sslCertsInsert.
1606
+ # Corresponds to the JSON property `kind`
1607
+ # @return [String]
1608
+ attr_accessor :kind
1609
+
1610
+ # SslCerts Resource
1611
+ # Corresponds to the JSON property `serverCaCert`
1612
+ # @return [Google::Apis::SqladminV1beta4::SslCert]
1613
+ attr_accessor :server_ca_cert
1614
+
1615
+ def initialize(**args)
1616
+ update!(**args)
1617
+ end
1618
+
1619
+ # Update properties of this object
1620
+ def update!(**args)
1621
+ @client_cert = args[:client_cert] unless args[:client_cert].nil?
1622
+ @kind = args[:kind] unless args[:kind].nil?
1623
+ @server_ca_cert = args[:server_ca_cert] unless args[:server_ca_cert].nil?
1624
+ end
1625
+ end
1626
+
1627
+ # SslCerts list response.
1628
+ class ListSslCertsResponse
1629
+ include Google::Apis::Core::Hashable
1630
+
1631
+ # List of client certificates for the instance.
1632
+ # Corresponds to the JSON property `items`
1633
+ # @return [Array<Google::Apis::SqladminV1beta4::SslCert>]
1634
+ attr_accessor :items
1635
+
1636
+ # This is always sql#sslCertsList.
1637
+ # Corresponds to the JSON property `kind`
1638
+ # @return [String]
1639
+ attr_accessor :kind
1640
+
1641
+ def initialize(**args)
1642
+ update!(**args)
1643
+ end
1644
+
1645
+ # Update properties of this object
1646
+ def update!(**args)
1647
+ @items = args[:items] unless args[:items].nil?
1648
+ @kind = args[:kind] unless args[:kind].nil?
1649
+ end
1650
+ end
1651
+
1652
+ # A Google Cloud SQL service tier resource.
1653
+ class Tier
1654
+ include Google::Apis::Core::Hashable
1655
+
1656
+ # The maximum disk size of this tier in bytes.
1657
+ # Corresponds to the JSON property `DiskQuota`
1658
+ # @return [String]
1659
+ attr_accessor :disk_quota
1660
+
1661
+ # The maximum RAM usage of this tier in bytes.
1662
+ # Corresponds to the JSON property `RAM`
1663
+ # @return [String]
1664
+ attr_accessor :ram
1665
+
1666
+ # This is always sql#tier.
1667
+ # Corresponds to the JSON property `kind`
1668
+ # @return [String]
1669
+ attr_accessor :kind
1670
+
1671
+ # The applicable regions for this tier. Can be us-east1, europe-west1 or asia-
1672
+ # east1.
1673
+ # Corresponds to the JSON property `region`
1674
+ # @return [Array<String>]
1675
+ attr_accessor :region
1676
+
1677
+ # An identifier for the service tier, for example D1, D2 etc. For related
1678
+ # information, see Pricing.
1679
+ # Corresponds to the JSON property `tier`
1680
+ # @return [String]
1681
+ attr_accessor :tier
1682
+
1683
+ def initialize(**args)
1684
+ update!(**args)
1685
+ end
1686
+
1687
+ # Update properties of this object
1688
+ def update!(**args)
1689
+ @disk_quota = args[:disk_quota] unless args[:disk_quota].nil?
1690
+ @ram = args[:ram] unless args[:ram].nil?
1691
+ @kind = args[:kind] unless args[:kind].nil?
1692
+ @region = args[:region] unless args[:region].nil?
1693
+ @tier = args[:tier] unless args[:tier].nil?
1694
+ end
1695
+ end
1696
+
1697
+ # Tiers list response.
1698
+ class ListTiersResponse
1699
+ include Google::Apis::Core::Hashable
1700
+
1701
+ # List of tiers.
1702
+ # Corresponds to the JSON property `items`
1703
+ # @return [Array<Google::Apis::SqladminV1beta4::Tier>]
1704
+ attr_accessor :items
1705
+
1706
+ # This is always sql#tiersList.
1707
+ # Corresponds to the JSON property `kind`
1708
+ # @return [String]
1709
+ attr_accessor :kind
1710
+
1711
+ def initialize(**args)
1712
+ update!(**args)
1713
+ end
1714
+
1715
+ # Update properties of this object
1716
+ def update!(**args)
1717
+ @items = args[:items] unless args[:items].nil?
1718
+ @kind = args[:kind] unless args[:kind].nil?
1719
+ end
1720
+ end
1721
+
1722
+ # A Cloud SQL user resource.
1723
+ class User
1724
+ include Google::Apis::Core::Hashable
1725
+
1726
+ # HTTP 1.1 Entity tag for the resource.
1727
+ # Corresponds to the JSON property `etag`
1728
+ # @return [String]
1729
+ attr_accessor :etag
1730
+
1731
+ # The host name from which the user can connect. For insert operations, host
1732
+ # defaults to an empty string. For update operations, host is specified as part
1733
+ # of the request URL. The host name is not mutable with this API.
1734
+ # Corresponds to the JSON property `host`
1735
+ # @return [String]
1736
+ attr_accessor :host
1737
+
1738
+ # The name of the Cloud SQL instance. This does not include the project ID. Can
1739
+ # be omitted for update since it is already specified on the URL.
1740
+ # Corresponds to the JSON property `instance`
1741
+ # @return [String]
1742
+ attr_accessor :instance
1743
+
1744
+ # This is always sql#user.
1745
+ # Corresponds to the JSON property `kind`
1746
+ # @return [String]
1747
+ attr_accessor :kind
1748
+
1749
+ # The name of the user in the Cloud SQL instance. Can be omitted for update
1750
+ # since it is already specified on the URL.
1751
+ # Corresponds to the JSON property `name`
1752
+ # @return [String]
1753
+ attr_accessor :name
1754
+
1755
+ # The password for the user.
1756
+ # Corresponds to the JSON property `password`
1757
+ # @return [String]
1758
+ attr_accessor :password
1759
+
1760
+ # The project ID of the project containing the Cloud SQL database. The Google
1761
+ # apps domain is prefixed if applicable. Can be omitted for update since it is
1762
+ # already specified on the URL.
1763
+ # Corresponds to the JSON property `project`
1764
+ # @return [String]
1765
+ attr_accessor :project
1766
+
1767
+ def initialize(**args)
1768
+ update!(**args)
1769
+ end
1770
+
1771
+ # Update properties of this object
1772
+ def update!(**args)
1773
+ @etag = args[:etag] unless args[:etag].nil?
1774
+ @host = args[:host] unless args[:host].nil?
1775
+ @instance = args[:instance] unless args[:instance].nil?
1776
+ @kind = args[:kind] unless args[:kind].nil?
1777
+ @name = args[:name] unless args[:name].nil?
1778
+ @password = args[:password] unless args[:password].nil?
1779
+ @project = args[:project] unless args[:project].nil?
1780
+ end
1781
+ end
1782
+
1783
+ # User list response.
1784
+ class ListUsersResponse
1785
+ include Google::Apis::Core::Hashable
1786
+
1787
+ # List of user resources in the instance.
1788
+ # Corresponds to the JSON property `items`
1789
+ # @return [Array<Google::Apis::SqladminV1beta4::User>]
1790
+ attr_accessor :items
1791
+
1792
+ # This is always sql#usersList.
1793
+ # Corresponds to the JSON property `kind`
1794
+ # @return [String]
1795
+ attr_accessor :kind
1796
+
1797
+ # An identifier that uniquely identifies the operation. You can use this
1798
+ # identifier to retrieve the Operations resource that has information about the
1799
+ # operation.
1800
+ # Corresponds to the JSON property `nextPageToken`
1801
+ # @return [String]
1802
+ attr_accessor :next_page_token
1803
+
1804
+ def initialize(**args)
1805
+ update!(**args)
1806
+ end
1807
+
1808
+ # Update properties of this object
1809
+ def update!(**args)
1810
+ @items = args[:items] unless args[:items].nil?
1811
+ @kind = args[:kind] unless args[:kind].nil?
1812
+ @next_page_token = args[:next_page_token] unless args[:next_page_token].nil?
1813
+ end
1814
+ end
1815
+ end
1816
+ end
1817
+ end