All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.dlm.model.PolicyDetails Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Data Lifecycle Manager module holds the client classes that are used for communicating with Amazon Data Lifecycle Manager Service

The newest version!
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.dlm.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Specifies the configuration of a lifecycle policy. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class PolicyDetails implements Serializable, Cloneable, StructuredPojo { /** *

* [Custom policies only] The valid target resource types and actions a policy can manage. Specify * EBS_SNAPSHOT_MANAGEMENT to create a lifecycle policy that manages the lifecycle of Amazon EBS * snapshots. Specify IMAGE_MANAGEMENT to create a lifecycle policy that manages the lifecycle of * EBS-backed AMIs. Specify EVENT_BASED_POLICY to create an event-based policy that performs specific * actions when a defined event occurs in your Amazon Web Services account. *

*

* The default is EBS_SNAPSHOT_MANAGEMENT. *

*/ private String policyType; /** *

* [Custom snapshot policies only] The target resource type for snapshot and AMI lifecycle policies. Use * VOLUME to create snapshots of individual volumes or use INSTANCE to create multi-volume * snapshots from the volumes for an instance. *

*/ private java.util.List resourceTypes; /** *

* [Custom snapshot and AMI policies only] The location of the resources to backup. If the source resources * are located in an Amazon Web Services Region, specify CLOUD. If the source resources are located on * an Outpost in your account, specify OUTPOST. *

*

* If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources of the specified type * with matching target tags across all of the Outposts in your account. *

*/ private java.util.List resourceLocations; /** *

* [Custom snapshot and AMI policies only] The single tag that identifies targeted resources for this policy. *

*/ private java.util.List targetTags; /** *

* [Custom snapshot and AMI policies only] The schedules of policy-defined actions for snapshot and AMI * lifecycle policies. A policy can have up to four schedules—one mandatory schedule and up to three optional * schedules. *

*/ private java.util.List schedules; /** *

* [Custom snapshot and AMI policies only] A set of optional parameters for snapshot and AMI lifecycle * policies. *

* *

* If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle Manager * console, then you must include this parameter and specify either the default values or the new values that you * require. You can't omit this parameter or set its values to null. *

*
*/ private Parameters parameters; /** *

* [Event-based policies only] The event that activates the event-based policy. *

*/ private EventSource eventSource; /** *

* [Event-based policies only] The actions to be performed when the event-based policy is activated. You can * specify only one action per policy. *

*/ private java.util.List actions; /** *

* The type of policy to create. Specify one of the following: *

*
    *
  • *

    * SIMPLIFIED To create a default policy. *

    *
  • *
  • *

    * STANDARD To create a custom policy. *

    *
  • *
*/ private String policyLanguage; /** *

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

    *
  • *
*/ private String resourceType; /** *

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

*/ private Integer createInterval; /** *

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

*/ private Integer retainInterval; /** *

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

*/ private Boolean copyTags; /** *

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

*/ private java.util.List crossRegionCopyTargets; /** *

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

*/ private Boolean extendDeletion; /** *

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

*/ private Exclusions exclusions; /** *

* [Custom policies only] The valid target resource types and actions a policy can manage. Specify * EBS_SNAPSHOT_MANAGEMENT to create a lifecycle policy that manages the lifecycle of Amazon EBS * snapshots. Specify IMAGE_MANAGEMENT to create a lifecycle policy that manages the lifecycle of * EBS-backed AMIs. Specify EVENT_BASED_POLICY to create an event-based policy that performs specific * actions when a defined event occurs in your Amazon Web Services account. *

*

* The default is EBS_SNAPSHOT_MANAGEMENT. *

* * @param policyType * [Custom policies only] The valid target resource types and actions a policy can manage. Specify * EBS_SNAPSHOT_MANAGEMENT to create a lifecycle policy that manages the lifecycle of Amazon EBS * snapshots. Specify IMAGE_MANAGEMENT to create a lifecycle policy that manages the lifecycle * of EBS-backed AMIs. Specify EVENT_BASED_POLICY to create an event-based policy that performs * specific actions when a defined event occurs in your Amazon Web Services account.

*

* The default is EBS_SNAPSHOT_MANAGEMENT. * @see PolicyTypeValues */ public void setPolicyType(String policyType) { this.policyType = policyType; } /** *

* [Custom policies only] The valid target resource types and actions a policy can manage. Specify * EBS_SNAPSHOT_MANAGEMENT to create a lifecycle policy that manages the lifecycle of Amazon EBS * snapshots. Specify IMAGE_MANAGEMENT to create a lifecycle policy that manages the lifecycle of * EBS-backed AMIs. Specify EVENT_BASED_POLICY to create an event-based policy that performs specific * actions when a defined event occurs in your Amazon Web Services account. *

*

* The default is EBS_SNAPSHOT_MANAGEMENT. *

* * @return [Custom policies only] The valid target resource types and actions a policy can manage. Specify * EBS_SNAPSHOT_MANAGEMENT to create a lifecycle policy that manages the lifecycle of Amazon * EBS snapshots. Specify IMAGE_MANAGEMENT to create a lifecycle policy that manages the * lifecycle of EBS-backed AMIs. Specify EVENT_BASED_POLICY to create an event-based policy * that performs specific actions when a defined event occurs in your Amazon Web Services account.

*

* The default is EBS_SNAPSHOT_MANAGEMENT. * @see PolicyTypeValues */ public String getPolicyType() { return this.policyType; } /** *

* [Custom policies only] The valid target resource types and actions a policy can manage. Specify * EBS_SNAPSHOT_MANAGEMENT to create a lifecycle policy that manages the lifecycle of Amazon EBS * snapshots. Specify IMAGE_MANAGEMENT to create a lifecycle policy that manages the lifecycle of * EBS-backed AMIs. Specify EVENT_BASED_POLICY to create an event-based policy that performs specific * actions when a defined event occurs in your Amazon Web Services account. *

*

* The default is EBS_SNAPSHOT_MANAGEMENT. *

* * @param policyType * [Custom policies only] The valid target resource types and actions a policy can manage. Specify * EBS_SNAPSHOT_MANAGEMENT to create a lifecycle policy that manages the lifecycle of Amazon EBS * snapshots. Specify IMAGE_MANAGEMENT to create a lifecycle policy that manages the lifecycle * of EBS-backed AMIs. Specify EVENT_BASED_POLICY to create an event-based policy that performs * specific actions when a defined event occurs in your Amazon Web Services account.

*

* The default is EBS_SNAPSHOT_MANAGEMENT. * @return Returns a reference to this object so that method calls can be chained together. * @see PolicyTypeValues */ public PolicyDetails withPolicyType(String policyType) { setPolicyType(policyType); return this; } /** *

* [Custom policies only] The valid target resource types and actions a policy can manage. Specify * EBS_SNAPSHOT_MANAGEMENT to create a lifecycle policy that manages the lifecycle of Amazon EBS * snapshots. Specify IMAGE_MANAGEMENT to create a lifecycle policy that manages the lifecycle of * EBS-backed AMIs. Specify EVENT_BASED_POLICY to create an event-based policy that performs specific * actions when a defined event occurs in your Amazon Web Services account. *

*

* The default is EBS_SNAPSHOT_MANAGEMENT. *

* * @param policyType * [Custom policies only] The valid target resource types and actions a policy can manage. Specify * EBS_SNAPSHOT_MANAGEMENT to create a lifecycle policy that manages the lifecycle of Amazon EBS * snapshots. Specify IMAGE_MANAGEMENT to create a lifecycle policy that manages the lifecycle * of EBS-backed AMIs. Specify EVENT_BASED_POLICY to create an event-based policy that performs * specific actions when a defined event occurs in your Amazon Web Services account.

*

* The default is EBS_SNAPSHOT_MANAGEMENT. * @return Returns a reference to this object so that method calls can be chained together. * @see PolicyTypeValues */ public PolicyDetails withPolicyType(PolicyTypeValues policyType) { this.policyType = policyType.toString(); return this; } /** *

* [Custom snapshot policies only] The target resource type for snapshot and AMI lifecycle policies. Use * VOLUME to create snapshots of individual volumes or use INSTANCE to create multi-volume * snapshots from the volumes for an instance. *

* * @return [Custom snapshot policies only] The target resource type for snapshot and AMI lifecycle policies. * Use VOLUME to create snapshots of individual volumes or use INSTANCE to create * multi-volume snapshots from the volumes for an instance. * @see ResourceTypeValues */ public java.util.List getResourceTypes() { return resourceTypes; } /** *

* [Custom snapshot policies only] The target resource type for snapshot and AMI lifecycle policies. Use * VOLUME to create snapshots of individual volumes or use INSTANCE to create multi-volume * snapshots from the volumes for an instance. *

* * @param resourceTypes * [Custom snapshot policies only] The target resource type for snapshot and AMI lifecycle policies. * Use VOLUME to create snapshots of individual volumes or use INSTANCE to create * multi-volume snapshots from the volumes for an instance. * @see ResourceTypeValues */ public void setResourceTypes(java.util.Collection resourceTypes) { if (resourceTypes == null) { this.resourceTypes = null; return; } this.resourceTypes = new java.util.ArrayList(resourceTypes); } /** *

* [Custom snapshot policies only] The target resource type for snapshot and AMI lifecycle policies. Use * VOLUME to create snapshots of individual volumes or use INSTANCE to create multi-volume * snapshots from the volumes for an instance. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setResourceTypes(java.util.Collection)} or {@link #withResourceTypes(java.util.Collection)} if you want * to override the existing values. *

* * @param resourceTypes * [Custom snapshot policies only] The target resource type for snapshot and AMI lifecycle policies. * Use VOLUME to create snapshots of individual volumes or use INSTANCE to create * multi-volume snapshots from the volumes for an instance. * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceTypeValues */ public PolicyDetails withResourceTypes(String... resourceTypes) { if (this.resourceTypes == null) { setResourceTypes(new java.util.ArrayList(resourceTypes.length)); } for (String ele : resourceTypes) { this.resourceTypes.add(ele); } return this; } /** *

* [Custom snapshot policies only] The target resource type for snapshot and AMI lifecycle policies. Use * VOLUME to create snapshots of individual volumes or use INSTANCE to create multi-volume * snapshots from the volumes for an instance. *

* * @param resourceTypes * [Custom snapshot policies only] The target resource type for snapshot and AMI lifecycle policies. * Use VOLUME to create snapshots of individual volumes or use INSTANCE to create * multi-volume snapshots from the volumes for an instance. * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceTypeValues */ public PolicyDetails withResourceTypes(java.util.Collection resourceTypes) { setResourceTypes(resourceTypes); return this; } /** *

* [Custom snapshot policies only] The target resource type for snapshot and AMI lifecycle policies. Use * VOLUME to create snapshots of individual volumes or use INSTANCE to create multi-volume * snapshots from the volumes for an instance. *

* * @param resourceTypes * [Custom snapshot policies only] The target resource type for snapshot and AMI lifecycle policies. * Use VOLUME to create snapshots of individual volumes or use INSTANCE to create * multi-volume snapshots from the volumes for an instance. * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceTypeValues */ public PolicyDetails withResourceTypes(ResourceTypeValues... resourceTypes) { java.util.ArrayList resourceTypesCopy = new java.util.ArrayList(resourceTypes.length); for (ResourceTypeValues value : resourceTypes) { resourceTypesCopy.add(value.toString()); } if (getResourceTypes() == null) { setResourceTypes(resourceTypesCopy); } else { getResourceTypes().addAll(resourceTypesCopy); } return this; } /** *

* [Custom snapshot and AMI policies only] The location of the resources to backup. If the source resources * are located in an Amazon Web Services Region, specify CLOUD. If the source resources are located on * an Outpost in your account, specify OUTPOST. *

*

* If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources of the specified type * with matching target tags across all of the Outposts in your account. *

* * @return [Custom snapshot and AMI policies only] The location of the resources to backup. If the source * resources are located in an Amazon Web Services Region, specify CLOUD. If the source * resources are located on an Outpost in your account, specify OUTPOST.

*

* If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources of the * specified type with matching target tags across all of the Outposts in your account. * @see ResourceLocationValues */ public java.util.List getResourceLocations() { return resourceLocations; } /** *

* [Custom snapshot and AMI policies only] The location of the resources to backup. If the source resources * are located in an Amazon Web Services Region, specify CLOUD. If the source resources are located on * an Outpost in your account, specify OUTPOST. *

*

* If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources of the specified type * with matching target tags across all of the Outposts in your account. *

* * @param resourceLocations * [Custom snapshot and AMI policies only] The location of the resources to backup. If the source * resources are located in an Amazon Web Services Region, specify CLOUD. If the source * resources are located on an Outpost in your account, specify OUTPOST.

*

* If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources of the specified * type with matching target tags across all of the Outposts in your account. * @see ResourceLocationValues */ public void setResourceLocations(java.util.Collection resourceLocations) { if (resourceLocations == null) { this.resourceLocations = null; return; } this.resourceLocations = new java.util.ArrayList(resourceLocations); } /** *

* [Custom snapshot and AMI policies only] The location of the resources to backup. If the source resources * are located in an Amazon Web Services Region, specify CLOUD. If the source resources are located on * an Outpost in your account, specify OUTPOST. *

*

* If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources of the specified type * with matching target tags across all of the Outposts in your account. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setResourceLocations(java.util.Collection)} or {@link #withResourceLocations(java.util.Collection)} if * you want to override the existing values. *

* * @param resourceLocations * [Custom snapshot and AMI policies only] The location of the resources to backup. If the source * resources are located in an Amazon Web Services Region, specify CLOUD. If the source * resources are located on an Outpost in your account, specify OUTPOST.

*

* If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources of the specified * type with matching target tags across all of the Outposts in your account. * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceLocationValues */ public PolicyDetails withResourceLocations(String... resourceLocations) { if (this.resourceLocations == null) { setResourceLocations(new java.util.ArrayList(resourceLocations.length)); } for (String ele : resourceLocations) { this.resourceLocations.add(ele); } return this; } /** *

* [Custom snapshot and AMI policies only] The location of the resources to backup. If the source resources * are located in an Amazon Web Services Region, specify CLOUD. If the source resources are located on * an Outpost in your account, specify OUTPOST. *

*

* If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources of the specified type * with matching target tags across all of the Outposts in your account. *

* * @param resourceLocations * [Custom snapshot and AMI policies only] The location of the resources to backup. If the source * resources are located in an Amazon Web Services Region, specify CLOUD. If the source * resources are located on an Outpost in your account, specify OUTPOST.

*

* If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources of the specified * type with matching target tags across all of the Outposts in your account. * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceLocationValues */ public PolicyDetails withResourceLocations(java.util.Collection resourceLocations) { setResourceLocations(resourceLocations); return this; } /** *

* [Custom snapshot and AMI policies only] The location of the resources to backup. If the source resources * are located in an Amazon Web Services Region, specify CLOUD. If the source resources are located on * an Outpost in your account, specify OUTPOST. *

*

* If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources of the specified type * with matching target tags across all of the Outposts in your account. *

* * @param resourceLocations * [Custom snapshot and AMI policies only] The location of the resources to backup. If the source * resources are located in an Amazon Web Services Region, specify CLOUD. If the source * resources are located on an Outpost in your account, specify OUTPOST.

*

* If you specify OUTPOST, Amazon Data Lifecycle Manager backs up all resources of the specified * type with matching target tags across all of the Outposts in your account. * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceLocationValues */ public PolicyDetails withResourceLocations(ResourceLocationValues... resourceLocations) { java.util.ArrayList resourceLocationsCopy = new java.util.ArrayList(resourceLocations.length); for (ResourceLocationValues value : resourceLocations) { resourceLocationsCopy.add(value.toString()); } if (getResourceLocations() == null) { setResourceLocations(resourceLocationsCopy); } else { getResourceLocations().addAll(resourceLocationsCopy); } return this; } /** *

* [Custom snapshot and AMI policies only] The single tag that identifies targeted resources for this policy. *

* * @return [Custom snapshot and AMI policies only] The single tag that identifies targeted resources for this * policy. */ public java.util.List getTargetTags() { return targetTags; } /** *

* [Custom snapshot and AMI policies only] The single tag that identifies targeted resources for this policy. *

* * @param targetTags * [Custom snapshot and AMI policies only] The single tag that identifies targeted resources for this * policy. */ public void setTargetTags(java.util.Collection targetTags) { if (targetTags == null) { this.targetTags = null; return; } this.targetTags = new java.util.ArrayList(targetTags); } /** *

* [Custom snapshot and AMI policies only] The single tag that identifies targeted resources for this policy. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTargetTags(java.util.Collection)} or {@link #withTargetTags(java.util.Collection)} if you want to * override the existing values. *

* * @param targetTags * [Custom snapshot and AMI policies only] The single tag that identifies targeted resources for this * policy. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withTargetTags(Tag... targetTags) { if (this.targetTags == null) { setTargetTags(new java.util.ArrayList(targetTags.length)); } for (Tag ele : targetTags) { this.targetTags.add(ele); } return this; } /** *

* [Custom snapshot and AMI policies only] The single tag that identifies targeted resources for this policy. *

* * @param targetTags * [Custom snapshot and AMI policies only] The single tag that identifies targeted resources for this * policy. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withTargetTags(java.util.Collection targetTags) { setTargetTags(targetTags); return this; } /** *

* [Custom snapshot and AMI policies only] The schedules of policy-defined actions for snapshot and AMI * lifecycle policies. A policy can have up to four schedules—one mandatory schedule and up to three optional * schedules. *

* * @return [Custom snapshot and AMI policies only] The schedules of policy-defined actions for snapshot and * AMI lifecycle policies. A policy can have up to four schedules—one mandatory schedule and up to three * optional schedules. */ public java.util.List getSchedules() { return schedules; } /** *

* [Custom snapshot and AMI policies only] The schedules of policy-defined actions for snapshot and AMI * lifecycle policies. A policy can have up to four schedules—one mandatory schedule and up to three optional * schedules. *

* * @param schedules * [Custom snapshot and AMI policies only] The schedules of policy-defined actions for snapshot and * AMI lifecycle policies. A policy can have up to four schedules—one mandatory schedule and up to three * optional schedules. */ public void setSchedules(java.util.Collection schedules) { if (schedules == null) { this.schedules = null; return; } this.schedules = new java.util.ArrayList(schedules); } /** *

* [Custom snapshot and AMI policies only] The schedules of policy-defined actions for snapshot and AMI * lifecycle policies. A policy can have up to four schedules—one mandatory schedule and up to three optional * schedules. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSchedules(java.util.Collection)} or {@link #withSchedules(java.util.Collection)} if you want to * override the existing values. *

* * @param schedules * [Custom snapshot and AMI policies only] The schedules of policy-defined actions for snapshot and * AMI lifecycle policies. A policy can have up to four schedules—one mandatory schedule and up to three * optional schedules. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withSchedules(Schedule... schedules) { if (this.schedules == null) { setSchedules(new java.util.ArrayList(schedules.length)); } for (Schedule ele : schedules) { this.schedules.add(ele); } return this; } /** *

* [Custom snapshot and AMI policies only] The schedules of policy-defined actions for snapshot and AMI * lifecycle policies. A policy can have up to four schedules—one mandatory schedule and up to three optional * schedules. *

* * @param schedules * [Custom snapshot and AMI policies only] The schedules of policy-defined actions for snapshot and * AMI lifecycle policies. A policy can have up to four schedules—one mandatory schedule and up to three * optional schedules. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withSchedules(java.util.Collection schedules) { setSchedules(schedules); return this; } /** *

* [Custom snapshot and AMI policies only] A set of optional parameters for snapshot and AMI lifecycle * policies. *

* *

* If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle Manager * console, then you must include this parameter and specify either the default values or the new values that you * require. You can't omit this parameter or set its values to null. *

*
* * @param parameters * [Custom snapshot and AMI policies only] A set of optional parameters for snapshot and AMI lifecycle * policies.

*

* If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle * Manager console, then you must include this parameter and specify either the default values or the new * values that you require. You can't omit this parameter or set its values to null. *

*/ public void setParameters(Parameters parameters) { this.parameters = parameters; } /** *

* [Custom snapshot and AMI policies only] A set of optional parameters for snapshot and AMI lifecycle * policies. *

* *

* If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle Manager * console, then you must include this parameter and specify either the default values or the new values that you * require. You can't omit this parameter or set its values to null. *

*
* * @return [Custom snapshot and AMI policies only] A set of optional parameters for snapshot and AMI * lifecycle policies.

*

* If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle * Manager console, then you must include this parameter and specify either the default values or the new * values that you require. You can't omit this parameter or set its values to null. *

*/ public Parameters getParameters() { return this.parameters; } /** *

* [Custom snapshot and AMI policies only] A set of optional parameters for snapshot and AMI lifecycle * policies. *

* *

* If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle Manager * console, then you must include this parameter and specify either the default values or the new values that you * require. You can't omit this parameter or set its values to null. *

*
* * @param parameters * [Custom snapshot and AMI policies only] A set of optional parameters for snapshot and AMI lifecycle * policies.

*

* If you are modifying a policy that was created or previously modified using the Amazon Data Lifecycle * Manager console, then you must include this parameter and specify either the default values or the new * values that you require. You can't omit this parameter or set its values to null. *

* @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withParameters(Parameters parameters) { setParameters(parameters); return this; } /** *

* [Event-based policies only] The event that activates the event-based policy. *

* * @param eventSource * [Event-based policies only] The event that activates the event-based policy. */ public void setEventSource(EventSource eventSource) { this.eventSource = eventSource; } /** *

* [Event-based policies only] The event that activates the event-based policy. *

* * @return [Event-based policies only] The event that activates the event-based policy. */ public EventSource getEventSource() { return this.eventSource; } /** *

* [Event-based policies only] The event that activates the event-based policy. *

* * @param eventSource * [Event-based policies only] The event that activates the event-based policy. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withEventSource(EventSource eventSource) { setEventSource(eventSource); return this; } /** *

* [Event-based policies only] The actions to be performed when the event-based policy is activated. You can * specify only one action per policy. *

* * @return [Event-based policies only] The actions to be performed when the event-based policy is activated. * You can specify only one action per policy. */ public java.util.List getActions() { return actions; } /** *

* [Event-based policies only] The actions to be performed when the event-based policy is activated. You can * specify only one action per policy. *

* * @param actions * [Event-based policies only] The actions to be performed when the event-based policy is activated. * You can specify only one action per policy. */ public void setActions(java.util.Collection actions) { if (actions == null) { this.actions = null; return; } this.actions = new java.util.ArrayList(actions); } /** *

* [Event-based policies only] The actions to be performed when the event-based policy is activated. You can * specify only one action per policy. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setActions(java.util.Collection)} or {@link #withActions(java.util.Collection)} if you want to override * the existing values. *

* * @param actions * [Event-based policies only] The actions to be performed when the event-based policy is activated. * You can specify only one action per policy. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withActions(Action... actions) { if (this.actions == null) { setActions(new java.util.ArrayList(actions.length)); } for (Action ele : actions) { this.actions.add(ele); } return this; } /** *

* [Event-based policies only] The actions to be performed when the event-based policy is activated. You can * specify only one action per policy. *

* * @param actions * [Event-based policies only] The actions to be performed when the event-based policy is activated. * You can specify only one action per policy. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withActions(java.util.Collection actions) { setActions(actions); return this; } /** *

* The type of policy to create. Specify one of the following: *

*
    *
  • *

    * SIMPLIFIED To create a default policy. *

    *
  • *
  • *

    * STANDARD To create a custom policy. *

    *
  • *
* * @param policyLanguage * The type of policy to create. Specify one of the following:

*
    *
  • *

    * SIMPLIFIED To create a default policy. *

    *
  • *
  • *

    * STANDARD To create a custom policy. *

    *
  • * @see PolicyLanguageValues */ public void setPolicyLanguage(String policyLanguage) { this.policyLanguage = policyLanguage; } /** *

    * The type of policy to create. Specify one of the following: *

    *
      *
    • *

      * SIMPLIFIED To create a default policy. *

      *
    • *
    • *

      * STANDARD To create a custom policy. *

      *
    • *
    * * @return The type of policy to create. Specify one of the following:

    *
      *
    • *

      * SIMPLIFIED To create a default policy. *

      *
    • *
    • *

      * STANDARD To create a custom policy. *

      *
    • * @see PolicyLanguageValues */ public String getPolicyLanguage() { return this.policyLanguage; } /** *

      * The type of policy to create. Specify one of the following: *

      *
        *
      • *

        * SIMPLIFIED To create a default policy. *

        *
      • *
      • *

        * STANDARD To create a custom policy. *

        *
      • *
      * * @param policyLanguage * The type of policy to create. Specify one of the following:

      *
        *
      • *

        * SIMPLIFIED To create a default policy. *

        *
      • *
      • *

        * STANDARD To create a custom policy. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see PolicyLanguageValues */ public PolicyDetails withPolicyLanguage(String policyLanguage) { setPolicyLanguage(policyLanguage); return this; } /** *

        * The type of policy to create. Specify one of the following: *

        *
          *
        • *

          * SIMPLIFIED To create a default policy. *

          *
        • *
        • *

          * STANDARD To create a custom policy. *

          *
        • *
        * * @param policyLanguage * The type of policy to create. Specify one of the following:

        *
          *
        • *

          * SIMPLIFIED To create a default policy. *

          *
        • *
        • *

          * STANDARD To create a custom policy. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see PolicyLanguageValues */ public PolicyDetails withPolicyLanguage(PolicyLanguageValues policyLanguage) { this.policyLanguage = policyLanguage.toString(); return this; } /** *

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

            *
          • *
          * * @param resourceType * [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 ResourceTypeValues */ public void setResourceType(String resourceType) { this.resourceType = resourceType; } /** *

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

              *
            • *
            * * @return [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 ResourceTypeValues */ public String getResourceType() { return this.resourceType; } /** *

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

                *
              • *
              * * @param resourceType * [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. *

                *
              • * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceTypeValues */ public PolicyDetails withResourceType(String resourceType) { setResourceType(resourceType); return this; } /** *

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

                  *
                • *
                * * @param resourceType * [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. *

                  *
                • * @return Returns a reference to this object so that method calls can be chained together. * @see ResourceTypeValues */ public PolicyDetails withResourceType(ResourceTypeValues resourceType) { this.resourceType = resourceType.toString(); return this; } /** *

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

                  * * @param 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 */ public void setCreateInterval(Integer createInterval) { this.createInterval = 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 *

                  * * @return [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 */ public Integer getCreateInterval() { return this.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 *

                  * * @param 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 * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withCreateInterval(Integer createInterval) { setCreateInterval(createInterval); return this; } /** *

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

                  * * @param 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 */ public void setRetainInterval(Integer retainInterval) { this.retainInterval = 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 *

                  * * @return [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 */ public Integer getRetainInterval() { return this.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 *

                  * * @param 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 * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withRetainInterval(Integer retainInterval) { setRetainInterval(retainInterval); return this; } /** *

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

                  * * @param 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 */ public void setCopyTags(Boolean copyTags) { this.copyTags = 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 *

                  * * @return [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 */ public Boolean getCopyTags() { return this.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 *

                  * * @param 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 * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withCopyTags(Boolean copyTags) { setCopyTags(copyTags); return this; } /** *

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

                  * * @return [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 */ public Boolean isCopyTags() { return this.copyTags; } /** *

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

                  * * @return [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. */ public java.util.List getCrossRegionCopyTargets() { return 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. *

                  * * @param 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. */ public void setCrossRegionCopyTargets(java.util.Collection crossRegionCopyTargets) { if (crossRegionCopyTargets == null) { this.crossRegionCopyTargets = null; return; } this.crossRegionCopyTargets = new java.util.ArrayList(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. *

                  *

                  * NOTE: This method appends the values to the existing list (if any). Use * {@link #setCrossRegionCopyTargets(java.util.Collection)} or * {@link #withCrossRegionCopyTargets(java.util.Collection)} if you want to override the existing values. *

                  * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withCrossRegionCopyTargets(CrossRegionCopyTarget... crossRegionCopyTargets) { if (this.crossRegionCopyTargets == null) { setCrossRegionCopyTargets(new java.util.ArrayList(crossRegionCopyTargets.length)); } for (CrossRegionCopyTarget ele : crossRegionCopyTargets) { this.crossRegionCopyTargets.add(ele); } return this; } /** *

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

                  * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withCrossRegionCopyTargets(java.util.Collection crossRegionCopyTargets) { setCrossRegionCopyTargets(crossRegionCopyTargets); return this; } /** *

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

                  * * @param 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 */ public void setExtendDeletion(Boolean extendDeletion) { this.extendDeletion = 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 *

                  * * @return [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 */ public Boolean getExtendDeletion() { return this.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 *

                  * * @param 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 * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withExtendDeletion(Boolean extendDeletion) { setExtendDeletion(extendDeletion); return this; } /** *

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

                  * * @return [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 */ public Boolean isExtendDeletion() { return this.extendDeletion; } /** *

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

                  * * @param 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. */ public void setExclusions(Exclusions exclusions) { this.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. *

                  * * @return [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. */ public Exclusions getExclusions() { return this.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. *

                  * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public PolicyDetails withExclusions(Exclusions exclusions) { setExclusions(exclusions); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getPolicyType() != null) sb.append("PolicyType: ").append(getPolicyType()).append(","); if (getResourceTypes() != null) sb.append("ResourceTypes: ").append(getResourceTypes()).append(","); if (getResourceLocations() != null) sb.append("ResourceLocations: ").append(getResourceLocations()).append(","); if (getTargetTags() != null) sb.append("TargetTags: ").append(getTargetTags()).append(","); if (getSchedules() != null) sb.append("Schedules: ").append(getSchedules()).append(","); if (getParameters() != null) sb.append("Parameters: ").append(getParameters()).append(","); if (getEventSource() != null) sb.append("EventSource: ").append(getEventSource()).append(","); if (getActions() != null) sb.append("Actions: ").append(getActions()).append(","); if (getPolicyLanguage() != null) sb.append("PolicyLanguage: ").append(getPolicyLanguage()).append(","); if (getResourceType() != null) sb.append("ResourceType: ").append(getResourceType()).append(","); if (getCreateInterval() != null) sb.append("CreateInterval: ").append(getCreateInterval()).append(","); if (getRetainInterval() != null) sb.append("RetainInterval: ").append(getRetainInterval()).append(","); if (getCopyTags() != null) sb.append("CopyTags: ").append(getCopyTags()).append(","); if (getCrossRegionCopyTargets() != null) sb.append("CrossRegionCopyTargets: ").append(getCrossRegionCopyTargets()).append(","); if (getExtendDeletion() != null) sb.append("ExtendDeletion: ").append(getExtendDeletion()).append(","); if (getExclusions() != null) sb.append("Exclusions: ").append(getExclusions()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PolicyDetails == false) return false; PolicyDetails other = (PolicyDetails) obj; if (other.getPolicyType() == null ^ this.getPolicyType() == null) return false; if (other.getPolicyType() != null && other.getPolicyType().equals(this.getPolicyType()) == false) return false; if (other.getResourceTypes() == null ^ this.getResourceTypes() == null) return false; if (other.getResourceTypes() != null && other.getResourceTypes().equals(this.getResourceTypes()) == false) return false; if (other.getResourceLocations() == null ^ this.getResourceLocations() == null) return false; if (other.getResourceLocations() != null && other.getResourceLocations().equals(this.getResourceLocations()) == false) return false; if (other.getTargetTags() == null ^ this.getTargetTags() == null) return false; if (other.getTargetTags() != null && other.getTargetTags().equals(this.getTargetTags()) == false) return false; if (other.getSchedules() == null ^ this.getSchedules() == null) return false; if (other.getSchedules() != null && other.getSchedules().equals(this.getSchedules()) == false) return false; if (other.getParameters() == null ^ this.getParameters() == null) return false; if (other.getParameters() != null && other.getParameters().equals(this.getParameters()) == false) return false; if (other.getEventSource() == null ^ this.getEventSource() == null) return false; if (other.getEventSource() != null && other.getEventSource().equals(this.getEventSource()) == false) return false; if (other.getActions() == null ^ this.getActions() == null) return false; if (other.getActions() != null && other.getActions().equals(this.getActions()) == false) return false; if (other.getPolicyLanguage() == null ^ this.getPolicyLanguage() == null) return false; if (other.getPolicyLanguage() != null && other.getPolicyLanguage().equals(this.getPolicyLanguage()) == false) return false; if (other.getResourceType() == null ^ this.getResourceType() == null) return false; if (other.getResourceType() != null && other.getResourceType().equals(this.getResourceType()) == false) return false; if (other.getCreateInterval() == null ^ this.getCreateInterval() == null) return false; if (other.getCreateInterval() != null && other.getCreateInterval().equals(this.getCreateInterval()) == false) return false; if (other.getRetainInterval() == null ^ this.getRetainInterval() == null) return false; if (other.getRetainInterval() != null && other.getRetainInterval().equals(this.getRetainInterval()) == false) return false; if (other.getCopyTags() == null ^ this.getCopyTags() == null) return false; if (other.getCopyTags() != null && other.getCopyTags().equals(this.getCopyTags()) == false) return false; if (other.getCrossRegionCopyTargets() == null ^ this.getCrossRegionCopyTargets() == null) return false; if (other.getCrossRegionCopyTargets() != null && other.getCrossRegionCopyTargets().equals(this.getCrossRegionCopyTargets()) == false) return false; if (other.getExtendDeletion() == null ^ this.getExtendDeletion() == null) return false; if (other.getExtendDeletion() != null && other.getExtendDeletion().equals(this.getExtendDeletion()) == false) return false; if (other.getExclusions() == null ^ this.getExclusions() == null) return false; if (other.getExclusions() != null && other.getExclusions().equals(this.getExclusions()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getPolicyType() == null) ? 0 : getPolicyType().hashCode()); hashCode = prime * hashCode + ((getResourceTypes() == null) ? 0 : getResourceTypes().hashCode()); hashCode = prime * hashCode + ((getResourceLocations() == null) ? 0 : getResourceLocations().hashCode()); hashCode = prime * hashCode + ((getTargetTags() == null) ? 0 : getTargetTags().hashCode()); hashCode = prime * hashCode + ((getSchedules() == null) ? 0 : getSchedules().hashCode()); hashCode = prime * hashCode + ((getParameters() == null) ? 0 : getParameters().hashCode()); hashCode = prime * hashCode + ((getEventSource() == null) ? 0 : getEventSource().hashCode()); hashCode = prime * hashCode + ((getActions() == null) ? 0 : getActions().hashCode()); hashCode = prime * hashCode + ((getPolicyLanguage() == null) ? 0 : getPolicyLanguage().hashCode()); hashCode = prime * hashCode + ((getResourceType() == null) ? 0 : getResourceType().hashCode()); hashCode = prime * hashCode + ((getCreateInterval() == null) ? 0 : getCreateInterval().hashCode()); hashCode = prime * hashCode + ((getRetainInterval() == null) ? 0 : getRetainInterval().hashCode()); hashCode = prime * hashCode + ((getCopyTags() == null) ? 0 : getCopyTags().hashCode()); hashCode = prime * hashCode + ((getCrossRegionCopyTargets() == null) ? 0 : getCrossRegionCopyTargets().hashCode()); hashCode = prime * hashCode + ((getExtendDeletion() == null) ? 0 : getExtendDeletion().hashCode()); hashCode = prime * hashCode + ((getExclusions() == null) ? 0 : getExclusions().hashCode()); return hashCode; } @Override public PolicyDetails clone() { try { return (PolicyDetails) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.dlm.model.transform.PolicyDetailsMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy