-record(lifecycle_rule, {
abort_incomplete_multipart_upload :: gleam@option:option(aws@services@s3:abort_incomplete_multipart_upload()),
expiration :: gleam@option:option(aws@services@s3:lifecycle_expiration()),
filter :: gleam@option:option(aws@services@s3:lifecycle_rule_filter()),
id :: gleam@option:option(binary()),
noncurrent_version_expiration :: gleam@option:option(aws@services@s3:noncurrent_version_expiration()),
noncurrent_version_transitions :: gleam@option:option(list(aws@services@s3:noncurrent_version_transition())),
prefix :: gleam@option:option(binary()),
status :: aws@services@s3:expiration_status(),
transitions :: gleam@option:option(list(aws@services@s3:transition()))
}).