Amazon S3 API · Schema

Rules

Cloud StorageObject StorageStorage
View JSON Schema on GitHub

JSON Schema

s3-rules-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Rules",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "Expiration": {},
      "ID": {},
      "Prefix": {},
      "Status": {},
      "Transition": {},
      "NoncurrentVersionTransition": {
        "type": "object",
        "properties": {
          "NoncurrentDays": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Days"
              },
              {
                "description": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations\">How Amazon S3 Calculates How Long an Object Has Been Noncurrent</a> in the <i>Amazon S3 User Guide</i>."
              }
            ]
          },
          "StorageClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStorageClass"
              },
              {
                "description": "The class of storage used to store the object."
              }
            ]
          },
          "NewerNoncurrentVersions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VersionCount"
              },
              {
                "description": "Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html\">Lifecycle configuration elements</a> in the <i>Amazon S3 User Guide</i>."
              }
            ]
          }
        },
        "description": "Container for the transition rule that describes when noncurrent objects transition to the <code>STANDARD_IA</code>, <code>ONEZONE_IA</code>, <code>INTELLIGENT_TIERING</code>, <code>GLACIER_IR</code>, <code>GLACIER</code>, or <code>DEEP_ARCHIVE</code> storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the <code>STANDARD_IA</code>, <code>ONEZONE_IA</code>, <code>INTELLIGENT_TIERING</code>, <code>GLACIER_IR</code>, <code>GLACIER</code>, or <code>DEEP_ARCHIVE</code> storage class at a specific period in the object's lifetime."
      },
      "NoncurrentVersionExpiration": {
        "type": "object",
        "properties": {
          "NoncurrentDays": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Days"
              },
              {
                "description": "Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. The value must be a non-zero positive integer. For information about the noncurrent days calculations, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations\">How Amazon S3 Calculates When an Object Became Noncurrent</a> in the <i>Amazon S3 User Guide</i>."
              }
            ]
          },
          "NewerNoncurrentVersions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VersionCount"
              },
              {
                "description": "Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html\">Lifecycle configuration elements</a> in the <i>Amazon S3 User Guide</i>."
              }
            ]
          }
        },
        "description": "Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime."
      },
      "AbortIncompleteMultipartUpload": {
        "type": "object",
        "properties": {
          "DaysAfterInitiation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DaysAfterInitiation"
              },
              {
                "description": "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload."
              }
            ]
          }
        },
        "description": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config\"> Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a> in the <i>Amazon S3 User Guide</i>."
      }
    },
    "required": [
      "Prefix",
      "Status"
    ],
    "description": "Specifies lifecycle rules for an Amazon S3 bucket. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html\">Put Bucket Lifecycle Configuration</a> in the <i>Amazon S3 API Reference</i>. For examples, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html#API_PutBucketLifecycleConfiguration_Examples\">Put Bucket Lifecycle Configuration Examples</a>."
  }
}