Class: Google::Apis::AlloydbV1alpha::Cluster

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/alloydb_v1alpha/classes.rb,
lib/google/apis/alloydb_v1alpha/representations.rb,
lib/google/apis/alloydb_v1alpha/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.



901
902
903
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 901

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

Instance Attribute Details

#annotationsHash<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>)


659
660
661
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 659

def annotations
  @annotations
end

#automated_backup_policyGoogle::Apis::AlloydbV1alpha::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



666
667
668
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 666

def automated_backup_policy
  @automated_backup_policy
end

#backup_sourceGoogle::Apis::AlloydbV1alpha::BackupSource

Message describing a BackupSource. Corresponds to the JSON property backupSource



671
672
673
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 671

def backup_source
  @backup_source
end

#backupdr_backup_sourceGoogle::Apis::AlloydbV1alpha::BackupDrBackupSource

Message describing a BackupDrBackupSource. Corresponds to the JSON property backupdrBackupSource



676
677
678
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 676

def backupdr_backup_source
  @backupdr_backup_source
end

#backupdr_infoGoogle::Apis::AlloydbV1alpha::BackupDrInfo

Information about BackupDR protection for this cluster. Corresponds to the JSON property backupdrInfo



681
682
683
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 681

def backupdr_info
  @backupdr_info
end

#cloudsql_backup_run_sourceGoogle::Apis::AlloydbV1alpha::CloudSqlBackupRunSource

The source CloudSQL backup resource. Corresponds to the JSON property cloudsqlBackupRunSource



686
687
688
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 686

def cloudsql_backup_run_source
  @cloudsql_backup_run_source
end

#cluster_typeString

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)


694
695
696
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 694

def cluster_type
  @cluster_type
end

#continuous_backup_configGoogle::Apis::AlloydbV1alpha::ContinuousBackupConfig

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



700
701
702
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 700

def continuous_backup_config
  @continuous_backup_config
end

#continuous_backup_infoGoogle::Apis::AlloydbV1alpha::ContinuousBackupInfo

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



705
706
707
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 705

def continuous_backup_info
  @continuous_backup_info
end

#create_timeString

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

Returns:

  • (String)


710
711
712
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 710

def create_time
  @create_time
end

#database_versionString

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)


718
719
720
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 718

def database_version
  @database_version
end

#dataplex_configGoogle::Apis::AlloydbV1alpha::DataplexConfig

Configuration for Dataplex integration. Corresponds to the JSON property dataplexConfig



723
724
725
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 723

def dataplex_config
  @dataplex_config
end

#delete_timeString

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

Returns:

  • (String)


728
729
730
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 728

def delete_time
  @delete_time
end

#display_nameString

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

Returns:

  • (String)


733
734
735
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 733

def display_name
  @display_name
end

#encryption_configGoogle::Apis::AlloydbV1alpha::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



739
740
741
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 739

def encryption_config
  @encryption_config
end

#encryption_infoGoogle::Apis::AlloydbV1alpha::EncryptionInfo

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



744
745
746
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 744

def encryption_info
  @encryption_info
end

#etagString

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

Returns:

  • (String)


749
750
751
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 749

def etag
  @etag
end

#gemini_configGoogle::Apis::AlloydbV1alpha::GeminiClusterConfig

Deprecated and unused. This message will be removed in the near future. Corresponds to the JSON property geminiConfig



754
755
756
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 754

def gemini_config
  @gemini_config
end

#initial_userGoogle::Apis::AlloydbV1alpha::UserPassword

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



760
761
762
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 760

def initial_user
  @initial_user
end

#labelsHash<String,String>

Labels as key value pairs Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


765
766
767
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 765

def labels
  @labels
end

#maintenance_scheduleGoogle::Apis::AlloydbV1alpha::MaintenanceSchedule

MaintenanceSchedule stores the maintenance schedule generated from the MaintenanceUpdatePolicy, once a maintenance rollout is triggered, if MaintenanceWindow is set, and if there is no conflicting DenyPeriod. The schedule is cleared once the update takes place. This field cannot be manually changed; modify the MaintenanceUpdatePolicy instead. Corresponds to the JSON property maintenanceSchedule



774
775
776
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 774

def maintenance_schedule
  @maintenance_schedule
end

#maintenance_update_policyGoogle::Apis::AlloydbV1alpha::MaintenanceUpdatePolicy

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



779
780
781
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 779

def maintenance_update_policy
  @maintenance_update_policy
end

#maintenance_version_selection_policyString

