google-api-client 0.32.1 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +159 -0
  3. data/README.md +1 -1
  4. data/generated/google/apis/accessapproval_v1beta1/classes.rb +35 -2
  5. data/generated/google/apis/accessapproval_v1beta1/representations.rb +13 -0
  6. data/generated/google/apis/accessapproval_v1beta1/service.rb +108 -6
  7. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  9. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  10. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -73
  11. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -32
  12. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  13. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  14. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +15 -2
  15. data/generated/google/apis/adexchangebuyer_v1_3.rb +1 -1
  16. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +16 -3
  17. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  18. data/generated/google/apis/admin_datatransfer_v1/classes.rb +5 -5
  19. data/generated/google/apis/admin_datatransfer_v1/service.rb +2 -2
  20. data/generated/google/apis/admin_datatransfer_v1.rb +1 -1
  21. data/generated/google/apis/admin_directory_v1/classes.rb +4 -3
  22. data/generated/google/apis/admin_directory_v1.rb +4 -1
  23. data/generated/google/apis/admin_reports_v1/classes.rb +87 -44
  24. data/generated/google/apis/admin_reports_v1/service.rb +310 -64
  25. data/generated/google/apis/admin_reports_v1.rb +2 -2
  26. data/generated/google/apis/androidpublisher_v3/classes.rb +12 -0
  27. data/generated/google/apis/androidpublisher_v3/representations.rb +2 -0
  28. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  29. data/generated/google/apis/appengine_v1/service.rb +10 -6
  30. data/generated/google/apis/appengine_v1.rb +1 -1
  31. data/generated/google/apis/appengine_v1beta/service.rb +10 -6
  32. data/generated/google/apis/appengine_v1beta.rb +1 -1
  33. data/generated/google/apis/bigquery_v2/classes.rb +25 -19
  34. data/generated/google/apis/bigquery_v2/representations.rb +2 -0
  35. data/generated/google/apis/bigquery_v2.rb +1 -1
  36. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +3 -2
  37. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  38. data/generated/google/apis/bigtableadmin_v2/classes.rb +62 -29
  39. data/generated/google/apis/bigtableadmin_v2.rb +1 -1
  40. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  41. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  42. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  43. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  44. data/generated/google/apis/civicinfo_v2/representations.rb +2 -2
  45. data/generated/google/apis/civicinfo_v2.rb +1 -1
  46. data/generated/google/apis/cloudasset_v1/classes.rb +14 -15
  47. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  48. data/generated/google/apis/cloudasset_v1.rb +1 -1
  49. data/generated/google/apis/cloudbilling_v1/classes.rb +65 -36
  50. data/generated/google/apis/cloudbilling_v1/representations.rb +0 -1
  51. data/generated/google/apis/cloudbilling_v1/service.rb +5 -3
  52. data/generated/google/apis/cloudbilling_v1.rb +1 -1
  53. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  54. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  55. data/generated/google/apis/cloudfunctions_v1/service.rb +7 -3
  56. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  57. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +7 -0
  58. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +1 -0
  59. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +10 -4
  60. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  61. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  62. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  63. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  64. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +13 -10
  65. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  66. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  67. data/generated/google/apis/cloudkms_v1/service.rb +3 -0
  68. data/generated/google/apis/cloudkms_v1.rb +1 -1
  69. data/generated/google/apis/cloudresourcemanager_v1/classes.rb +12 -12
  70. data/generated/google/apis/cloudresourcemanager_v1.rb +1 -1
  71. data/generated/google/apis/cloudresourcemanager_v2/classes.rb +4 -8
  72. data/generated/google/apis/cloudresourcemanager_v2/service.rb +11 -13
  73. data/generated/google/apis/cloudresourcemanager_v2.rb +1 -1
  74. data/generated/google/apis/cloudresourcemanager_v2beta1/classes.rb +4 -8
  75. data/generated/google/apis/cloudresourcemanager_v2beta1/service.rb +11 -13
  76. data/generated/google/apis/cloudresourcemanager_v2beta1.rb +1 -1
  77. data/generated/google/apis/cloudsearch_v1/classes.rb +5 -2
  78. data/generated/google/apis/cloudsearch_v1/service.rb +5 -2
  79. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  80. data/generated/google/apis/cloudshell_v1/classes.rb +22 -0
  81. data/generated/google/apis/cloudshell_v1/representations.rb +3 -0
  82. data/generated/google/apis/cloudshell_v1.rb +1 -1
  83. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +22 -0
  84. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +3 -0
  85. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  86. data/generated/google/apis/compute_alpha/classes.rb +519 -152
  87. data/generated/google/apis/compute_alpha/representations.rb +108 -2
  88. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  89. data/generated/google/apis/compute_alpha.rb +1 -1
  90. data/generated/google/apis/compute_beta/classes.rb +1016 -266
  91. data/generated/google/apis/compute_beta/representations.rb +284 -0
  92. data/generated/google/apis/compute_beta/service.rb +1242 -532
  93. data/generated/google/apis/compute_beta.rb +1 -1
  94. data/generated/google/apis/compute_v1/classes.rb +283 -125
  95. data/generated/google/apis/compute_v1/representations.rb +24 -0
  96. data/generated/google/apis/compute_v1/service.rb +759 -473
  97. data/generated/google/apis/compute_v1.rb +1 -1
  98. data/generated/google/apis/container_v1/classes.rb +207 -5
  99. data/generated/google/apis/container_v1/representations.rb +85 -0
  100. data/generated/google/apis/container_v1.rb +1 -1
  101. data/generated/google/apis/container_v1beta1/classes.rb +125 -3
  102. data/generated/google/apis/container_v1beta1/representations.rb +22 -0
  103. data/generated/google/apis/container_v1beta1.rb +1 -1
  104. data/generated/google/apis/content_v2/classes.rb +23 -220
  105. data/generated/google/apis/content_v2/representations.rb +0 -115
  106. data/generated/google/apis/content_v2/service.rb +0 -160
  107. data/generated/google/apis/content_v2.rb +1 -1
  108. data/generated/google/apis/content_v2_1/classes.rb +57 -18
  109. data/generated/google/apis/content_v2_1/representations.rb +3 -0
  110. data/generated/google/apis/content_v2_1.rb +1 -1
  111. data/generated/google/apis/dataflow_v1b3/classes.rb +6 -9
  112. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -1
  113. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  114. data/generated/google/apis/datafusion_v1beta1/classes.rb +156 -46
  115. data/generated/google/apis/datafusion_v1beta1/representations.rb +33 -0
  116. data/generated/google/apis/datafusion_v1beta1/service.rb +10 -1
  117. data/generated/google/apis/datafusion_v1beta1.rb +1 -1
  118. data/generated/google/apis/datastore_v1/service.rb +85 -1
  119. data/generated/google/apis/datastore_v1.rb +1 -1
  120. data/generated/google/apis/datastore_v1beta3/service.rb +1 -1
  121. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  122. data/generated/google/apis/dialogflow_v2/classes.rb +25 -7
  123. data/generated/google/apis/dialogflow_v2/representations.rb +2 -0
  124. data/generated/google/apis/dialogflow_v2.rb +1 -1
  125. data/generated/google/apis/dialogflow_v2beta1/classes.rb +33 -7
  126. data/generated/google/apis/dialogflow_v2beta1/representations.rb +3 -0
  127. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  128. data/generated/google/apis/dlp_v2/classes.rb +19 -11
  129. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  130. data/generated/google/apis/dlp_v2/service.rb +43 -0
  131. data/generated/google/apis/dlp_v2.rb +1 -1
  132. data/generated/google/apis/docs_v1/classes.rb +175 -0
  133. data/generated/google/apis/docs_v1/representations.rb +77 -0
  134. data/generated/google/apis/docs_v1.rb +1 -1
  135. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  136. data/generated/google/apis/drive_v2/classes.rb +2 -1
  137. data/generated/google/apis/drive_v2/service.rb +3 -3
  138. data/generated/google/apis/drive_v2.rb +1 -1
  139. data/generated/google/apis/drive_v3.rb +1 -1
  140. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +37 -0
  141. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +16 -0
  142. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  143. data/generated/google/apis/firestore_v1.rb +1 -1
  144. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  145. data/generated/google/apis/fitness_v1/service.rb +1 -1
  146. data/generated/google/apis/fitness_v1.rb +1 -1
  147. data/generated/google/apis/games_management_v1management/classes.rb +6 -26
  148. data/generated/google/apis/games_management_v1management/representations.rb +1 -14
  149. data/generated/google/apis/games_management_v1management/service.rb +0 -158
  150. data/generated/google/apis/games_management_v1management.rb +1 -1
  151. data/generated/google/apis/games_v1/classes.rb +6 -292
  152. data/generated/google/apis/games_v1/representations.rb +1 -98
  153. data/generated/google/apis/games_v1/service.rb +0 -123
  154. data/generated/google/apis/games_v1.rb +1 -1
  155. data/generated/google/apis/healthcare_v1beta1/classes.rb +205 -9
  156. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  157. data/generated/google/apis/healthcare_v1beta1/service.rb +198 -104
  158. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  159. data/generated/google/apis/iam_v1/classes.rb +9 -2
  160. data/generated/google/apis/iam_v1/representations.rb +1 -0
  161. data/generated/google/apis/iam_v1.rb +1 -1
  162. data/generated/google/apis/iap_v1/classes.rb +187 -2
  163. data/generated/google/apis/iap_v1/representations.rb +102 -0
  164. data/generated/google/apis/iap_v1/service.rb +72 -0
  165. data/generated/google/apis/iap_v1.rb +1 -1
  166. data/generated/google/apis/iap_v1beta1/classes.rb +2 -2
  167. data/generated/google/apis/iap_v1beta1.rb +1 -1
  168. data/generated/google/apis/jobs_v2/classes.rb +167 -0
  169. data/generated/google/apis/jobs_v2/representations.rb +40 -0
  170. data/generated/google/apis/jobs_v2.rb +1 -1
  171. data/generated/google/apis/jobs_v3/classes.rb +179 -0
  172. data/generated/google/apis/jobs_v3/representations.rb +41 -0
  173. data/generated/google/apis/jobs_v3.rb +1 -1
  174. data/generated/google/apis/jobs_v3p1beta1/classes.rb +179 -0
  175. data/generated/google/apis/jobs_v3p1beta1/representations.rb +41 -0
  176. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  177. data/generated/google/apis/licensing_v1/classes.rb +15 -7
  178. data/generated/google/apis/licensing_v1/service.rb +81 -37
  179. data/generated/google/apis/licensing_v1.rb +4 -4
  180. data/generated/google/apis/lifesciences_v2beta/classes.rb +1329 -0
  181. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  182. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  183. data/generated/google/apis/{urlshortener_v1.rb → lifesciences_v2beta.rb} +12 -11
  184. data/generated/google/apis/logging_v2/classes.rb +12 -0
  185. data/generated/google/apis/logging_v2/representations.rb +2 -0
  186. data/generated/google/apis/logging_v2/service.rb +10 -5
  187. data/generated/google/apis/logging_v2.rb +1 -1
  188. data/generated/google/apis/ml_v1/classes.rb +66 -23
  189. data/generated/google/apis/ml_v1/representations.rb +1 -0
  190. data/generated/google/apis/ml_v1/service.rb +7 -3
  191. data/generated/google/apis/ml_v1.rb +2 -2
  192. data/generated/google/apis/monitoring_v1/classes.rb +260 -0
  193. data/generated/google/apis/monitoring_v1/representations.rb +123 -0
  194. data/generated/google/apis/monitoring_v1/service.rb +64 -0
  195. data/generated/google/apis/monitoring_v1.rb +36 -0
  196. data/generated/google/apis/monitoring_v3/classes.rb +27 -13
  197. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  198. data/generated/google/apis/monitoring_v3/service.rb +2 -2
  199. data/generated/google/apis/monitoring_v3.rb +1 -1
  200. data/generated/google/apis/oslogin_v1/classes.rb +1 -1
  201. data/generated/google/apis/oslogin_v1/service.rb +10 -6
  202. data/generated/google/apis/oslogin_v1.rb +1 -1
  203. data/generated/google/apis/oslogin_v1beta/classes.rb +1 -1
  204. data/generated/google/apis/oslogin_v1beta/service.rb +9 -5
  205. data/generated/google/apis/oslogin_v1beta.rb +1 -1
  206. data/generated/google/apis/people_v1/classes.rb +67 -63
  207. data/generated/google/apis/people_v1/service.rb +53 -44
  208. data/generated/google/apis/people_v1.rb +1 -1
  209. data/generated/google/apis/policytroubleshooter_v1beta/classes.rb +5 -4
  210. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  211. data/generated/google/apis/pubsub_v1/service.rb +3 -0
  212. data/generated/google/apis/pubsub_v1.rb +1 -1
  213. data/generated/google/apis/pubsub_v1beta2/service.rb +2 -0
  214. data/generated/google/apis/pubsub_v1beta2.rb +1 -1
  215. data/generated/google/apis/remotebuildexecution_v1/classes.rb +24 -0
  216. data/generated/google/apis/remotebuildexecution_v1/representations.rb +4 -0
  217. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  218. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +24 -0
  219. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +4 -0
  220. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  221. data/generated/google/apis/remotebuildexecution_v2/classes.rb +24 -0
  222. data/generated/google/apis/remotebuildexecution_v2/representations.rb +4 -0
  223. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  224. data/generated/google/apis/reseller_v1/service.rb +1 -1
  225. data/generated/google/apis/reseller_v1.rb +1 -1
  226. data/generated/google/apis/run_v1/classes.rb +0 -7
  227. data/generated/google/apis/run_v1/service.rb +156 -94
  228. data/generated/google/apis/run_v1.rb +1 -1
  229. data/generated/google/apis/run_v1alpha1/classes.rb +319 -0
  230. data/generated/google/apis/run_v1alpha1/representations.rb +126 -0
  231. data/generated/google/apis/run_v1alpha1/service.rb +408 -0
  232. data/generated/google/apis/run_v1alpha1.rb +1 -1
  233. data/generated/google/apis/securitycenter_v1/classes.rb +2 -2
  234. data/generated/google/apis/securitycenter_v1.rb +1 -1
  235. data/generated/google/apis/securitycenter_v1beta1/classes.rb +2 -2
  236. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  237. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +63 -0
  238. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +30 -0
  239. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  240. data/generated/google/apis/servicecontrol_v1/classes.rb +0 -11
  241. data/generated/google/apis/servicecontrol_v1/representations.rb +0 -1
  242. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  243. data/generated/google/apis/servicemanagement_v1/classes.rb +33 -7
  244. data/generated/google/apis/servicemanagement_v1/representations.rb +24 -0
  245. data/generated/google/apis/servicemanagement_v1/service.rb +31 -17
  246. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  247. data/generated/google/apis/serviceusage_v1/classes.rb +55 -0
  248. data/generated/google/apis/serviceusage_v1/representations.rb +29 -0
  249. data/generated/google/apis/serviceusage_v1.rb +1 -1
  250. data/generated/google/apis/serviceusage_v1beta1/classes.rb +55 -0
  251. data/generated/google/apis/serviceusage_v1beta1/representations.rb +29 -0
  252. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  253. data/generated/google/apis/sheets_v4/classes.rb +389 -0
  254. data/generated/google/apis/sheets_v4/representations.rb +79 -0
  255. data/generated/google/apis/sheets_v4.rb +1 -1
  256. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/classes.rb +9 -8
  257. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/representations.rb +6 -6
  258. data/generated/google/apis/{speech_v2beta → speech_v2beta1}/service.rb +13 -13
  259. data/generated/google/apis/{speech_v2beta.rb → speech_v2beta1.rb} +6 -6
  260. data/generated/google/apis/sql_v1beta4/classes.rb +2752 -0
  261. data/generated/google/apis/sql_v1beta4/representations.rb +1131 -0
  262. data/generated/google/apis/sql_v1beta4/service.rb +1791 -0
  263. data/generated/google/apis/sql_v1beta4.rb +37 -0
  264. data/generated/google/apis/storage_v1.rb +1 -1
  265. data/generated/google/apis/testing_v1/classes.rb +142 -1
  266. data/generated/google/apis/testing_v1/representations.rb +76 -0
  267. data/generated/google/apis/testing_v1.rb +1 -1
  268. data/generated/google/apis/videointelligence_v1/classes.rb +35 -36
  269. data/generated/google/apis/videointelligence_v1.rb +1 -1
  270. data/generated/google/apis/videointelligence_v1beta2/classes.rb +35 -36
  271. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  272. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +35 -36
  273. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  274. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +35 -36
  275. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  276. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +35 -36
  277. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  278. data/generated/google/apis/vision_v1.rb +1 -1
  279. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  280. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  281. data/generated/google/apis/youtube_partner_v1/service.rb +2 -2
  282. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  283. data/google-api-client.gemspec +6 -3
  284. data/lib/google/apis/version.rb +1 -1
  285. metadata +28 -30
  286. data/generated/google/apis/dfareporting_v3_2/classes.rb +0 -12299
  287. data/generated/google/apis/dfareporting_v3_2/representations.rb +0 -4397
  288. data/generated/google/apis/dfareporting_v3_2/service.rb +0 -8793
  289. data/generated/google/apis/dfareporting_v3_2.rb +0 -40
  290. data/generated/google/apis/urlshortener_v1/classes.rb +0 -246
  291. data/generated/google/apis/urlshortener_v1/representations.rb +0 -121
  292. data/generated/google/apis/urlshortener_v1/service.rb +0 -169
