google-api-client 0.33.0 → 0.33.1

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