Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions samples/samples/backup_sample.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ def create_backup_with_encryption_key(

# [END spanner_create_backup_with_encryption_key]


# [START spanner_create_backup_with_MR_CMEK]
def create_backup_with_multiple_kms_keys(
instance_id, database_id, backup_id, kms_key_names
Expand Down Expand Up @@ -246,6 +247,7 @@ def restore_database_with_encryption_key(

# [END spanner_restore_backup_with_encryption_key]


# [START spanner_restore_backup_with_MR_CMEK]
def restore_database_with_multiple_kms_keys(
instance_id, new_database_id, backup_id, kms_key_names
Expand Down Expand Up @@ -697,6 +699,7 @@ def copy_backup(instance_id, backup_id, source_backup_path):

# [END spanner_copy_backup]


# [START spanner_copy_backup_with_MR_CMEK]
def copy_backup_with_multiple_kms_keys(
instance_id, backup_id, source_backup_path, kms_key_names
Expand Down
9 changes: 3 additions & 6 deletions samples/samples/backup_sample_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,7 @@ def test_create_backup_with_encryption_key(
assert kms_key_name in out


@pytest.mark.skip(reason="skipped since the KMS keys are not added on test "
"project")
@pytest.mark.skip(reason="skipped since the KMS keys are not added on test " "project")
@pytest.mark.dependency(name="create_backup_with_multiple_kms_keys")
def test_create_backup_with_multiple_kms_keys(
capsys,
Expand All @@ -116,8 +115,7 @@ def test_create_backup_with_multiple_kms_keys(
assert kms_key_names[2] in out


@pytest.mark.skip(reason="skipped since the KMS keys are not added on test "
"project")
@pytest.mark.skip(reason="skipped since the KMS keys are not added on test " "project")
@pytest.mark.dependency(depends=["create_backup_with_multiple_kms_keys"])
def test_copy_backup_with_multiple_kms_keys(
capsys, multi_region_instance_id, spanner_client, kms_key_names
Expand Down Expand Up @@ -164,8 +162,7 @@ def test_restore_database_with_encryption_key(
assert kms_key_name in out


@pytest.mark.skip(reason="skipped since the KMS keys are not added on test "
"project")
@pytest.mark.skip(reason="skipped since the KMS keys are not added on test " "project")
@pytest.mark.dependency(depends=["create_backup_with_multiple_kms_keys"])
@RetryErrors(exception=DeadlineExceeded, max_tries=2)
def test_restore_database_with_multiple_kms_keys(
Expand Down
91 changes: 52 additions & 39 deletions samples/samples/backup_schedule_samples.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,25 +24,26 @@

# [START spanner_create_full_backup_schedule]
def create_full_backup_schedule(
instance_id: str,
database_id: str,
schedule_id: str,
instance_id: str,
database_id: str,
schedule_id: str,
) -> None:
from datetime import timedelta
from google.cloud import spanner
from google.cloud.spanner_admin_database_v1.types import \
backup_schedule as backup_schedule_pb
from google.cloud.spanner_admin_database_v1.types import \
CreateBackupEncryptionConfig, FullBackupSpec
from google.cloud.spanner_admin_database_v1.types import (
backup_schedule as backup_schedule_pb,
)
from google.cloud.spanner_admin_database_v1.types import (
CreateBackupEncryptionConfig,
FullBackupSpec,
)

client = spanner.Client()
database_admin_api = client.database_admin_api

request = backup_schedule_pb.CreateBackupScheduleRequest(
parent=database_admin_api.database_path(
client.project,
instance_id,
database_id
client.project, instance_id, database_id
),
backup_schedule_id=schedule_id,
backup_schedule=backup_schedule_pb.BackupSchedule(
Expand All @@ -62,30 +63,32 @@ def create_full_backup_schedule(
response = database_admin_api.create_backup_schedule(request)
print(f"Created full backup schedule: {response}")


# [END spanner_create_full_backup_schedule]


# [START spanner_create_incremental_backup_schedule]
def create_incremental_backup_schedule(
instance_id: str,
database_id: str,
schedule_id: str,
instance_id: str,
database_id: str,
schedule_id: str,
) -> None:
from datetime import timedelta
from google.cloud import spanner
from google.cloud.spanner_admin_database_v1.types import \
backup_schedule as backup_schedule_pb
from google.cloud.spanner_admin_database_v1.types import \
CreateBackupEncryptionConfig, IncrementalBackupSpec
from google.cloud.spanner_admin_database_v1.types import (
backup_schedule as backup_schedule_pb,
)
from google.cloud.spanner_admin_database_v1.types import (
CreateBackupEncryptionConfig,
IncrementalBackupSpec,
)

client = spanner.Client()
database_admin_api = client.database_admin_api

request = backup_schedule_pb.CreateBackupScheduleRequest(
parent=database_admin_api.database_path(
client.project,
instance_id,
database_id
client.project, instance_id, database_id
),
backup_schedule_id=schedule_id,
backup_schedule=backup_schedule_pb.BackupSchedule(
Expand All @@ -105,14 +108,16 @@ def create_incremental_backup_schedule(
response = database_admin_api.create_backup_schedule(request)
print(f"Created incremental backup schedule: {response}")


# [END spanner_create_incremental_backup_schedule]


# [START spanner_list_backup_schedules]
def list_backup_schedules(instance_id: str, database_id: str) -> None:
from google.cloud import spanner
from google.cloud.spanner_admin_database_v1.types import \
backup_schedule as backup_schedule_pb
from google.cloud.spanner_admin_database_v1.types import (
backup_schedule as backup_schedule_pb,
)

client = spanner.Client()
database_admin_api = client.database_admin_api
Expand All @@ -128,18 +133,20 @@ def list_backup_schedules(instance_id: str, database_id: str) -> None:
for backup_schedule in database_admin_api.list_backup_schedules(request):
print(f"Backup schedule: {backup_schedule}")


# [END spanner_list_backup_schedules]


# [START spanner_get_backup_schedule]
def get_backup_schedule(
instance_id: str,
database_id: str,
schedule_id: str,
instance_id: str,
database_id: str,
schedule_id: str,
) -> None:
from google.cloud import spanner
from google.cloud.spanner_admin_database_v1.types import \
backup_schedule as backup_schedule_pb
from google.cloud.spanner_admin_database_v1.types import (
backup_schedule as backup_schedule_pb,
)

client = spanner.Client()
database_admin_api = client.database_admin_api
Expand All @@ -156,21 +163,24 @@ def get_backup_schedule(
response = database_admin_api.get_backup_schedule(request)
print(f"Backup schedule: {response}")


# [END spanner_get_backup_schedule]


# [START spanner_update_backup_schedule]
def update_backup_schedule(
instance_id: str,
database_id: str,
schedule_id: str,
instance_id: str,
database_id: str,
schedule_id: str,
) -> None:
from datetime import timedelta
from google.cloud import spanner
from google.cloud.spanner_admin_database_v1.types import \
backup_schedule as backup_schedule_pb
from google.cloud.spanner_admin_database_v1.types import \
CreateBackupEncryptionConfig
from google.cloud.spanner_admin_database_v1.types import (
backup_schedule as backup_schedule_pb,
)
from google.cloud.spanner_admin_database_v1.types import (
CreateBackupEncryptionConfig,
)
from google.protobuf.field_mask_pb2 import FieldMask

client = spanner.Client()
Expand Down Expand Up @@ -206,18 +216,20 @@ def update_backup_schedule(
response = database_admin_api.update_backup_schedule(request)
print(f"Updated backup schedule: {response}")


# [END spanner_update_backup_schedule]


# [START spanner_delete_backup_schedule]
def delete_backup_schedule(
instance_id: str,
database_id: str,
schedule_id: str,
instance_id: str,
database_id: str,
schedule_id: str,
) -> None:
from google.cloud import spanner
from google.cloud.spanner_admin_database_v1.types import \
backup_schedule as backup_schedule_pb
from google.cloud.spanner_admin_database_v1.types import (
backup_schedule as backup_schedule_pb,
)

client = spanner.Client()
database_admin_api = client.database_admin_api
Expand All @@ -234,6 +246,7 @@ def delete_backup_schedule(
database_admin_api.delete_backup_schedule(request)
print("Deleted backup schedule")


# [END spanner_delete_backup_schedule]


Expand Down
56 changes: 30 additions & 26 deletions samples/samples/backup_schedule_samples_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ def database_id():

@pytest.mark.dependency(name="create_full_backup_schedule")
def test_create_full_backup_schedule(
capsys,
sample_instance,
sample_database,
capsys,
sample_instance,
sample_database,
) -> None:
samples.create_full_backup_schedule(
sample_instance.instance_id,
Expand All @@ -53,9 +53,9 @@ def test_create_full_backup_schedule(

@pytest.mark.dependency(name="create_incremental_backup_schedule")
def test_create_incremental_backup_schedule(
capsys,
sample_instance,
sample_database,
capsys,
sample_instance,
sample_database,
) -> None:
samples.create_incremental_backup_schedule(
sample_instance.instance_id,
Expand All @@ -71,14 +71,16 @@ def test_create_incremental_backup_schedule(
) in out


@pytest.mark.dependency(depends=[
"create_full_backup_schedule",
"create_incremental_backup_schedule",
])
@pytest.mark.dependency(
depends=[
"create_full_backup_schedule",
"create_incremental_backup_schedule",
]
)
def test_list_backup_schedules(
capsys,
sample_instance,
sample_database,
capsys,
sample_instance,
sample_database,
) -> None:
samples.list_backup_schedules(
sample_instance.instance_id,
Expand All @@ -99,9 +101,9 @@ def test_list_backup_schedules(

@pytest.mark.dependency(depends=["create_full_backup_schedule"])
def test_get_backup_schedule(
capsys,
sample_instance,
sample_database,
capsys,
sample_instance,
sample_database,
) -> None:
samples.get_backup_schedule(
sample_instance.instance_id,
Expand All @@ -118,9 +120,9 @@ def test_get_backup_schedule(

@pytest.mark.dependency(depends=["create_full_backup_schedule"])
def test_update_backup_schedule(
capsys,
sample_instance,
sample_database,
capsys,
sample_instance,
sample_database,
) -> None:
samples.update_backup_schedule(
sample_instance.instance_id,
Expand All @@ -136,14 +138,16 @@ def test_update_backup_schedule(
) in out


@pytest.mark.dependency(depends=[
"create_full_backup_schedule",
"create_incremental_backup_schedule",
])
@pytest.mark.dependency(
depends=[
"create_full_backup_schedule",
"create_incremental_backup_schedule",
]
)
def test_delete_backup_schedule(
capsys,
sample_instance,
sample_database,
capsys,
sample_instance,
sample_database,
) -> None:
samples.delete_backup_schedule(
sample_instance.instance_id,
Expand Down
Loading