ExAws.S3.put_bucket_lifecycle

You're seeing just the function put_bucket_lifecycle, go back to ExAws.S3 module for more information.
Link to this function

put_bucket_lifecycle(bucket, lifecycle_rules)

View Source

Specs

put_bucket_lifecycle(bucket :: binary(), lifecycle_rules :: [map()]) ::
  ExAws.Operation.S3.t()

Update or create a bucket lifecycle configuration

Live-Cycle Rule Format

%{
  # Unique id for the rule (max. 255 chars, max. 1000 rules allowed)
  id: "123",

  # Disabled rules are not executed
  enabled: true,

  # Filters
  # Can be based on prefix, object tag(s), both or none
  filter: %{
    prefix: "prefix/",
    tags: %{
      "key" => "value"
    }
  },

  # Actions
  # https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
  actions: %{
    transition: %{
      trigger: {:date, ~D[2020-03-26]}, # Date or days based
      storage: ""
    },
    expiration: %{
      trigger: {:days, 2}, # Date or days based
      expired_object_delete_marker: true
    },
    noncurrent_version_transition: %{
      trigger: {:days, 2}, # Only days based
      storage: ""
    },
    noncurrent_version_expiration: %{
      trigger: {:days, 2} # Only days based
    },
    abort_incomplete_multipart_upload: %{
      trigger: {:days, 2} # Only days based
    }
  }
}