@Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class RetainRule extends Object implements Serializable, Cloneable, StructuredPojo
[Custom snapshot and AMI policies only] Specifies a retention rule for snapshots created by snapshot policies, or for AMIs created by AMI policies.
For snapshot policies that have an ArchiveRule, this retention rule applies to standard tier retention. When the retention threshold is met, snapshots are moved from the standard to the archive tier.
For snapshot policies that do not have an ArchiveRule, snapshots are permanently deleted when this retention threshold is met.
You can retain snapshots based on either a count or a time interval.
Count-based retention
You must specify Count. If you specify an ArchiveRule for the schedule,
then you can specify a retention count of 0
to archive snapshots immediately after creation. If you
specify a FastRestoreRule,
ShareRule, or a CrossRegionCopyRule, then
you must specify a retention count of 1
or more.
Age-based retention
You must specify Interval and IntervalUnit. If you specify an ArchiveRule for the schedule,
then you can specify a retention interval of 0
days to archive snapshots immediately after creation. If
you specify a FastRestoreRule, ShareRule, or a CrossRegionCopyRule, then
you must specify a retention interval of 1
day or more.
Constructor and Description |
---|
RetainRule() |
Modifier and Type | Method and Description |
---|---|
RetainRule |
clone() |
boolean |
equals(Object obj) |
Integer |
getCount()
The number of snapshots to retain for each volume, up to a maximum of 1000.
|
Integer |
getInterval()
The amount of time to retain each snapshot.
|
String |
getIntervalUnit()
The unit of time for time-based retention.
|
int |
hashCode() |
void |
marshall(ProtocolMarshaller protocolMarshaller)
Marshalls this structured data using the given
ProtocolMarshaller . |
void |
setCount(Integer count)
The number of snapshots to retain for each volume, up to a maximum of 1000.
|
void |
setInterval(Integer interval)
The amount of time to retain each snapshot.
|
void |
setIntervalUnit(String intervalUnit)
The unit of time for time-based retention.
|
String |
toString()
Returns a string representation of this object.
|
RetainRule |
withCount(Integer count)
The number of snapshots to retain for each volume, up to a maximum of 1000.
|
RetainRule |
withInterval(Integer interval)
The amount of time to retain each snapshot.
|
RetainRule |
withIntervalUnit(RetentionIntervalUnitValues intervalUnit)
The unit of time for time-based retention.
|
RetainRule |
withIntervalUnit(String intervalUnit)
The unit of time for time-based retention.
|
public void setCount(Integer count)
The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to retain a
maximum of three snapshots, specify 3
. When the fourth snapshot is created, the oldest retained
snapshot is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.
count
- The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to
retain a maximum of three snapshots, specify 3
. When the fourth snapshot is created, the
oldest retained snapshot is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.public Integer getCount()
The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to retain a
maximum of three snapshots, specify 3
. When the fourth snapshot is created, the oldest retained
snapshot is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.
3
. When the fourth snapshot is created, the
oldest retained snapshot is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.public RetainRule withCount(Integer count)
The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to retain a
maximum of three snapshots, specify 3
. When the fourth snapshot is created, the oldest retained
snapshot is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.
count
- The number of snapshots to retain for each volume, up to a maximum of 1000. For example if you want to
retain a maximum of three snapshots, specify 3
. When the fourth snapshot is created, the
oldest retained snapshot is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.public void setInterval(Integer interval)
The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.
interval
- The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months,
5200 weeks, or 36500 days.public Integer getInterval()
The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.
public RetainRule withInterval(Integer interval)
The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.
interval
- The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months,
5200 weeks, or 36500 days.public void setIntervalUnit(String intervalUnit)
The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify
Interval=3
and IntervalUnit=MONTHS
. Once the snapshot has been retained for 3 months,
it is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.
intervalUnit
- The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify
Interval=3
and IntervalUnit=MONTHS
. Once the snapshot has been retained for 3
months, it is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.RetentionIntervalUnitValues
public String getIntervalUnit()
The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify
Interval=3
and IntervalUnit=MONTHS
. Once the snapshot has been retained for 3 months,
it is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.
Interval=3
and IntervalUnit=MONTHS
. Once the snapshot has been retained for 3
months, it is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.RetentionIntervalUnitValues
public RetainRule withIntervalUnit(String intervalUnit)
The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify
Interval=3
and IntervalUnit=MONTHS
. Once the snapshot has been retained for 3 months,
it is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.
intervalUnit
- The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify
Interval=3
and IntervalUnit=MONTHS
. Once the snapshot has been retained for 3
months, it is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.RetentionIntervalUnitValues
public RetainRule withIntervalUnit(RetentionIntervalUnitValues intervalUnit)
The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify
Interval=3
and IntervalUnit=MONTHS
. Once the snapshot has been retained for 3 months,
it is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.
intervalUnit
- The unit of time for time-based retention. For example, to retain snapshots for 3 months, specify
Interval=3
and IntervalUnit=MONTHS
. Once the snapshot has been retained for 3
months, it is deleted, or it is moved to the archive tier if you have specified an ArchiveRule.RetentionIntervalUnitValues
public String toString()
toString
in class Object
Object.toString()
public RetainRule clone()
public void marshall(ProtocolMarshaller protocolMarshaller)
StructuredPojo
ProtocolMarshaller
.marshall
in interface StructuredPojo
protocolMarshaller
- Implementation of ProtocolMarshaller
used to marshall this object's data.