Create the S3 bucket lifecycle rule configuration
- PDF of this doc site
Collection of separate PDF docs
Creating your file...
POST /protocols/s3/services/{svm.uuid}/buckets/{s3_bucket.uuid}/rules
Introduced In: 9.13
Creates the S3 bucket lifecycle rule configuration.
Required properties
-
name
- Lifecycle Management rule to be created. -
actions
- Lifecycle Management actions associated with the rule.
Recommended optional properties
-
enabled
- Lifecycle Management rule is enabled or not. -
object_filter.prefix
- Lifecycle Management rule filter prefix. -
object_filter.tags
- Lifecycle Management rule filter tags. -
object_filter.size_greater_than
- Lifecycle Management rule filter minimum object size. -
object_filter.size_less_than
- Lifecycle Management rule filter maximum object size. -
object_age_days
- Number of days since creation after which objects can be deleted. -
object_expiry_date
- Specific date from when objects can expire. -
expired_object_delete_marker
- Cleanup object delete markers. -
new_non_current_versions
- Number of latest non-current versions to be retained. -
non_current_days
- Number of days after which non-current versions can be deleted. -
after_initiation_days
- Number of days of initiation after which uploads can be aborted.
Related ONTAP commands
-
vserver object-store-server bucket lifecycle-management-rule create
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
s3_bucket.uuid |
string |
path |
True |
Unique identifier of a bucket. |
return_timeout |
integer |
query |
False |
The number of seconds to allow the call to execute before returning. When doing a POST, PATCH, or DELETE operation on a single record, the default is 0 seconds. This means that if an asynchronous operation is started, the server immediately returns HTTP code 202 (Accepted) along with a link to the job. If a non-zero value is specified for POST, PATCH, or DELETE operations, ONTAP waits that length of time to see if the job completes so it can return something other than 202.
|
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned.
|
svm.uuid |
string |
path |
True |
UUID of the SVM to which this object belongs.
|
Request Body
Name | Type | Description |
---|---|---|
_links |
||
abort_incomplete_multipart_upload |
Specifies a way to perform abort_incomplete_multipart_upload action on filtered objects within a bucket. It cannot be specified with tags. |
|
bucket_name |
string |
Specifies the name of the bucket. Bucket name is a string that can only contain the following combination of ASCII-range alphanumeric characters 0-9, a-z, ".", and "-". |
enabled |
boolean |
Specifies whether or not the associated rule is enabled. |
expiration |
Specifies a way to perform expiration action on filtered objects within a bucket. |
|
name |
string |
Bucket lifecycle management rule identifier. The length of the name can range from 0 to 256 characters. |
non_current_version_expiration |
Specifies a way to perform non_current_version_expiration action on filtered objects within a bucket. |
|
object_filter |
Specifies a way to filter objects within a bucket. |
|
svm |
Specifies the name of the SVM where this bucket exists. |
|
uuid |
string |
Specifies the unique identifier of the bucket. |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"abort_incomplete_multipart_upload": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
}
},
"bucket_name": "bucket1",
"expiration": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"object_age_days": 100,
"object_expiry_date": "2039-09-22 20:00:00 -0400"
},
"name": "string",
"non_current_version_expiration": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
}
},
"object_filter": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"prefix": "/logs",
"size_greater_than": 10240,
"size_less_than": 10485760,
"tags": [
"project1=projA",
"project2=projB"
]
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"uuid": "414b29a1-3b26-11e9-bd58-0050568ea055"
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Headers
Name | Description | Type |
---|---|---|
Location |
Useful for tracking the resource location |
string |
Response
Status: 201, Created
Error
Status: Default
ONTAP Error Response Codes
Error code | Message |
---|---|
92405861 |
"The specified SVM UUID or bucket UUID does not exist."; |
92406111 |
"Lifecycle Management rule "rule1" for bucket "testbuck1" in SVM "vs0" is invalid because of the number of tags specified. The maximum number of tags supported is four."; |
92406113 |
"Lifecycle Management rule for bucket in Vserver is invalid because there is a mismatch in one of the filter-field. Filters must be the same for a particular rule identifier."; |
92406114 |
"The Expiration action requires specifying either object_expiry_date, object_age_days or expired_object_delete_marker."; |
92406115 |
"The NonCurrentVersionExpiration action requires either new_non_current_versions or non_current_days."; |
92406116 |
"The AbortIncompleteMultipartUpload action requires after_initiation_days."; |
92406117 |
"The "Expiration" action cannot have both an expiry date and an age."; |
92406118 |
"Using Lifecycle Management rules requires an effective cluster version of 9.13.1 ."; |
92406120 |
"The "AbortIncompleteMultipartUpload" action cannot be specified with tags."; |
92406121 |
""expired_object_delete_marker" cannot be specified with "tags"." |
92406122 |
""expired_object_delete_marker" cannot be specified with "object_age_days" or "object_expiry_date"."; |
92406123 |
"Expiration is supported on object store volumes only, bucket "testbuck-nas" on SVM "vs0" is not an object store volume."; |
92406126 |
"Lifecycle Management rule "rule1" for bucket "testbuck1" in SVM "vs0" is invalid because specified tags contain one or more invalid characters. Valid characters for a tag are 0-9, A-Z, a-z, "+", "-", "=", ".", "_", ":", "/", "@", and " ". Each "=" character present in a tag key or value must be prefixed with the "" escape character."; |
92406127 |
"Lifecycle Management rule " |
92406128 //end row //start row |
"Lifecycle Management rule "rule1" for bucket "testbuck1" in SVM "vs0" has tags with duplicate keys. Verify that each tag has a unique key and then try the operation again."; //end row //start row |
92406129 //end row //start row |
"Lifecycle Management rule "rule1" for bucket "testbuck1" in SVM "vs0" has a prefix that is too long. The maximum length of the prefix is 1024 characters."; //end row //start row |
92406130 //end row //start row |
"Lifecycle Management rule "rule1" for bucket "testbuck1" in SVM "vs0" is invalid because the minimum object size of 10485760 is larger than or equal to the maximum object size of 10240."; //end row //start row |
92406131 //end row //start row |
"Lifecycle Management rule "testcheck2" for bucket "testbuck1" in SVM "vs0" cannot be created because "non_current_days" must be specified along with "new_non_current_versions"."; //end row //start row |
92406132 //end row //start row |
"Lifecycle Management rule " |
92406132 //end row //start row |
"Lifecycle Management rule " |
92406132 //en |