google-apis-sqladmin_v1 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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