Skip to content

Commit 054a186

Browse files
docs(samples): Add samples for Cloud Spanner Default Backup Schedules (#1238)
* chore(samples): Add samples for Cloud Spanner Default Backup Schedules * chore(samples): Add samples for Cloud Spanner Default Backup Schedules Fix field name in code samples. * chore(samples): Add samples for Cloud Spanner Default Backup Schedules Fix field name in code samples. --------- Co-authored-by: Sri Harsha CH <57220027+harshachinta@users.noreply.github.com>
1 parent 6869ed6 commit 054a186

File tree

3 files changed

+71
-1
lines changed

3 files changed

+71
-1
lines changed

‎samples/samples/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
google-cloud-spanner==3.49.1
1+
google-cloud-spanner==3.50.0
22
futures==3.4.0; python_version < "3"

‎samples/samples/snippets.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3222,6 +3222,57 @@ def create_instance_with_autoscaling_config(instance_id):
32223222
# [END spanner_create_instance_with_autoscaling_config]
32233223

32243224

3225+
# [START spanner_create_instance_without_default_backup_schedule]
3226+
def create_instance_without_default_backup_schedules(instance_id):
3227+
spanner_client = spanner.Client()
3228+
config_name = "{}/instanceConfigs/regional-me-central2".format(
3229+
spanner_client.project_name
3230+
)
3231+
3232+
operation = spanner_client.instance_admin_api.create_instance(
3233+
parent=spanner_client.project_name,
3234+
instance_id=instance_id,
3235+
instance=spanner_instance_admin.Instance(
3236+
config=config_name,
3237+
display_name="This is a display name.",
3238+
node_count=1,
3239+
default_backup_schedule_type=spanner_instance_admin.Instance.DefaultBackupScheduleType.NONE, # Optional
3240+
),
3241+
)
3242+
3243+
print("Waiting for operation to complete...")
3244+
operation.result(OPERATION_TIMEOUT_SECONDS)
3245+
3246+
print("Created instance {} without default backup schedules".format(instance_id))
3247+
3248+
3249+
# [END spanner_create_instance_without_default_backup_schedule]
3250+
3251+
3252+
# [START spanner_update_instance_default_backup_schedule_type]
3253+
def update_instance_default_backup_schedule_type(instance_id):
3254+
spanner_client = spanner.Client()
3255+
3256+
name = "{}/instances/{}".format(spanner_client.project_name, instance_id)
3257+
3258+
operation = spanner_client.instance_admin_api.update_instance(
3259+
instance=spanner_instance_admin.Instance(
3260+
name=name,
3261+
default_backup_schedule_type=spanner_instance_admin.Instance.DefaultBackupScheduleType.AUTOMATIC, # Optional
3262+
),
3263+
field_mask=field_mask_pb2.FieldMask(
3264+
paths=["default_backup_schedule_type"]
3265+
),
3266+
)
3267+
3268+
print("Waiting for operation to complete...")
3269+
operation.result(OPERATION_TIMEOUT_SECONDS)
3270+
3271+
print("Updated instance {} to have default backup schedules".format(instance_id))
3272+
3273+
# [END spanner_update_instance_default_backup_schedule_type]
3274+
3275+
32253276
def add_proto_type_columns(instance_id, database_id):
32263277
# [START spanner_add_proto_type_columns]
32273278
# instance_id = "your-spanner-instance"

‎samples/samples/snippets_test.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,25 @@ def test_create_instance_with_autoscaling_config(capsys, lci_instance_id):
197197
retry_429(instance.delete)()
198198

199199

200+
def test_create_and_update_instance_default_backup_schedule_type(capsys, lci_instance_id):
201+
retry_429(snippets.create_instance_without_default_backup_schedules)(
202+
lci_instance_id,
203+
)
204+
create_out, _ = capsys.readouterr()
205+
assert lci_instance_id in create_out
206+
assert "without default backup schedules" in create_out
207+
208+
retry_429(snippets.update_instance_default_backup_schedule_type)(
209+
lci_instance_id,
210+
)
211+
update_out, _ = capsys.readouterr()
212+
assert lci_instance_id in update_out
213+
assert "to have default backup schedules" in update_out
214+
spanner_client = spanner.Client()
215+
instance = spanner_client.instance(lci_instance_id)
216+
retry_429(instance.delete)()
217+
218+
200219
def test_create_instance_partition(capsys, instance_partition_instance_id):
201220
# Unable to use create_instance since it has editions set where partitions are unsupported.
202221
# The minimal requirement for editions is ENTERPRISE_PLUS for the paritions to get supported.

0 commit comments

Comments
 (0)