ObjectLockRetention

class aws_cdk.aws_s3.ObjectLockRetention(*args: Any, **kwargs)

Bases: object

The default retention settings for an S3 Object Lock configuration.

See:

https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html

ExampleMetadata:

infused

Example:

# Configure for governance mode with a duration of 7 years
s3.Bucket(self, "Bucket1",
    object_lock_default_retention=s3.ObjectLockRetention.governance(Duration.days(7 * 365))
)

# Configure for compliance mode with a duration of 1 year
s3.Bucket(self, "Bucket2",
    object_lock_default_retention=s3.ObjectLockRetention.compliance(Duration.days(365))
)

Attributes

duration

The default period for which objects should be retained.

mode

The retention mode to use for the object lock configuration.

See:

https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html#object-lock-retention-modes

Static Methods

classmethod compliance(duration)

Configure for Compliance retention for a specified duration.

When an object is locked in compliance mode, its retention mode can’t be changed, and its retention period can’t be shortened. Compliance mode helps ensure that an object version can’t be overwritten or deleted for the duration of the retention period.

Parameters:

duration (Duration) – the length of time for which objects should be retained.

Return type:

ObjectLockRetention

Returns:

the ObjectLockRetention configuration

classmethod governance(duration)

Configure for Governance retention for a specified duration.

With governance mode, you protect objects against being deleted by most users, but you can still grant some users permission to alter the retention settings or delete the object if necessary. You can also use governance mode to test retention-period settings before creating a compliance-mode retention period.

Parameters:

duration (Duration) – the length of time for which objects should retained.

Return type:

ObjectLockRetention

Returns:

the ObjectLockRetention configuration