8000 Adding · drbruddet/python-docs-samples@2108ee3 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2108ee3

Browse files
committed
Adding
set/release event based hold
1 parent dccd41a commit 2108ee3

File tree

2 files changed

+50
-1
lines changed

2 files changed

+50
-1
lines changed

storage/cloud-client/bucket_lock.py

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,30 @@ def release_temporary_hold(bucket_name, blob_name):
8282
# [END storage_release_temporary_hold]
8383

8484

85+
def set_event_based_hold(bucket_name, blob_name):
86+
# [START storage_set_event_based_hold]
87+
storage_client = storage.Client()
88+
bucket = storage_client.bucket(bucket_name)
89+
blob = bucket.blob(blob_name)
90+
91+
blob.event_based_hold = True
92+
93+
print('Event based hold was set for {}'.format(blob_name))
94+
# [END storage_set_event_based_hold]
95+
96+
97+
def release_event_based_hold(bucket_name, blob_name):
98+
# [START storage_release_event_based_hold]
99+
storage_client = storage.Client()
100+
bucket = storage_client.bucket(bucket_name)
101+
blob = bucket.blob(blob_name)
102+
103+
blob.event_based_hold = False
104+
105+
print('Event based hold was released for {}'.format(blob_name))
106+
# [END storage_release_event_based_hold]
107+
108+
85109
def enable_default_event_based_hold(bucket_name):
86110
# [START storage_enable_default_event_based_hold]
87111
storage_client = storage.Client()
@@ -133,7 +157,17 @@ def disable_default_event_based_hold(bucket_name):
133157
release_temporary_hold_parse 8000 r = subparsers.add_parser(
134158
'release-temporary-hold', help=release_temporary_hold.__doc__)
135159
release_temporary_hold_parser.add_argument('bucket_name')
136-
release_temporary_hold_parser.add_argument('retention_period')
160+
release_temporary_hold_parser.add_argument('blob_name')
161+
162+
set_event_based_hold_parser = subparsers.add_parser(
163+
'set-event_based-hold', help=set_event_based_hold.__doc__)
164+
set_event_based_hold_parser.add_argument('bucket_name')
165+
set_event_based_hold_parser.add_argument('blob_name')
166+
167+
release_event_based_hold_parser = subparsers.add_parser(
168+
'release-event_based-hold', help=release_event_based_hold.__doc__)
169+
release_event_based_hold_parser.add_argument('bucket_name')
170+
release_event_based_hold_parser.add_argument('blob_name')
137171

138172
enable_default_event_based_hold_parser = subparsers.add_parser(
139173
'enable-default-event-based-hold',
@@ -157,6 +191,10 @@ def disable_default_event_based_hold(bucket_name):
157191
set_temporary_hold(args.bucket_name)
158192
elif args.command == 'release-temporary-hold':
159193
release_temporary_hold(args.bucket_name)
194+
elif args.command == 'set-event-based-hold':
195+
set_event_based_hold(args.bucket_name)
196+
elif args.command == 'release-event-based-hold':
197+
release_event_based_hold(args.bucket_name)
160198
elif args.command == 'enable-default-event-based-hold':
161199
enable_default_event_based_hold(args.bucket_name)
162200
elif args.command == 'disable-default-event-based-hold':

storage/cloud-client/bucket_lock_test.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,17 @@ def test_release_temporary_hold(capsys):
6060
out, _ = capsys.readouterr()
6161
assert out
6262

63+
def test_set_event_based_hold(capsys):
64+
bucket_lock.set_event_based_hold(BUCKET, 'storage_snippets_test_sigil')
65+
out, _ = capsys.readouterr()
66+
assert out
67+
68+
69+
def test_release_event_based_hold(capsys):
70+
bucket_lock.release_event_based_hold(BUCKET, 'storage_snippets_test_sigil')
< 57DD /code>
71+
out, _ = capsys.readouterr()
72+
assert out
73+
6374

6475
def test_enable_default_event_based_hold(capsys):
6576
bucket_lock.enable_default_event_based_hold(BUCKET)

0 commit comments

Comments
 (0)
0