Input only. Policy to use to automatically select the maintenance version to which to update the cluster's instances. Corresponds to the JSON property maintenanceVersionSelectionPolicy

Returns:

  • (String)


785
786
787
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 785

def maintenance_version_selection_policy
  @maintenance_version_selection_policy
end

#migration_sourceGoogle::Apis::AlloydbV1alpha::MigrationSource

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



791
792
793
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 791

def migration_source
  @migration_source
end

#nameString

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)


800
801
802
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 800

def name
  @name
end

#networkString

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)


809
810
811
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 809

def network
  @network
end

#network_configGoogle::Apis::AlloydbV1alpha::NetworkConfig

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



814
815
816
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 814

def network_config
  @network_config
end

#primary_configGoogle::Apis::AlloydbV1alpha::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



821
822
823
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 821

def primary_config
  @primary_config
end

#psc_configGoogle::Apis::AlloydbV1alpha::PscConfig

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



826
827
828
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 826

def psc_config
  @psc_config
end

#reconcilingBoolean 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)


835
836
837
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 835

def reconciling
  @reconciling
end

#satisfies_pziBoolean Also known as: satisfies_pzi?

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

Returns:

  • (Boolean)


841
842
843
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 841

def satisfies_pzi
  @satisfies_pzi
end

#satisfies_pzsBoolean Also known as: satisfies_pzs?

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

Returns:

  • (Boolean)


847
848
849
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 847

def satisfies_pzs
  @satisfies_pzs
end

#secondary_configGoogle::Apis::AlloydbV1alpha::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



854
855
856
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 854

def secondary_config
  @secondary_config
end

#service_account_emailString

Output only. AlloyDB per-cluster service account. This service account is created per-cluster per-project, and is different from the per-project service account. The per-cluster service account naming format is subject to change. Corresponds to the JSON property serviceAccountEmail

Returns:

  • (String)


861
862
863
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 861

def 
  @service_account_email
end

#ssl_configGoogle::Apis::AlloydbV1alpha::SslConfig

SSL configuration. Corresponds to the JSON property sslConfig



866
867
868
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 866

def ssl_config
  @ssl_config
end

#stateString

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

Returns:

  • (String)


871
872
873
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 871

def state
  @state
end

#subscription_typeString

Optional. Subscription type of the cluster. Corresponds to the JSON property subscriptionType

Returns:

  • (String)


876
877
878
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 876

def subscription_type
  @subscription_type
end

#tagsHash<String,String>

Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": " marketing" Corresponds to the JSON property tags

Returns:

  • (Hash<String,String>)


883
884
885
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 883

def tags
  @tags
end

#trial_metadataGoogle::Apis::AlloydbV1alpha::TrialMetadata

Contains information and all metadata related to TRIAL clusters. Corresponds to the JSON property trialMetadata



888
889
890
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 888

def 
  @trial_metadata
end

#uidString

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)


894
895
896
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 894

def uid
  @uid
end

#update_timeString

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

Returns:

  • (String)


899
900
901
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 899

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
# File 'lib/google/apis/alloydb_v1alpha/classes.rb', line 906

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)
  @backupdr_backup_source = args[:backupdr_backup_source] if args.key?(:backupdr_backup_source)
  @backupdr_info = args[:backupdr_info] if args.key?(:backupdr_info)
  @cloudsql_backup_run_source = args[:cloudsql_backup_run_source] if args.key?(:cloudsql_backup_run_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)
  @dataplex_config = args[:dataplex_config] if args.key?(:dataplex_config)
  @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_schedule = args[:maintenance_schedule] if args.key?(:maintenance_schedule)
  @maintenance_update_policy = args[:maintenance_update_policy] if args.key?(:maintenance_update_policy)
  @maintenance_version_selection_policy = args[:maintenance_version_selection_policy] if args.key?(:maintenance_version_selection_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_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
  @secondary_config = args[:secondary_config] if args.key?(:secondary_config)
  @service_account_email = args[:service_account_email] if args.key?(:service_account_email)
  @ssl_config = args[:ssl_config] if args.key?(:ssl_config)
  @state = args[:state] if args.key?(:state)
  @subscription_type = args[:subscription_type] if args.key?(:subscription_type)
  @tags = args[:tags] if args.key?(:tags)
  @trial_metadata = args[:trial_metadata] if args.key?(:trial_metadata)
  @uid = args[:uid] if args.key?(:uid)
  @update_time = args[:update_time] if args.key?(:update_time)
end