in gslib/commands/retention.py [0:0]
def get_gcloud_storage_args(self):
if self.args[0] == 'set':
gcloud_storage_map = GcloudStorageMap(
gcloud_command={
'set':
GcloudStorageMap(
gcloud_command=[
'storage', 'buckets', 'update',
'--retention-period={}s'.format(
RetentionInSeconds(self.args[1]))
] + self.args[2:], # Adds target bucket URLs.
flag_map={}),
},
flag_map={})
# Don't trigger unneeded translation now that complete command is above.
self.args = self.args[:1]
else:
gcloud_storage_map = GcloudStorageMap(
gcloud_command={
'clear':
GcloudStorageMap(
gcloud_command=[
'storage', 'buckets', 'update',
'--clear-retention-period'
],
flag_map={},
),
'event':
GcloudStorageMap(
gcloud_command={
'set':
GcloudStorageMap(
gcloud_command=[
'storage', 'objects', 'update',
'--event-based-hold'
],
flag_map={},
),
'release':
GcloudStorageMap(
gcloud_command=[
'storage', 'objects', 'update',
'--no-event-based-hold'
],
flag_map={},
),
},
flag_map={},
),
'event-default':
GcloudStorageMap(
gcloud_command={
'set':
GcloudStorageMap(
gcloud_command=[
'storage', 'buckets', 'update',
'--default-event-based-hold'
],
flag_map={},
),
'release':
GcloudStorageMap(
gcloud_command=[
'storage', 'buckets', 'update',
'--no-default-event-based-hold'
],
flag_map={},
),
},
flag_map={},
),
'get':
GcloudStorageMap(gcloud_command=[
'storage', 'buckets', 'describe',
'--format=yaml(retentionPolicy)', '--raw'
],
flag_map={}),
'lock':
GcloudStorageMap(
gcloud_command=[
'storage', 'buckets', 'update',
'--lock-retention-period'
],
flag_map={},
),
'temp':
GcloudStorageMap(
gcloud_command={
'set':
GcloudStorageMap(
gcloud_command=[
'storage', 'objects', 'update',
'--temporary-hold'
],
flag_map={},
),
'release':
GcloudStorageMap(
gcloud_command=[
'storage', 'objects', 'update',
'--no-temporary-hold'
],
flag_map={},
),
},
flag_map={},
),
},
flag_map={},
)
return super().get_gcloud_storage_args(gcloud_storage_map)