| 1 | # Get the list of files from the releases |
| 2 | resource "aws_s3_bucket" "releases_inventory" { |
| 3 | bucket_prefix = "nix-releases-inventory2" |
| 4 | } |
| 5 | |
| 6 | resource "aws_s3_bucket_lifecycle_configuration" "releases_inventory" { |
| 7 | bucket = aws_s3_bucket.releases_inventory.id |
| 8 | |
| 9 | transition_default_minimum_object_size = "varies_by_storage_class" |
| 10 | |
| 11 | rule { |
| 12 | id = "tf-s3-lifecycle-20231029182032300100000002" |
| 13 | status = "Enabled" |
| 14 | |
| 15 | filter { |
| 16 | prefix = "" |
| 17 | } |
| 18 | |
| 19 | expiration { |
| 20 | days = 30 |
| 21 | } |
| 22 | } |
| 23 | } |
| 24 | |
| 25 | import { |
| 26 | to = aws_s3_bucket_lifecycle_configuration.releases_inventory |
| 27 | id = aws_s3_bucket.releases_inventory.id |
| 28 | } |
| 29 | |
| 30 | resource "aws_s3_bucket_inventory" "releases_inventory" { |
| 31 | bucket = aws_s3_bucket.releases.id |
| 32 | name = "nix-releases-inventory" |
| 33 | |
| 34 | included_object_versions = "Current" |
| 35 | |
| 36 | optional_fields = [ |
| 37 | "ETag", |
| 38 | "LastModifiedDate", |
| 39 | "Size", |
| 40 | "StorageClass", |
| 41 | ] |
| 42 | |
| 43 | schedule { |
| 44 | frequency = "Daily" |
| 45 | } |
| 46 | |
| 47 | destination { |
| 48 | bucket { |
| 49 | account_id = "080433136561" |
| 50 | format = "Parquet" |
| 51 | bucket_arn = aws_s3_bucket.releases_inventory.arn |
| 52 | } |
| 53 | } |
| 54 | } |