Class CreateLifecyclePolicyRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<CreateLifecyclePolicyRequest.Builder,CreateLifecyclePolicyRequest>

@Generated("software.amazon.awssdk:codegen") public final class CreateLifecyclePolicyRequest extends DlmRequest implements ToCopyableBuilder<CreateLifecyclePolicyRequest.Builder,CreateLifecyclePolicyRequest>
  • Method Details

    • executionRoleArn

      public final String executionRoleArn()

      The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

      Returns:
      The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.
    • description

      public final String description()

      A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.

      Returns:
      A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.
    • state

      public final SettablePolicyStateValues state()

      The activation state of the lifecycle policy after creation.

      If the service returns an enum value that is not available in the current SDK version, state will return SettablePolicyStateValues.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from stateAsString().

      Returns:
      The activation state of the lifecycle policy after creation.
      See Also:
    • stateAsString

      public final String stateAsString()

      The activation state of the lifecycle policy after creation.

      If the service returns an enum value that is not available in the current SDK version, state will return SettablePolicyStateValues.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from stateAsString().

      Returns:
      The activation state of the lifecycle policy after creation.
      See Also:
    • policyDetails

      public final PolicyDetails 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.

      Returns:
      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.

    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tags

      public final Map<String,String> tags()

      The tags to apply to the lifecycle policy during creation.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTags() method.

      Returns:
      The tags to apply to the lifecycle policy during creation.
    • defaultPolicy

      public final DefaultPolicyTypeValues defaultPolicy()

      [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.

      If the service returns an enum value that is not available in the current SDK version, defaultPolicy will return DefaultPolicyTypeValues.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from defaultPolicyAsString().

      Returns:
      [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.

      See Also:
    • defaultPolicyAsString

      public final String defaultPolicyAsString()

      [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.

      If the service returns an enum value that is not available in the current SDK version, defaultPolicy will return DefaultPolicyTypeValues.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from defaultPolicyAsString().

      Returns:
      [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.

      See Also:
    • createInterval

      public final Integer createInterval()

      [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

      Returns:
      [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

    • retainInterval

      public final Integer retainInterval()

      [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

      Returns:
      [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

    • copyTags

      public final Boolean copyTags()

      [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

      Returns:
      [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

    • extendDeletion

      public final Boolean extendDeletion()

      [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

      Returns:
      [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

    • hasCrossRegionCopyTargets

      public final boolean hasCrossRegionCopyTargets()
      For responses, this returns true if the service returned a value for the CrossRegionCopyTargets property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • crossRegionCopyTargets

      public final List<CrossRegionCopyTarget> crossRegionCopyTargets()

      [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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasCrossRegionCopyTargets() method.

      Returns:
      [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

      public final Exclusions 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.

      Returns:
      [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.
    • toBuilder

      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CreateLifecyclePolicyRequest.Builder,CreateLifecyclePolicyRequest>
      Specified by:
      toBuilder in class DlmRequest
      Returns:
      a builder for type T
    • builder

      public static CreateLifecyclePolicyRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CreateLifecyclePolicyRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.