@@ -0,0 +1,2752 @@
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 SqlV1beta4
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 <a
30
+ # href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
31
+ # <code>2012-11-15T16:19:00.094Z</code>.
32
+ # Corresponds to the JSON property `expirationTime`
33
+ # @return [String]
34
+ attr_accessor :expiration_time
35
+
36
+ # This is always <code>sql#aclEntry</code>.
37
+ # Corresponds to the JSON property `kind`
38
+ # @return [String]
39
+ attr_accessor :kind
40
+
41
+ # An optional label to identify this entry.
42
+ # Corresponds to the JSON property `name`
43
+ # @return [String]
44
+ attr_accessor :name
45
+
46
+ # The whitelisted value for the access control list.
47
+ # Corresponds to the JSON property `value`
48
+ # @return [String]
49
+ attr_accessor :value
50
+
51
+ def initialize(**args)
52
+ update!(**args)
53
+ end
54
+
55
+ # Update properties of this object
56
+ def update!(**args)
57
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
58
+ @kind = args[:kind] if args.key?(:kind)
59
+ @name = args[:name] if args.key?(:name)
60
+ @value = args[:value] if args.key?(:value)
61
+ end
62
+ end
63
+
64
+ # An Admin API warning message.
65
+ class ApiWarning
66
+ include Google::Apis::Core::Hashable
67
+
68
+ # Code to uniquely identify the warning type.
69
+ # Corresponds to the JSON property `code`
70
+ # @return [String]
71
+ attr_accessor :code
72
+
73
+ # The warning message.
74
+ # Corresponds to the JSON property `message`
75
+ # @return [String]
76
+ attr_accessor :message
77
+
78
+ def initialize(**args)
79
+ update!(**args)
80
+ end
81
+
82
+ # Update properties of this object
83
+ def update!(**args)
84
+ @code = args[:code] if args.key?(:code)
85
+ @message = args[:message] if args.key?(:message)
86
+ end
87
+ end
88
+
89
+ # Database instance backup configuration.
90
+ class BackupConfiguration
91
+ include Google::Apis::Core::Hashable
92
+
93
+ # Whether binary log is enabled. If backup configuration is disabled, binary
94
+ # log must be disabled as well.
95
+ # Corresponds to the JSON property `binaryLogEnabled`
96
+ # @return [Boolean]
97
+ attr_accessor :binary_log_enabled
98
+ alias_method :binary_log_enabled?, :binary_log_enabled
99
+
100
+ # Whether this configuration is enabled.
101
+ # Corresponds to the JSON property `enabled`
102
+ # @return [Boolean]
103
+ attr_accessor :enabled
104
+ alias_method :enabled?, :enabled
105
+
106
+ # This is always <code>sql#backupConfiguration</code>.
107
+ # Corresponds to the JSON property `kind`
108
+ # @return [String]
109
+ attr_accessor :kind
110
+
111
+ # Location of the backup
112
+ # Corresponds to the JSON property `location`
113
+ # @return [String]
114
+ attr_accessor :location
115
+
116
+ # Reserved for future use.
117
+ # Corresponds to the JSON property `replicationLogArchivingEnabled`
118
+ # @return [Boolean]
119
+ attr_accessor :replication_log_archiving_enabled
120
+ alias_method :replication_log_archiving_enabled?, :replication_log_archiving_enabled
121
+
122
+ # Start time for the daily backup configuration in UTC timezone in the 24
123
+ # hour format - <code>HH:MM</code>.
124
+ # Corresponds to the JSON property `startTime`
125
+ # @return [String]
126
+ attr_accessor :start_time
127
+
128
+ def initialize(**args)
129
+ update!(**args)
130
+ end
131
+
132
+ # Update properties of this object
133
+ def update!(**args)
134
+ @binary_log_enabled = args[:binary_log_enabled] if args.key?(:binary_log_enabled)
135
+ @enabled = args[:enabled] if args.key?(:enabled)
136
+ @kind = args[:kind] if args.key?(:kind)
137
+ @location = args[:location] if args.key?(:location)
138
+ @replication_log_archiving_enabled = args[:replication_log_archiving_enabled] if args.key?(:replication_log_archiving_enabled)
139
+ @start_time = args[:start_time] if args.key?(:start_time)
140
+ end
141
+ end
142
+
143
+ # A BackupRun resource.
144
+ class BackupRun
145
+ include Google::Apis::Core::Hashable
146
+
147
+ # The description of this run, only applicable to on-demand backups.
148
+ # Corresponds to the JSON property `description`
149
+ # @return [String]
150
+ attr_accessor :description
151
+
152
+ # Disk encryption configuration for an instance.
153
+ # Corresponds to the JSON property `diskEncryptionConfiguration`
154
+ # @return [Google::Apis::SqlV1beta4::DiskEncryptionConfiguration]
155
+ attr_accessor :disk_encryption_configuration
156
+
157
+ # Disk encryption status for an instance.
158
+ # Corresponds to the JSON property `diskEncryptionStatus`
159
+ # @return [Google::Apis::SqlV1beta4::DiskEncryptionStatus]
160
+ attr_accessor :disk_encryption_status
161
+
162
+ # The time the backup operation completed in UTC timezone in <a
163
+ # href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
164
+ # <code>2012-11-15T16:19:00.094Z</code>.
165
+ # Corresponds to the JSON property `endTime`
166
+ # @return [String]
167
+ attr_accessor :end_time
168
+
169
+ # The time the run was enqueued in UTC timezone in <a
170
+ # href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
171
+ # <code>2012-11-15T16:19:00.094Z</code>.
172
+ # Corresponds to the JSON property `enqueuedTime`
173
+ # @return [String]
174
+ attr_accessor :enqueued_time
175
+
176
+ # Database instance operation error.
177
+ # Corresponds to the JSON property `error`
178
+ # @return [Google::Apis::SqlV1beta4::OperationError]
179
+ attr_accessor :error
180
+
181
+ # The identifier for this backup run. Unique only for a specific Cloud SQL
182
+ # instance.
183
+ # Corresponds to the JSON property `id`
184
+ # @return [Fixnum]
185
+ attr_accessor :id
186
+
187
+ # Name of the database instance.
188
+ # Corresponds to the JSON property `instance`
189
+ # @return [String]
190
+ attr_accessor :instance
191
+
192
+ # This is always <code>sql#backupRun</code>.
193
+ # Corresponds to the JSON property `kind`
194
+ # @return [String]
195
+ attr_accessor :kind
196
+
197
+ # Location of the backups.
198
+ # Corresponds to the JSON property `location`
199
+ # @return [String]
200
+ attr_accessor :location
201
+
202
+ # The URI of this resource.
203
+ # Corresponds to the JSON property `selfLink`
204
+ # @return [String]
205
+ attr_accessor :self_link
206
+
207
+ # The time the backup operation actually started in UTC timezone in <a
208
+ # href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
209
+ # <code>2012-11-15T16:19:00.094Z</code>.
210
+ # Corresponds to the JSON property `startTime`
211
+ # @return [String]
212
+ attr_accessor :start_time
213
+
214
+ # The status of this run.
215
+ # Corresponds to the JSON property `status`
216
+ # @return [String]
217
+ attr_accessor :status
218
+
219
+ # The type of this run; can be either "AUTOMATED" or "ON_DEMAND".
220
+ # Corresponds to the JSON property `type`
221
+ # @return [String]
222
+ attr_accessor :type
223
+
224
+ # The start time of the backup window during which this the backup was
225
+ # attempted in <a href="https://tools.ietf.org/html/rfc3339">RFC 3339</a>
226
+ # format, for example <code>2012-11-15T16:19:00.094Z</code>.
227
+ # Corresponds to the JSON property `windowStartTime`
228
+ # @return [String]
229
+ attr_accessor :window_start_time
230
+
231
+ def initialize(**args)
232
+ update!(**args)
233
+ end
234
+
235
+ # Update properties of this object
236
+ def update!(**args)
237
+ @description = args[:description] if args.key?(:description)
238
+ @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
239
+ @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
240
+ @end_time = args[:end_time] if args.key?(:end_time)
241
+ @enqueued_time = args[:enqueued_time] if args.key?(:enqueued_time)
242
+ @error = args[:error] if args.key?(:error)
243
+ @id = args[:id] if args.key?(:id)
244
+ @instance = args[:instance] if args.key?(:instance)
245
+ @kind = args[:kind] if args.key?(:kind)
246
+ @location = args[:location] if args.key?(:location)
247
+ @self_link = args[:self_link] if args.key?(:self_link)
248
+ @start_time = args[:start_time] if args.key?(:start_time)
249
+ @status = args[:status] if args.key?(:status)
250
+ @type = args[:type] if args.key?(:type)
251
+ @window_start_time = args[:window_start_time] if args.key?(:window_start_time)
252
+ end
253
+ end
254
+
255
+ # Backup run list results.
256
+ class BackupRunsListResponse
257
+ include Google::Apis::Core::Hashable
258
+
259
+ # A list of backup runs in reverse chronological order of the enqueued time.
260
+ # Corresponds to the JSON property `items`
261
+ # @return [Array<Google::Apis::SqlV1beta4::BackupRun>]
262
+ attr_accessor :items
263
+
264
+ # This is always <code>sql#backupRunsList</code>.
265
+ # Corresponds to the JSON property `kind`
266
+ # @return [String]
267
+ attr_accessor :kind
268
+
269
+ # The continuation token, used to page through large result sets. Provide
270
+ # this value in a subsequent request to return the next page of results.
271
+ # Corresponds to the JSON property `nextPageToken`
272
+ # @return [String]
273
+ attr_accessor :next_page_token
274
+
275
+ def initialize(**args)
276
+ update!(**args)
277
+ end
278
+
279
+ # Update properties of this object
280
+ def update!(**args)
281
+ @items = args[:items] if args.key?(:items)
282
+ @kind = args[:kind] if args.key?(:kind)
283
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
284
+ end
285
+ end
286
+
287
+ # Binary log coordinates.
288
+ class BinLogCoordinates
289
+ include Google::Apis::Core::Hashable
290
+
291
+ # Name of the binary log file for a Cloud SQL instance.
292
+ # Corresponds to the JSON property `binLogFileName`
293
+ # @return [String]
294
+ attr_accessor :bin_log_file_name
295
+
296
+ # Position (offset) within the binary log file.
297
+ # Corresponds to the JSON property `binLogPosition`
298
+ # @return [Fixnum]
299
+ attr_accessor :bin_log_position
300
+
301
+ # This is always <code>sql#binLogCoordinates</code>.
302
+ # Corresponds to the JSON property `kind`
303
+ # @return [String]
304
+ attr_accessor :kind
305
+
306
+ def initialize(**args)
307
+ update!(**args)
308
+ end
309
+
310
+ # Update properties of this object
311
+ def update!(**args)
312
+ @bin_log_file_name = args[:bin_log_file_name] if args.key?(:bin_log_file_name)
313
+ @bin_log_position = args[:bin_log_position] if args.key?(:bin_log_position)
314
+ @kind = args[:kind] if args.key?(:kind)
315
+ end
316
+ end
317
+
318
+ # Database instance clone context.
319
+ class CloneContext
320
+ include Google::Apis::Core::Hashable
321
+
322
+ # Binary log coordinates.
323
+ # Corresponds to the JSON property `binLogCoordinates`
324
+ # @return [Google::Apis::SqlV1beta4::BinLogCoordinates]
325
+ attr_accessor :bin_log_coordinates
326
+
327
+ # Name of the Cloud SQL instance to be created as a clone.
328
+ # Corresponds to the JSON property `destinationInstanceName`
329
+ # @return [String]
330
+ attr_accessor :destination_instance_name
331
+
332
+ # This is always <code>sql#cloneContext</code>.
333
+ # Corresponds to the JSON property `kind`
334
+ # @return [String]
335
+ attr_accessor :kind
336
+
337
+ # Reserved for future use.
338
+ # Corresponds to the JSON property `pitrTimestampMs`
339
+ # @return [Fixnum]
340
+ attr_accessor :pitr_timestamp_ms
341
+
342
+ def initialize(**args)
343
+ update!(**args)
344
+ end
345
+
346
+ # Update properties of this object
347
+ def update!(**args)
348
+ @bin_log_coordinates = args[:bin_log_coordinates] if args.key?(:bin_log_coordinates)
349
+ @destination_instance_name = args[:destination_instance_name] if args.key?(:destination_instance_name)
350
+ @kind = args[:kind] if args.key?(:kind)
351
+ @pitr_timestamp_ms = args[:pitr_timestamp_ms] if args.key?(:pitr_timestamp_ms)
352
+ end
353
+ end
354
+
355
+ # Represents a SQL database on the Cloud SQL instance.
356
+ class Database
357
+ include Google::Apis::Core::Hashable
358
+
359
+ # The MySQL charset value.
360
+ # Corresponds to the JSON property `charset`
361
+ # @return [String]
362
+ attr_accessor :charset
363
+
364
+ # The MySQL collation value.
365
+ # Corresponds to the JSON property `collation`
366
+ # @return [String]
367
+ attr_accessor :collation
368
+
369
+ # This field is deprecated and will be removed from a future version of the
370
+ # API.
371
+ # Corresponds to the JSON property `etag`
372
+ # @return [String]
373
+ attr_accessor :etag
374
+
375
+ # The name of the Cloud SQL instance. This does not include the project ID.
376
+ # Corresponds to the JSON property `instance`
377
+ # @return [String]
378
+ attr_accessor :instance
379
+
380
+ # This is always <code>sql#database</code>.
381
+ # Corresponds to the JSON property `kind`
382
+ # @return [String]
383
+ attr_accessor :kind
384
+
385
+ # The name of the database in the Cloud SQL instance. This does not include
386
+ # the project ID or instance name.
387
+ # Corresponds to the JSON property `name`
388
+ # @return [String]
389
+ attr_accessor :name
390
+
391
+ # The project ID of the project containing the Cloud SQL database. The Google
392
+ # apps domain is prefixed if applicable.
393
+ # Corresponds to the JSON property `project`
394
+ # @return [String]
395
+ attr_accessor :project
396
+
397
+ # The URI of this resource.
398
+ # Corresponds to the JSON property `selfLink`
399
+ # @return [String]
400
+ attr_accessor :self_link
401
+
402
+ # Represents a Sql Server database on the Cloud SQL instance.
403
+ # Corresponds to the JSON property `sqlserverDatabaseDetails`
404
+ # @return [Google::Apis::SqlV1beta4::SqlServerDatabaseDetails]
405
+ attr_accessor :sqlserver_database_details
406
+
407
+ def initialize(**args)
408
+ update!(**args)
409
+ end
410
+
411
+ # Update properties of this object
412
+ def update!(**args)
413
+ @charset = args[:charset] if args.key?(:charset)
414
+ @collation = args[:collation] if args.key?(:collation)
415
+ @etag = args[:etag] if args.key?(:etag)
416
+ @instance = args[:instance] if args.key?(:instance)
417
+ @kind = args[:kind] if args.key?(:kind)
418
+ @name = args[:name] if args.key?(:name)
419
+ @project = args[:project] if args.key?(:project)
420
+ @self_link = args[:self_link] if args.key?(:self_link)
421
+ @sqlserver_database_details = args[:sqlserver_database_details] if args.key?(:sqlserver_database_details)
422
+ end
423
+ end
424
+
425
+ # Database flags for Cloud SQL instances.
426
+ class DatabaseFlags
427
+ include Google::Apis::Core::Hashable
428
+
429
+ # The name of the flag. These flags are passed at instance startup, so
430
+ # include both server options and system variables for MySQL. Flags should be
431
+ # specified with underscores, not hyphens. For more information, see <a
432
+ # href="/sql/docs/mysql/flags">Configuring Database Flags</a> in the Cloud
433
+ # SQL documentation.
434
+ # Corresponds to the JSON property `name`
435
+ # @return [String]
436
+ attr_accessor :name
437
+
438
+ # The value of the flag. Booleans should be set to <code>on</code> for true
439
+ # and <code>off</code> for false. This field must be omitted if the flag
440
+ # doesn't take a value.
441
+ # Corresponds to the JSON property `value`
442
+ # @return [String]
443
+ attr_accessor :value
444
+
445
+ def initialize(**args)
446
+ update!(**args)
447
+ end
448
+
449
+ # Update properties of this object
450
+ def update!(**args)
451
+ @name = args[:name] if args.key?(:name)
452
+ @value = args[:value] if args.key?(:value)
453
+ end
454
+ end
455
+
456
+ # A Cloud SQL instance resource.
457
+ # If you change this, also change SqlDatabaseInstance
458
+ class DatabaseInstance
459
+ include Google::Apis::Core::Hashable
460
+
461
+ # <code>FIRST_GEN</code>: First Generation instance. MySQL only. <br
462
+ # /><code>SECOND_GEN</code>: Second Generation instance or PostgreSQL
463
+ # instance. <br /><code>EXTERNAL</code>: A database server that is not
464
+ # managed by Google. <br>This property is read-only; use the
465
+ # <code>tier</code> property in the <code>settings</code> object to determine
466
+ # the database type and Second or First Generation.
467
+ # Corresponds to the JSON property `backendType`
468
+ # @return [String]
469
+ attr_accessor :backend_type
470
+
471
+ # Connection name of the Cloud SQL instance used in connection strings.
472
+ # Corresponds to the JSON property `connectionName`
473
+ # @return [String]
474
+ attr_accessor :connection_name
475
+
476
+ # The current disk usage of the instance in bytes. This property has been
477
+ # deprecated. Users should use the
478
+ # "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud
479
+ # Monitoring API instead. Please see <a
480
+ # href="https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/
481
+ # BtvFtdFeAgAJ">this
482
+ # announcement</a> for details.
483
+ # Corresponds to the JSON property `currentDiskSize`
484
+ # @return [Fixnum]
485
+ attr_accessor :current_disk_size
486
+
487
+ # The database engine type and version. The <code>databaseVersion</code>
488
+ # field can not be changed after instance creation. MySQL Second Generation
489
+ # instances: <code>MYSQL_5_7</code> (default) or <code>MYSQL_5_6</code>.
490
+ # PostgreSQL instances: <code>POSTGRES_9_6</code> (default) or
491
+ # <code>POSTGRES_11 Beta</code> MySQL First Generation
492
+ # instances: <code>MYSQL_5_6</code> (default) or <code>MYSQL_5_5</code>
493
+ # Corresponds to the JSON property `databaseVersion`
494
+ # @return [String]
495
+ attr_accessor :database_version
496
+
497
+ # Disk encryption configuration for an instance.
498
+ # Corresponds to the JSON property `diskEncryptionConfiguration`
499
+ # @return [Google::Apis::SqlV1beta4::DiskEncryptionConfiguration]
500
+ attr_accessor :disk_encryption_configuration
501
+
502
+ # Disk encryption status for an instance.
503
+ # Corresponds to the JSON property `diskEncryptionStatus`
504
+ # @return [Google::Apis::SqlV1beta4::DiskEncryptionStatus]
505
+ attr_accessor :disk_encryption_status
506
+
507
+ # This field is deprecated and will be removed from a future version of the
508
+ # API. Use the <code>settings.settingsVersion</code> field instead.
509
+ # Corresponds to the JSON property `etag`
510
+ # @return [String]
511
+ attr_accessor :etag
512
+
513
+ # The name and status of the failover replica. This property is applicable
514
+ # only to Second Generation instances.
515
+ # Corresponds to the JSON property `failoverReplica`
516
+ # @return [Google::Apis::SqlV1beta4::DatabaseInstance::FailoverReplica]
517
+ attr_accessor :failover_replica
518
+
519
+ # The Compute Engine zone that the instance is currently serving from. This
520
+ # value could be different from the zone that was specified when the instance
521
+ # was created if the instance has failed over to its secondary zone.
522
+ # Corresponds to the JSON property `gceZone`
523
+ # @return [String]
524
+ attr_accessor :gce_zone
525
+
526
+ # The instance type. This can be one of the following.
527
+ # <br><code>CLOUD_SQL_INSTANCE</code>: A Cloud SQL instance that is not
528
+ # replicating from a master. <br><code>ON_PREMISES_INSTANCE</code>: An
529
+ # instance running on the
530
+ # customer's premises. <br><code>READ_REPLICA_INSTANCE</code>: A Cloud SQL
531
+ # instance configured as a read-replica.
532
+ # Corresponds to the JSON property `instanceType`
533
+ # @return [String]
534
+ attr_accessor :instance_type
535
+
536
+ # The assigned IP addresses for the instance.
537
+ # Corresponds to the JSON property `ipAddresses`
538
+ # @return [Array<Google::Apis::SqlV1beta4::IpMapping>]
539
+ attr_accessor :ip_addresses
540
+
541
+ # The IPv6 address assigned to the instance. This property is applicable only
542
+ # to First Generation instances.
543
+ # Corresponds to the JSON property `ipv6Address`
544
+ # @return [String]
545
+ attr_accessor :ipv6_address
546
+
547
+ # This is always <code>sql#instance</code>.
548
+ # Corresponds to the JSON property `kind`
549
+ # @return [String]
550
+ attr_accessor :kind
551
+
552
+ # The name of the instance which will act as master in the replication setup.
553
+ # Corresponds to the JSON property `masterInstanceName`
554
+ # @return [String]
555
+ attr_accessor :master_instance_name
556
+
557
+ # The maximum disk size of the instance in bytes.
558
+ # Corresponds to the JSON property `maxDiskSize`
559
+ # @return [Fixnum]
560
+ attr_accessor :max_disk_size
561
+
562
+ # Name of the Cloud SQL instance. This does not include the project ID.
563
+ # Corresponds to the JSON property `name`
564
+ # @return [String]
565
+ attr_accessor :name
566
+
567
+ # On-premises instance configuration.
568
+ # Corresponds to the JSON property `onPremisesConfiguration`
569
+ # @return [Google::Apis::SqlV1beta4::OnPremisesConfiguration]
570
+ attr_accessor :on_premises_configuration
571
+
572
+ # The project ID of the project containing the Cloud SQL instance. The Google
573
+ # apps domain is prefixed if applicable.
574
+ # Corresponds to the JSON property `project`
575
+ # @return [String]
576
+ attr_accessor :project
577
+
578
+ # The geographical region. Can be <code>us-central</code>
579
+ # (<code>FIRST_GEN</code> instances only), <code>us-central1</code>
580
+ # (<code>SECOND_GEN</code> instances only), <code>asia-east1</code> or
581
+ # <code>europe-west1</code>. Defaults to <code>us-central</code> or
582
+ # <code>us-central1</code> depending on the instance type (First Generation
583
+ # or Second Generation). The region can not be changed after instance
584
+ # creation.
585
+ # Corresponds to the JSON property `region`
586
+ # @return [String]
587
+ attr_accessor :region
588
+
589
+ # Read-replica configuration for connecting to the master.
590
+ # Corresponds to the JSON property `replicaConfiguration`
591
+ # @return [Google::Apis::SqlV1beta4::ReplicaConfiguration]
592
+ attr_accessor :replica_configuration
593
+
594
+ # The replicas of the instance.
595
+ # Corresponds to the JSON property `replicaNames`
596
+ # @return [Array<String>]
597
+ attr_accessor :replica_names
598
+
599
+ # Initial root password. Use only on creation.
600
+ # Corresponds to the JSON property `rootPassword`
601
+ # @return [String]
602
+ attr_accessor :root_password
603
+
604
+ # Any scheduled maintenancce for this instance.
605
+ # Corresponds to the JSON property `scheduledMaintenance`
606
+ # @return [Google::Apis::SqlV1beta4::SqlScheduledMaintenance]
607
+ attr_accessor :scheduled_maintenance
608
+
609
+ # The URI of this resource.
610
+ # Corresponds to the JSON property `selfLink`
611
+ # @return [String]
612
+ attr_accessor :self_link
613
+
614
+ # SslCerts Resource
615
+ # Corresponds to the JSON property `serverCaCert`
616
+ # @return [Google::Apis::SqlV1beta4::SslCert]
617
+ attr_accessor :server_ca_cert
618
+
619
+ # The service account email address assigned to the instance. This property
620
+ # is applicable only to Second Generation instances.
621
+ # Corresponds to the JSON property `serviceAccountEmailAddress`
622
+ # @return [String]
623
+ attr_accessor :service_account_email_address
624
+
625
+ # Database instance settings.
626
+ # Corresponds to the JSON property `settings`
627
+ # @return [Google::Apis::SqlV1beta4::Settings]
628
+ attr_accessor :settings
629
+
630
+ # The current serving state of the Cloud SQL instance. This can be one of the
631
+ # following. <br><code>RUNNABLE</code>: The instance is running, or is ready
632
+ # to run when accessed. <br><code>SUSPENDED</code>: The instance is not
633
+ # available, for example due to problems with billing.
634
+ # <br><code>PENDING_CREATE</code>: The instance is being created.
635
+ # <br><code>MAINTENANCE</code>: The instance is down for maintenance.
636
+ # <br><code>FAILED</code>: The instance creation failed.
637
+ # <br><code>UNKNOWN_STATE</code>: The state of the instance is unknown.
638
+ # Corresponds to the JSON property `state`
639
+ # @return [String]
640
+ attr_accessor :state
641
+
642
+ # If the instance state is SUSPENDED, the reason for the suspension.
643
+ # Corresponds to the JSON property `suspensionReason`
644
+ # @return [Array<String>]
645
+ attr_accessor :suspension_reason
646
+
647
+ def initialize(**args)
648
+ update!(**args)
649
+ end
650
+
651
+ # Update properties of this object
652
+ def update!(**args)
653
+ @backend_type = args[:backend_type] if args.key?(:backend_type)
654
+ @connection_name = args[:connection_name] if args.key?(:connection_name)
655
+ @current_disk_size = args[:current_disk_size] if args.key?(:current_disk_size)
656
+ @database_version = args[:database_version] if args.key?(:database_version)
657
+ @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
658
+ @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
659
+ @etag = args[:etag] if args.key?(:etag)
660
+ @failover_replica = args[:failover_replica] if args.key?(:failover_replica)
661
+ @gce_zone = args[:gce_zone] if args.key?(:gce_zone)
662
+ @instance_type = args[:instance_type] if args.key?(:instance_type)
663
+ @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
664
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
665
+ @kind = args[:kind] if args.key?(:kind)
666
+ @master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
667
+ @max_disk_size = args[:max_disk_size] if args.key?(:max_disk_size)
668
+ @name = args[:name] if args.key?(:name)
669
+ @on_premises_configuration = args[:on_premises_configuration] if args.key?(:on_premises_configuration)
670
+ @project = args[:project] if args.key?(:project)
671
+ @region = args[:region] if args.key?(:region)
672
+ @replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
673
+ @replica_names = args[:replica_names] if args.key?(:replica_names)
674
+ @root_password = args[:root_password] if args.key?(:root_password)
675
+ @scheduled_maintenance = args[:scheduled_maintenance] if args.key?(:scheduled_maintenance)
676
+ @self_link = args[:self_link] if args.key?(:self_link)
677
+ @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
678
+ @service_account_email_address = args[:service_account_email_address] if args.key?(:service_account_email_address)
679
+ @settings = args[:settings] if args.key?(:settings)
680
+ @state = args[:state] if args.key?(:state)
681
+ @suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
682
+ end
683
+
684
+ # The name and status of the failover replica. This property is applicable
685
+ # only to Second Generation instances.
686
+ class FailoverReplica
687
+ include Google::Apis::Core::Hashable
688
+
689
+ # The availability status of the failover replica. A false status indicates
690
+ # that the failover replica is out of sync. The master can only failover to
691
+ # the failover replica when the status is true.
692
+ # Corresponds to the JSON property `available`
693
+ # @return [Boolean]
694
+ attr_accessor :available
695
+ alias_method :available?, :available
696
+
697
+ # The name of the failover replica. If specified at instance creation, a
698
+ # failover replica is created for the instance. The name
699
+ # doesn't include the project ID. This property is applicable only to
700
+ # Second Generation instances.
701
+ # Corresponds to the JSON property `name`
702
+ # @return [String]
703
+ attr_accessor :name
704
+
705
+ def initialize(**args)
706
+ update!(**args)
707
+ end
708
+
709
+ # Update properties of this object
710
+ def update!(**args)
711
+ @available = args[:available] if args.key?(:available)
712
+ @name = args[:name] if args.key?(:name)
713
+ end
714
+ end
715
+ end
716
+
717
+ # Database list response.
718
+ class DatabasesListResponse
719
+ include Google::Apis::Core::Hashable
720
+
721
+ # List of database resources in the instance.
722
+ # Corresponds to the JSON property `items`
723
+ # @return [Array<Google::Apis::SqlV1beta4::Database>]
724
+ attr_accessor :items
725
+
726
+ # This is always <code>sql#databasesList</code>.
727
+ # Corresponds to the JSON property `kind`
728
+ # @return [String]
729
+ attr_accessor :kind
730
+
731
+ def initialize(**args)
732
+ update!(**args)
733
+ end
734
+
735
+ # Update properties of this object
736
+ def update!(**args)
737
+ @items = args[:items] if args.key?(:items)
738
+ @kind = args[:kind] if args.key?(:kind)
739
+ end
740
+ end
741
+
742
+ # Read-replica configuration for connecting to the on-premises master.
743
+ class DemoteMasterConfiguration
744
+ include Google::Apis::Core::Hashable
745
+
746
+ # This is always <code>sql#demoteMasterConfiguration</code>.
747
+ # Corresponds to the JSON property `kind`
748
+ # @return [String]
749
+ attr_accessor :kind
750
+
751
+ # Read-replica configuration specific to MySQL databases.
752
+ # Corresponds to the JSON property `mysqlReplicaConfiguration`
753
+ # @return [Google::Apis::SqlV1beta4::DemoteMasterMySqlReplicaConfiguration]
754
+ attr_accessor :mysql_replica_configuration
755
+
756
+ def initialize(**args)
757
+ update!(**args)
758
+ end
759
+
760
+ # Update properties of this object
761
+ def update!(**args)
762
+ @kind = args[:kind] if args.key?(:kind)
763
+ @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
764
+ end
765
+ end
766
+
767
+ # Database instance demote master context.
768
+ class DemoteMasterContext
769
+ include Google::Apis::Core::Hashable
770
+
771
+ # This is always <code>sql#demoteMasterContext</code>.
772
+ # Corresponds to the JSON property `kind`
773
+ # @return [String]
774
+ attr_accessor :kind
775
+
776
+ # The name of the instance which will act as on-premises master in the
777
+ # replication setup.
778
+ # Corresponds to the JSON property `masterInstanceName`
779
+ # @return [String]
780
+ attr_accessor :master_instance_name
781
+
782
+ # Read-replica configuration for connecting to the on-premises master.
783
+ # Corresponds to the JSON property `replicaConfiguration`
784
+ # @return [Google::Apis::SqlV1beta4::DemoteMasterConfiguration]
785
+ attr_accessor :replica_configuration
786
+
787
+ # Verify GTID consistency for demote operation. Default value:
788
+ # <code>True</code>. Second Generation instances only. Setting this flag to
789
+ # false enables you to bypass GTID consistency check between on-premises
790
+ # master and Cloud SQL instance during the demotion operation but also
791
+ # exposes you to the risk of future replication failures. Change the value
792
+ # only if you know the reason for the GTID divergence and are confident that
793
+ # doing so will not cause any replication issues.
794
+ # Corresponds to the JSON property `verifyGtidConsistency`
795
+ # @return [Boolean]
796
+ attr_accessor :verify_gtid_consistency
797
+ alias_method :verify_gtid_consistency?, :verify_gtid_consistency
798
+
799
+ def initialize(**args)
800
+ update!(**args)
801
+ end
802
+
803
+ # Update properties of this object
804
+ def update!(**args)
805
+ @kind = args[:kind] if args.key?(:kind)
806
+ @master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
807
+ @replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
808
+ @verify_gtid_consistency = args[:verify_gtid_consistency] if args.key?(:verify_gtid_consistency)
809
+ end
810
+ end
811
+
812
+ # Read-replica configuration specific to MySQL databases.
813
+ class DemoteMasterMySqlReplicaConfiguration
814
+ include Google::Apis::Core::Hashable
815
+
816
+ # PEM representation of the trusted CA's x509 certificate.
817
+ # Corresponds to the JSON property `caCertificate`
818
+ # @return [String]
819
+ attr_accessor :ca_certificate
820
+
821
+ # PEM representation of the slave's x509 certificate.
822
+ # Corresponds to the JSON property `clientCertificate`
823
+ # @return [String]
824
+ attr_accessor :client_certificate
825
+
826
+ # PEM representation of the slave's private key. The corresponsing public key
827
+ # is encoded in the client's certificate. The format of the slave's private
828
+ # key can be either PKCS #1 or PKCS #8.
829
+ # Corresponds to the JSON property `clientKey`
830
+ # @return [String]
831
+ attr_accessor :client_key
832
+
833
+ # This is always <code>sql#demoteMasterMysqlReplicaConfiguration</code>.
834
+ # Corresponds to the JSON property `kind`
835
+ # @return [String]
836
+ attr_accessor :kind
837
+
838
+ # The password for the replication connection.
839
+ # Corresponds to the JSON property `password`
840
+ # @return [String]
841
+ attr_accessor :password
842
+
843
+ # The username for the replication connection.
844
+ # Corresponds to the JSON property `username`
845
+ # @return [String]
846
+ attr_accessor :username
847
+
848
+ def initialize(**args)
849
+ update!(**args)
850
+ end
851
+
852
+ # Update properties of this object
853
+ def update!(**args)
854
+ @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
855
+ @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
856
+ @client_key = args[:client_key] if args.key?(:client_key)
857
+ @kind = args[:kind] if args.key?(:kind)
858
+ @password = args[:password] if args.key?(:password)
859
+ @username = args[:username] if args.key?(:username)
860
+ end
861
+ end
862
+
863
+ # Disk encryption configuration for an instance.
864
+ class DiskEncryptionConfiguration
865
+ include Google::Apis::Core::Hashable
866
+
867
+ # This is always <code>sql#diskEncryptionConfiguration</code>.
868
+ # Corresponds to the JSON property `kind`
869
+ # @return [String]
870
+ attr_accessor :kind
871
+
872
+ # Resource name of KMS key for disk encryption
873
+ # Corresponds to the JSON property `kmsKeyName`
874
+ # @return [String]
875
+ attr_accessor :kms_key_name
876
+
877
+ def initialize(**args)
878
+ update!(**args)
879
+ end
880
+
881
+ # Update properties of this object
882
+ def update!(**args)
883
+ @kind = args[:kind] if args.key?(:kind)
884
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
885
+ end
886
+ end
887
+
888
+ # Disk encryption status for an instance.
889
+ class DiskEncryptionStatus
890
+ include Google::Apis::Core::Hashable
891
+
892
+ # This is always <code>sql#diskEncryptionStatus</code>.
893
+ # Corresponds to the JSON property `kind`
894
+ # @return [String]
895
+ attr_accessor :kind
896
+
897
+ # KMS key version used to encrypt the Cloud SQL instance resource
898
+ # Corresponds to the JSON property `kmsKeyVersionName`
899
+ # @return [String]
900
+ attr_accessor :kms_key_version_name
901
+
902
+ def initialize(**args)
903
+ update!(**args)
904
+ end
905
+
906
+ # Update properties of this object
907
+ def update!(**args)
908
+ @kind = args[:kind] if args.key?(:kind)
909
+ @kms_key_version_name = args[:kms_key_version_name] if args.key?(:kms_key_version_name)
910
+ end
911
+ end
912
+
913
+ # Database instance export context.
914
+ class ExportContext
915
+ include Google::Apis::Core::Hashable
916
+
917
+ # Options for exporting data as CSV.
918
+ # Corresponds to the JSON property `csvExportOptions`
919
+ # @return [Google::Apis::SqlV1beta4::ExportContext::CsvExportOptions]
920
+ attr_accessor :csv_export_options
921
+
922
+ # Databases to be exported. <br /> <b>MySQL instances:</b> If
923
+ # <code>fileType</code> is <code>SQL</code> and no database is specified, all
924
+ # databases are exported, except for the <code>mysql</code> system database.
925
+ # If <code>fileType</code> is <code>CSV</code>, you can specify one database,
926
+ # either by using this property or by using the
927
+ # <code>csvExportOptions.selectQuery</code> property, which takes precedence
928
+ # over this property. <br /> <b>PostgreSQL instances:</b> You must specify
929
+ # one database to be exported. If <code>fileType</code> is <code>CSV</code>,
930
+ # this database must match the one specified in the
931
+ # <code>csvExportOptions.selectQuery</code> property.
932
+ # Corresponds to the JSON property `databases`
933
+ # @return [Array<String>]
934
+ attr_accessor :databases
935
+
936
+ # The file type for the specified uri. <br><code>SQL</code>: The file
937
+ # contains SQL statements. <br><code>CSV</code>: The file contains CSV data.
938
+ # Corresponds to the JSON property `fileType`
939
+ # @return [String]
940
+ attr_accessor :file_type
941
+
942
+ # This is always <code>sql#exportContext</code>.
943
+ # Corresponds to the JSON property `kind`
944
+ # @return [String]
945
+ attr_accessor :kind
946
+
947
+ # Options for exporting data as SQL statements.
948
+ # Corresponds to the JSON property `sqlExportOptions`
949
+ # @return [Google::Apis::SqlV1beta4::ExportContext::SqlExportOptions]
950
+ attr_accessor :sql_export_options
951
+
952
+ # The path to the file in Google Cloud Storage where the export will be
953
+ # stored. The URI is in the form <code>gs:
954
+ # //bucketName/fileName</code>. If the file already exists, the requests
955
+ # // succeeds, but the operation fails. If <code>fileType</code> is
956
+ # // <code>SQL</code> and the filename ends with .gz, the contents are
957
+ # // compressed.
958
+ # Corresponds to the JSON property `uri`
959
+ # @return [String]
960
+ attr_accessor :uri
961
+
962
+ def initialize(**args)
963
+ update!(**args)
964
+ end
965
+
966
+ # Update properties of this object
967
+ def update!(**args)
968
+ @csv_export_options = args[:csv_export_options] if args.key?(:csv_export_options)
969
+ @databases = args[:databases] if args.key?(:databases)
970
+ @file_type = args[:file_type] if args.key?(:file_type)
971
+ @kind = args[:kind] if args.key?(:kind)
972
+ @sql_export_options = args[:sql_export_options] if args.key?(:sql_export_options)
973
+ @uri = args[:uri] if args.key?(:uri)
974
+ end
975
+
976
+ # Options for exporting data as CSV.
977
+ class CsvExportOptions
978
+ include Google::Apis::Core::Hashable
979
+
980
+ # The select query used to extract the data.
981
+ # Corresponds to the JSON property `selectQuery`
982
+ # @return [String]
983
+ attr_accessor :select_query
984
+
985
+ def initialize(**args)
986
+ update!(**args)
987
+ end
988
+
989
+ # Update properties of this object
990
+ def update!(**args)
991
+ @select_query = args[:select_query] if args.key?(:select_query)
992
+ end
993
+ end
994
+
995
+ # Options for exporting data as SQL statements.
996
+ class SqlExportOptions
997
+ include Google::Apis::Core::Hashable
998
+
999
+ # Options for exporting from MySQL.
1000
+ # Corresponds to the JSON property `mysqlExportOptions`
1001
+ # @return [Google::Apis::SqlV1beta4::ExportContext::SqlExportOptions::MysqlExportOptions]
1002
+ attr_accessor :mysql_export_options
1003
+
1004
+ # Export only schemas.
1005
+ # Corresponds to the JSON property `schemaOnly`
1006
+ # @return [Boolean]
1007
+ attr_accessor :schema_only
1008
+ alias_method :schema_only?, :schema_only
1009
+
1010
+ # Tables to export, or that were exported, from the specified database. If
1011
+ # you specify tables, specify one and only one database. For PostgreSQL
1012
+ # instances, you can specify only one table.
1013
+ # Corresponds to the JSON property `tables`
1014
+ # @return [Array<String>]
1015
+ attr_accessor :tables
1016
+
1017
+ def initialize(**args)
1018
+ update!(**args)
1019
+ end
1020
+
1021
+ # Update properties of this object
1022
+ def update!(**args)
1023
+ @mysql_export_options = args[:mysql_export_options] if args.key?(:mysql_export_options)
1024
+ @schema_only = args[:schema_only] if args.key?(:schema_only)
1025
+ @tables = args[:tables] if args.key?(:tables)
1026
+ end
1027
+
1028
+ # Options for exporting from MySQL.
1029
+ class MysqlExportOptions
1030
+ include Google::Apis::Core::Hashable
1031
+
1032
+ # Option to include SQL statement required to set up replication.
1033
+ # If set to <code>1</code>, the dump file includes
1034
+ # a CHANGE MASTER TO statement with the binary log coordinates.
1035
+ # If set to <code>2</code>, the CHANGE MASTER TO statement is written as
1036
+ # a SQL comment, and has no effect.
1037
+ # All other values are ignored.
1038
+ # Corresponds to the JSON property `masterData`
1039
+ # @return [Fixnum]
1040
+ attr_accessor :master_data
1041
+
1042
+ def initialize(**args)
1043
+ update!(**args)
1044
+ end
1045
+
1046
+ # Update properties of this object
1047
+ def update!(**args)
1048
+ @master_data = args[:master_data] if args.key?(:master_data)
1049
+ end
1050
+ end
1051
+ end
1052
+ end
1053
+
1054
+ # Database instance failover context.
1055
+ class FailoverContext
1056
+ include Google::Apis::Core::Hashable
1057
+
1058
+ # This is always <code>sql#failoverContext</code>.
1059
+ # Corresponds to the JSON property `kind`
1060
+ # @return [String]
1061
+ attr_accessor :kind
1062
+
1063
+ # The current settings version of this instance. Request will be rejected if
1064
+ # this version doesn't match the current settings version.
1065
+ # Corresponds to the JSON property `settingsVersion`
1066
+ # @return [Fixnum]
1067
+ attr_accessor :settings_version
1068
+
1069
+ def initialize(**args)
1070
+ update!(**args)
1071
+ end
1072
+
1073
+ # Update properties of this object
1074
+ def update!(**args)
1075
+ @kind = args[:kind] if args.key?(:kind)
1076
+ @settings_version = args[:settings_version] if args.key?(:settings_version)
1077
+ end
1078
+ end
1079
+
1080
+ # A flag resource.
1081
+ class Flag
1082
+ include Google::Apis::Core::Hashable
1083
+
1084
+ # For <code>STRING</code> flags, a list of strings that the value can be set
1085
+ # to.
1086
+ # Corresponds to the JSON property `allowedStringValues`
1087
+ # @return [Array<String>]
1088
+ attr_accessor :allowed_string_values
1089
+
1090
+ # The database version this flag applies to. Can be <code>MYSQL_5_5</code>,
1091
+ # <code>MYSQL_5_6</code>, or <code>MYSQL_5_7</code>. <code>MYSQL_5_7</code>
1092
+ # is applicable only to Second Generation instances.
1093
+ # Corresponds to the JSON property `appliesTo`
1094
+ # @return [Array<String>]
1095
+ attr_accessor :applies_to
1096
+
1097
+ # Whether or not the flag is considered in beta.
1098
+ # Corresponds to the JSON property `inBeta`
1099
+ # @return [Boolean]
1100
+ attr_accessor :in_beta
1101
+ alias_method :in_beta?, :in_beta
1102
+
1103
+ # This is always <code>sql#flag</code>.
1104
+ # Corresponds to the JSON property `kind`
1105
+ # @return [String]
1106
+ attr_accessor :kind
1107
+
1108
+ # For <code>INTEGER</code> flags, the maximum allowed value.
1109
+ # Corresponds to the JSON property `maxValue`
1110
+ # @return [Fixnum]
1111
+ attr_accessor :max_value
1112
+
1113
+ # For <code>INTEGER</code> flags, the minimum allowed value.
1114
+ # Corresponds to the JSON property `minValue`
1115
+ # @return [Fixnum]
1116
+ attr_accessor :min_value
1117
+
1118
+ # This is the name of the flag. Flag names always use underscores, not
1119
+ # hyphens, e.g. <code>max_allowed_packet</code>
1120
+ # Corresponds to the JSON property `name`
1121
+ # @return [String]
1122
+ attr_accessor :name
1123
+
1124
+ # Indicates whether changing this flag will trigger a database restart. Only
1125
+ # applicable to Second Generation instances.
1126
+ # Corresponds to the JSON property `requiresRestart`
1127
+ # @return [Boolean]
1128
+ attr_accessor :requires_restart
1129
+ alias_method :requires_restart?, :requires_restart
1130
+
1131
+ # The type of the flag. Flags are typed to being <code>BOOLEAN</code>,
1132
+ # <code>STRING</code>, <code>INTEGER</code> or <code>NONE</code>.
1133
+ # <code>NONE</code> is used for flags which do not take a value, such as
1134
+ # <code>skip_grant_tables</code>.
1135
+ # Corresponds to the JSON property `type`
1136
+ # @return [String]
1137
+ attr_accessor :type
1138
+
1139
+ def initialize(**args)
1140
+ update!(**args)
1141
+ end
1142
+
1143
+ # Update properties of this object
1144
+ def update!(**args)
1145
+ @allowed_string_values = args[:allowed_string_values] if args.key?(:allowed_string_values)
1146
+ @applies_to = args[:applies_to] if args.key?(:applies_to)
1147
+ @in_beta = args[:in_beta] if args.key?(:in_beta)
1148
+ @kind = args[:kind] if args.key?(:kind)
1149
+ @max_value = args[:max_value] if args.key?(:max_value)
1150
+ @min_value = args[:min_value] if args.key?(:min_value)
1151
+ @name = args[:name] if args.key?(:name)
1152
+ @requires_restart = args[:requires_restart] if args.key?(:requires_restart)
1153
+ @type = args[:type] if args.key?(:type)
1154
+ end
1155
+ end
1156
+
1157
+ # Flags list response.
1158
+ class FlagsListResponse
1159
+ include Google::Apis::Core::Hashable
1160
+
1161
+ # List of flags.
1162
+ # Corresponds to the JSON property `items`
1163
+ # @return [Array<Google::Apis::SqlV1beta4::Flag>]
1164
+ attr_accessor :items
1165
+
1166
+ # This is always <code>sql#flagsList</code>.
1167
+ # Corresponds to the JSON property `kind`
1168
+ # @return [String]
1169
+ attr_accessor :kind
1170
+
1171
+ def initialize(**args)
1172
+ update!(**args)
1173
+ end
1174
+
1175
+ # Update properties of this object
1176
+ def update!(**args)
1177
+ @items = args[:items] if args.key?(:items)
1178
+ @kind = args[:kind] if args.key?(:kind)
1179
+ end
1180
+ end
1181
+
1182
+ # Database instance import context.
1183
+ class ImportContext
1184
+ include Google::Apis::Core::Hashable
1185
+
1186
+ # Import parameters specific to SQL Server .BAK files
1187
+ # Corresponds to the JSON property `bakImportOptions`
1188
+ # @return [Google::Apis::SqlV1beta4::ImportContext::BakImportOptions]
1189
+ attr_accessor :bak_import_options
1190
+
1191
+ # Options for importing data as CSV.
1192
+ # Corresponds to the JSON property `csvImportOptions`
1193
+ # @return [Google::Apis::SqlV1beta4::ImportContext::CsvImportOptions]
1194
+ attr_accessor :csv_import_options
1195
+
1196
+ # The target database for the import. If <code>fileType</code> is
1197
+ # <code>SQL</code>, this field is required only if the import file does not
1198
+ # specify a database, and is overridden by any database specification in the
1199
+ # import file. If <code>fileType</code> is <code>CSV</code>, one database
1200
+ # must be specified.
1201
+ # Corresponds to the JSON property `database`
1202
+ # @return [String]
1203
+ attr_accessor :database
1204
+
1205
+ # The file type for the specified uri. <br><code>SQL</code>: The file
1206
+ # contains SQL statements. <br><code>CSV</code>: The file contains CSV data.
1207
+ # Corresponds to the JSON property `fileType`
1208
+ # @return [String]
1209
+ attr_accessor :file_type
1210
+
1211
+ # The PostgreSQL user for this import operation. PostgreSQL instances only.
1212
+ # Corresponds to the JSON property `importUser`
1213
+ # @return [String]
1214
+ attr_accessor :import_user
1215
+
1216
+ # This is always <code>sql#importContext</code>.
1217
+ # Corresponds to the JSON property `kind`
1218
+ # @return [String]
1219
+ attr_accessor :kind
1220
+
1221
+ # Path to the import file in Cloud Storage, in the form
1222
+ # <code>gs:
1223
+ # //bucketName/fileName</code>. Compressed gzip files (.gz) are supported
1224
+ # // when <code>fileType</code> is <code>SQL</code>. The instance must have
1225
+ # // write permissions to the bucket and read access to the file.
1226
+ # Corresponds to the JSON property `uri`
1227
+ # @return [String]
1228
+ attr_accessor :uri
1229
+
1230
+ def initialize(**args)
1231
+ update!(**args)
1232
+ end
1233
+
1234
+ # Update properties of this object
1235
+ def update!(**args)
1236
+ @bak_import_options = args[:bak_import_options] if args.key?(:bak_import_options)
1237
+ @csv_import_options = args[:csv_import_options] if args.key?(:csv_import_options)
1238
+ @database = args[:database] if args.key?(:database)
1239
+ @file_type = args[:file_type] if args.key?(:file_type)
1240
+ @import_user = args[:import_user] if args.key?(:import_user)
1241
+ @kind = args[:kind] if args.key?(:kind)
1242
+ @uri = args[:uri] if args.key?(:uri)
1243
+ end
1244
+
1245
+ # Import parameters specific to SQL Server .BAK files
1246
+ class BakImportOptions
1247
+ include Google::Apis::Core::Hashable
1248
+
1249
+ #
1250
+ # Corresponds to the JSON property `encryptionOptions`
1251
+ # @return [Google::Apis::SqlV1beta4::ImportContext::BakImportOptions::EncryptionOptions]
1252
+ attr_accessor :encryption_options
1253
+
1254
+ def initialize(**args)
1255
+ update!(**args)
1256
+ end
1257
+
1258
+ # Update properties of this object
1259
+ def update!(**args)
1260
+ @encryption_options = args[:encryption_options] if args.key?(:encryption_options)
1261
+ end
1262
+
1263
+ #
1264
+ class EncryptionOptions
1265
+ include Google::Apis::Core::Hashable
1266
+
1267
+ # Path to the Certificate (.cer) in Cloud Storage, in the form
1268
+ # <code>gs://bucketName/fileName</code>. The instance must have
1269
+ # write permissions to the bucket and read access to the file.
1270
+ # Corresponds to the JSON property `certPath`
1271
+ # @return [String]
1272
+ attr_accessor :cert_path
1273
+
1274
+ # Password that encrypts the private key
1275
+ # Corresponds to the JSON property `pvkPassword`
1276
+ # @return [String]
1277
+ attr_accessor :pvk_password
1278
+
1279
+ # Path to the Certificate Private Key (.pvk) in Cloud Storage, in the
1280
+ # form <code>gs://bucketName/fileName</code>. The instance must have
1281
+ # write permissions to the bucket and read access to the file.
1282
+ # Corresponds to the JSON property `pvkPath`
1283
+ # @return [String]
1284
+ attr_accessor :pvk_path
1285
+
1286
+ def initialize(**args)
1287
+ update!(**args)
1288
+ end
1289
+
1290
+ # Update properties of this object
1291
+ def update!(**args)
1292
+ @cert_path = args[:cert_path] if args.key?(:cert_path)
1293
+ @pvk_password = args[:pvk_password] if args.key?(:pvk_password)
1294
+ @pvk_path = args[:pvk_path] if args.key?(:pvk_path)
1295
+ end
1296
+ end
1297
+ end
1298
+
1299
+ # Options for importing data as CSV.
1300
+ class CsvImportOptions
1301
+ include Google::Apis::Core::Hashable
1302
+
1303
+ # The columns to which CSV data is imported. If not specified, all columns
1304
+ # of the database table are loaded with CSV data.
1305
+ # Corresponds to the JSON property `columns`
1306
+ # @return [Array<String>]
1307
+ attr_accessor :columns
1308
+
1309
+ # The table to which CSV data is imported.
1310
+ # Corresponds to the JSON property `table`
1311
+ # @return [String]
1312
+ attr_accessor :table
1313
+
1314
+ def initialize(**args)
1315
+ update!(**args)
1316
+ end
1317
+
1318
+ # Update properties of this object
1319
+ def update!(**args)
1320
+ @columns = args[:columns] if args.key?(:columns)
1321
+ @table = args[:table] if args.key?(:table)
1322
+ end
1323
+ end
1324
+ end
1325
+
1326
+ # Database instance clone request.
1327
+ class InstancesCloneRequest
1328
+ include Google::Apis::Core::Hashable
1329
+
1330
+ # Database instance clone context.
1331
+ # Corresponds to the JSON property `cloneContext`
1332
+ # @return [Google::Apis::SqlV1beta4::CloneContext]
1333
+ attr_accessor :clone_context
1334
+
1335
+ def initialize(**args)
1336
+ update!(**args)
1337
+ end
1338
+
1339
+ # Update properties of this object
1340
+ def update!(**args)
1341
+ @clone_context = args[:clone_context] if args.key?(:clone_context)
1342
+ end
1343
+ end
1344
+
1345
+ # Database demote master request.
1346
+ class InstancesDemoteMasterRequest
1347
+ include Google::Apis::Core::Hashable
1348
+
1349
+ # Database instance demote master context.
1350
+ # Corresponds to the JSON property `demoteMasterContext`
1351
+ # @return [Google::Apis::SqlV1beta4::DemoteMasterContext]
1352
+ attr_accessor :demote_master_context
1353
+
1354
+ def initialize(**args)
1355
+ update!(**args)
1356
+ end
1357
+
1358
+ # Update properties of this object
1359
+ def update!(**args)
1360
+ @demote_master_context = args[:demote_master_context] if args.key?(:demote_master_context)
1361
+ end
1362
+ end
1363
+
1364
+ # Database instance export request.
1365
+ class InstancesExportRequest
1366
+ include Google::Apis::Core::Hashable
1367
+
1368
+ # Database instance export context.
1369
+ # Corresponds to the JSON property `exportContext`
1370
+ # @return [Google::Apis::SqlV1beta4::ExportContext]
1371
+ attr_accessor :export_context
1372
+
1373
+ def initialize(**args)
1374
+ update!(**args)
1375
+ end
1376
+
1377
+ # Update properties of this object
1378
+ def update!(**args)
1379
+ @export_context = args[:export_context] if args.key?(:export_context)
1380
+ end
1381
+ end
1382
+
1383
+ # Instance failover request.
1384
+ class InstancesFailoverRequest
1385
+ include Google::Apis::Core::Hashable
1386
+
1387
+ # Database instance failover context.
1388
+ # Corresponds to the JSON property `failoverContext`
1389
+ # @return [Google::Apis::SqlV1beta4::FailoverContext]
1390
+ attr_accessor :failover_context
1391
+
1392
+ def initialize(**args)
1393
+ update!(**args)
1394
+ end
1395
+
1396
+ # Update properties of this object
1397
+ def update!(**args)
1398
+ @failover_context = args[:failover_context] if args.key?(:failover_context)
1399
+ end
1400
+ end
1401
+
1402
+ # Database instance import request.
1403
+ class InstancesImportRequest
1404
+ include Google::Apis::Core::Hashable
1405
+
1406
+ # Database instance import context.
1407
+ # Corresponds to the JSON property `importContext`
1408
+ # @return [Google::Apis::SqlV1beta4::ImportContext]
1409
+ attr_accessor :import_context
1410
+
1411
+ def initialize(**args)
1412
+ update!(**args)
1413
+ end
1414
+
1415
+ # Update properties of this object
1416
+ def update!(**args)
1417
+ @import_context = args[:import_context] if args.key?(:import_context)
1418
+ end
1419
+ end
1420
+
1421
+ # Database instances list response.
1422
+ class InstancesListResponse
1423
+ include Google::Apis::Core::Hashable
1424
+
1425
+ # List of database instance resources.
1426
+ # Corresponds to the JSON property `items`
1427
+ # @return [Array<Google::Apis::SqlV1beta4::DatabaseInstance>]
1428
+ attr_accessor :items
1429
+
1430
+ # This is always <code>sql#instancesList</code>.
1431
+ # Corresponds to the JSON property `kind`
1432
+ # @return [String]
1433
+ attr_accessor :kind
1434
+
1435
+ # The continuation token, used to page through large result sets. Provide
1436
+ # this value in a subsequent request to return the next page of results.
1437
+ # Corresponds to the JSON property `nextPageToken`
1438
+ # @return [String]
1439
+ attr_accessor :next_page_token
1440
+
1441
+ # List of warnings that ocurred while handling the request.
1442
+ # Corresponds to the JSON property `warnings`
1443
+ # @return [Array<Google::Apis::SqlV1beta4::ApiWarning>]
1444
+ attr_accessor :warnings
1445
+
1446
+ def initialize(**args)
1447
+ update!(**args)
1448
+ end
1449
+
1450
+ # Update properties of this object
1451
+ def update!(**args)
1452
+ @items = args[:items] if args.key?(:items)
1453
+ @kind = args[:kind] if args.key?(:kind)
1454
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1455
+ @warnings = args[:warnings] if args.key?(:warnings)
1456
+ end
1457
+ end
1458
+
1459
+ # Instances ListServerCas response.
1460
+ class InstancesListServerCasResponse
1461
+ include Google::Apis::Core::Hashable
1462
+
1463
+ #
1464
+ # Corresponds to the JSON property `activeVersion`
1465
+ # @return [String]
1466
+ attr_accessor :active_version
1467
+
1468
+ # List of server CA certificates for the instance.
1469
+ # Corresponds to the JSON property `certs`
1470
+ # @return [Array<Google::Apis::SqlV1beta4::SslCert>]
1471
+ attr_accessor :certs
1472
+
1473
+ # This is always <code>sql#instancesListServerCas</code>.
1474
+ # Corresponds to the JSON property `kind`
1475
+ # @return [String]
1476
+ attr_accessor :kind
1477
+
1478
+ def initialize(**args)
1479
+ update!(**args)
1480
+ end
1481
+
1482
+ # Update properties of this object
1483
+ def update!(**args)
1484
+ @active_version = args[:active_version] if args.key?(:active_version)
1485
+ @certs = args[:certs] if args.key?(:certs)
1486
+ @kind = args[:kind] if args.key?(:kind)
1487
+ end
1488
+ end
1489
+
1490
+ # Database instance restore backup request.
1491
+ class InstancesRestoreBackupRequest
1492
+ include Google::Apis::Core::Hashable
1493
+
1494
+ # Database instance restore from backup context.
1495
+ # Backup context contains source instance id and project id.
1496
+ # Corresponds to the JSON property `restoreBackupContext`
1497
+ # @return [Google::Apis::SqlV1beta4::RestoreBackupContext]
1498
+ attr_accessor :restore_backup_context
1499
+
1500
+ def initialize(**args)
1501
+ update!(**args)
1502
+ end
1503
+
1504
+ # Update properties of this object
1505
+ def update!(**args)
1506
+ @restore_backup_context = args[:restore_backup_context] if args.key?(:restore_backup_context)
1507
+ end
1508
+ end
1509
+
1510
+ # Rotate Server CA request.
1511
+ class InstancesRotateServerCaRequest
1512
+ include Google::Apis::Core::Hashable
1513
+
1514
+ # Instance rotate server CA context.
1515
+ # Corresponds to the JSON property `rotateServerCaContext`
1516
+ # @return [Google::Apis::SqlV1beta4::RotateServerCaContext]
1517
+ attr_accessor :rotate_server_ca_context
1518
+
1519
+ def initialize(**args)
1520
+ update!(**args)
1521
+ end
1522
+
1523
+ # Update properties of this object
1524
+ def update!(**args)
1525
+ @rotate_server_ca_context = args[:rotate_server_ca_context] if args.key?(:rotate_server_ca_context)
1526
+ end
1527
+ end
1528
+
1529
+ # Instance truncate log request.
1530
+ class InstancesTruncateLogRequest
1531
+ include Google::Apis::Core::Hashable
1532
+
1533
+ # Database Instance truncate log context.
1534
+ # Corresponds to the JSON property `truncateLogContext`
1535
+ # @return [Google::Apis::SqlV1beta4::TruncateLogContext]
1536
+ attr_accessor :truncate_log_context
1537
+
1538
+ def initialize(**args)
1539
+ update!(**args)
1540
+ end
1541
+
1542
+ # Update properties of this object
1543
+ def update!(**args)
1544
+ @truncate_log_context = args[:truncate_log_context] if args.key?(:truncate_log_context)
1545
+ end
1546
+ end
1547
+
1548
+ # IP Management configuration.
1549
+ class IpConfiguration
1550
+ include Google::Apis::Core::Hashable
1551
+
1552
+ # The list of external networks that are allowed to connect to the instance
1553
+ # using the IP. In <a
1554
+ # href="http://en.wikipedia.org/wiki/CIDR_notation#CIDR_notation">CIDR
1555
+ # notation</a>, also known as 'slash' notation (e.g.
1556
+ # <code>192.168.100.0/24</code>).
1557
+ # Corresponds to the JSON property `authorizedNetworks`
1558
+ # @return [Array<Google::Apis::SqlV1beta4::AclEntry>]
1559
+ attr_accessor :authorized_networks
1560
+
1561
+ # Whether the instance should be assigned an IP address or not.
1562
+ # Corresponds to the JSON property `ipv4Enabled`
1563
+ # @return [Boolean]
1564
+ attr_accessor :ipv4_enabled
1565
+ alias_method :ipv4_enabled?, :ipv4_enabled
1566
+
1567
+ # The resource link for the VPC network from which the Cloud SQL instance is
1568
+ # accessible for private IP. For example,
1569
+ # <code>/projects/myProject/global/networks/default</code>. This setting can
1570
+ # be updated, but it cannot be removed after it is set.
1571
+ # Corresponds to the JSON property `privateNetwork`
1572
+ # @return [String]
1573
+ attr_accessor :private_network
1574
+
1575
+ # Whether SSL connections over IP should be enforced or not.
1576
+ # Corresponds to the JSON property `requireSsl`
1577
+ # @return [Boolean]
1578
+ attr_accessor :require_ssl
1579
+ alias_method :require_ssl?, :require_ssl
1580
+
1581
+ def initialize(**args)
1582
+ update!(**args)
1583
+ end
1584
+
1585
+ # Update properties of this object
1586
+ def update!(**args)
1587
+ @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
1588
+ @ipv4_enabled = args[:ipv4_enabled] if args.key?(:ipv4_enabled)
1589
+ @private_network = args[:private_network] if args.key?(:private_network)
1590
+ @require_ssl = args[:require_ssl] if args.key?(:require_ssl)
1591
+ end
1592
+ end
1593
+
1594
+ # Database instance IP Mapping.
1595
+ class IpMapping
1596
+ include Google::Apis::Core::Hashable
1597
+
1598
+ # The IP address assigned.
1599
+ # Corresponds to the JSON property `ipAddress`
1600
+ # @return [String]
1601
+ attr_accessor :ip_address
1602
+
1603
+ # The due time for this IP to be retired in <a
1604
+ # href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
1605
+ # <code>2012-11-15T16:19:00.094Z</code>. This field is only available when
1606
+ # the IP is scheduled to be retired.
1607
+ # Corresponds to the JSON property `timeToRetire`
1608
+ # @return [String]
1609
+ attr_accessor :time_to_retire
1610
+
1611
+ # The type of this IP address. A <code>PRIMARY</code> address is a public
1612
+ # address that can accept incoming connections. A <code>PRIVATE</code>
1613
+ # address is a private address that can accept incoming connections. An
1614
+ # <code>OUTGOING</code> address is the source address of connections
1615
+ # originating from the instance, if supported.
1616
+ # Corresponds to the JSON property `type`
1617
+ # @return [String]
1618
+ attr_accessor :type
1619
+
1620
+ def initialize(**args)
1621
+ update!(**args)
1622
+ end
1623
+
1624
+ # Update properties of this object
1625
+ def update!(**args)
1626
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
1627
+ @time_to_retire = args[:time_to_retire] if args.key?(:time_to_retire)
1628
+ @type = args[:type] if args.key?(:type)
1629
+ end
1630
+ end
1631
+
1632
+ # Preferred location. This specifies where a Cloud SQL instance should
1633
+ # preferably be located, either in a specific Compute Engine zone, or
1634
+ # co-located with an App Engine application. Note that if the preferred
1635
+ # location is not available, the instance will be located as close as possible
1636
+ # within the region. Only one location may be specified.
1637
+ class LocationPreference
1638
+ include Google::Apis::Core::Hashable
1639
+
1640
+ # The AppEngine application to follow, it must be in the same region as the
1641
+ # Cloud SQL instance.
1642
+ # Corresponds to the JSON property `followGaeApplication`
1643
+ # @return [String]
1644
+ attr_accessor :follow_gae_application
1645
+
1646
+ # This is always <code>sql#locationPreference</code>.
1647
+ # Corresponds to the JSON property `kind`
1648
+ # @return [String]
1649
+ attr_accessor :kind
1650
+
1651
+ # The preferred Compute Engine zone (e.g. us-central1-a, us-central1-b,
1652
+ # etc.).
1653
+ # Corresponds to the JSON property `zone`
1654
+ # @return [String]
1655
+ attr_accessor :zone
1656
+
1657
+ def initialize(**args)
1658
+ update!(**args)
1659
+ end
1660
+
1661
+ # Update properties of this object
1662
+ def update!(**args)
1663
+ @follow_gae_application = args[:follow_gae_application] if args.key?(:follow_gae_application)
1664
+ @kind = args[:kind] if args.key?(:kind)
1665
+ @zone = args[:zone] if args.key?(:zone)
1666
+ end
1667
+ end
1668
+
1669
+ # Maintenance window. This specifies when a v2 Cloud SQL instance should
1670
+ # preferably be restarted for system maintenance purposes.
1671
+ class MaintenanceWindow
1672
+ include Google::Apis::Core::Hashable
1673
+
1674
+ # day of week (1-7), starting on Monday.
1675
+ # Corresponds to the JSON property `day`
1676
+ # @return [Fixnum]
1677
+ attr_accessor :day
1678
+
1679
+ # hour of day - 0 to 23.
1680
+ # Corresponds to the JSON property `hour`
1681
+ # @return [Fixnum]
1682
+ attr_accessor :hour
1683
+
1684
+ # This is always <code>sql#maintenanceWindow</code>.
1685
+ # Corresponds to the JSON property `kind`
1686
+ # @return [String]
1687
+ attr_accessor :kind
1688
+
1689
+ # Maintenance timing setting: <code>canary</code> (Earlier) or
1690
+ # <code>stable</code> (Later). <br /><a
1691
+ # href="/sql/docs/db_path/instance-settings#maintenance-timing-2ndgen">
1692
+ # Learn more</a>.
1693
+ # Corresponds to the JSON property `updateTrack`
1694
+ # @return [String]
1695
+ attr_accessor :update_track
1696
+
1697
+ def initialize(**args)
1698
+ update!(**args)
1699
+ end
1700
+
1701
+ # Update properties of this object
1702
+ def update!(**args)
1703
+ @day = args[:day] if args.key?(:day)
1704
+ @hour = args[:hour] if args.key?(:hour)
1705
+ @kind = args[:kind] if args.key?(:kind)
1706
+ @update_track = args[:update_track] if args.key?(:update_track)
1707
+ end
1708
+ end
1709
+
1710
+ # Read-replica configuration specific to MySQL databases.
1711
+ class MySqlReplicaConfiguration
1712
+ include Google::Apis::Core::Hashable
1713
+
1714
+ # PEM representation of the trusted CA's x509 certificate.
1715
+ # Corresponds to the JSON property `caCertificate`
1716
+ # @return [String]
1717
+ attr_accessor :ca_certificate
1718
+
1719
+ # PEM representation of the slave's x509 certificate.
1720
+ # Corresponds to the JSON property `clientCertificate`
1721
+ # @return [String]
1722
+ attr_accessor :client_certificate
1723
+
1724
+ # PEM representation of the slave's private key. The corresponsing public key
1725
+ # is encoded in the client's certificate.
1726
+ # Corresponds to the JSON property `clientKey`
1727
+ # @return [String]
1728
+ attr_accessor :client_key
1729
+
1730
+ # Seconds to wait between connect retries. MySQL's default is 60 seconds.
1731
+ # Corresponds to the JSON property `connectRetryInterval`
1732
+ # @return [Fixnum]
1733
+ attr_accessor :connect_retry_interval
1734
+
1735
+ # Path to a SQL dump file in Google Cloud Storage from which the slave
1736
+ # instance is to be created. The URI is in the form gs:
1737
+ # //bucketName/fileName. Compressed gzip files (.gz) are also supported.
1738
+ # // Dumps should have the binlog co-ordinates from which replication should
1739
+ # // begin. This can be accomplished by setting --master-data to 1 when using
1740
+ # // mysqldump.
1741
+ # Corresponds to the JSON property `dumpFilePath`
1742
+ # @return [String]
1743
+ attr_accessor :dump_file_path
1744
+
1745
+ # This is always <code>sql#mysqlReplicaConfiguration</code>.
1746
+ # Corresponds to the JSON property `kind`
1747
+ # @return [String]
1748
+ attr_accessor :kind
1749
+
1750
+ # Interval in milliseconds between replication heartbeats.
1751
+ # Corresponds to the JSON property `masterHeartbeatPeriod`
1752
+ # @return [Fixnum]
1753
+ attr_accessor :master_heartbeat_period
1754
+
1755
+ # The password for the replication connection.
1756
+ # Corresponds to the JSON property `password`
1757
+ # @return [String]
1758
+ attr_accessor :password
1759
+
1760
+ # A list of permissible ciphers to use for SSL encryption.
1761
+ # Corresponds to the JSON property `sslCipher`
1762
+ # @return [String]
1763
+ attr_accessor :ssl_cipher
1764
+
1765
+ # The username for the replication connection.
1766
+ # Corresponds to the JSON property `username`
1767
+ # @return [String]
1768
+ attr_accessor :username
1769
+
1770
+ # Whether or not to check the master's Common Name value in the certificate
1771
+ # that it sends during the SSL handshake.
1772
+ # Corresponds to the JSON property `verifyServerCertificate`
1773
+ # @return [Boolean]
1774
+ attr_accessor :verify_server_certificate
1775
+ alias_method :verify_server_certificate?, :verify_server_certificate
1776
+
1777
+ def initialize(**args)
1778
+ update!(**args)
1779
+ end
1780
+
1781
+ # Update properties of this object
1782
+ def update!(**args)
1783
+ @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
1784
+ @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
1785
+ @client_key = args[:client_key] if args.key?(:client_key)
1786
+ @connect_retry_interval = args[:connect_retry_interval] if args.key?(:connect_retry_interval)
1787
+ @dump_file_path = args[:dump_file_path] if args.key?(:dump_file_path)
1788
+ @kind = args[:kind] if args.key?(:kind)
1789
+ @master_heartbeat_period = args[:master_heartbeat_period] if args.key?(:master_heartbeat_period)
1790
+ @password = args[:password] if args.key?(:password)
1791
+ @ssl_cipher = args[:ssl_cipher] if args.key?(:ssl_cipher)
1792
+ @username = args[:username] if args.key?(:username)
1793
+ @verify_server_certificate = args[:verify_server_certificate] if args.key?(:verify_server_certificate)
1794
+ end
1795
+ end
1796
+
1797
+ # On-premises instance configuration.
1798
+ class OnPremisesConfiguration
1799
+ include Google::Apis::Core::Hashable
1800
+
1801
+ # The host and port of the on-premises instance in host:port format
1802
+ # Corresponds to the JSON property `hostPort`
1803
+ # @return [String]
1804
+ attr_accessor :host_port
1805
+
1806
+ # This is always <code>sql#onPremisesConfiguration</code>.
1807
+ # Corresponds to the JSON property `kind`
1808
+ # @return [String]
1809
+ attr_accessor :kind
1810
+
1811
+ def initialize(**args)
1812
+ update!(**args)
1813
+ end
1814
+
1815
+ # Update properties of this object
1816
+ def update!(**args)
1817
+ @host_port = args[:host_port] if args.key?(:host_port)
1818
+ @kind = args[:kind] if args.key?(:kind)
1819
+ end
1820
+ end
1821
+
1822
+ # An Operation resource.&nbsp;For successful operations that return an
1823
+ # Operation resource, only the fields relevant to the operation are populated
1824
+ # in the resource.
1825
+ class Operation
1826
+ include Google::Apis::Core::Hashable
1827
+
1828
+ # The time this operation finished in UTC timezone in <a
1829
+ # href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
1830
+ # <code>2012-11-15T16:19:00.094Z</code>.
1831
+ # Corresponds to the JSON property `endTime`
1832
+ # @return [String]
1833
+ attr_accessor :end_time
1834
+
1835
+ # Database instance operation errors list wrapper.
1836
+ # Corresponds to the JSON property `error`
1837
+ # @return [Google::Apis::SqlV1beta4::OperationErrors]
1838
+ attr_accessor :error
1839
+
1840
+ # Database instance export context.
1841
+ # Corresponds to the JSON property `exportContext`
1842
+ # @return [Google::Apis::SqlV1beta4::ExportContext]
1843
+ attr_accessor :export_context
1844
+
1845
+ # Database instance import context.
1846
+ # Corresponds to the JSON property `importContext`
1847
+ # @return [Google::Apis::SqlV1beta4::ImportContext]
1848
+ attr_accessor :import_context
1849
+
1850
+ # The time this operation was enqueued in UTC timezone in <a
1851
+ # href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
1852
+ # <code>2012-11-15T16:19:00.094Z</code>.
1853
+ # Corresponds to the JSON property `insertTime`
1854
+ # @return [String]
1855
+ attr_accessor :insert_time
1856
+
1857
+ # This is always <code>sql#operation</code>.
1858
+ # Corresponds to the JSON property `kind`
1859
+ # @return [String]
1860
+ attr_accessor :kind
1861
+
1862
+ # An identifier that uniquely identifies the operation. You can use this
1863
+ # identifier to retrieve the Operations resource that has information about
1864
+ # the operation.
1865
+ # Corresponds to the JSON property `name`
1866
+ # @return [String]
1867
+ attr_accessor :name
1868
+
1869
+ # The type of the operation. Valid values are <code>CREATE</code>,
1870
+ # <code>DELETE</code>, <code>UPDATE</code>, <code>RESTART</code>,
1871
+ # <code>IMPORT</code>, <code>EXPORT</code>, <code>BACKUP_VOLUME</code>,
1872
+ # <code>RESTORE_VOLUME</code>, <code>CREATE_USER</code>,
1873
+ # <code>DELETE_USER</code>, <code>CREATE_DATABASE</code>,
1874
+ # <code>DELETE_DATABASE</code> .
1875
+ # Corresponds to the JSON property `operationType`
1876
+ # @return [String]
1877
+ attr_accessor :operation_type
1878
+
1879
+ # The URI of this resource.
1880
+ # Corresponds to the JSON property `selfLink`
1881
+ # @return [String]
1882
+ attr_accessor :self_link
1883
+
1884
+ # The time this operation actually started in UTC timezone in <a
1885
+ # href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
1886
+ # <code>2012-11-15T16:19:00.094Z</code>.
1887
+ # Corresponds to the JSON property `startTime`
1888
+ # @return [String]
1889
+ attr_accessor :start_time
1890
+
1891
+ # The status of an operation. Valid values are <code>PENDING</code>,
1892
+ # <code>RUNNING</code>, <code>DONE</code>, <code>UNKNOWN</code>.
1893
+ # Corresponds to the JSON property `status`
1894
+ # @return [String]
1895
+ attr_accessor :status
1896
+
1897
+ # Name of the database instance related to this operation.
1898
+ # Corresponds to the JSON property `targetId`
1899
+ # @return [String]
1900
+ attr_accessor :target_id
1901
+
1902
+ #
1903
+ # Corresponds to the JSON property `targetLink`
1904
+ # @return [String]
1905
+ attr_accessor :target_link
1906
+
1907
+ # The project ID of the target instance related to this operation.
1908
+ # Corresponds to the JSON property `targetProject`
1909
+ # @return [String]
1910
+ attr_accessor :target_project
1911
+
1912
+ # The email address of the user who initiated this operation.
1913
+ # Corresponds to the JSON property `user`
1914
+ # @return [String]
1915
+ attr_accessor :user
1916
+
1917
+ def initialize(**args)
1918
+ update!(**args)
1919
+ end
1920
+
1921
+ # Update properties of this object
1922
+ def update!(**args)
1923
+ @end_time = args[:end_time] if args.key?(:end_time)
1924
+ @error = args[:error] if args.key?(:error)
1925
+ @export_context = args[:export_context] if args.key?(:export_context)
1926
+ @import_context = args[:import_context] if args.key?(:import_context)
1927
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1928
+ @kind = args[:kind] if args.key?(:kind)
1929
+ @name = args[:name] if args.key?(:name)
1930
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1931
+ @self_link = args[:self_link] if args.key?(:self_link)
1932
+ @start_time = args[:start_time] if args.key?(:start_time)
1933
+ @status = args[:status] if args.key?(:status)
1934
+ @target_id = args[:target_id] if args.key?(:target_id)
1935
+ @target_link = args[:target_link] if args.key?(:target_link)
1936
+ @target_project = args[:target_project] if args.key?(:target_project)
1937
+ @user = args[:user] if args.key?(:user)
1938
+ end
1939
+ end
1940
+
1941
+ # Database instance operation error.
1942
+ class OperationError
1943
+ include Google::Apis::Core::Hashable
1944
+
1945
+ # Identifies the specific error that occurred.
1946
+ # Corresponds to the JSON property `code`
1947
+ # @return [String]
1948
+ attr_accessor :code
1949
+
1950
+ # This is always <code>sql#operationError</code>.
1951
+ # Corresponds to the JSON property `kind`
1952
+ # @return [String]
1953
+ attr_accessor :kind
1954
+
1955
+ # Additional information about the error encountered.
1956
+ # Corresponds to the JSON property `message`
1957
+ # @return [String]
1958
+ attr_accessor :message
1959
+
1960
+ def initialize(**args)
1961
+ update!(**args)
1962
+ end
1963
+
1964
+ # Update properties of this object
1965
+ def update!(**args)
1966
+ @code = args[:code] if args.key?(:code)
1967
+ @kind = args[:kind] if args.key?(:kind)
1968
+ @message = args[:message] if args.key?(:message)
1969
+ end
1970
+ end
1971
+
1972
+ # Database instance operation errors list wrapper.
1973
+ class OperationErrors
1974
+ include Google::Apis::Core::Hashable
1975
+
1976
+ # The list of errors encountered while processing this operation.
1977
+ # Corresponds to the JSON property `errors`
1978
+ # @return [Array<Google::Apis::SqlV1beta4::OperationError>]
1979
+ attr_accessor :errors
1980
+
1981
+ # This is always <code>sql#operationErrors</code>.
1982
+ # Corresponds to the JSON property `kind`
1983
+ # @return [String]
1984
+ attr_accessor :kind
1985
+
1986
+ def initialize(**args)
1987
+ update!(**args)
1988
+ end
1989
+
1990
+ # Update properties of this object
1991
+ def update!(**args)
1992
+ @errors = args[:errors] if args.key?(:errors)
1993
+ @kind = args[:kind] if args.key?(:kind)
1994
+ end
1995
+ end
1996
+
1997
+ # Database instance list operations response.
1998
+ class OperationsListResponse
1999
+ include Google::Apis::Core::Hashable
2000
+
2001
+ # List of operation resources.
2002
+ # Corresponds to the JSON property `items`
2003
+ # @return [Array<Google::Apis::SqlV1beta4::Operation>]
2004
+ attr_accessor :items
2005
+
2006
+ # This is always <code>sql#operationsList</code>.
2007
+ # Corresponds to the JSON property `kind`
2008
+ # @return [String]
2009
+ attr_accessor :kind
2010
+
2011
+ # The continuation token, used to page through large result sets. Provide
2012
+ # this value in a subsequent request to return the next page of results.
2013
+ # Corresponds to the JSON property `nextPageToken`
2014
+ # @return [String]
2015
+ attr_accessor :next_page_token
2016
+
2017
+ def initialize(**args)
2018
+ update!(**args)
2019
+ end
2020
+
2021
+ # Update properties of this object
2022
+ def update!(**args)
2023
+ @items = args[:items] if args.key?(:items)
2024
+ @kind = args[:kind] if args.key?(:kind)
2025
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2026
+ end
2027
+ end
2028
+
2029
+ # Read-replica configuration for connecting to the master.
2030
+ class ReplicaConfiguration
2031
+ include Google::Apis::Core::Hashable
2032
+
2033
+ # Specifies if the replica is the failover target. If the field is set to
2034
+ # <code>true</code> the replica will be designated as a failover replica. In
2035
+ # case the master instance fails, the replica instance will be promoted as
2036
+ # the new master instance. <p>Only one replica can be specified as failover
2037
+ # target, and the replica has to be in different zone with the master
2038
+ # instance.
2039
+ # Corresponds to the JSON property `failoverTarget`
2040
+ # @return [Boolean]
2041
+ attr_accessor :failover_target
2042
+ alias_method :failover_target?, :failover_target
2043
+
2044
+ # This is always <code>sql#replicaConfiguration</code>.
2045
+ # Corresponds to the JSON property `kind`
2046
+ # @return [String]
2047
+ attr_accessor :kind
2048
+
2049
+ # Read-replica configuration specific to MySQL databases.
2050
+ # Corresponds to the JSON property `mysqlReplicaConfiguration`
2051
+ # @return [Google::Apis::SqlV1beta4::MySqlReplicaConfiguration]
2052
+ attr_accessor :mysql_replica_configuration
2053
+
2054
+ def initialize(**args)
2055
+ update!(**args)
2056
+ end
2057
+
2058
+ # Update properties of this object
2059
+ def update!(**args)
2060
+ @failover_target = args[:failover_target] if args.key?(:failover_target)
2061
+ @kind = args[:kind] if args.key?(:kind)
2062
+ @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
2063
+ end
2064
+ end
2065
+
2066
+ # Database instance restore from backup context.
2067
+ # Backup context contains source instance id and project id.
2068
+ class RestoreBackupContext
2069
+ include Google::Apis::Core::Hashable
2070
+
2071
+ # The ID of the backup run to restore from.
2072
+ # Corresponds to the JSON property `backupRunId`
2073
+ # @return [Fixnum]
2074
+ attr_accessor :backup_run_id
2075
+
2076
+ # The ID of the instance that the backup was taken from.
2077
+ # Corresponds to the JSON property `instanceId`
2078
+ # @return [String]
2079
+ attr_accessor :instance_id
2080
+
2081
+ # This is always <code>sql#restoreBackupContext</code>.
2082
+ # Corresponds to the JSON property `kind`
2083
+ # @return [String]
2084
+ attr_accessor :kind
2085
+
2086
+ # The full project ID of the source instance.
2087
+ # Corresponds to the JSON property `project`
2088
+ # @return [String]
2089
+ attr_accessor :project
2090
+
2091
+ def initialize(**args)
2092
+ update!(**args)
2093
+ end
2094
+
2095
+ # Update properties of this object
2096
+ def update!(**args)
2097
+ @backup_run_id = args[:backup_run_id] if args.key?(:backup_run_id)
2098
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
2099
+ @kind = args[:kind] if args.key?(:kind)
2100
+ @project = args[:project] if args.key?(:project)
2101
+ end
2102
+ end
2103
+
2104
+ # Instance rotate server CA context.
2105
+ class RotateServerCaContext
2106
+ include Google::Apis::Core::Hashable
2107
+
2108
+ # This is always <code>sql#rotateServerCaContext</code>.
2109
+ # Corresponds to the JSON property `kind`
2110
+ # @return [String]
2111
+ attr_accessor :kind
2112
+
2113
+ # The fingerprint of the next version to be rotated to. If left unspecified,
2114
+ # will be rotated to the most recently added server CA version.
2115
+ # Corresponds to the JSON property `nextVersion`
2116
+ # @return [String]
2117
+ attr_accessor :next_version
2118
+
2119
+ def initialize(**args)
2120
+ update!(**args)
2121
+ end
2122
+
2123
+ # Update properties of this object
2124
+ def update!(**args)
2125
+ @kind = args[:kind] if args.key?(:kind)
2126
+ @next_version = args[:next_version] if args.key?(:next_version)
2127
+ end
2128
+ end
2129
+
2130
+ # Database instance settings.
2131
+ class Settings
2132
+ include Google::Apis::Core::Hashable
2133
+
2134
+ # The activation policy specifies when the instance is activated; it is
2135
+ # applicable only when the instance state is <code>RUNNABLE</code>. Valid
2136
+ # values: <br><code>ALWAYS</code>: The instance is on, and remains so even in
2137
+ # the absence of connection requests. <br><code>NEVER</code>: The instance is
2138
+ # off; it is not activated, even if a connection request arrives.
2139
+ # <br><code>ON_DEMAND</code>: First Generation instances only. The instance
2140
+ # responds to incoming requests, and turns itself off when not in use.
2141
+ # Instances with <code>PER_USE</code> pricing turn off after 15 minutes of
2142
+ # inactivity. Instances with <code>PER_PACKAGE</code> pricing turn off after
2143
+ # 12 hours of inactivity.
2144
+ # Corresponds to the JSON property `activationPolicy`
2145
+ # @return [String]
2146
+ attr_accessor :activation_policy
2147
+
2148
+ # The App Engine app IDs that can access this instance. First Generation
2149
+ # instances only.
2150
+ # Corresponds to the JSON property `authorizedGaeApplications`
2151
+ # @return [Array<String>]
2152
+ attr_accessor :authorized_gae_applications
2153
+
2154
+ # Availability type (PostgreSQL instances only). Potential values:
2155
+ # <br><code>ZONAL</code>: The instance serves data from only one zone.
2156
+ # Outages in that zone affect data accessibility. <br><code>REGIONAL</code>:
2157
+ # The instance can serve data from more than one zone in a region (it is
2158
+ # highly available). <br>For more information, see <a
2159
+ # href="https://cloud.google.com/sql/docs/postgres/high-availability">Overview
2160
+ # of the High Availability Configuration</a>.
2161
+ # Corresponds to the JSON property `availabilityType`
2162
+ # @return [String]
2163
+ attr_accessor :availability_type
2164
+
2165
+ # Database instance backup configuration.
2166
+ # Corresponds to the JSON property `backupConfiguration`
2167
+ # @return [Google::Apis::SqlV1beta4::BackupConfiguration]
2168
+ attr_accessor :backup_configuration
2169
+
2170
+ # Configuration specific to read replica instances. Indicates whether
2171
+ # database flags for crash-safe replication are enabled. This property is
2172
+ # only applicable to First Generation instances.
2173
+ # Corresponds to the JSON property `crashSafeReplicationEnabled`
2174
+ # @return [Boolean]
2175
+ attr_accessor :crash_safe_replication_enabled
2176
+ alias_method :crash_safe_replication_enabled?, :crash_safe_replication_enabled
2177
+
2178
+ # The size of data disk, in GB. The data disk size minimum is 10GB. Not used
2179
+ # for First Generation instances.
2180
+ # Corresponds to the JSON property `dataDiskSizeGb`
2181
+ # @return [Fixnum]
2182
+ attr_accessor :data_disk_size_gb
2183
+
2184
+ # The type of data disk: <code>PD_SSD</code> (default) or
2185
+ # <code>PD_HDD</code>. Not used for First Generation instances.
2186
+ # Corresponds to the JSON property `dataDiskType`
2187
+ # @return [String]
2188
+ attr_accessor :data_disk_type
2189
+
2190
+ # The database flags passed to the instance at startup.
2191
+ # Corresponds to the JSON property `databaseFlags`
2192
+ # @return [Array<Google::Apis::SqlV1beta4::DatabaseFlags>]
2193
+ attr_accessor :database_flags
2194
+
2195
+ # Configuration specific to read replica instances. Indicates whether
2196
+ # replication is enabled or not.
2197
+ # Corresponds to the JSON property `databaseReplicationEnabled`
2198
+ # @return [Boolean]
2199
+ attr_accessor :database_replication_enabled
2200
+ alias_method :database_replication_enabled?, :database_replication_enabled
2201
+
2202
+ # IP Management configuration.
2203
+ # Corresponds to the JSON property `ipConfiguration`
2204
+ # @return [Google::Apis::SqlV1beta4::IpConfiguration]
2205
+ attr_accessor :ip_configuration
2206
+
2207
+ # This is always <code>sql#settings</code>.
2208
+ # Corresponds to the JSON property `kind`
2209
+ # @return [String]
2210
+ attr_accessor :kind
2211
+
2212
+ # Preferred location. This specifies where a Cloud SQL instance should
2213
+ # preferably be located, either in a specific Compute Engine zone, or
2214
+ # co-located with an App Engine application. Note that if the preferred
2215
+ # location is not available, the instance will be located as close as possible
2216
+ # within the region. Only one location may be specified.
2217
+ # Corresponds to the JSON property `locationPreference`
2218
+ # @return [Google::Apis::SqlV1beta4::LocationPreference]
2219
+ attr_accessor :location_preference
2220
+
2221
+ # Maintenance window. This specifies when a v2 Cloud SQL instance should
2222
+ # preferably be restarted for system maintenance purposes.
2223
+ # Corresponds to the JSON property `maintenanceWindow`
2224
+ # @return [Google::Apis::SqlV1beta4::MaintenanceWindow]
2225
+ attr_accessor :maintenance_window
2226
+
2227
+ # The pricing plan for this instance. This can be either <code>PER_USE</code>
2228
+ # or <code>PACKAGE</code>. Only <code>PER_USE</code> is supported for Second
2229
+ # Generation instances.
2230
+ # Corresponds to the JSON property `pricingPlan`
2231
+ # @return [String]
2232
+ attr_accessor :pricing_plan
2233
+
2234
+ # The type of replication this instance uses. This can be either
2235
+ # <code>ASYNCHRONOUS</code> or <code>SYNCHRONOUS</code>. This property is
2236
+ # only applicable to First Generation instances.
2237
+ # Corresponds to the JSON property `replicationType`
2238
+ # @return [String]
2239
+ attr_accessor :replication_type
2240
+
2241
+ # The version of instance settings. This is a required field for update
2242
+ # method to make sure concurrent updates are handled properly. During update,
2243
+ # use the most recent settingsVersion value for this instance and do not try
2244
+ # to update this value.
2245
+ # Corresponds to the JSON property `settingsVersion`
2246
+ # @return [Fixnum]
2247
+ attr_accessor :settings_version
2248
+
2249
+ # Configuration to increase storage size automatically. The default value is
2250
+ # true. Not used for First Generation instances.
2251
+ # Corresponds to the JSON property `storageAutoResize`
2252
+ # @return [Boolean]
2253
+ attr_accessor :storage_auto_resize
2254
+ alias_method :storage_auto_resize?, :storage_auto_resize
2255
+
2256
+ # The maximum size to which storage capacity can be automatically increased.
2257
+ # The default value is 0, which specifies that there is no limit. Not used
2258
+ # for First Generation instances.
2259
+ # Corresponds to the JSON property `storageAutoResizeLimit`
2260
+ # @return [Fixnum]
2261
+ attr_accessor :storage_auto_resize_limit
2262
+
2263
+ # The tier (or machine type) for this instance, for example
2264
+ # <code>db-n1-standard-1</code> (MySQL instances) or
2265
+ # <code>db-custom-1-3840</code> (PostgreSQL instances). For MySQL instances,
2266
+ # this property determines whether the instance is First or Second
2267
+ # Generation. For more information, see <a
2268
+ # href="/sql/docs/db_path/instance-settings">Instance Settings</a>.
2269
+ # Corresponds to the JSON property `tier`
2270
+ # @return [String]
2271
+ attr_accessor :tier
2272
+
2273
+ # User-provided labels, represented as a dictionary where each label is a
2274
+ # single key value pair.
2275
+ # Corresponds to the JSON property `userLabels`
2276
+ # @return [Hash<String,String>]
2277
+ attr_accessor :user_labels
2278
+
2279
+ def initialize(**args)
2280
+ update!(**args)
2281
+ end
2282
+
2283
+ # Update properties of this object
2284
+ def update!(**args)
2285
+ @activation_policy = args[:activation_policy] if args.key?(:activation_policy)
2286
+ @authorized_gae_applications = args[:authorized_gae_applications] if args.key?(:authorized_gae_applications)
2287
+ @availability_type = args[:availability_type] if args.key?(:availability_type)
2288
+ @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
2289
+ @crash_safe_replication_enabled = args[:crash_safe_replication_enabled] if args.key?(:crash_safe_replication_enabled)
2290
+ @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
2291
+ @data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type)
2292
+ @database_flags = args[:database_flags] if args.key?(:database_flags)
2293
+ @database_replication_enabled = args[:database_replication_enabled] if args.key?(:database_replication_enabled)
2294
+ @ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
2295
+ @kind = args[:kind] if args.key?(:kind)
2296
+ @location_preference = args[:location_preference] if args.key?(:location_preference)
2297
+ @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
2298
+ @pricing_plan = args[:pricing_plan] if args.key?(:pricing_plan)
2299
+ @replication_type = args[:replication_type] if args.key?(:replication_type)
2300
+ @settings_version = args[:settings_version] if args.key?(:settings_version)
2301
+ @storage_auto_resize = args[:storage_auto_resize] if args.key?(:storage_auto_resize)
2302
+ @storage_auto_resize_limit = args[:storage_auto_resize_limit] if args.key?(:storage_auto_resize_limit)
2303
+ @tier = args[:tier] if args.key?(:tier)
2304
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
2305
+ end
2306
+ end
2307
+
2308
+ # Any scheduled maintenancce for this instance.
2309
+ class SqlScheduledMaintenance
2310
+ include Google::Apis::Core::Hashable
2311
+
2312
+ # If the scheduled maintenance can be deferred.
2313
+ # Corresponds to the JSON property `canDefer`
2314
+ # @return [Boolean]
2315
+ attr_accessor :can_defer
2316
+ alias_method :can_defer?, :can_defer
2317
+
2318
+ # The start time of any upcoming scheduled maintenance for this instance.
2319
+ # Corresponds to the JSON property `startTime`
2320
+ # @return [String]
2321
+ attr_accessor :start_time
2322
+
2323
+ def initialize(**args)
2324
+ update!(**args)
2325
+ end
2326
+
2327
+ # Update properties of this object
2328
+ def update!(**args)
2329
+ @can_defer = args[:can_defer] if args.key?(:can_defer)
2330
+ @start_time = args[:start_time] if args.key?(:start_time)
2331
+ end
2332
+ end
2333
+
2334
+ # Represents a Sql Server database on the Cloud SQL instance.
2335
+ class SqlServerDatabaseDetails
2336
+ include Google::Apis::Core::Hashable
2337
+
2338
+ # The version of SQL Server with which the database is to be made compatible
2339
+ # Corresponds to the JSON property `compatibilityLevel`
2340
+ # @return [Fixnum]
2341
+ attr_accessor :compatibility_level
2342
+
2343
+ # The recovery model of a SQL Server database
2344
+ # Corresponds to the JSON property `recoveryModel`
2345
+ # @return [String]
2346
+ attr_accessor :recovery_model
2347
+
2348
+ def initialize(**args)
2349
+ update!(**args)
2350
+ end
2351
+
2352
+ # Update properties of this object
2353
+ def update!(**args)
2354
+ @compatibility_level = args[:compatibility_level] if args.key?(:compatibility_level)
2355
+ @recovery_model = args[:recovery_model] if args.key?(:recovery_model)
2356
+ end
2357
+ end
2358
+
2359
+ # SslCerts Resource
2360
+ class SslCert
2361
+ include Google::Apis::Core::Hashable
2362
+
2363
+ # PEM representation.
2364
+ # Corresponds to the JSON property `cert`
2365
+ # @return [String]
2366
+ attr_accessor :cert
2367
+
2368
+ # Serial number, as extracted from the certificate.
2369
+ # Corresponds to the JSON property `certSerialNumber`
2370
+ # @return [String]
2371
+ attr_accessor :cert_serial_number
2372
+
2373
+ # User supplied name. Constrained to [a-zA-Z.-_ ]+.
2374
+ # Corresponds to the JSON property `commonName`
2375
+ # @return [String]
2376
+ attr_accessor :common_name
2377
+
2378
+ # The time when the certificate was created in <a
2379
+ # href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
2380
+ # <code>2012-11-15T16:19:00.094Z</code>
2381
+ # Corresponds to the JSON property `createTime`
2382
+ # @return [String]
2383
+ attr_accessor :create_time
2384
+
2385
+ # The time when the certificate expires in <a
2386
+ # href="https://tools.ietf.org/html/rfc3339">RFC 3339</a> format, for example
2387
+ # <code>2012-11-15T16:19:00.094Z</code>.
2388
+ # Corresponds to the JSON property `expirationTime`
2389
+ # @return [String]
2390
+ attr_accessor :expiration_time
2391
+
2392
+ # Name of the database instance.
2393
+ # Corresponds to the JSON property `instance`
2394
+ # @return [String]
2395
+ attr_accessor :instance
2396
+
2397
+ # This is always <code>sql#sslCert</code>.
2398
+ # Corresponds to the JSON property `kind`
2399
+ # @return [String]
2400
+ attr_accessor :kind
2401
+
2402
+ # The URI of this resource.
2403
+ # Corresponds to the JSON property `selfLink`
2404
+ # @return [String]
2405
+ attr_accessor :self_link
2406
+
2407
+ # Sha1 Fingerprint.
2408
+ # Corresponds to the JSON property `sha1Fingerprint`
2409
+ # @return [String]
2410
+ attr_accessor :sha1_fingerprint
2411
+
2412
+ def initialize(**args)
2413
+ update!(**args)
2414
+ end
2415
+
2416
+ # Update properties of this object
2417
+ def update!(**args)
2418
+ @cert = args[:cert] if args.key?(:cert)
2419
+ @cert_serial_number = args[:cert_serial_number] if args.key?(:cert_serial_number)
2420
+ @common_name = args[:common_name] if args.key?(:common_name)
2421
+ @create_time = args[:create_time] if args.key?(:create_time)
2422
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
2423
+ @instance = args[:instance] if args.key?(:instance)
2424
+ @kind = args[:kind] if args.key?(:kind)
2425
+ @self_link = args[:self_link] if args.key?(:self_link)
2426
+ @sha1_fingerprint = args[:sha1_fingerprint] if args.key?(:sha1_fingerprint)
2427
+ end
2428
+ end
2429
+
2430
+ # SslCertDetail.
2431
+ class SslCertDetail
2432
+ include Google::Apis::Core::Hashable
2433
+
2434
+ # SslCerts Resource
2435
+ # Corresponds to the JSON property `certInfo`
2436
+ # @return [Google::Apis::SqlV1beta4::SslCert]
2437
+ attr_accessor :cert_info
2438
+
2439
+ # The private key for the client cert, in pem format. Keep private in order
2440
+ # to protect your security.
2441
+ # Corresponds to the JSON property `certPrivateKey`
2442
+ # @return [String]
2443
+ attr_accessor :cert_private_key
2444
+
2445
+ def initialize(**args)
2446
+ update!(**args)
2447
+ end
2448
+
2449
+ # Update properties of this object
2450
+ def update!(**args)
2451
+ @cert_info = args[:cert_info] if args.key?(:cert_info)
2452
+ @cert_private_key = args[:cert_private_key] if args.key?(:cert_private_key)
2453
+ end
2454
+ end
2455
+
2456
+ # SslCerts create ephemeral certificate request.
2457
+ class SslCertsCreateEphemeralRequest
2458
+ include Google::Apis::Core::Hashable
2459
+
2460
+ # PEM encoded public key to include in the signed certificate.
2461
+ # Corresponds to the JSON property `public_key`
2462
+ # @return [String]
2463
+ attr_accessor :public_key
2464
+
2465
+ def initialize(**args)
2466
+ update!(**args)
2467
+ end
2468
+
2469
+ # Update properties of this object
2470
+ def update!(**args)
2471
+ @public_key = args[:public_key] if args.key?(:public_key)
2472
+ end
2473
+ end
2474
+
2475
+ # SslCerts insert request.
2476
+ class SslCertsInsertRequest
2477
+ include Google::Apis::Core::Hashable
2478
+
2479
+ # User supplied name. Must be a distinct name from the other certificates
2480
+ # for this instance.
2481
+ # Corresponds to the JSON property `commonName`
2482
+ # @return [String]
2483
+ attr_accessor :common_name
2484
+
2485
+ def initialize(**args)
2486
+ update!(**args)
2487
+ end
2488
+
2489
+ # Update properties of this object
2490
+ def update!(**args)
2491
+ @common_name = args[:common_name] if args.key?(:common_name)
2492
+ end
2493
+ end
2494
+
2495
+ # SslCert insert response.
2496
+ class SslCertsInsertResponse
2497
+ include Google::Apis::Core::Hashable
2498
+
2499
+ # SslCertDetail.
2500
+ # Corresponds to the JSON property `clientCert`
2501
+ # @return [Google::Apis::SqlV1beta4::SslCertDetail]
2502
+ attr_accessor :client_cert
2503
+
2504
+ # This is always <code>sql#sslCertsInsert</code>.
2505
+ # Corresponds to the JSON property `kind`
2506
+ # @return [String]
2507
+ attr_accessor :kind
2508
+
2509
+ # An Operation resource.&nbsp;For successful operations that return an
2510
+ # Operation resource, only the fields relevant to the operation are populated
2511
+ # in the resource.
2512
+ # Corresponds to the JSON property `operation`
2513
+ # @return [Google::Apis::SqlV1beta4::Operation]
2514
+ attr_accessor :operation
2515
+
2516
+ # SslCerts Resource
2517
+ # Corresponds to the JSON property `serverCaCert`
2518
+ # @return [Google::Apis::SqlV1beta4::SslCert]
2519
+ attr_accessor :server_ca_cert
2520
+
2521
+ def initialize(**args)
2522
+ update!(**args)
2523
+ end
2524
+
2525
+ # Update properties of this object
2526
+ def update!(**args)
2527
+ @client_cert = args[:client_cert] if args.key?(:client_cert)
2528
+ @kind = args[:kind] if args.key?(:kind)
2529
+ @operation = args[:operation] if args.key?(:operation)
2530
+ @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
2531
+ end
2532
+ end
2533
+
2534
+ # SslCerts list response.
2535
+ class SslCertsListResponse
2536
+ include Google::Apis::Core::Hashable
2537
+
2538
+ # List of client certificates for the instance.
2539
+ # Corresponds to the JSON property `items`
2540
+ # @return [Array<Google::Apis::SqlV1beta4::SslCert>]
2541
+ attr_accessor :items
2542
+
2543
+ # This is always <code>sql#sslCertsList</code>.
2544
+ # Corresponds to the JSON property `kind`
2545
+ # @return [String]
2546
+ attr_accessor :kind
2547
+
2548
+ def initialize(**args)
2549
+ update!(**args)
2550
+ end
2551
+
2552
+ # Update properties of this object
2553
+ def update!(**args)
2554
+ @items = args[:items] if args.key?(:items)
2555
+ @kind = args[:kind] if args.key?(:kind)
2556
+ end
2557
+ end
2558
+
2559
+ # A Google Cloud SQL service tier resource.
2560
+ class Tier
2561
+ include Google::Apis::Core::Hashable
2562
+
2563
+ # The maximum disk size of this tier in bytes.
2564
+ # Corresponds to the JSON property `DiskQuota`
2565
+ # @return [Fixnum]
2566
+ attr_accessor :disk_quota
2567
+
2568
+ # The maximum RAM usage of this tier in bytes.
2569
+ # Corresponds to the JSON property `RAM`
2570
+ # @return [Fixnum]
2571
+ attr_accessor :ram
2572
+
2573
+ # This is always <code>sql#tier</code>.
2574
+ # Corresponds to the JSON property `kind`
2575
+ # @return [String]
2576
+ attr_accessor :kind
2577
+
2578
+ # The applicable regions for this tier.
2579
+ # Corresponds to the JSON property `region`
2580
+ # @return [Array<String>]
2581
+ attr_accessor :region
2582
+
2583
+ # An identifier for the machine type, for example, db-n1-standard-1. For
2584
+ # related information, see <a href="/sql/pricing">Pricing</a>.
2585
+ # Corresponds to the JSON property `tier`
2586
+ # @return [String]
2587
+ attr_accessor :tier
2588
+
2589
+ def initialize(**args)
2590
+ update!(**args)
2591
+ end
2592
+
2593
+ # Update properties of this object
2594
+ def update!(**args)
2595
+ @disk_quota = args[:disk_quota] if args.key?(:disk_quota)
2596
+ @ram = args[:ram] if args.key?(:ram)
2597
+ @kind = args[:kind] if args.key?(:kind)
2598
+ @region = args[:region] if args.key?(:region)
2599
+ @tier = args[:tier] if args.key?(:tier)
2600
+ end
2601
+ end
2602
+
2603
+ # Tiers list response.
2604
+ class TiersListResponse
2605
+ include Google::Apis::Core::Hashable
2606
+
2607
+ # List of tiers.
2608
+ # Corresponds to the JSON property `items`
2609
+ # @return [Array<Google::Apis::SqlV1beta4::Tier>]
2610
+ attr_accessor :items
2611
+
2612
+ # This is always <code>sql#tiersList</code>.
2613
+ # Corresponds to the JSON property `kind`
2614
+ # @return [String]
2615
+ attr_accessor :kind
2616
+
2617
+ def initialize(**args)
2618
+ update!(**args)
2619
+ end
2620
+
2621
+ # Update properties of this object
2622
+ def update!(**args)
2623
+ @items = args[:items] if args.key?(:items)
2624
+ @kind = args[:kind] if args.key?(:kind)
2625
+ end
2626
+ end
2627
+
2628
+ # Database Instance truncate log context.
2629
+ class TruncateLogContext
2630
+ include Google::Apis::Core::Hashable
2631
+
2632
+ # This is always <code>sql#truncateLogContext</code>.
2633
+ # Corresponds to the JSON property `kind`
2634
+ # @return [String]
2635
+ attr_accessor :kind
2636
+
2637
+ # The type of log to truncate. Valid values are
2638
+ # <code>MYSQL_GENERAL_TABLE</code> and <code>MYSQL_SLOW_TABLE</code>.
2639
+ # Corresponds to the JSON property `logType`
2640
+ # @return [String]
2641
+ attr_accessor :log_type
2642
+
2643
+ def initialize(**args)
2644
+ update!(**args)
2645
+ end
2646
+
2647
+ # Update properties of this object
2648
+ def update!(**args)
2649
+ @kind = args[:kind] if args.key?(:kind)
2650
+ @log_type = args[:log_type] if args.key?(:log_type)
2651
+ end
2652
+ end
2653
+
2654
+ # A Cloud SQL user resource.
2655
+ class User
2656
+ include Google::Apis::Core::Hashable
2657
+
2658
+ # This field is deprecated and will be removed from a future version of the
2659
+ # API.
2660
+ # Corresponds to the JSON property `etag`
2661
+ # @return [String]
2662
+ attr_accessor :etag
2663
+
2664
+ # The host name from which the user can connect. For <code>insert</code>
2665
+ # operations, host defaults to an empty string. For <code>update</code>
2666
+ # operations, host is specified as part of the request URL. The host name
2667
+ # cannot be updated after insertion.
2668
+ # Corresponds to the JSON property `host`
2669
+ # @return [String]
2670
+ attr_accessor :host
2671
+
2672
+ # The name of the Cloud SQL instance. This does not include the project ID.
2673
+ # Can be omitted for <code>update</code> since it is already specified on the
2674
+ # URL.
2675
+ # Corresponds to the JSON property `instance`
2676
+ # @return [String]
2677
+ attr_accessor :instance
2678
+
2679
+ # This is always <code>sql#user</code>.
2680
+ # Corresponds to the JSON property `kind`
2681
+ # @return [String]
2682
+ attr_accessor :kind
2683
+
2684
+ # The name of the user in the Cloud SQL instance. Can be omitted for
2685
+ # <code>update</code> since it is already specified in the URL.
2686
+ # Corresponds to the JSON property `name`
2687
+ # @return [String]
2688
+ attr_accessor :name
2689
+
2690
+ # The password for the user.
2691
+ # Corresponds to the JSON property `password`
2692
+ # @return [String]
2693
+ attr_accessor :password
2694
+
2695
+ # The project ID of the project containing the Cloud SQL database. The Google
2696
+ # apps domain is prefixed if applicable. Can be omitted for
2697
+ # <code>update</code> since it is already specified on the URL.
2698
+ # Corresponds to the JSON property `project`
2699
+ # @return [String]
2700
+ attr_accessor :project
2701
+
2702
+ def initialize(**args)
2703
+ update!(**args)
2704
+ end
2705
+
2706
+ # Update properties of this object
2707
+ def update!(**args)
2708
+ @etag = args[:etag] if args.key?(:etag)
2709
+ @host = args[:host] if args.key?(:host)
2710
+ @instance = args[:instance] if args.key?(:instance)
2711
+ @kind = args[:kind] if args.key?(:kind)
2712
+ @name = args[:name] if args.key?(:name)
2713
+ @password = args[:password] if args.key?(:password)
2714
+ @project = args[:project] if args.key?(:project)
2715
+ end
2716
+ end
2717
+
2718
+ # User list response.
2719
+ class UsersListResponse
2720
+ include Google::Apis::Core::Hashable
2721
+
2722
+ # List of user resources in the instance.
2723
+ # Corresponds to the JSON property `items`
2724
+ # @return [Array<Google::Apis::SqlV1beta4::User>]
2725
+ attr_accessor :items
2726
+
2727
+ # This is always <code>sql#usersList</code>.
2728
+ # Corresponds to the JSON property `kind`
2729
+ # @return [String]
2730
+ attr_accessor :kind
2731
+
2732
+ # An identifier that uniquely identifies the operation. You can use this
2733
+ # identifier to retrieve the Operations resource that has information about
2734
+ # the operation.
2735
+ # Corresponds to the JSON property `nextPageToken`
2736
+ # @return [String]
2737
+ attr_accessor :next_page_token
2738
+
2739
+ def initialize(**args)
2740
+ update!(**args)
2741
+ end
2742
+
2743
+ # Update properties of this object
2744
+ def update!(**args)
2745
+ @items = args[:items] if args.key?(:items)
2746
+ @kind = args[:kind] if args.key?(:kind)
2747
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2748
+ end
2749
+ end
2750
+ end
2751
+ end
2752
+ end