/** * Object Storage Service API * Use Object Storage and Archive Storage APIs to manage buckets, objects, and related resources. For more information, see [Overview of Object Storage](https://docs.oracle.com/iaas/Content/Object/Concepts/objectstorageoverview.htm) and [Overview of Archive Storage](https://docs.oracle.com/iaas/Content/Archive/Concepts/archivestorageoverview.htm). * OpenAPI spec version: 20160918 * Contact: opc_casper_users_us_grp@oracle.com * * NOTE: This class is auto generated by OracleSDKGenerator. * Do not edit the class manually. * * Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved. * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. */ import * as model from "../model"; /** * To use any of the API operations, you must be authorized in an IAM policy. If you are not authorized, * talk to an administrator. If you are an administrator who needs to write policies to give users access, see * [Getting Started with Policies](https://docs.oracle.com/iaas/Content/Identity/Concepts/policygetstarted.htm). * */ export interface ObjectLifecycleRule { /** * The name of the lifecycle rule to be applied. */ "name": string; /** * The target of the object lifecycle policy rule. The values of target can be either \"objects\", * \"multipart-uploads\" or \"previous-object-versions\". * This field when declared as \"objects\" is used to specify ARCHIVE, INFREQUENT_ACCESS * or DELETE rule for objects. * This field when declared as \"previous-object-versions\" is used to specify ARCHIVE, * INFREQUENT_ACCESS or DELETE rule for previous versions of existing objects. * This field when declared as \"multipart-uploads\" is used to specify the ABORT (only) rule for * uncommitted multipart-uploads. * */ "target"?: string; /** * The action of the object lifecycle policy rule. * Rules using the action 'ARCHIVE' move objects from Standard and InfrequentAccess storage tiers * into the [Archive storage tier](https://docs.oracle.com/iaas/Content/Archive/Concepts/archivestorageoverview.htm). * Rules using the action 'INFREQUENT_ACCESS' move objects from Standard storage tier into the * Infrequent Access Storage tier. Objects that are already in InfrequentAccess tier or in Archive * tier are left untouched. * Rules using the action 'DELETE' permanently delete objects from buckets. * Rules using 'ABORT' abort the uncommitted multipart-uploads and permanently delete their parts from buckets. * */ "action": string; /** * 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. * Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues. */ "timeAmount": number; /** * 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. * */ "timeUnit": ObjectLifecycleRule.TimeUnit; /** * A Boolean that determines whether this rule is currently enabled. */ "isEnabled": boolean; "objectNameFilter"?: model.ObjectNameFilter; } export declare namespace ObjectLifecycleRule { enum TimeUnit { Days = "DAYS", Years = "YEARS", /** * This value is used if a service returns a value for this enum that is not recognized by this * version of the SDK. */ UnknownValue = "UNKNOWN_VALUE" } function getJsonObj(obj: ObjectLifecycleRule): object; function getDeserializedJsonObj(obj: ObjectLifecycleRule): object; }