#[non_exhaustive]pub struct CreateLifecyclePolicyInput {
pub execution_role_arn: Option<String>,
pub description: Option<String>,
pub state: Option<SettablePolicyStateValues>,
pub policy_details: Option<PolicyDetails>,
pub tags: Option<HashMap<String, String>>,
pub default_policy: Option<DefaultPolicyTypeValues>,
pub create_interval: Option<i32>,
pub retain_interval: Option<i32>,
pub copy_tags: Option<bool>,
pub extend_deletion: Option<bool>,
pub cross_region_copy_targets: Option<Vec<CrossRegionCopyTarget>>,
pub exclusions: Option<Exclusions>,
}
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.execution_role_arn: Option<String>
The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.
description: Option<String>
A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.
state: Option<SettablePolicyStateValues>
The activation state of the lifecycle policy after creation.
policy_details: Option<PolicyDetails>
The configuration details of the lifecycle policy.
If you create a default policy, you can specify the request parameters either in the request body, or in the PolicyDetails request structure, but not both.
The tags to apply to the lifecycle policy during creation.
default_policy: Option<DefaultPolicyTypeValues>
[Default policies only] Specify the type of default policy to create.
-
To create a default policy for EBS snapshots, that creates snapshots of all volumes in the Region that do not have recent backups, specify
VOLUME
. -
To create a default policy for EBS-backed AMIs, that creates EBS-backed AMIs from all instances in the Region that do not have recent backups, specify
INSTANCE
.
create_interval: Option<i32>
[Default policies only] Specifies how often the policy should run and create snapshots or AMIs. The creation frequency can range from 1 to 7 days. If you do not specify a value, the default is 1.
Default: 1
retain_interval: Option<i32>
[Default policies only] Specifies how long the policy should retain snapshots or AMIs before deleting them. The retention period can range from 2 to 14 days, but it must be greater than the creation frequency to ensure that the policy retains at least 1 snapshot or AMI at any given time. If you do not specify a value, the default is 7.
Default: 7
[Default policies only] Indicates whether the policy should copy tags from the source resource to the snapshot or AMI. If you do not specify a value, the default is false
.
Default: false
extend_deletion: Option<bool>
[Default policies only] Defines the snapshot or AMI retention behavior for the policy if the source volume or instance is deleted, or if the policy enters the error, disabled, or deleted state.
By default (ExtendDeletion=false):
-
If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify
true
. -
If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify
true
.
If you enable extended deletion (ExtendDeletion=true), you override both default behaviors simultaneously.
If you do not specify a value, the default is false
.
Default: false
cross_region_copy_targets: Option<Vec<CrossRegionCopyTarget>>
[Default policies only] Specifies destination Regions for snapshot or AMI copies. You can specify up to 3 destination Regions. If you do not want to create cross-Region copies, omit this parameter.
exclusions: Option<Exclusions>
[Default policies only] Specifies exclusion parameters for volumes or instances for which you do not want to create snapshots or AMIs. The policy will not create snapshots or AMIs for target resources that match any of the specified exclusion parameters.
Implementations§
source§impl CreateLifecyclePolicyInput
impl CreateLifecyclePolicyInput
sourcepub fn execution_role_arn(&self) -> Option<&str>
pub fn execution_role_arn(&self) -> Option<&str>
The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.
sourcepub fn description(&self) -> Option<&str>
pub fn description(&self) -> Option<&str>
A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.
sourcepub fn state(&self) -> Option<&SettablePolicyStateValues>
pub fn state(&self) -> Option<&SettablePolicyStateValues>
The activation state of the lifecycle policy after creation.
sourcepub fn policy_details(&self) -> Option<&PolicyDetails>
pub fn policy_details(&self) -> Option<&PolicyDetails>
The configuration details of the lifecycle policy.
If you create a default policy, you can specify the request parameters either in the request body, or in the PolicyDetails request structure, but not both.
The tags to apply to the lifecycle policy during creation.
sourcepub fn default_policy(&self) -> Option<&DefaultPolicyTypeValues>
pub fn default_policy(&self) -> Option<&DefaultPolicyTypeValues>
[Default policies only] Specify the type of default policy to create.
-
To create a default policy for EBS snapshots, that creates snapshots of all volumes in the Region that do not have recent backups, specify
VOLUME
. -
To create a default policy for EBS-backed AMIs, that creates EBS-backed AMIs from all instances in the Region that do not have recent backups, specify
INSTANCE
.
sourcepub fn create_interval(&self) -> Option<i32>
pub fn create_interval(&self) -> Option<i32>
[Default policies only] Specifies how often the policy should run and create snapshots or AMIs. The creation frequency can range from 1 to 7 days. If you do not specify a value, the default is 1.
Default: 1
sourcepub fn retain_interval(&self) -> Option<i32>
pub fn retain_interval(&self) -> Option<i32>
[Default policies only] Specifies how long the policy should retain snapshots or AMIs before deleting them. The retention period can range from 2 to 14 days, but it must be greater than the creation frequency to ensure that the policy retains at least 1 snapshot or AMI at any given time. If you do not specify a value, the default is 7.
Default: 7
[Default policies only] Indicates whether the policy should copy tags from the source resource to the snapshot or AMI. If you do not specify a value, the default is false
.
Default: false
sourcepub fn extend_deletion(&self) -> Option<bool>
pub fn extend_deletion(&self) -> Option<bool>
[Default policies only] Defines the snapshot or AMI retention behavior for the policy if the source volume or instance is deleted, or if the policy enters the error, disabled, or deleted state.
By default (ExtendDeletion=false):
-
If a source resource is deleted, Amazon Data Lifecycle Manager will continue to delete previously created snapshots or AMIs, up to but not including the last one, based on the specified retention period. If you want Amazon Data Lifecycle Manager to delete all snapshots or AMIs, including the last one, specify
true
. -
If a policy enters the error, disabled, or deleted state, Amazon Data Lifecycle Manager stops deleting snapshots and AMIs. If you want Amazon Data Lifecycle Manager to continue deleting snapshots or AMIs, including the last one, if the policy enters one of these states, specify
true
.
If you enable extended deletion (ExtendDeletion=true), you override both default behaviors simultaneously.
If you do not specify a value, the default is false
.
Default: false
sourcepub fn cross_region_copy_targets(&self) -> &[CrossRegionCopyTarget]
pub fn cross_region_copy_targets(&self) -> &[CrossRegionCopyTarget]
[Default policies only] Specifies destination Regions for snapshot or AMI copies. You can specify up to 3 destination Regions. If you do not want to create cross-Region copies, omit this parameter.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .cross_region_copy_targets.is_none()
.
sourcepub fn exclusions(&self) -> Option<&Exclusions>
pub fn exclusions(&self) -> Option<&Exclusions>
[Default policies only] Specifies exclusion parameters for volumes or instances for which you do not want to create snapshots or AMIs. The policy will not create snapshots or AMIs for target resources that match any of the specified exclusion parameters.
source§impl CreateLifecyclePolicyInput
impl CreateLifecyclePolicyInput
sourcepub fn builder() -> CreateLifecyclePolicyInputBuilder
pub fn builder() -> CreateLifecyclePolicyInputBuilder
Creates a new builder-style object to manufacture CreateLifecyclePolicyInput
.
Trait Implementations§
source§impl Clone for CreateLifecyclePolicyInput
impl Clone for CreateLifecyclePolicyInput
source§fn clone(&self) -> CreateLifecyclePolicyInput
fn clone(&self) -> CreateLifecyclePolicyInput
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CreateLifecyclePolicyInput
impl Debug for CreateLifecyclePolicyInput
source§impl PartialEq for CreateLifecyclePolicyInput
impl PartialEq for CreateLifecyclePolicyInput
source§fn eq(&self, other: &CreateLifecyclePolicyInput) -> bool
fn eq(&self, other: &CreateLifecyclePolicyInput) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for CreateLifecyclePolicyInput
Auto Trait Implementations§
impl Freeze for CreateLifecyclePolicyInput
impl RefUnwindSafe for CreateLifecyclePolicyInput
impl Send for CreateLifecyclePolicyInput
impl Sync for CreateLifecyclePolicyInput
impl Unpin for CreateLifecyclePolicyInput
impl UnwindSafe for CreateLifecyclePolicyInput
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more