google-api-client 0.33.0 → 0.33.1

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