Class: Google::Apis::BigtableadminV2::Cluster

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

Overview

A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Cluster

Returns a new instance of Cluster.



679
680
681
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 679

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

Instance Attribute Details

#cluster_configGoogle::Apis::BigtableadminV2::ClusterConfig

Configuration for a cluster. Corresponds to the JSON property clusterConfig



635
636
637
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 635

def cluster_config
  @cluster_config
end

#default_storage_typeString

Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden. Corresponds to the JSON property defaultStorageType

Returns:

  • (String)


641
642
643
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 641

def default_storage_type
  @default_storage_type
end

#encryption_configGoogle::Apis::BigtableadminV2::EncryptionConfig

Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected cluster. Corresponds to the JSON property encryptionConfig



646
647
648
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 646

def encryption_config
  @encryption_config
end

#locationString

Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form projects/project/locations/zone`. Corresponds to the JSON propertylocation`

Returns:

  • (String)


654
655
656
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 654

def location
  @location
end

#nameString

The unique name of the cluster. Values are of the form projects/project/ instances/instance/clusters/a-z*. Corresponds to the JSON property name

Returns:

  • (String)


660
661
662
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 660

def name
  @name
end

#node_scaling_factorString

Immutable. The node scaling factor of this cluster. Corresponds to the JSON property nodeScalingFactor

Returns:

  • (String)


665
666
667
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 665

def node_scaling_factor
  @node_scaling_factor
end

#serve_nodesFixnum

The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. Corresponds to the JSON property serveNodes

Returns:

  • (Fixnum)


672
673
674
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 672

def serve_nodes
  @serve_nodes
end

#stateString

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

Returns:

  • (String)


677
678
679
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 677

def state
  @state
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



684
685
686
687
688
689
690
691
692
693
# File 'lib/google/apis/bigtableadmin_v2/classes.rb', line 684

def update!(**args)
  @cluster_config = args[:cluster_config] if args.key?(:cluster_config)
  @default_storage_type = args[:default_storage_type] if args.key?(:default_storage_type)
  @encryption_config = args[:encryption_config] if args.key?(:encryption_config)
  @location = args[:location] if args.key?(:location)
  @name = args[:name] if args.key?(:name)
  @node_scaling_factor = args[:node_scaling_factor] if args.key?(:node_scaling_factor)
  @serve_nodes = args[:serve_nodes] if args.key?(:serve_nodes)
  @state = args[:state] if args.key?(:state)
end