Class Backup (2.12.0)

Backup(
    backup_id,
    instance,
    cluster_id=None,
    table_id=None,
    expire_time=None,
    encryption_info=None,
)

Representation of a Google Cloud Bigtable Backup.

A :class: Backup can be used to:

  • create the backup
  • update the backup
  • delete the backup

Parameters

NameDescription
backup_id str

The ID of the backup.

instance Instance

The Instance that owns this Backup.

cluster_id str

(Optional) The ID of the Cluster that contains this Backup. Required for calling 'delete', 'exists' etc. methods.

table_id str

(Optional) The ID of the Table that the Backup is for. Required if the 'create' method will be called.

expire_time datetime.datetime

(Optional) The expiration time after which the Backup will be automatically deleted. Required if the create method will be called.

Properties

cluster

The ID of the [parent] cluster used in requests.

Returns
TypeDescription
strThe ID of the cluster containing the Backup.

encryption_info

Encryption info for this Backup.

Returns
TypeDescription
EncryptionInfoThe encryption information for this backup.

end_time

The time this Backup was finished.

Returns
TypeDescription
datetime.datetimeA 'datetime' object representing the time when the creation of this Backup was finished.

expire_time

Expiration time used in the creation requests.

Returns
TypeDescription
datetime.datetimeA 'datetime' object representing the expiration time of this Backup.

name

Backup name used in requests.

The Backup name is of the form

`"projects/../instances/../clusters/../backups/{backup_id}"`
Exceptions
TypeDescription
ValueErrorIf the 'cluster' has not been set.
Returns
TypeDescription
strThe Backup name.

parent

Name of the parent cluster used in requests.

The parent name is of the form

`"projects/{project}/instances/{instance_id}/clusters/{cluster}"`
Returns
TypeDescription
strA full path to the parent cluster.

size_bytes

The size of this Backup, in bytes.

Returns
TypeDescription
intThe size of this Backup, in bytes.

source_table

The full name of the Table from which this Backup is created.

The table name is of the form

`"projects/../instances/../tables/{source_table}"`
Returns
TypeDescription
strThe Table name.

start_time

The time this Backup was started.

Returns
TypeDescription
datetime.datetimeA 'datetime' object representing the time when the creation of this Backup had started.

state

The current state of this Backup.

Returns
TypeDescription
StateThe current state of this Backup.

Methods

create

create(cluster_id=None)

Creates this backup within its instance.

Parameter
NameDescription
cluster_id str

(Optional) The ID of the Cluster for the newly created Backup.

Exceptions
TypeDescription
Conflictif the Backup already exists
NotFoundif the Instance owning the Backup does not exist
BadRequestif the table or expire_time values are invalid, or expire_time is not set
Returns
TypeDescription
google.api_core.operation.Operation_OperationFuture instance, to be used to poll the status of the 'create' request

delete

delete()

Delete this Backup.

exists

exists()

Tests whether this Backup exists.

Returns
TypeDescription
boolTrue if the Backup exists, else False.

from_pb

from_pb(backup_pb, instance)

Creates a Backup instance from a protobuf message.

Parameters
NameDescription
backup_pb table.Backup

A Backup protobuf object.

instance Instance

The Instance that owns the Backup.

Exceptions
TypeDescription
ValueErrorIf the backup name does not match the expected format or the parsed project ID does not match the project ID on the Instance's client, or if the parsed instance ID does not match the Instance ID.
Returns
TypeDescription
BackupThe backup parsed from the protobuf response.

get

get()

Retrieves metadata of a pending or completed Backup.

Exceptions
TypeDescription
google.api_core.exceptions.GoogleAPICallErrorIf the request failed for any reason.
google.api_core.exceptions.RetryErrorIf the request failed due to a retryable error and retry attempts failed.
ValueErrorIf the parameters are invalid.

get_iam_policy

get_iam_policy()

Gets the IAM access control policy for this backup.

Returns
TypeDescription
PolicyThe current IAM policy of this backup.

reload

reload()

Refreshes the stored backup properties.

restore

restore(table_id, instance_id=None)

Creates a new Table by restoring from this Backup. The new Table can be created in the same Instance as the Instance containing the Backup, or another Instance whose ID can be specified in the arguments. The returned Table long-running operation can be used to track the progress of the operation and to cancel it. The response type is Table, if successful.

Parameters
NameDescription
table_id str

The ID of the Table to create and restore to. This Table must not already exist.

instance_id str

(Optional) The ID of the Instance to restore the backup into, if different from the current one.

Exceptions
TypeDescription
google.api_core.exceptions.AlreadyExistsIf the table already exists.
google.api_core.exceptions.GoogleAPICallErrorIf the request failed for any reason.
google.api_core.exceptions.RetryErrorIf the request failed due to a retryable error and retry attempts failed.
ValueErrorIf the parameters are invalid.
Returns
TypeDescription
_OperationFutureA future to be used to poll the status of the 'restore' request.

set_iam_policy

set_iam_policy(policy)

Sets the IAM access control policy for this backup. Replaces any existing policy.

For more information about policy, please see documentation of class google.cloud.bigtable.policy.Policy

Parameter
NameDescription
policy Policy

A new IAM policy to replace the current IAM policy of this backup.

Returns
TypeDescription
PolicyThe current IAM policy of this backup.

test_iam_permissions

test_iam_permissions(permissions)

Tests whether the caller has the given permissions for this backup. Returns the permissions that the caller has.

Parameter
NameDescription
permissions list

The set of permissions to check for the resource. Permissions with wildcards (such as '' or 'storage.') are not allowed. For more information see IAM Overview https://cloud.google.com/iam/docs/overview#permissions. Bigtable Permissions https://cloud.google.com/bigtable/docs/access-control.

Returns
TypeDescription
listA List(string) of permissions allowed on the backup.

update_expire_time

update_expire_time(new_expire_time)

Update the expire time of this Backup.

Parameter
NameDescription
new_expire_time datetime.datetime

the new expiration time timestamp