The following describes the formatting requirements of the lifecyle configuration XML.
## An ISO date string without a time zone, e.g. "2013-01-15".
DateString = xsd:date { pattern = "[^:Z]+" }
start |= LifecycleConfiguration
LifecycleConfiguration =
## Defines the lifecycle management policies for a bucket, which contains 0 or
## more (up to 100) rules.
element LifecycleConfiguration {
## Defines a lifecycle managment rule, which is made of an action and the
## condition under which the action will be taken.
element Rule {
## Defines the action to be taken, which must contain one and only one
## specific action element.
element Action {
Delete
} &
## Defines the condition under which the action will be taken, which
## must contain at least one specific condition element.
element Condition {
(Age | CreatedBefore | NumberOfNewerVersions | IsLive)+
}
}*
}
## Action element to delete objects in the bucket.
Delete = element Delete { (empty) }
## Condition element that matches objects over the specified age (in days).
Age = element Age { xsd:integer }
## Condition element that matches objects created before midnight of the
## specified date in UTC.
CreatedBefore = element CreatedBefore { DateString }
## Condition element relevant only for versioned objects. If the value is N, the
## condition is satisfied when there are at least N versions (including the live
## version) newer than this version of the object.
NumberOfNewerVersions = element NumberOfNewerVersions { xsd:integer }
## Condition element relevant only for versioned objects. Matches live objects
## if the value is "true", or archived objects if the value is "false".
IsLive = element IsLive { xsd:boolean }