google-apis-sqladmin_v1 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c6b9664fc26ffd61f9fd0027baae368afc5876cc18cbffd22394dce7b63fcae5
4
- data.tar.gz: e07737f759b278b4655e50feb757c12ab93ecf93b9a047f89b5a10d523d43b3e
3
+ metadata.gz: 1fecd8703a8e223b16d1ce6f31bda24a2fbd49a749de32be6a48db87f1098e63
4
+ data.tar.gz: 7772af405f79c735fdb3e4a29f19ceae47dc9df74a032cd7d8001f06d3ffa817
5
5
  SHA512:
6
- metadata.gz: fc1a412ade7c646581f82c00b63f334a2f78df97e3420c713e29334a3429bf1036b003222ffb6d88dace42e216c14e3ff7a211bb611a5c0eb2a516166690ee5d
7
- data.tar.gz: 10a6ab3dc18b731af604944e1430c44de4f05d8e0a674b25c3d713e2dab30340eb116d0904be18d34cca244de76c85416750db51215194f481aa1800ec8cdde2
6
+ metadata.gz: fc425ed11f644cc81a6754e8563511fec68db60870a0d3e3cde8d2a4358c1485318e7411ed1e6dd93f521d73a1d734fc36e8995617f9b5b28957553b9a7f718f
7
+ data.tar.gz: 42ed4bbdc90c7395454826b147b7431285bdb43eb171e66074e167886218c7e0c58da2b40012ca0f6bbe613c5b31a1d0fc0fc631d30f733957f592c9dd1a44f2
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-sqladmin_v1
2
2
 
3
+ ### v0.2.0 (2021-07-14)
4
+
5
+ * Regenerated from discovery document revision 20210627
6
+
3
7
  ### v0.1.0 (2021-06-30)
4
8
 
5
9
  * Regenerated from discovery document revision 20210608
@@ -28,6 +28,12 @@ module Google
28
28
  # Version of the Cloud SQL Admin API this client connects to.
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'V1'
31
+
32
+ # See, edit, configure, and delete your Google Cloud Platform data
33
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
+
35
+ # Manage your Google SQL Service instances
36
+ AUTH_SQLSERVICE_ADMIN = 'https://www.googleapis.com/auth/sqlservice.admin'
31
37
  end
32
38
  end
33
39
  end
@@ -21,6 +21,1514 @@ require 'google/apis/errors'
21
21
  module Google
22
22
  module Apis
23
23
  module SqladminV1
