» oci_objectstorage_object_lifecycle_policy

This resource provides the Object Lifecycle Policy resource in Oracle Cloud Infrastructure Object Storage service.

Creates or replaces the object lifecycle policy for the bucket.

» Example Usage

resource "oci_objectstorage_object_lifecycle_policy" "test_object_lifecycle_policy" {
    #Required
    bucket = "${var.object_lifecycle_policy_bucket}"
    namespace = "${var.object_lifecycle_policy_namespace}"

    #Optional
    rules {
        #Required
        action = "${var.object_lifecycle_policy_rules_action}"
        is_enabled = "${var.object_lifecycle_policy_rules_is_enabled}"
        name = "${var.object_lifecycle_policy_rules_name}"
        time_amount = "${var.object_lifecycle_policy_rules_time_amount}"
        time_unit = "${var.object_lifecycle_policy_rules_time_unit}"

        #Optional
        object_name_filter {

            #Optional
            inclusion_prefixes = "${var.object_lifecycle_policy_rules_object_name_filter_inclusion_prefixes}"
        }
    }
}

» Argument Reference

The following arguments are supported:

  • bucket - (Required) The name of the bucket. Avoid entering confidential information. Example: my-new-bucket1
  • namespace - (Required) The top-level namespace used for the request.
  • rules - (Optional) (Updatable) The bucket's set of lifecycle policy rules.
    • action - (Required) (Updatable) The action of the object lifecycle policy rule. Rules using the action 'ARCHIVE' move objects into the Archival Storage tier. Rules using the action 'DELETE' permanently delete objects from buckets. 'ARCHIVE' and 'DELETE' are the only two supported actions at this time.
    • is_enabled - (Required) (Updatable) A boolean that determines whether this rule is currently enabled.
    • name - (Required) (Updatable) The name of the lifecycle rule to be applied.
    • object_name_filter - (Optional) (Updatable) A filter limiting object names that the rule will apply to.
      • inclusion_prefixes - (Optional) (Updatable) An array of object name prefixes that the rule will apply to. An empty array means to include all objects.
    • time_amount - (Required) (Updatable) Specifies the age of objects to apply the rule to. The timeAmount is interpreted in units defined by the timeUnit parameter, and is calculated in relation to each object's Last-Modified time.
    • time_unit - (Required) (Updatable) The unit that should be used to interpret timeAmount. Days are defined as starting and ending at midnight UTC. Years are defined as 365.2425 days long and likewise round up to the next midnight UTC.

** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

» Attributes Reference

The following attributes are exported:

  • rules - The live lifecycle policy on the bucket.

    For an example of this value, see the PutObjectLifecyclePolicy API documentation.

    • action - The action of the object lifecycle policy rule. Rules using the action 'ARCHIVE' move objects into the Archival Storage tier. Rules using the action 'DELETE' permanently delete objects from buckets. 'ARCHIVE' and 'DELETE' are the only two supported actions at this time.
    • is_enabled - A boolean that determines whether this rule is currently enabled.
    • name - The name of the lifecycle rule to be applied.
    • object_name_filter - A filter limiting object names that the rule will apply to.
      • inclusion_prefixes - An array of object name prefixes that the rule will apply to. An empty array means to include all objects.
    • time_amount - Specifies the age of objects to apply the rule to. The timeAmount is interpreted in units defined by the timeUnit parameter, and is calculated in relation to each object's Last-Modified time.
    • time_unit - The unit that should be used to interpret timeAmount. Days are defined as starting and ending at midnight UTC. Years are defined as 365.2425 days long and likewise round up to the next midnight UTC.
  • time_created - The date and time the object lifecycle policy was created, as described in RFC 3339, section 14.29.

» Import

ObjectLifecyclePolicies can be imported using the id, e.g.

$ terraform import oci_objectstorage_object_lifecycle_policy.test_object_lifecycle_policy "n/{namespaceName}/b/{bucketName}/l"