class Google::Cloud::Bigtable::Cluster::Job

# Job

A resource representing the long-running, asynchronous processing of an cluster create or update operation. The job can be refreshed to retrieve the cluster object once the operation has been completed.

See {Instance#create_cluster} and {Cluster#save}.

@see cloud.google.com/bigtable/docs/reference/admin/rpc/google.longrunning#google.longrunning.Operation

Long-running Operation

@example

require "google/cloud/bigtable"

bigtable = Google::Cloud::Bigtable.new

instance = bigtable.instance "my-instance"
job = instance.create_cluster(
  "my-new-cluster",
  "us-east-1b",
  nodes: 3,
  storage_type: :SSD
)

job.done? #=> false
job.reload! # API call
job.done? #=> true

# OR wail until  complete
job.wait_until_done!

if job.error?
  status = job.error
else
  cluster = job.cluster
end

Public Instance Methods

cluster() click to toggle source

Gets the cluster object from job results

@return [Google::Cloud::Bigtable::Cluster, nil] The cluster instance, or

`nil` if the operation is not complete.

@example

require "google/cloud/bigtable"

bigtable = Google::Cloud::Bigtable.new

instance = bigtable.instance "my-instance"
job = instance.create_cluster(
  "my-new-cluster",
  "us-east-1b",
  nodes: 3,
  storage_type: :SSD
)

job.wait_until_done!
cluster = job.cluster
# File lib/google/cloud/bigtable/cluster/job.rb, line 81
def cluster
  Cluster.from_grpc results, service if results
end