Interface CfnLifecyclePolicyProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnLifecyclePolicyProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:56.301Z") @Stability(Stable) public interface CfnLifecyclePolicyProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnLifecyclePolicy.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.dlm.*;
 CfnLifecyclePolicyProps cfnLifecyclePolicyProps = CfnLifecyclePolicyProps.builder()
         .description("description")
         .executionRoleArn("executionRoleArn")
         .policyDetails(PolicyDetailsProperty.builder()
                 .actions(List.of(ActionProperty.builder()
                         .crossRegionCopy(List.of(CrossRegionCopyActionProperty.builder()
                                 .encryptionConfiguration(EncryptionConfigurationProperty.builder()
                                         .encrypted(false)
                                         // the properties below are optional
                                         .cmkArn("cmkArn")
                                         .build())
                                 .target("target")
                                 // the properties below are optional
                                 .retainRule(CrossRegionCopyRetainRuleProperty.builder()
                                         .interval(123)
                                         .intervalUnit("intervalUnit")
                                         .build())
                                 .build()))
                         .name("name")
                         .build()))
                 .eventSource(EventSourceProperty.builder()
                         .type("type")
                         // the properties below are optional
                         .parameters(EventParametersProperty.builder()
                                 .eventType("eventType")
                                 .snapshotOwner(List.of("snapshotOwner"))
                                 // the properties below are optional
                                 .descriptionRegex("descriptionRegex")
                                 .build())
                         .build())
                 .parameters(ParametersProperty.builder()
                         .excludeBootVolume(false)
                         .excludeDataVolumeTags(List.of(CfnTag.builder()
                                 .key("key")
                                 .value("value")
                                 .build()))
                         .noReboot(false)
                         .build())
                 .policyType("policyType")
                 .resourceLocations(List.of("resourceLocations"))
                 .resourceTypes(List.of("resourceTypes"))
                 .schedules(List.of(ScheduleProperty.builder()
                         .archiveRule(ArchiveRuleProperty.builder()
                                 .retainRule(ArchiveRetainRuleProperty.builder()
                                         .retentionArchiveTier(RetentionArchiveTierProperty.builder()
                                                 .count(123)
                                                 .interval(123)
                                                 .intervalUnit("intervalUnit")
                                                 .build())
                                         .build())
                                 .build())
                         .copyTags(false)
                         .createRule(CreateRuleProperty.builder()
                                 .cronExpression("cronExpression")
                                 .interval(123)
                                 .intervalUnit("intervalUnit")
                                 .location("location")
                                 .times(List.of("times"))
                                 .build())
                         .crossRegionCopyRules(List.of(CrossRegionCopyRuleProperty.builder()
                                 .encrypted(false)
                                 // the properties below are optional
                                 .cmkArn("cmkArn")
                                 .copyTags(false)
                                 .deprecateRule(CrossRegionCopyDeprecateRuleProperty.builder()
                                         .interval(123)
                                         .intervalUnit("intervalUnit")
                                         .build())
                                 .retainRule(CrossRegionCopyRetainRuleProperty.builder()
                                         .interval(123)
                                         .intervalUnit("intervalUnit")
                                         .build())
                                 .target("target")
                                 .targetRegion("targetRegion")
                                 .build()))
                         .deprecateRule(DeprecateRuleProperty.builder()
                                 .count(123)
                                 .interval(123)
                                 .intervalUnit("intervalUnit")
                                 .build())
                         .fastRestoreRule(FastRestoreRuleProperty.builder()
                                 .availabilityZones(List.of("availabilityZones"))
                                 .count(123)
                                 .interval(123)
                                 .intervalUnit("intervalUnit")
                                 .build())
                         .name("name")
                         .retainRule(RetainRuleProperty.builder()
                                 .count(123)
                                 .interval(123)
                                 .intervalUnit("intervalUnit")
                                 .build())
                         .shareRules(List.of(ShareRuleProperty.builder()
                                 .targetAccounts(List.of("targetAccounts"))
                                 .unshareInterval(123)
                                 .unshareIntervalUnit("unshareIntervalUnit")
                                 .build()))
                         .tagsToAdd(List.of(CfnTag.builder()
                                 .key("key")
                                 .value("value")
                                 .build()))
                         .variableTags(List.of(CfnTag.builder()
                                 .key("key")
                                 .value("value")
                                 .build()))
                         .build()))
                 .targetTags(List.of(CfnTag.builder()
                         .key("key")
                         .value("value")
                         .build()))
                 .build())
         .state("state")
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 
  • Method Details

    • getDescription

      @Stability(Stable) @Nullable default String getDescription()
      A description of the lifecycle policy.

      The characters ^[0-9A-Za-z _-]+$ are supported.

    • getExecutionRoleArn

      @Stability(Stable) @Nullable default String getExecutionRoleArn()
      The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.
    • getPolicyDetails

      @Stability(Stable) @Nullable default Object getPolicyDetails()
      The configuration details of the lifecycle policy.
    • getState

      @Stability(Stable) @Nullable default String getState()
      The activation state of the lifecycle policy.
    • getTags

      @Stability(Stable) @Nullable default List<CfnTag> getTags()
      The tags to apply to the lifecycle policy during creation.
    • builder

      @Stability(Stable) static CfnLifecyclePolicyProps.Builder builder()
      Returns:
      a CfnLifecyclePolicyProps.Builder of CfnLifecyclePolicyProps