standard
turbot/aws_thrifty

Pipeline: Correct one S3 bucket without lifecycle policy

Overview

S3 Buckets without a lifecycle policy will not move objects between storage layers or expire objects, causing them to remain in their initial tier perpetually, this is inefficient and can be costly.

This pipeline allows you to specify a single S3 bucket without a lifecycle policy and then either send a notification or attempt to perform a predefined corrective action.

Whilst it is possible to utilise this pipeline standalone (see below), it is usually called from the correct_s3_buckets_without_lifecycle_policy pipeline.

Run the pipeline

To run this pipeline from your terminal:

flowpipe pipeline run aws_thrifty.pipeline.correct_one_s3_bucket_without_lifecycle_policy \
--arg 'title=<string>' \
--arg 'name=<string>' \
--arg 'region=<string>' \
--arg 'conn=<connection.aws>'

Use this pipeline

To call this pipeline from your pipeline, use a step:

step "pipeline" "step_name" {
pipeline = aws_thrifty.pipeline.correct_one_s3_bucket_without_lifecycle_policy
args = {
title = <string>
name = <string>
region = <string>
conn = <connection.aws>
}
}

Params

NameTypeRequiredDescriptionDefault
title
string
YesTitle of the resource, to be used as a display name.-
name
string
YesName of the S3 Bucket.-
region
string
YesAWS Region of the resource(s).-
conn
connection.aws
YesName of the AWS connection to be used for any authenticated actions.-
lifecycle_configuration
string
YesLifecycle configuration to apply to the S3 Bucket.
{
"Rules": [
{
"ID": "Transition to STANDARD_IA after 90 days",
"Status": "Enabled",
"Filter": {},
"Transitions": [
{
"Days": 90,
"StorageClass": "STANDARD_IA"
}
]
},
{
"ID": "Transition to GLACIER after 180 days",
"Status": "Enabled",
"Filter": {},
"Transitions": [
{
"Days": 180,
"StorageClass": "GLACIER"
}
]
},
{
"ID": "Transition to DEEP_ARCHIVE after 365 days",
"Status": "Enabled",
"Filter": {},
"Transitions": [
{
"Days": 365,
"StorageClass": "DEEP_ARCHIVE"
}
]
}
]
}
notifier
notifier
YesThe name of the notifier to use for sending notification messages.notifier.default
notification_level
string
info, verbose, error
YesThe verbosity level of notification messages to send. Valid options are 'verbose', 'info', 'error'.info
approvers
list(notifier)
YesList of notifiers to be used for obtaining action/approval decisions.notifier.default
default_action
string
notify, skip, apply_lifecycle_configuration
YesThe default action to use for the detected item, used if no input is provided.notify
enabled_actions
list(string)
skip, apply_lifecycle_configuration
YesThe list of enabled actions to provide to approvers for selection.
[
"skip",
"apply_lifecycle_configuration"
]

Outputs

This pipeline has no outputs.

Tags

category = Cost
class = managed
folder = Internal
plugin = aws
service = AWS/S3