google-api-client 0.32.1 → 0.34.0

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