Class: Google::Apis::AlloydbV1beta::Cluster

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/alloydb_v1beta/classes.rb,
lib/google/apis/alloydb_v1beta/representations.rb,
lib/google/apis/alloydb_v1beta/representations.rb

Overview

A cluster is a collection of regional AlloyDB resources. It can include a primary instance and one or more read pool instances. All cluster resources share a storage layer, which scales as needed.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Cluster

Returns a new instance of Cluster.



560
561
562
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 560

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#annotations ⇒ Hash<String,String>

Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128 Corresponds to the JSON property annotations

Returns:

  • (Hash<String,String>)


382
383
384
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 382

def annotations
  @annotations
end

#automated_backup_policy ⇒ Google::Apis::AlloydbV1beta::AutomatedBackupPolicy

Message describing the user-specified automated backup policy. All fields in the automated backup policy are optional. Defaults for each field are provided if they are not set. Corresponds to the JSON property automatedBackupPolicy



389
390
391
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 389

def automated_backup_policy
  @automated_backup_policy
end

#backup_source ⇒ Google::Apis::AlloydbV1beta::BackupSource

Message describing a BackupSource. Corresponds to the JSON property backupSource



394
395
396
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 394

def backup_source
  @backup_source
end

#cluster_type ⇒ String

Output only. The type of the cluster. This is an output-only field and it's populated at the Cluster creation time or the Cluster promotion time. The cluster type is determined by which RPC was used to create the cluster (i.e. CreateCluster vs. CreateSecondaryCluster Corresponds to the JSON property clusterType

Returns:

  • (String)


402
403
404
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 402

def cluster_type
  @cluster_type
end

#continuous_backup_config ⇒ Google::Apis::AlloydbV1beta::ContinuousBackupConfig

ContinuousBackupConfig describes the continuous backups recovery configurations of a cluster. Corresponds to the JSON property continuousBackupConfig



408
409
410
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 408

def continuous_backup_config
  @continuous_backup_config
end

#continuous_backup_info ⇒ Google::Apis::AlloydbV1beta::ContinuousBackupInfo

ContinuousBackupInfo describes the continuous backup properties of a cluster. Corresponds to the JSON property continuousBackupInfo



413
414
415
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 413

def continuous_backup_info
  @continuous_backup_info
end

#create_time ⇒ String

Output only. Create time stamp Corresponds to the JSON property createTime

Returns:

  • (String)


418
419
420
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 418

def create_time
  @create_time
end

#database_version ⇒ String

Optional. The database engine major version. This is an optional field and it is populated at the Cluster creation time. If a database version is not supplied at cluster creation time, then a default database version will be used. Corresponds to the JSON property databaseVersion

Returns:

  • (String)


426
427
428
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 426

def database_version
  @database_version
end

#delete_time ⇒ String

Output only. Delete time stamp Corresponds to the JSON property deleteTime

Returns:

  • (String)


431
432
433
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 431

def delete_time
  @delete_time
end

#display_name ⇒ String

User-settable and human-readable display name for the Cluster. Corresponds to the JSON property displayName

Returns:

  • (String)


436
437
438
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 436

def display_name
  @display_name
end

#encryption_config ⇒ Google::Apis::AlloydbV1beta::EncryptionConfig

EncryptionConfig describes the encryption config of a cluster or a backup that is encrypted with a CMEK (customer-managed encryption key). Corresponds to the JSON property encryptionConfig



442
443
444
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 442

def encryption_config
  @encryption_config
end

#encryption_info ⇒ Google::Apis::AlloydbV1beta::EncryptionInfo

EncryptionInfo describes the encryption information of a cluster or a backup. Corresponds to the JSON property encryptionInfo



447
448
449
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 447

def encryption_info
  @encryption_info
end

#etag ⇒ String

For Resource freshness validation (https://google.aip.dev/154) Corresponds to the JSON property etag

Returns:

  • (String)


452
453
454
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 452

def etag
  @etag
end

#gemini_config ⇒ Google::Apis::AlloydbV1beta::GeminiClusterConfig

Cluster level configuration parameters related to the Gemini in Databases add- on. See go/prd-enable-duet-ai-databases for more details. Corresponds to the JSON property geminiConfig



458
459
460
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 458

def gemini_config
  @gemini_config
end

#initial_user ⇒ Google::Apis::AlloydbV1beta::UserPassword

The username/password for a database user. Used for specifying initial users at cluster creation time. Corresponds to the JSON property initialUser



464
465
466
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 464

def initial_user
  @initial_user
end

#labels ⇒ Hash<String,String>

Labels as key value pairs Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


469
470
471
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 469

def labels
  @labels
end

#maintenance_update_policy ⇒ Google::Apis::AlloydbV1beta::MaintenanceUpdatePolicy

MaintenanceUpdatePolicy defines the policy for system updates. Corresponds to the JSON property maintenanceUpdatePolicy



474
475
476
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 474

def maintenance_update_policy
  @maintenance_update_policy
end

#migration_source ⇒ Google::Apis::AlloydbV1beta::MigrationSource

Subset of the source instance configuration that is available when reading the cluster resource. Corresponds to the JSON property migrationSource



480
481
482
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 480

def migration_source
  @migration_source
end

#name ⇒ String

Output only. The name of the cluster resource with the format: * projects/ project/locations/region/clusters/cluster_id where the cluster ID segment should satisfy the regex expression [a-z0-9-]+. For more details see https:// google.aip.dev/122. The prefix of the cluster resource name is the name of the parent resource: * projects/project/locations/region Corresponds to the JSON property name

Returns:

  • (String)


489
490
491
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 489

def name
  @name
end

#network ⇒ String

Required. The resource link for the VPC network in which cluster resources are created and from which they are accessible via Private IP. The network must belong to the same project as the cluster. It is specified in the form: projects/project/global/networks/network_id`. This is required to create a cluster. Deprecated, use network_config.network instead. Corresponds to the JSON propertynetwork`

Returns:

  • (String)


498
499
500
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 498

def network
  @network
end

#network_config ⇒ Google::Apis::AlloydbV1beta::NetworkConfig

Metadata related to network configuration. Corresponds to the JSON property networkConfig



503
504
505
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 503

def network_config
  @network_config
end

#primary_config ⇒ Google::Apis::AlloydbV1beta::PrimaryConfig

Configuration for the primary cluster. It has the list of clusters that are replicating from this cluster. This should be set if and only if the cluster is of type PRIMARY. Corresponds to the JSON property primaryConfig



510
511
512
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 510

def primary_config
  @primary_config
end

#psc_config ⇒ Google::Apis::AlloydbV1beta::PscConfig

PscConfig contains PSC related configuration at a cluster level. Corresponds to the JSON property pscConfig



515
516
517
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 515

def psc_config
  @psc_config
end

#reconciling ⇒ Boolean Also known as: reconciling?

Output only. Reconciling (https://google.aip.dev/128#reconciliation). Set to true if the current state of Cluster does not match the user's intended state, and the service is actively updating the resource to reconcile them. This can happen due to user-triggered updates or system actions like failover or maintenance. Corresponds to the JSON property reconciling

Returns:

  • (Boolean)


524
525
526
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 524

def reconciling
  @reconciling
end

#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?

Output only. Reserved for future use. Corresponds to the JSON property satisfiesPzs

Returns:

  • (Boolean)


530
531
532
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 530

def satisfies_pzs
  @satisfies_pzs
end

#secondary_config ⇒ Google::Apis::AlloydbV1beta::SecondaryConfig

Configuration information for the secondary cluster. This should be set if and only if the cluster is of type SECONDARY. Corresponds to the JSON property secondaryConfig



537
538
539
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 537

def secondary_config
  @secondary_config
end

#ssl_config ⇒ Google::Apis::AlloydbV1beta::SslConfig

SSL configuration. Corresponds to the JSON property sslConfig



542
543
544
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 542

def ssl_config
  @ssl_config
end

#state ⇒ String

Output only. The current serving state of the cluster. Corresponds to the JSON property state

Returns:

  • (String)


547
548
549
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 547

def state
  @state
end

#uid ⇒ String

Output only. The system-generated UID of the resource. The UID is assigned when the resource is created, and it is retained until it is deleted. Corresponds to the JSON property uid

Returns:

  • (String)


553
554
555
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 553

def uid
  @uid
end

#update_time ⇒ String

Output only. Update time stamp Corresponds to the JSON property updateTime

Returns:

  • (String)


558
559
560
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 558

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
# File 'lib/google/apis/alloydb_v1beta/classes.rb', line 565

def update!(**args)
  @annotations = args[:annotations] if args.key?(:annotations)
  @automated_backup_policy = args[:automated_backup_policy] if args.key?(:automated_backup_policy)
  @backup_source = args[:backup_source] if args.key?(:backup_source)
  @cluster_type = args[:cluster_type] if args.key?(:cluster_type)
  @continuous_backup_config = args[:continuous_backup_config] if args.key?(:continuous_backup_config)
  @continuous_backup_info = args[:continuous_backup_info] if args.key?(:continuous_backup_info)
  @create_time = args[:create_time] if args.key?(:create_time)
  @database_version = args[:database_version] if args.key?(:database_version)
  @delete_time = args[:delete_time] if args.key?(:delete_time)
  @display_name = args[:display_name] if args.key?(:display_name)
  @encryption_config = args[:encryption_config] if args.key?(:encryption_config)
  @encryption_info = args[:encryption_info] if args.key?(:encryption_info)
  @etag = args[:etag] if args.key?(:etag)
  @gemini_config = args[:gemini_config] if args.key?(:gemini_config)
  @initial_user = args[:initial_user] if args.key?(:initial_user)
  @labels = args[:labels] if args.key?(:labels)
  @maintenance_update_policy = args[:maintenance_update_policy] if args.key?(:maintenance_update_policy)
  @migration_source = args[:migration_source] if args.key?(:migration_source)
  @name = args[:name] if args.key?(:name)
  @network = args[:network] if args.key?(:network)
  @network_config = args[:network_config] if args.key?(:network_config)
  @primary_config = args[:primary_config] if args.key?(:primary_config)
  @psc_config = args[:psc_config] if args.key?(:psc_config)
  @reconciling = args[:reconciling] if args.key?(:reconciling)
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
  @secondary_config = args[:secondary_config] if args.key?(:secondary_config)
  @ssl_config = args[:ssl_config] if args.key?(:ssl_config)
  @state = args[:state] if args.key?(:state)
  @uid = args[:uid] if args.key?(:uid)
  @update_time = args[:update_time] if args.key?(:update_time)
end