24
+
25
+ # An entry for an Access Control list.
26
+ class AclEntry
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The time when this access control entry expires in [RFC 3339](https://tools.
30
+ # ietf.org/html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
31
+ # Corresponds to the JSON property `expirationTime`
32
+ # @return [String]
33
+ attr_accessor :expiration_time
34
+
35
+ # This is always **sql#aclEntry**.
36
+ # Corresponds to the JSON property `kind`
37
+ # @return [String]
38
+ attr_accessor :kind
39
+
40
+ # Optional. A label to identify this entry.
41
+ # Corresponds to the JSON property `name`
42
+ # @return [String]
43
+ attr_accessor :name
44
+
45
+ # The allowlisted value for the access control list.
46
+ # Corresponds to the JSON property `value`
47
+ # @return [String]
48
+ attr_accessor :value
49
+
50
+ def initialize(**args)
51
+ update!(**args)
52
+ end
53
+
54
+ # Update properties of this object
55
+ def update!(**args)
56
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
57
+ @kind = args[:kind] if args.key?(:kind)
58
+ @name = args[:name] if args.key?(:name)
59
+ @value = args[:value] if args.key?(:value)
60
+ end
61
+ end
62
+
63
+ # An Admin API warning message.
64
+ class ApiWarning
65
+ include Google::Apis::Core::Hashable
66
+
67
+ # Code to uniquely identify the warning type.
68
+ # Corresponds to the JSON property `code`
69
+ # @return [String]
70
+ attr_accessor :code
71
+
72
+ # The warning message.
73
+ # Corresponds to the JSON property `message`
74
+ # @return [String]
75
+ attr_accessor :message
76
+
77
+ # The region name for REGION_UNREACHABLE warning.
78
+ # Corresponds to the JSON property `region`
79
+ # @return [String]
80
+ attr_accessor :region
81
+
82
+ def initialize(**args)
83
+ update!(**args)
84
+ end
85
+
86
+ # Update properties of this object
87
+ def update!(**args)
88
+ @code = args[:code] if args.key?(:code)
89
+ @message = args[:message] if args.key?(:message)
90
+ @region = args[:region] if args.key?(:region)
91
+ end
92
+ end
93
+
94
+ # Database instance backup configuration.
95
+ class BackupConfiguration
96
+ include Google::Apis::Core::Hashable
97
+
98
+ # We currently only support backup retention by specifying the number of backups
99
+ # we will retain.
100
+ # Corresponds to the JSON property `backupRetentionSettings`
101
+ # @return [Google::Apis::SqladminV1::BackupRetentionSettings]
102
+ attr_accessor :backup_retention_settings
103
+
104
+ # (MySQL only) Whether binary log is enabled. If backup configuration is
105
+ # disabled, binarylog must be disabled as well.
106
+ # Corresponds to the JSON property `binaryLogEnabled`
107
+ # @return [Boolean]
108
+ attr_accessor :binary_log_enabled
109
+ alias_method :binary_log_enabled?, :binary_log_enabled
110
+
111
+ # Whether this configuration is enabled.
112
+ # Corresponds to the JSON property `enabled`
113
+ # @return [Boolean]
114
+ attr_accessor :enabled
115
+ alias_method :enabled?, :enabled
116
+
117
+ # This is always **sql#backupConfiguration**.
118
+ # Corresponds to the JSON property `kind`
119
+ # @return [String]
120
+ attr_accessor :kind
121
+
122
+ # Location of the backup
123
+ # Corresponds to the JSON property `location`
124
+ # @return [String]
125
+ attr_accessor :location
126
+
127
+ # (Postgres only) Whether point in time recovery is enabled.
128
+ # Corresponds to the JSON property `pointInTimeRecoveryEnabled`
129
+ # @return [Boolean]
130
+ attr_accessor :point_in_time_recovery_enabled
131
+ alias_method :point_in_time_recovery_enabled?, :point_in_time_recovery_enabled
132
+
133
+ # Reserved for future use.
134
+ # Corresponds to the JSON property `replicationLogArchivingEnabled`
135
+ # @return [Boolean]
136
+ attr_accessor :replication_log_archiving_enabled
137
+ alias_method :replication_log_archiving_enabled?, :replication_log_archiving_enabled
138
+
139
+ # Start time for the daily backup configuration in UTC timezone in the 24 hour
140
+ # format - **HH:MM**.
141
+ # Corresponds to the JSON property `startTime`
142
+ # @return [String]
143
+ attr_accessor :start_time
144
+
145
+ # The number of days of transaction logs we retain for point in time restore,
146
+ # from 1-7.
147
+ # Corresponds to the JSON property `transactionLogRetentionDays`
148
+ # @return [Fixnum]
149
+ attr_accessor :transaction_log_retention_days
150
+
151
+ def initialize(**args)
152
+ update!(**args)
153
+ end
154
+
155
+ # Update properties of this object
156
+ def update!(**args)
157
+ @backup_retention_settings = args[:backup_retention_settings] if args.key?(:backup_retention_settings)
158
+ @binary_log_enabled = args[:binary_log_enabled] if args.key?(:binary_log_enabled)
159
+ @enabled = args[:enabled] if args.key?(:enabled)
160
+ @kind = args[:kind] if args.key?(:kind)
161
+ @location = args[:location] if args.key?(:location)
162
+ @point_in_time_recovery_enabled = args[:point_in_time_recovery_enabled] if args.key?(:point_in_time_recovery_enabled)
163
+ @replication_log_archiving_enabled = args[:replication_log_archiving_enabled] if args.key?(:replication_log_archiving_enabled)
164
+ @start_time = args[:start_time] if args.key?(:start_time)
165
+ @transaction_log_retention_days = args[:transaction_log_retention_days] if args.key?(:transaction_log_retention_days)
166
+ end
167
+ end
168
+
169
+ # We currently only support backup retention by specifying the number of backups
170
+ # we will retain.
171
+ class BackupRetentionSettings
172
+ include Google::Apis::Core::Hashable
173
+
174
+ # Depending on the value of retention_unit, this is used to determine if a
175
+ # backup needs to be deleted. If retention_unit is 'COUNT', we will retain this
176
+ # many backups.
177
+ # Corresponds to the JSON property `retainedBackups`
178
+ # @return [Fixnum]
179
+ attr_accessor :retained_backups
180
+
181
+ # The unit that 'retained_backups' represents.
182
+ # Corresponds to the JSON property `retentionUnit`
183
+ # @return [String]
184
+ attr_accessor :retention_unit
185
+
186
+ def initialize(**args)
187
+ update!(**args)
188
+ end
189
+
190
+ # Update properties of this object
191
+ def update!(**args)
192
+ @retained_backups = args[:retained_backups] if args.key?(:retained_backups)
193
+ @retention_unit = args[:retention_unit] if args.key?(:retention_unit)
194
+ end
195
+ end
196
+
197
+ # Connect settings retrieval response.
198
+ class ConnectSettings
199
+ include Google::Apis::Core::Hashable
200
+
201
+ # **SECOND_GEN**: Cloud SQL database instance. **EXTERNAL**: A database server
202
+ # that is not managed by Google. This property is read-only; use the **tier**
203
+ # property in the **settings** object to determine the database type.
204
+ # Corresponds to the JSON property `backendType`
205
+ # @return [String]
206
+ attr_accessor :backend_type
207
+
208
+ # The database engine type and version. The **databaseVersion** field cannot be
209
+ # changed after instance creation. MySQL instances: **MYSQL_8_0**, **MYSQL_5_7**
210
+ # (default), or **MYSQL_5_6**. PostgreSQL instances: **POSTGRES_9_6**, **
211
+ # POSTGRES_10**, **POSTGRES_11** or **POSTGRES_12** (default). SQL Server
212
+ # instances: **SQLSERVER_2017_STANDARD** (default), **SQLSERVER_2017_ENTERPRISE**
213
+ # , **SQLSERVER_2017_EXPRESS**, or **SQLSERVER_2017_WEB**.
214
+ # Corresponds to the JSON property `databaseVersion`
215
+ # @return [String]
216
+ attr_accessor :database_version
217
+
218
+ # The assigned IP addresses for the instance.
219
+ # Corresponds to the JSON property `ipAddresses`
220
+ # @return [Array<Google::Apis::SqladminV1::IpMapping>]
221
+ attr_accessor :ip_addresses
222
+
223
+ # This is always `sql#connectSettings`.
224
+ # Corresponds to the JSON property `kind`
225
+ # @return [String]
226
+ attr_accessor :kind
227
+
228
+ # SslCerts Resource
229
+ # Corresponds to the JSON property `serverCaCert`
230
+ # @return [Google::Apis::SqladminV1::SslCert]
231
+ attr_accessor :server_ca_cert
232
+
233
+ def initialize(**args)
234
+ update!(**args)
235
+ end
236
+
237
+ # Update properties of this object
238
+ def update!(**args)
239
+ @backend_type = args[:backend_type] if args.key?(:backend_type)
240
+ @database_version = args[:database_version] if args.key?(:database_version)
241
+ @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
242
+ @kind = args[:kind] if args.key?(:kind)
243
+ @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
244
+ end
245
+ end
246
+
247
+ # Database flags for Cloud SQL instances.
248
+ class DatabaseFlags
249
+ include Google::Apis::Core::Hashable
250
+
251
+ # The name of the flag. These flags are passed at instance startup, so include
252
+ # both server options and system variables for MySQL. Flags are specified with
253
+ # underscores, not hyphens. For more information, see [Configuring Database
254
+ # Flags](/sql/docs/mysql/flags) in the Cloud SQL documentation.
255
+ # Corresponds to the JSON property `name`
256
+ # @return [String]
257
+ attr_accessor :name
258
+
259
+ # The value of the flag. Booleans are set to **on** for true and **off** for
260
+ # false. This field must be omitted if the flag doesn't take a value.
261
+ # Corresponds to the JSON property `value`
262
+ # @return [String]
263
+ attr_accessor :value
264
+
265
+ def initialize(**args)
266
+ update!(**args)
267
+ end
268
+
269
+ # Update properties of this object
270
+ def update!(**args)
271
+ @name = args[:name] if args.key?(:name)
272
+ @value = args[:value] if args.key?(:value)
273
+ end
274
+ end
275
+
276
+ # A Cloud SQL instance resource.
277
+ class DatabaseInstance
278
+ include Google::Apis::Core::Hashable
279
+
280
+ # *SECOND_GEN*: Cloud SQL database instance. *EXTERNAL*: A database server that
281
+ # is not managed by Google. This property is read-only; use the *tier* property
282
+ # in the *settings* object to determine the database type.
283
+ # Corresponds to the JSON property `backendType`
284
+ # @return [String]
285
+ attr_accessor :backend_type
286
+
287
+ # Connection name of the Cloud SQL instance used in connection strings.
288
+ # Corresponds to the JSON property `connectionName`
289
+ # @return [String]
290
+ attr_accessor :connection_name
291
+
292
+ # The current disk usage of the instance in bytes. This property has been
293
+ # deprecated. Use the "cloudsql.googleapis.com/database/disk/bytes_used" metric
294
+ # in Cloud Monitoring API instead. Please see this announcement for details.
295
+ # Corresponds to the JSON property `currentDiskSize`
296
+ # @return [Fixnum]
297
+ attr_accessor :current_disk_size
298
+
299
+ # The database engine type and version. The *databaseVersion* field cannot be
300
+ # changed after instance creation. MySQL instances: *MYSQL_8_0*, *MYSQL_5_7* (
301
+ # default), or *MYSQL_5_6*. PostgreSQL instances: *POSTGRES_9_6*, *POSTGRES_10*,
302
+ # *POSTGRES_11*, *POSTGRES_12*, or *POSTGRES_13* (default). SQL Server instances:
303
+ # *SQLSERVER_2017_STANDARD* (default), *SQLSERVER_2017_ENTERPRISE*, *
304
+ # SQLSERVER_2017_EXPRESS*, or *SQLSERVER_2017_WEB*.
305
+ # Corresponds to the JSON property `databaseVersion`
306
+ # @return [String]
307
+ attr_accessor :database_version
308
+
309
+ # Disk encryption configuration for an instance.
310
+ # Corresponds to the JSON property `diskEncryptionConfiguration`
311
+ # @return [Google::Apis::SqladminV1::DiskEncryptionConfiguration]
312
+ attr_accessor :disk_encryption_configuration
313
+
314
+ # Disk encryption status for an instance.
315
+ # Corresponds to the JSON property `diskEncryptionStatus`
316
+ # @return [Google::Apis::SqladminV1::DiskEncryptionStatus]
317
+ attr_accessor :disk_encryption_status
318
+
319
+ # For internal usage only. The encrypted password.
320
+ # Corresponds to the JSON property `encryptedRootPassword`
321
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
322
+ # @return [String]
323
+ attr_accessor :encrypted_root_password
324
+
325
+ # This field is deprecated and will be removed from a future version of the API.
326
+ # Use the *settings.settingsVersion* field instead.
327
+ # Corresponds to the JSON property `etag`
328
+ # @return [String]
329
+ attr_accessor :etag
330
+
331
+ # The name and status of the failover replica. This property is applicable only
332
+ # to Second Generation instances.
333
+ # Corresponds to the JSON property `failoverReplica`
334
+ # @return [Google::Apis::SqladminV1::DatabaseInstance::FailoverReplica]
335
+ attr_accessor :failover_replica
336
+
337
+ # The Compute Engine zone that the instance is currently serving from. This
338
+ # value could be different from the zone that was specified when the instance
339
+ # was created if the instance has failed over to its secondary zone.
340
+ # Corresponds to the JSON property `gceZone`
341
+ # @return [String]
342
+ attr_accessor :gce_zone
343
+
344
+ # installed_version stores the current fully resolved database version including
345
+ # minor version such as MySQL_5.6.50
346
+ # Corresponds to the JSON property `installedVersion`
347
+ # @return [String]
348
+ attr_accessor :installed_version
349
+
350
+ # The instance type. This can be one of the following. *CLOUD_SQL_INSTANCE*: A
351
+ # Cloud SQL instance that is not replicating from a primary instance. *
352
+ # ON_PREMISES_INSTANCE*: An instance running on the customer's premises. *
353
+ # READ_REPLICA_INSTANCE*: A Cloud SQL instance configured as a read-replica.
354
+ # Corresponds to the JSON property `instanceType`
355
+ # @return [String]
356
+ attr_accessor :instance_type
357
+
358
+ # Uid of the Cloud SQL instance. Used by Pantheon to check instance is created
359
+ # Corresponds to the JSON property `instanceUid`
360
+ # @return [String]
361
+ attr_accessor :instance_uid
362
+
363
+ # The assigned IP addresses for the instance.
364
+ # Corresponds to the JSON property `ipAddresses`
365
+ # @return [Array<Google::Apis::SqladminV1::IpMapping>]
366
+ attr_accessor :ip_addresses
367
+
368
+ # The IPv6 address assigned to the instance. (Deprecated) This property was
369
+ # applicable only to First Generation instances.
370
+ # Corresponds to the JSON property `ipv6Address`
371
+ # @return [String]
372
+ attr_accessor :ipv6_address
373
+
374
+ # This is always *sql#instance*.
375
+ # Corresponds to the JSON property `kind`
376
+ # @return [String]
377
+ attr_accessor :kind
378
+
379
+ # Reference to another Cloud SQL instance.
380
+ # Corresponds to the JSON property `masterInstance`
381
+ # @return [Google::Apis::SqladminV1::InstanceReference]
382
+ attr_accessor :master_instance
383
+
384
+ # The name of the instance which will act as primary in the replication setup.
385
+ # Corresponds to the JSON property `masterInstanceName`
386
+ # @return [String]
387
+ attr_accessor :master_instance_name
388
+
389
+ # The maximum disk size of the instance in bytes.
390
+ # Corresponds to the JSON property `maxDiskSize`
391
+ # @return [Fixnum]
392
+ attr_accessor :max_disk_size
393
+
394
+ # Name of the Cloud SQL instance. This does not include the project ID.
395
+ # Corresponds to the JSON property `name`
396
+ # @return [String]
397
+ attr_accessor :name
398
+
399
+ # On-premises instance configuration.
400
+ # Corresponds to the JSON property `onPremisesConfiguration`
401
+ # @return [Google::Apis::SqladminV1::OnPremisesConfiguration]
402
+ attr_accessor :on_premises_configuration
403
+
404
+ # This message wraps up the information written by out-of-disk detection job.
405
+ # Corresponds to the JSON property `outOfDiskReport`
406
+ # @return [Google::Apis::SqladminV1::SqlOutOfDiskReport]
407
+ attr_accessor :out_of_disk_report
408
+
409
+ # The project ID of the project containing the Cloud SQL instance. The Google
410
+ # apps domain is prefixed if applicable.
411
+ # Corresponds to the JSON property `project`
412
+ # @return [String]
413
+ attr_accessor :project
414
+
415
+ # The geographical region. Can be *us-central* (*FIRST_GEN* instances only) *us-
416
+ # central1* (*SECOND_GEN* instances only) *asia-east1* or *europe-west1*.
417
+ # Defaults to *us-central* or *us-central1* depending on the instance type. The
418
+ # region cannot be changed after instance creation.
419
+ # Corresponds to the JSON property `region`
420
+ # @return [String]
421
+ attr_accessor :region
422
+
423
+ # Read-replica configuration for connecting to the primary instance.
424
+ # Corresponds to the JSON property `replicaConfiguration`
425
+ # @return [Google::Apis::SqladminV1::ReplicaConfiguration]
426
+ attr_accessor :replica_configuration
427
+
428
+ # The replicas of the instance.
429
+ # Corresponds to the JSON property `replicaInstances`
430
+ # @return [Array<Google::Apis::SqladminV1::InstanceReference>]
431
+ attr_accessor :replica_instances
432
+
433
+ # The replicas of the instance.
434
+ # Corresponds to the JSON property `replicaNames`
435
+ # @return [Array<String>]
436
+ attr_accessor :replica_names
437
+
438
+ # Initial root password. Use only on creation.
439
+ # Corresponds to the JSON property `rootPassword`
440
+ # @return [String]
441
+ attr_accessor :root_password
442
+
443
+ # The status indicating if instance satisfiesPzs. Reserved for future use.
444
+ # Corresponds to the JSON property `satisfiesPzs`
445
+ # @return [Boolean]
446
+ attr_accessor :satisfies_pzs
447
+ alias_method :satisfies_pzs?, :satisfies_pzs
448
+
449
+ # Any scheduled maintenancce for this instance.
450
+ # Corresponds to the JSON property `scheduledMaintenance`
451
+ # @return [Google::Apis::SqladminV1::SqlScheduledMaintenance]
452
+ attr_accessor :scheduled_maintenance
453
+
454
+ # The Compute Engine zone that the failover instance is currently serving from
455
+ # for a regional instance. This value could be different from the zone that was
456
+ # specified when the instance was created if the instance has failed over to its
457
+ # secondary/failover zone. Reserved for future use.
458
+ # Corresponds to the JSON property `secondaryGceZone`
459
+ # @return [String]
460
+ attr_accessor :secondary_gce_zone
461
+
462
+ # The URI of this resource.
463
+ # Corresponds to the JSON property `selfLink`
464
+ # @return [String]
465
+ attr_accessor :self_link
466
+
467
+ # SslCerts Resource
468
+ # Corresponds to the JSON property `serverCaCert`
469
+ # @return [Google::Apis::SqladminV1::SslCert]
470
+ attr_accessor :server_ca_cert
471
+
472
+ # The service account email address assigned to the instance. This property is
473
+ # read-only.
474
+ # Corresponds to the JSON property `serviceAccountEmailAddress`
475
+ # @return [String]
476
+ attr_accessor :service_account_email_address
477
+
478
+ # Database instance settings.
479
+ # Corresponds to the JSON property `settings`
480
+ # @return [Google::Apis::SqladminV1::Settings]
481
+ attr_accessor :settings
482
+
483
+ # The current serving state of the Cloud SQL instance. This can be one of the
484
+ # following. *SQL_INSTANCE_STATE_UNSPECIFIED*: The state of the instance is
485
+ # unknown. *RUNNABLE*: The instance is running, or has been stopped by owner. *
486
+ # SUSPENDED*: The instance is not available, for example due to problems with
487
+ # billing. *PENDING_DELETE*: The instance is being deleted. *PENDING_CREATE*:
488
+ # The instance is being created. *MAINTENANCE*: The instance is down for
489
+ # maintenance. *FAILED*: The instance creation failed.
490
+ # Corresponds to the JSON property `state`
491
+ # @return [String]
492
+ attr_accessor :state
493
+
494
+ # If the instance state is SUSPENDED, the reason for the suspension.
495
+ # Corresponds to the JSON property `suspensionReason`
496
+ # @return [Array<String>]
497
+ attr_accessor :suspension_reason
498
+
499
+ def initialize(**args)
500
+ update!(**args)
501
+ end
502
+
503
+ # Update properties of this object
504
+ def update!(**args)
505
+ @backend_type = args[:backend_type] if args.key?(:backend_type)
506
+ @connection_name = args[:connection_name] if args.key?(:connection_name)
507
+ @current_disk_size = args[:current_disk_size] if args.key?(:current_disk_size)
508
+ @database_version = args[:database_version] if args.key?(:database_version)
509
+ @disk_encryption_configuration = args[:disk_encryption_configuration] if args.key?(:disk_encryption_configuration)
510
+ @disk_encryption_status = args[:disk_encryption_status] if args.key?(:disk_encryption_status)
511
+ @encrypted_root_password = args[:encrypted_root_password] if args.key?(:encrypted_root_password)
512
+ @etag = args[:etag] if args.key?(:etag)
513
+ @failover_replica = args[:failover_replica] if args.key?(:failover_replica)
514
+ @gce_zone = args[:gce_zone] if args.key?(:gce_zone)
515
+ @installed_version = args[:installed_version] if args.key?(:installed_version)
516
+ @instance_type = args[:instance_type] if args.key?(:instance_type)
517
+ @instance_uid = args[:instance_uid] if args.key?(:instance_uid)
518
+ @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
519
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
520
+ @kind = args[:kind] if args.key?(:kind)
521
+ @master_instance = args[:master_instance] if args.key?(:master_instance)
522
+ @master_instance_name = args[:master_instance_name] if args.key?(:master_instance_name)
523
+ @max_disk_size = args[:max_disk_size] if args.key?(:max_disk_size)
524
+ @name = args[:name] if args.key?(:name)
525
+ @on_premises_configuration = args[:on_premises_configuration] if args.key?(:on_premises_configuration)
526
+ @out_of_disk_report = args[:out_of_disk_report] if args.key?(:out_of_disk_report)
527
+ @project = args[:project] if args.key?(:project)
528
+ @region = args[:region] if args.key?(:region)
529
+ @replica_configuration = args[:replica_configuration] if args.key?(:replica_configuration)
530
+ @replica_instances = args[:replica_instances] if args.key?(:replica_instances)
531
+ @replica_names = args[:replica_names] if args.key?(:replica_names)
532
+ @root_password = args[:root_password] if args.key?(:root_password)
533
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
534
+ @scheduled_maintenance = args[:scheduled_maintenance] if args.key?(:scheduled_maintenance)
535
+ @secondary_gce_zone = args[:secondary_gce_zone] if args.key?(:secondary_gce_zone)
536
+ @self_link = args[:self_link] if args.key?(:self_link)
537
+ @server_ca_cert = args[:server_ca_cert] if args.key?(:server_ca_cert)
538
+ @service_account_email_address = args[:service_account_email_address] if args.key?(:service_account_email_address)
539
+ @settings = args[:settings] if args.key?(:settings)
540
+ @state = args[:state] if args.key?(:state)
541
+ @suspension_reason = args[:suspension_reason] if args.key?(:suspension_reason)
542
+ end
543
+
544
+ # The name and status of the failover replica. This property is applicable only
545
+ # to Second Generation instances.
546
+ class FailoverReplica
547
+ include Google::Apis::Core::Hashable
548
+
549
+ # The availability status of the failover replica. A false status indicates that
550
+ # the failover replica is out of sync. The primary instance can only failover to
551
+ # the failover replica when the status is true.
552
+ # Corresponds to the JSON property `available`
553
+ # @return [Boolean]
554
+ attr_accessor :available
555
+ alias_method :available?, :available
556
+
557
+ # Reference to another Cloud SQL instance.
558
+ # Corresponds to the JSON property `failoverInstance`
559
+ # @return [Google::Apis::SqladminV1::InstanceReference]
560
+ attr_accessor :failover_instance
561
+
562
+ # The name of the failover replica. If specified at instance creation, a
563
+ # failover replica is created for the instance. The name doesn't include the
564
+ # project ID. This property is applicable only to Second Generation instances.
565
+ # Corresponds to the JSON property `name`
566
+ # @return [String]
567
+ attr_accessor :name
568
+
569
+ def initialize(**args)
570
+ update!(**args)
571
+ end
572
+
573
+ # Update properties of this object
574
+ def update!(**args)
575
+ @available = args[:available] if args.key?(:available)
576
+ @failover_instance = args[:failover_instance] if args.key?(:failover_instance)
577
+ @name = args[:name] if args.key?(:name)
578
+ end
579
+ end
580
+ end
581
+
582
+ # Deny maintenance Periods. This specifies a date range during when all CSA
583
+ # rollout will be denied.
584
+ class DenyMaintenancePeriod
585
+ include Google::Apis::Core::Hashable
586
+
587
+ # "deny maintenance period" end date. If the year of the end date is empty, the
588
+ # year of the start date also must be empty. In this case, it means the no
589
+ # maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e.,
590
+ # 2020-11-01, or mm-dd, i.e., 11-01
591
+ # Corresponds to the JSON property `endDate`
592
+ # @return [String]
593
+ attr_accessor :end_date
594
+
595
+ # "deny maintenance period" start date. If the year of the start date is empty,
596
+ # the year of the end date also must be empty. In this case, it means the no
597
+ # maintenance interval recurs every year. The date is in format yyyy-mm-dd i.e.,
598
+ # 2020-11-01, or mm-dd, i.e., 11-01
599
+ # Corresponds to the JSON property `startDate`
600
+ # @return [String]
601
+ attr_accessor :start_date
602
+
603
+ # Time in UTC when the "deny maintenance period" starts on start_date and ends
604
+ # on end_date. The time is in format: HH:mm:SS, i.e., 00:00:00
605
+ # Corresponds to the JSON property `time`
606
+ # @return [String]
607
+ attr_accessor :time
608
+
609
+ def initialize(**args)
610
+ update!(**args)
611
+ end
612
+
613
+ # Update properties of this object
614
+ def update!(**args)
615
+ @end_date = args[:end_date] if args.key?(:end_date)
616
+ @start_date = args[:start_date] if args.key?(:start_date)
617
+ @time = args[:time] if args.key?(:time)
618
+ end
619
+ end
620
+
621
+ # Disk encryption configuration for an instance.
622
+ class DiskEncryptionConfiguration
623
+ include Google::Apis::Core::Hashable
624
+
625
+ # This is always **sql#diskEncryptionConfiguration**.
626
+ # Corresponds to the JSON property `kind`
627
+ # @return [String]
628
+ attr_accessor :kind
629
+
630
+ # Resource name of KMS key for disk encryption
631
+ # Corresponds to the JSON property `kmsKeyName`
632
+ # @return [String]
633
+ attr_accessor :kms_key_name
634
+
635
+ def initialize(**args)
636
+ update!(**args)
637
+ end
638
+
639
+ # Update properties of this object
640
+ def update!(**args)
641
+ @kind = args[:kind] if args.key?(:kind)
642
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
643
+ end
644
+ end
645
+
646
+ # Disk encryption status for an instance.
647
+ class DiskEncryptionStatus
648
+ include Google::Apis::Core::Hashable
649
+
650
+ # This is always **sql#diskEncryptionStatus**.
651
+ # Corresponds to the JSON property `kind`
652
+ # @return [String]
653
+ attr_accessor :kind
654
+
655
+ # KMS key version used to encrypt the Cloud SQL instance resource
656
+ # Corresponds to the JSON property `kmsKeyVersionName`
657
+ # @return [String]
658
+ attr_accessor :kms_key_version_name
659
+
660
+ def initialize(**args)
661
+ update!(**args)
662
+ end
663
+
664
+ # Update properties of this object
665
+ def update!(**args)
666
+ @kind = args[:kind] if args.key?(:kind)
667
+ @kms_key_version_name = args[:kms_key_version_name] if args.key?(:kms_key_version_name)
668
+ end
669
+ end
670
+
671
+ # Ephemeral certificate creation request.
672
+ class GenerateEphemeralCertRequest
673
+ include Google::Apis::Core::Hashable
674
+
675
+ # Optional. Access token to include in the signed certificate.
676
+ # Corresponds to the JSON property `access_token`
677
+ # @return [String]
678
+ attr_accessor :access_token
679
+
680
+ # PEM encoded public key to include in the signed certificate.
681
+ # Corresponds to the JSON property `public_key`
682
+ # @return [String]
683
+ attr_accessor :public_key
684
+
685
+ # Optional. Optional snapshot read timestamp to trade freshness for performance.
686
+ # Corresponds to the JSON property `readTime`
687
+ # @return [String]
688
+ attr_accessor :read_time
689
+
690
+ def initialize(**args)
691
+ update!(**args)
692
+ end
693
+
694
+ # Update properties of this object
695
+ def update!(**args)
696
+ @access_token = args[:access_token] if args.key?(:access_token)
697
+ @public_key = args[:public_key] if args.key?(:public_key)
698
+ @read_time = args[:read_time] if args.key?(:read_time)
699
+ end
700
+ end
701
+
702
+ # Ephemeral certificate creation request.
703
+ class GenerateEphemeralCertResponse
704
+ include Google::Apis::Core::Hashable
705
+
706
+ # SslCerts Resource
707
+ # Corresponds to the JSON property `ephemeralCert`
708
+ # @return [Google::Apis::SqladminV1::SslCert]
709
+ attr_accessor :ephemeral_cert
710
+
711
+ def initialize(**args)
712
+ update!(**args)
713
+ end
714
+
715
+ # Update properties of this object
716
+ def update!(**args)
717
+ @ephemeral_cert = args[:ephemeral_cert] if args.key?(:ephemeral_cert)
718
+ end
719
+ end
720
+
721
+ # Insights configuration. This specifies when Cloud SQL Insights feature is
722
+ # enabled and optional configuration.
723
+ class InsightsConfig
724
+ include Google::Apis::Core::Hashable
725
+
726
+ # Whether Query Insights feature is enabled.
727
+ # Corresponds to the JSON property `queryInsightsEnabled`
728
+ # @return [Boolean]
729
+ attr_accessor :query_insights_enabled
730
+ alias_method :query_insights_enabled?, :query_insights_enabled
731
+
732
+ # Number of query plans generated by Insights per minute. Default is 5. Changing
733
+ # this will restart the database.
734
+ # Corresponds to the JSON property `queryPlansPerMinute`
735
+ # @return [Fixnum]
736
+ attr_accessor :query_plans_per_minute
737
+
738
+ # Maximum query length stored in bytes. Default value: 1024 bytes. Range: 256-
739
+ # 4500 bytes. Query length more than this field value will be truncated to this
740
+ # value. When unset, query length will be the default value. Changing query
741
+ # length will restart the database.
742
+ # Corresponds to the JSON property `queryStringLength`
743
+ # @return [Fixnum]
744
+ attr_accessor :query_string_length
745
+
746
+ # Whether Query Insights will record application tags from query when enabled.
747
+ # Corresponds to the JSON property `recordApplicationTags`
748
+ # @return [Boolean]
749
+ attr_accessor :record_application_tags
750
+ alias_method :record_application_tags?, :record_application_tags
751
+
752
+ # Whether Query Insights will record client address when enabled.
753
+ # Corresponds to the JSON property `recordClientAddress`
754
+ # @return [Boolean]
755
+ attr_accessor :record_client_address
756
+ alias_method :record_client_address?, :record_client_address
757
+
758
+ def initialize(**args)
759
+ update!(**args)
760
+ end
761
+
762
+ # Update properties of this object
763
+ def update!(**args)
764
+ @query_insights_enabled = args[:query_insights_enabled] if args.key?(:query_insights_enabled)
765
+ @query_plans_per_minute = args[:query_plans_per_minute] if args.key?(:query_plans_per_minute)
766
+ @query_string_length = args[:query_string_length] if args.key?(:query_string_length)
767
+ @record_application_tags = args[:record_application_tags] if args.key?(:record_application_tags)
768
+ @record_client_address = args[:record_client_address] if args.key?(:record_client_address)
769
+ end
770
+ end
771
+
772
+ # Reference to another Cloud SQL instance.
773
+ class InstanceReference
774
+ include Google::Apis::Core::Hashable
775
+
776
+ # The name of the Cloud SQL instance being referenced.
777
+ # Corresponds to the JSON property `name`
778
+ # @return [String]
779
+ attr_accessor :name
780
+
781
+ # The region of the Cloud SQL instance being referenced.
782
+ # Corresponds to the JSON property `region`
783
+ # @return [String]
784
+ attr_accessor :region
785
+
786
+ def initialize(**args)
787
+ update!(**args)
788
+ end
789
+
790
+ # Update properties of this object
791
+ def update!(**args)
792
+ @name = args[:name] if args.key?(:name)
793
+ @region = args[:region] if args.key?(:region)
794
+ end
795
+ end
796
+
797
+ # Database instances list response.
798
+ class InstancesListResponse
799
+ include Google::Apis::Core::Hashable
800
+
801
+ # List of database instance resources.
802
+ # Corresponds to the JSON property `items`
803
+ # @return [Array<Google::Apis::SqladminV1::DatabaseInstance>]
804
+ attr_accessor :items
805
+
806
+ # This is always *sql#instancesList*.
807
+ # Corresponds to the JSON property `kind`
808
+ # @return [String]
809
+ attr_accessor :kind
810
+
811
+ # The continuation token, used to page through large result sets. Provide this
812
+ # value in a subsequent request to return the next page of results.
813
+ # Corresponds to the JSON property `nextPageToken`
814
+ # @return [String]
815
+ attr_accessor :next_page_token
816
+
817
+ # List of warnings that occurred while handling the request.
818
+ # Corresponds to the JSON property `warnings`
819
+ # @return [Array<Google::Apis::SqladminV1::ApiWarning>]
820
+ attr_accessor :warnings
821
+
822
+ def initialize(**args)
823
+ update!(**args)
824
+ end
825
+
826
+ # Update properties of this object
827
+ def update!(**args)
828
+ @items = args[:items] if args.key?(:items)
829
+ @kind = args[:kind] if args.key?(:kind)
830
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
831
+ @warnings = args[:warnings] if args.key?(:warnings)
832
+ end
833
+ end
834
+
835
+ # IP Management configuration.
836
+ class IpConfiguration
837
+ include Google::Apis::Core::Hashable
838
+
839
+ # The list of external networks that are allowed to connect to the instance
840
+ # using the IP. In 'CIDR' notation, also known as 'slash' notation (for example:
841
+ # **192.168.100.0/24**).
842
+ # Corresponds to the JSON property `authorizedNetworks`
843
+ # @return [Array<Google::Apis::SqladminV1::AclEntry>]
844
+ attr_accessor :authorized_networks
845
+
846
+ # Whether the instance is assigned a public IP address or not.
847
+ # Corresponds to the JSON property `ipv4Enabled`
848
+ # @return [Boolean]
849
+ attr_accessor :ipv4_enabled
850
+ alias_method :ipv4_enabled?, :ipv4_enabled
851
+
852
+ # The resource link for the VPC network from which the Cloud SQL instance is
853
+ # accessible for private IP. For example, **/projects/myProject/global/networks/
854
+ # default**. This setting can be updated, but it cannot be removed after it is
855
+ # set.
856
+ # Corresponds to the JSON property `privateNetwork`
857
+ # @return [String]
858
+ attr_accessor :private_network
859
+
860
+ # Whether SSL connections over IP are enforced or not.
861
+ # Corresponds to the JSON property `requireSsl`
862
+ # @return [Boolean]
863
+ attr_accessor :require_ssl
864
+ alias_method :require_ssl?, :require_ssl
865
+
866
+ def initialize(**args)
867
+ update!(**args)
868
+ end
869
+
870
+ # Update properties of this object
871
+ def update!(**args)
872
+ @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
873
+ @ipv4_enabled = args[:ipv4_enabled] if args.key?(:ipv4_enabled)
874
+ @private_network = args[:private_network] if args.key?(:private_network)
875
+ @require_ssl = args[:require_ssl] if args.key?(:require_ssl)
876
+ end
877
+ end
878
+
879
+ # Database instance IP Mapping.
880
+ class IpMapping
881
+ include Google::Apis::Core::Hashable
882
+
883
+ # The IP address assigned.
884
+ # Corresponds to the JSON property `ipAddress`
885
+ # @return [String]
886
+ attr_accessor :ip_address
887
+
888
+ # The due time for this IP to be retired in [RFC 3339](https://tools.ietf.org/
889
+ # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**. This field is
890
+ # only available when the IP is scheduled to be retired.
891
+ # Corresponds to the JSON property `timeToRetire`
892
+ # @return [String]
893
+ attr_accessor :time_to_retire
894
+
895
+ # The type of this IP address. A **PRIMARY** address is a public address that
896
+ # can accept incoming connections. A **PRIVATE** address is a private address
897
+ # that can accept incoming connections. An **OUTGOING** address is the source
898
+ # address of connections originating from the instance, if supported.
899
+ # Corresponds to the JSON property `type`
900
+ # @return [String]
901
+ attr_accessor :type
902
+
903
+ def initialize(**args)
904
+ update!(**args)
905
+ end
906
+
907
+ # Update properties of this object
908
+ def update!(**args)
909
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
910
+ @time_to_retire = args[:time_to_retire] if args.key?(:time_to_retire)
911
+ @type = args[:type] if args.key?(:type)
912
+ end
913
+ end
914
+
915
+ # Preferred location. This specifies where a Cloud SQL instance is located. Note
916
+ # that if the preferred location is not available, the instance will be located
917
+ # as close as possible within the region. Only one location may be specified.
918
+ class LocationPreference
919
+ include Google::Apis::Core::Hashable
920
+
921
+ # This is always **sql#locationPreference**.
922
+ # Corresponds to the JSON property `kind`
923
+ # @return [String]
924
+ attr_accessor :kind
925
+
926
+ # The preferred Compute Engine zone for the secondary/failover (for example: us-
927
+ # central1-a, us-central1-b, etc.). Reserved for future use.
928
+ # Corresponds to the JSON property `secondaryZone`
929
+ # @return [String]
930
+ attr_accessor :secondary_zone
931
+
932
+ # The preferred Compute Engine zone (for example: us-central1-a, us-central1-b,
933
+ # etc.).
934
+ # Corresponds to the JSON property `zone`
935
+ # @return [String]
936
+ attr_accessor :zone
937
+
938
+ def initialize(**args)
939
+ update!(**args)
940
+ end
941
+
942
+ # Update properties of this object
943
+ def update!(**args)
944
+ @kind = args[:kind] if args.key?(:kind)
945
+ @secondary_zone = args[:secondary_zone] if args.key?(:secondary_zone)
946
+ @zone = args[:zone] if args.key?(:zone)
947
+ end
948
+ end
949
+
950
+ # Maintenance window. This specifies when a Cloud SQL instance is restarted for
951
+ # system maintenance purposes.
952
+ class MaintenanceWindow
953
+ include Google::Apis::Core::Hashable
954
+
955
+ # day of week (1-7), starting on Monday.
956
+ # Corresponds to the JSON property `day`
957
+ # @return [Fixnum]
958
+ attr_accessor :day
959
+
960
+ # hour of day - 0 to 23.
961
+ # Corresponds to the JSON property `hour`
962
+ # @return [Fixnum]
963
+ attr_accessor :hour
964
+
965
+ # This is always **sql#maintenanceWindow**.
966
+ # Corresponds to the JSON property `kind`
967
+ # @return [String]
968
+ attr_accessor :kind
969
+
970
+ # Maintenance timing setting: **canary** (Earlier) or **stable** (Later). [Learn
971
+ # more] (https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/instance-
972
+ # settings#maintenance-timing-2ndgen).
973
+ # Corresponds to the JSON property `updateTrack`
974
+ # @return [String]
975
+ attr_accessor :update_track
976
+
977
+ def initialize(**args)
978
+ update!(**args)
979
+ end
980
+
981
+ # Update properties of this object
982
+ def update!(**args)
983
+ @day = args[:day] if args.key?(:day)
984
+ @hour = args[:hour] if args.key?(:hour)
985
+ @kind = args[:kind] if args.key?(:kind)
986
+ @update_track = args[:update_track] if args.key?(:update_track)
987
+ end
988
+ end
989
+
990
+ # Read-replica configuration specific to MySQL databases.
991
+ class MySqlReplicaConfiguration
992
+ include Google::Apis::Core::Hashable
993
+
994
+ # PEM representation of the trusted CA's x509 certificate.
995
+ # Corresponds to the JSON property `caCertificate`
996
+ # @return [String]
997
+ attr_accessor :ca_certificate
998
+
999
+ # PEM representation of the replica's x509 certificate.
1000
+ # Corresponds to the JSON property `clientCertificate`
1001
+ # @return [String]
1002
+ attr_accessor :client_certificate
1003
+
1004
+ # PEM representation of the replica's private key. The corresponsing public key
1005
+ # is encoded in the client's certificate.
1006
+ # Corresponds to the JSON property `clientKey`
1007
+ # @return [String]
1008
+ attr_accessor :client_key
1009
+
1010
+ # Seconds to wait between connect retries. MySQL's default is 60 seconds.
1011
+ # Corresponds to the JSON property `connectRetryInterval`
1012
+ # @return [Fixnum]
1013
+ attr_accessor :connect_retry_interval
1014
+
1015
+ # Path to a SQL dump file in Google Cloud Storage from which the replica
1016
+ # instance is to be created. The URI is in the form gs://bucketName/fileName.
1017
+ # Compressed gzip files (.gz) are also supported. Dumps have the binlog co-
1018
+ # ordinates from which replication begins. This can be accomplished by setting --
1019
+ # master-data to 1 when using mysqldump.
1020
+ # Corresponds to the JSON property `dumpFilePath`
1021
+ # @return [String]
1022
+ attr_accessor :dump_file_path
1023
+
1024
+ # This is always **sql#mysqlReplicaConfiguration**.
1025
+ # Corresponds to the JSON property `kind`
1026
+ # @return [String]
1027
+ attr_accessor :kind
1028
+
1029
+ # Interval in milliseconds between replication heartbeats.
1030
+ # Corresponds to the JSON property `masterHeartbeatPeriod`
1031
+ # @return [Fixnum]
1032
+ attr_accessor :master_heartbeat_period
1033
+
1034
+ # The password for the replication connection.
1035
+ # Corresponds to the JSON property `password`
1036
+ # @return [String]
1037
+ attr_accessor :password
1038
+
1039
+ # A list of permissible ciphers to use for SSL encryption.
1040
+ # Corresponds to the JSON property `sslCipher`
1041
+ # @return [String]
1042
+ attr_accessor :ssl_cipher
1043
+
1044
+ # The username for the replication connection.
1045
+ # Corresponds to the JSON property `username`
1046
+ # @return [String]
1047
+ attr_accessor :username
1048
+
1049
+ # Whether or not to check the primary instance's Common Name value in the
1050
+ # certificate that it sends during the SSL handshake.
1051
+ # Corresponds to the JSON property `verifyServerCertificate`
1052
+ # @return [Boolean]
1053
+ attr_accessor :verify_server_certificate
1054
+ alias_method :verify_server_certificate?, :verify_server_certificate
1055
+
1056
+ def initialize(**args)
1057
+ update!(**args)
1058
+ end
1059
+
1060
+ # Update properties of this object
1061
+ def update!(**args)
1062
+ @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
1063
+ @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
1064
+ @client_key = args[:client_key] if args.key?(:client_key)
1065
+ @connect_retry_interval = args[:connect_retry_interval] if args.key?(:connect_retry_interval)
1066
+ @dump_file_path = args[:dump_file_path] if args.key?(:dump_file_path)
1067
+ @kind = args[:kind] if args.key?(:kind)
1068
+ @master_heartbeat_period = args[:master_heartbeat_period] if args.key?(:master_heartbeat_period)
1069
+ @password = args[:password] if args.key?(:password)
1070
+ @ssl_cipher = args[:ssl_cipher] if args.key?(:ssl_cipher)
1071
+ @username = args[:username] if args.key?(:username)
1072
+ @verify_server_certificate = args[:verify_server_certificate] if args.key?(:verify_server_certificate)
1073
+ end
1074
+ end
1075
+
1076
+ # On-premises instance configuration.
1077
+ class OnPremisesConfiguration
1078
+ include Google::Apis::Core::Hashable
1079
+
1080
+ # PEM representation of the trusted CA's x509 certificate.
1081
+ # Corresponds to the JSON property `caCertificate`
1082
+ # @return [String]
1083
+ attr_accessor :ca_certificate
1084
+
1085
+ # PEM representation of the replica's x509 certificate.
1086
+ # Corresponds to the JSON property `clientCertificate`
1087
+ # @return [String]
1088
+ attr_accessor :client_certificate
1089
+
1090
+ # PEM representation of the replica's private key. The corresponsing public key
1091
+ # is encoded in the client's certificate.
1092
+ # Corresponds to the JSON property `clientKey`
1093
+ # @return [String]
1094
+ attr_accessor :client_key
1095
+
1096
+ # The dump file to create the Cloud SQL replica.
1097
+ # Corresponds to the JSON property `dumpFilePath`
1098
+ # @return [String]
1099
+ attr_accessor :dump_file_path
1100
+
1101
+ # The host and port of the on-premises instance in host:port format
1102
+ # Corresponds to the JSON property `hostPort`
1103
+ # @return [String]
1104
+ attr_accessor :host_port
1105
+
1106
+ # This is always *sql#onPremisesConfiguration*.
1107
+ # Corresponds to the JSON property `kind`
1108
+ # @return [String]
1109
+ attr_accessor :kind
1110
+
1111
+ # The password for connecting to on-premises instance.
1112
+ # Corresponds to the JSON property `password`
1113
+ # @return [String]
1114
+ attr_accessor :password
1115
+
1116
+ # The username for connecting to on-premises instance.
1117
+ # Corresponds to the JSON property `username`
1118
+ # @return [String]
1119
+ attr_accessor :username
1120
+
1121
+ def initialize(**args)
1122
+ update!(**args)
1123
+ end
1124
+
1125
+ # Update properties of this object
1126
+ def update!(**args)
1127
+ @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
1128
+ @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
1129
+ @client_key = args[:client_key] if args.key?(:client_key)
1130
+ @dump_file_path = args[:dump_file_path] if args.key?(:dump_file_path)
1131
+ @host_port = args[:host_port] if args.key?(:host_port)
1132
+ @kind = args[:kind] if args.key?(:kind)
1133
+ @password = args[:password] if args.key?(:password)
1134
+ @username = args[:username] if args.key?(:username)
1135
+ end
1136
+ end
1137
+
1138
+ # Read-replica configuration for connecting to the primary instance.
1139
+ class ReplicaConfiguration
1140
+ include Google::Apis::Core::Hashable
1141
+
1142
+ # Specifies if the replica is the failover target. If the field is set to *true*
1143
+ # the replica will be designated as a failover replica. In case the primary
1144
+ # instance fails, the replica instance will be promoted as the new primary
1145
+ # instance. Only one replica can be specified as failover target, and the
1146
+ # replica has to be in different zone with the primary instance.
1147
+ # Corresponds to the JSON property `failoverTarget`
1148
+ # @return [Boolean]
1149
+ attr_accessor :failover_target
1150
+ alias_method :failover_target?, :failover_target
1151
+
1152
+ # This is always *sql#replicaConfiguration*.
1153
+ # Corresponds to the JSON property `kind`
1154
+ # @return [String]
1155
+ attr_accessor :kind
1156
+
1157
+ # Read-replica configuration specific to MySQL databases.
1158
+ # Corresponds to the JSON property `mysqlReplicaConfiguration`
1159
+ # @return [Google::Apis::SqladminV1::MySqlReplicaConfiguration]
1160
+ attr_accessor :mysql_replica_configuration
1161
+
1162
+ def initialize(**args)
1163
+ update!(**args)
1164
+ end
1165
+
1166
+ # Update properties of this object
1167
+ def update!(**args)
1168
+ @failover_target = args[:failover_target] if args.key?(:failover_target)
1169
+ @kind = args[:kind] if args.key?(:kind)
1170
+ @mysql_replica_configuration = args[:mysql_replica_configuration] if args.key?(:mysql_replica_configuration)
1171
+ end
1172
+ end
1173
+
1174
+ # Database instance settings.
1175
+ class Settings
1176
+ include Google::Apis::Core::Hashable
1177
+
1178
+ # The activation policy specifies when the instance is activated; it is
1179
+ # applicable only when the instance state is RUNNABLE. Valid values: **ALWAYS**:
1180
+ # The instance is on, and remains so even in the absence of connection requests.
1181
+ # **NEVER**: The instance is off; it is not activated, even if a connection
1182
+ # request arrives.
1183
+ # Corresponds to the JSON property `activationPolicy`
1184
+ # @return [String]
1185
+ attr_accessor :activation_policy
1186
+
1187
+ # Active Directory configuration, relevant only for Cloud SQL for SQL Server.
1188
+ # Corresponds to the JSON property `activeDirectoryConfig`
1189
+ # @return [Google::Apis::SqladminV1::SqlActiveDirectoryConfig]
1190
+ attr_accessor :active_directory_config
1191
+
1192
+ # Availability type. Potential values: **ZONAL**: The instance serves data from
1193
+ # only one zone. Outages in that zone affect data accessibility. **REGIONAL**:
1194
+ # The instance can serve data from more than one zone in a region (it is highly
1195
+ # available). For more information, see [Overview of the High Availability
1196
+ # Configuration](/sql/docs/postgres/high-availability).
1197
+ # Corresponds to the JSON property `availabilityType`
1198
+ # @return [String]
1199
+ attr_accessor :availability_type
1200
+
1201
+ # Database instance backup configuration.
1202
+ # Corresponds to the JSON property `backupConfiguration`
1203
+ # @return [Google::Apis::SqladminV1::BackupConfiguration]
1204
+ attr_accessor :backup_configuration
1205
+
1206
+ # The name of server Instance collation.
1207
+ # Corresponds to the JSON property `collation`
1208
+ # @return [String]
1209
+ attr_accessor :collation
1210
+
1211
+ # Configuration specific to read replica instances. Indicates whether database
1212
+ # flags for crash-safe replication are enabled. This property was only
1213
+ # applicable to First Generation instances.
1214
+ # Corresponds to the JSON property `crashSafeReplicationEnabled`
1215
+ # @return [Boolean]
1216
+ attr_accessor :crash_safe_replication_enabled
1217
+ alias_method :crash_safe_replication_enabled?, :crash_safe_replication_enabled
1218
+
1219
+ # The size of data disk, in GB. The data disk size minimum is 10GB.
1220
+ # Corresponds to the JSON property `dataDiskSizeGb`
1221
+ # @return [Fixnum]
1222
+ attr_accessor :data_disk_size_gb
1223
+
1224
+ # The type of data disk: **PD_SSD** (default) or **PD_HDD**.
1225
+ # Corresponds to the JSON property `dataDiskType`
1226
+ # @return [String]
1227
+ attr_accessor :data_disk_type
1228
+
1229
+ # The database flags passed to the instance at startup.
1230
+ # Corresponds to the JSON property `databaseFlags`
1231
+ # @return [Array<Google::Apis::SqladminV1::DatabaseFlags>]
1232
+ attr_accessor :database_flags
1233
+
1234
+ # Configuration specific to read replica instances. Indicates whether
1235
+ # replication is enabled or not.
1236
+ # Corresponds to the JSON property `databaseReplicationEnabled`
1237
+ # @return [Boolean]
1238
+ attr_accessor :database_replication_enabled
1239
+ alias_method :database_replication_enabled?, :database_replication_enabled
1240
+
1241
+ # Deny maintenance periods
1242
+ # Corresponds to the JSON property `denyMaintenancePeriods`
1243
+ # @return [Array<Google::Apis::SqladminV1::DenyMaintenancePeriod>]
1244
+ attr_accessor :deny_maintenance_periods
1245
+
1246
+ # Insights configuration. This specifies when Cloud SQL Insights feature is
1247
+ # enabled and optional configuration.
1248
+ # Corresponds to the JSON property `insightsConfig`
1249
+ # @return [Google::Apis::SqladminV1::InsightsConfig]
1250
+ attr_accessor :insights_config
1251
+
1252
+ # IP Management configuration.
1253
+ # Corresponds to the JSON property `ipConfiguration`
1254
+ # @return [Google::Apis::SqladminV1::IpConfiguration]
1255
+ attr_accessor :ip_configuration
1256
+
1257
+ # This is always **sql#settings**.
1258
+ # Corresponds to the JSON property `kind`
1259
+ # @return [String]
1260
+ attr_accessor :kind
1261
+
1262
+ # Preferred location. This specifies where a Cloud SQL instance is located. Note
1263
+ # that if the preferred location is not available, the instance will be located
1264
+ # as close as possible within the region. Only one location may be specified.
1265
+ # Corresponds to the JSON property `locationPreference`
1266
+ # @return [Google::Apis::SqladminV1::LocationPreference]
1267
+ attr_accessor :location_preference
1268
+
1269
+ # Maintenance window. This specifies when a Cloud SQL instance is restarted for
1270
+ # system maintenance purposes.
1271
+ # Corresponds to the JSON property `maintenanceWindow`
1272
+ # @return [Google::Apis::SqladminV1::MaintenanceWindow]
1273
+ attr_accessor :maintenance_window
1274
+
1275
+ # The pricing plan for this instance. This can be either **PER_USE** or **
1276
+ # PACKAGE**. Only **PER_USE** is supported for Second Generation instances.
1277
+ # Corresponds to the JSON property `pricingPlan`
1278
+ # @return [String]
1279
+ attr_accessor :pricing_plan
1280
+
1281
+ # The type of replication this instance uses. This can be either **ASYNCHRONOUS**
1282
+ # or **SYNCHRONOUS**. (Deprecated) This property was only applicable to First
1283
+ # Generation instances.
1284
+ # Corresponds to the JSON property `replicationType`
1285
+ # @return [String]
1286
+ attr_accessor :replication_type
1287
+
1288
+ # The version of instance settings. This is a required field for update method
1289
+ # to make sure concurrent updates are handled properly. During update, use the
1290
+ # most recent settingsVersion value for this instance and do not try to update
1291
+ # this value.
1292
+ # Corresponds to the JSON property `settingsVersion`
1293
+ # @return [Fixnum]
1294
+ attr_accessor :settings_version
1295
+
1296
+ # Configuration to increase storage size automatically. The default value is
1297
+ # true.
1298
+ # Corresponds to the JSON property `storageAutoResize`
1299
+ # @return [Boolean]
1300
+ attr_accessor :storage_auto_resize
1301
+ alias_method :storage_auto_resize?, :storage_auto_resize
1302
+
1303
+ # The maximum size to which storage capacity can be automatically increased. The
1304
+ # default value is 0, which specifies that there is no limit.
1305
+ # Corresponds to the JSON property `storageAutoResizeLimit`
1306
+ # @return [Fixnum]
1307
+ attr_accessor :storage_auto_resize_limit
1308
+
1309
+ # The tier (or machine type) for this instance, for example **db-custom-1-3840**.
1310
+ # Corresponds to the JSON property `tier`
1311
+ # @return [String]
1312
+ attr_accessor :tier
1313
+
1314
+ # User-provided labels, represented as a dictionary where each label is a single
1315
+ # key value pair.
1316
+ # Corresponds to the JSON property `userLabels`
1317
+ # @return [Hash<String,String>]
1318
+ attr_accessor :user_labels
1319
+
1320
+ def initialize(**args)
1321
+ update!(**args)
1322
+ end
1323
+
1324
+ # Update properties of this object
1325
+ def update!(**args)
1326
+ @activation_policy = args[:activation_policy] if args.key?(:activation_policy)
1327
+ @active_directory_config = args[:active_directory_config] if args.key?(:active_directory_config)
1328
+ @availability_type = args[:availability_type] if args.key?(:availability_type)
1329
+ @backup_configuration = args[:backup_configuration] if args.key?(:backup_configuration)
1330
+ @collation = args[:collation] if args.key?(:collation)
1331
+ @crash_safe_replication_enabled = args[:crash_safe_replication_enabled] if args.key?(:crash_safe_replication_enabled)
1332
+ @data_disk_size_gb = args[:data_disk_size_gb] if args.key?(:data_disk_size_gb)
1333
+ @data_disk_type = args[:data_disk_type] if args.key?(:data_disk_type)
1334
+ @database_flags = args[:database_flags] if args.key?(:database_flags)
1335
+ @database_replication_enabled = args[:database_replication_enabled] if args.key?(:database_replication_enabled)
1336
+ @deny_maintenance_periods = args[:deny_maintenance_periods] if args.key?(:deny_maintenance_periods)
1337
+ @insights_config = args[:insights_config] if args.key?(:insights_config)
1338
+ @ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
1339
+ @kind = args[:kind] if args.key?(:kind)
1340
+ @location_preference = args[:location_preference] if args.key?(:location_preference)
1341
+ @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
1342
+ @pricing_plan = args[:pricing_plan] if args.key?(:pricing_plan)
1343
+ @replication_type = args[:replication_type] if args.key?(:replication_type)
1344
+ @settings_version = args[:settings_version] if args.key?(:settings_version)
1345
+ @storage_auto_resize = args[:storage_auto_resize] if args.key?(:storage_auto_resize)
1346
+ @storage_auto_resize_limit = args[:storage_auto_resize_limit] if args.key?(:storage_auto_resize_limit)
1347
+ @tier = args[:tier] if args.key?(:tier)
1348
+ @user_labels = args[:user_labels] if args.key?(:user_labels)
1349
+ end
1350
+ end
1351
+
1352
+ # Active Directory configuration, relevant only for Cloud SQL for SQL Server.
1353
+ class SqlActiveDirectoryConfig
1354
+ include Google::Apis::Core::Hashable
1355
+
1356
+ # The name of the domain (e.g., mydomain.com).
1357
+ # Corresponds to the JSON property `domain`
1358
+ # @return [String]
1359
+ attr_accessor :domain
1360
+
1361
+ # This is always sql#activeDirectoryConfig.
1362
+ # Corresponds to the JSON property `kind`
1363
+ # @return [String]
1364
+ attr_accessor :kind
1365
+
1366
+ def initialize(**args)
1367
+ update!(**args)
1368
+ end
1369
+
1370
+ # Update properties of this object
1371
+ def update!(**args)
1372
+ @domain = args[:domain] if args.key?(:domain)
1373
+ @kind = args[:kind] if args.key?(:kind)
1374
+ end
1375
+ end
1376
+
1377
+ # This message wraps up the information written by out-of-disk detection job.
1378
+ class SqlOutOfDiskReport
1379
+ include Google::Apis::Core::Hashable
1380
+
1381
+ # The minimum recommended increase size in GigaBytes This field is consumed by
1382
+ # the frontend Writers: -- the proactive database wellness job for OOD. Readers:
1383
+ # -- the Pantheon frontend
1384
+ # Corresponds to the JSON property `sqlMinRecommendedIncreaseSizeGb`
1385
+ # @return [Fixnum]
1386
+ attr_accessor :sql_min_recommended_increase_size_gb
1387
+
1388
+ # This field represents the state generated by the proactive database wellness
1389
+ # job for OutOfDisk issues. Writers: -- the proactive database wellness job for
1390
+ # OOD. Readers: -- the Pantheon frontend -- the proactive database wellness job
1391
+ # Corresponds to the JSON property `sqlOutOfDiskState`
1392
+ # @return [String]
1393
+ attr_accessor :sql_out_of_disk_state
1394
+
1395
+ def initialize(**args)
1396
+ update!(**args)
1397
+ end
1398
+
1399
+ # Update properties of this object
1400
+ def update!(**args)
1401
+ @sql_min_recommended_increase_size_gb = args[:sql_min_recommended_increase_size_gb] if args.key?(:sql_min_recommended_increase_size_gb)
1402
+ @sql_out_of_disk_state = args[:sql_out_of_disk_state] if args.key?(:sql_out_of_disk_state)
1403
+ end
1404
+ end
1405
+
1406
+ # Any scheduled maintenancce for this instance.
1407
+ class SqlScheduledMaintenance
1408
+ include Google::Apis::Core::Hashable
1409
+
1410
+ #
1411
+ # Corresponds to the JSON property `canDefer`
1412
+ # @return [Boolean]
1413
+ attr_accessor :can_defer
1414
+ alias_method :can_defer?, :can_defer
1415
+
1416
+ # If the scheduled maintenance can be rescheduled.
1417
+ # Corresponds to the JSON property `canReschedule`
1418
+ # @return [Boolean]
1419
+ attr_accessor :can_reschedule
1420
+ alias_method :can_reschedule?, :can_reschedule
1421
+
1422
+ # Maintenance cannot be rescheduled to start beyond this deadline.
1423
+ # Corresponds to the JSON property `scheduleDeadlineTime`
1424
+ # @return [String]
1425
+ attr_accessor :schedule_deadline_time
1426
+
1427
+ # The start time of any upcoming scheduled maintenance for this instance.
1428
+ # Corresponds to the JSON property `startTime`
1429
+ # @return [String]
1430
+ attr_accessor :start_time
1431
+
1432
+ def initialize(**args)
1433
+ update!(**args)
1434
+ end
1435
+
1436
+ # Update properties of this object
1437
+ def update!(**args)
1438
+ @can_defer = args[:can_defer] if args.key?(:can_defer)
1439
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
1440
+ @schedule_deadline_time = args[:schedule_deadline_time] if args.key?(:schedule_deadline_time)
1441
+ @start_time = args[:start_time] if args.key?(:start_time)
1442
+ end
1443
+ end
1444
+
1445
+ # SslCerts Resource
1446
+ class SslCert
1447
+ include Google::Apis::Core::Hashable
1448
+
1449
+ # PEM representation.
1450
+ # Corresponds to the JSON property `cert`
1451
+ # @return [String]
1452
+ attr_accessor :cert
1453
+
1454
+ # Serial number, as extracted from the certificate.
1455
+ # Corresponds to the JSON property `certSerialNumber`
1456
+ # @return [String]
1457
+ attr_accessor :cert_serial_number
1458
+
1459
+ # User supplied name. Constrained to [a-zA-Z.-_ ]+.
1460
+ # Corresponds to the JSON property `commonName`
1461
+ # @return [String]
1462
+ attr_accessor :common_name
1463
+
1464
+ # The time when the certificate was created in [RFC 3339](https://tools.ietf.org/
1465
+ # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**
1466
+ # Corresponds to the JSON property `createTime`
1467
+ # @return [String]
1468
+ attr_accessor :create_time
1469
+
1470
+ # The time when the certificate expires in [RFC 3339](https://tools.ietf.org/
1471
+ # html/rfc3339) format, for example **2012-11-15T16:19:00.094Z**.
1472
+ # Corresponds to the JSON property `expirationTime`
1473
+ # @return [String]
1474
+ attr_accessor :expiration_time
1475
+
1476
+ # Name of the database instance.
1477
+ # Corresponds to the JSON property `instance`
1478
+ # @return [String]
1479
+ attr_accessor :instance
1480
+
1481
+ # This is always sql#sslCert.
1482
+ # Corresponds to the JSON property `kind`
1483
+ # @return [String]
1484
+ attr_accessor :kind
1485
+
1486
+ # Sha1 Fingerprint.
1487
+ # Corresponds to the JSON property `sha1Fingerprint`
1488
+ # @return [String]
1489
+ attr_accessor :sha1_fingerprint
1490
+
1491
+ def initialize(**args)
1492
+ update!(**args)
1493
+ end
1494
+
1495
+ # Update properties of this object
1496
+ def update!(**args)
1497
+ @cert = args[:cert] if args.key?(:cert)
1498
+ @cert_serial_number = args[:cert_serial_number] if args.key?(:cert_serial_number)
1499
+ @common_name = args[:common_name] if args.key?(:common_name)
1500
+ @create_time = args[:create_time] if args.key?(:create_time)
1501
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
1502
+ @instance = args[:instance] if args.key?(:instance)
1503
+ @kind = args[:kind] if args.key?(:kind)
1504
+ @sha1_fingerprint = args[:sha1_fingerprint] if args.key?(:sha1_fingerprint)
1505
+ end
1506
+ end
1507
+
1508
+ # SslCerts create ephemeral certificate request.
1509
+ class SslCertsCreateEphemeralRequest
1510
+ include Google::Apis::Core::Hashable
1511
+
1512
+ # Access token to include in the signed certificate.
1513
+ # Corresponds to the JSON property `access_token`
1514
+ # @return [String]
1515
+ attr_accessor :access_token
1516
+
1517
+ # PEM encoded public key to include in the signed certificate.
1518
+ # Corresponds to the JSON property `public_key`
1519
+ # @return [String]
1520
+ attr_accessor :public_key
1521
+
1522
+ def initialize(**args)
1523
+ update!(**args)
1524
+ end
1525
+
1526
+ # Update properties of this object
1527
+ def update!(**args)
1528
+ @access_token = args[:access_token] if args.key?(:access_token)
1529
+ @public_key = args[:public_key] if args.key?(:public_key)
1530
+ end
1531
+ end
24
1532
  end
25
1533
  end
26
1534
  end