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

com.amazonaws.services.dlm.model.LifecyclePolicy 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

There is a newer version: 1.12.780
Show 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;

/**
 * 

* [Custom policies only] Detailed information about a snapshot, AMI, or event-based lifecycle policy. *

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

* The identifier of the lifecycle policy. *

*/ private String policyId; /** *

* The description of the lifecycle policy. *

*/ private String description; /** *

* The activation state of the lifecycle policy. *

*/ private String state; /** *

* The description of the status. *

*/ private String statusMessage; /** *

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

*/ private String executionRoleArn; /** *

* The local date and time when the lifecycle policy was created. *

*/ private java.util.Date dateCreated; /** *

* The local date and time when the lifecycle policy was last modified. *

*/ private java.util.Date dateModified; /** *

* The configuration of the lifecycle policy *

*/ private PolicyDetails policyDetails; /** *

* The tags. *

*/ private java.util.Map tags; /** *

* The Amazon Resource Name (ARN) of the policy. *

*/ private String policyArn; /** *

* [Default policies only] The type of default policy. Values include: *

*
    *
  • *

    * VOLUME - Default policy for EBS snapshots *

    *
  • *
  • *

    * INSTANCE - Default policy for EBS-backed AMIs *

    *
  • *
*/ private Boolean defaultPolicy; /** *

* The identifier of the lifecycle policy. *

* * @param policyId * The identifier of the lifecycle policy. */ public void setPolicyId(String policyId) { this.policyId = policyId; } /** *

* The identifier of the lifecycle policy. *

* * @return The identifier of the lifecycle policy. */ public String getPolicyId() { return this.policyId; } /** *

* The identifier of the lifecycle policy. *

* * @param policyId * The identifier of the lifecycle policy. * @return Returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy withPolicyId(String policyId) { setPolicyId(policyId); return this; } /** *

* The description of the lifecycle policy. *

* * @param description * The description of the lifecycle policy. */ public void setDescription(String description) { this.description = description; } /** *

* The description of the lifecycle policy. *

* * @return The description of the lifecycle policy. */ public String getDescription() { return this.description; } /** *

* The description of the lifecycle policy. *

* * @param description * The description of the lifecycle policy. * @return Returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy withDescription(String description) { setDescription(description); return this; } /** *

* The activation state of the lifecycle policy. *

* * @param state * The activation state of the lifecycle policy. * @see GettablePolicyStateValues */ public void setState(String state) { this.state = state; } /** *

* The activation state of the lifecycle policy. *

* * @return The activation state of the lifecycle policy. * @see GettablePolicyStateValues */ public String getState() { return this.state; } /** *

* The activation state of the lifecycle policy. *

* * @param state * The activation state of the lifecycle policy. * @return Returns a reference to this object so that method calls can be chained together. * @see GettablePolicyStateValues */ public LifecyclePolicy withState(String state) { setState(state); return this; } /** *

* The activation state of the lifecycle policy. *

* * @param state * The activation state of the lifecycle policy. * @return Returns a reference to this object so that method calls can be chained together. * @see GettablePolicyStateValues */ public LifecyclePolicy withState(GettablePolicyStateValues state) { this.state = state.toString(); return this; } /** *

* The description of the status. *

* * @param statusMessage * The description of the status. */ public void setStatusMessage(String statusMessage) { this.statusMessage = statusMessage; } /** *

* The description of the status. *

* * @return The description of the status. */ public String getStatusMessage() { return this.statusMessage; } /** *

* The description of the status. *

* * @param statusMessage * The description of the status. * @return Returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy withStatusMessage(String statusMessage) { setStatusMessage(statusMessage); return this; } /** *

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

* * @param executionRoleArn * The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle * policy. */ public void setExecutionRoleArn(String executionRoleArn) { this.executionRoleArn = executionRoleArn; } /** *

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

* * @return The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle * policy. */ public String getExecutionRoleArn() { return this.executionRoleArn; } /** *

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

* * @param executionRoleArn * The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle * policy. * @return Returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy withExecutionRoleArn(String executionRoleArn) { setExecutionRoleArn(executionRoleArn); return this; } /** *

* The local date and time when the lifecycle policy was created. *

* * @param dateCreated * The local date and time when the lifecycle policy was created. */ public void setDateCreated(java.util.Date dateCreated) { this.dateCreated = dateCreated; } /** *

* The local date and time when the lifecycle policy was created. *

* * @return The local date and time when the lifecycle policy was created. */ public java.util.Date getDateCreated() { return this.dateCreated; } /** *

* The local date and time when the lifecycle policy was created. *

* * @param dateCreated * The local date and time when the lifecycle policy was created. * @return Returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy withDateCreated(java.util.Date dateCreated) { setDateCreated(dateCreated); return this; } /** *

* The local date and time when the lifecycle policy was last modified. *

* * @param dateModified * The local date and time when the lifecycle policy was last modified. */ public void setDateModified(java.util.Date dateModified) { this.dateModified = dateModified; } /** *

* The local date and time when the lifecycle policy was last modified. *

* * @return The local date and time when the lifecycle policy was last modified. */ public java.util.Date getDateModified() { return this.dateModified; } /** *

* The local date and time when the lifecycle policy was last modified. *

* * @param dateModified * The local date and time when the lifecycle policy was last modified. * @return Returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy withDateModified(java.util.Date dateModified) { setDateModified(dateModified); return this; } /** *

* The configuration of the lifecycle policy *

* * @param policyDetails * The configuration of the lifecycle policy */ public void setPolicyDetails(PolicyDetails policyDetails) { this.policyDetails = policyDetails; } /** *

* The configuration of the lifecycle policy *

* * @return The configuration of the lifecycle policy */ public PolicyDetails getPolicyDetails() { return this.policyDetails; } /** *

* The configuration of the lifecycle policy *

* * @param policyDetails * The configuration of the lifecycle policy * @return Returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy withPolicyDetails(PolicyDetails policyDetails) { setPolicyDetails(policyDetails); return this; } /** *

* The tags. *

* * @return The tags. */ public java.util.Map getTags() { return tags; } /** *

* The tags. *

* * @param tags * The tags. */ public void setTags(java.util.Map tags) { this.tags = tags; } /** *

* The tags. *

* * @param tags * The tags. * @return Returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy withTags(java.util.Map tags) { setTags(tags); return this; } /** * Add a single Tags entry * * @see LifecyclePolicy#withTags * @returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy addTagsEntry(String key, String value) { if (null == this.tags) { this.tags = new java.util.HashMap(); } if (this.tags.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.tags.put(key, value); return this; } /** * Removes all the entries added into Tags. * * @return Returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy clearTagsEntries() { this.tags = null; return this; } /** *

* The Amazon Resource Name (ARN) of the policy. *

* * @param policyArn * The Amazon Resource Name (ARN) of the policy. */ public void setPolicyArn(String policyArn) { this.policyArn = policyArn; } /** *

* The Amazon Resource Name (ARN) of the policy. *

* * @return The Amazon Resource Name (ARN) of the policy. */ public String getPolicyArn() { return this.policyArn; } /** *

* The Amazon Resource Name (ARN) of the policy. *

* * @param policyArn * The Amazon Resource Name (ARN) of the policy. * @return Returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy withPolicyArn(String policyArn) { setPolicyArn(policyArn); return this; } /** *

* [Default policies only] The type of default policy. Values include: *

*
    *
  • *

    * VOLUME - Default policy for EBS snapshots *

    *
  • *
  • *

    * INSTANCE - Default policy for EBS-backed AMIs *

    *
  • *
* * @param defaultPolicy * [Default policies only] The type of default policy. Values include:

*
    *
  • *

    * VOLUME - Default policy for EBS snapshots *

    *
  • *
  • *

    * INSTANCE - Default policy for EBS-backed AMIs *

    *
  • */ public void setDefaultPolicy(Boolean defaultPolicy) { this.defaultPolicy = defaultPolicy; } /** *

    * [Default policies only] The type of default policy. Values include: *

    *
      *
    • *

      * VOLUME - Default policy for EBS snapshots *

      *
    • *
    • *

      * INSTANCE - Default policy for EBS-backed AMIs *

      *
    • *
    * * @return [Default policies only] The type of default policy. Values include:

    *
      *
    • *

      * VOLUME - Default policy for EBS snapshots *

      *
    • *
    • *

      * INSTANCE - Default policy for EBS-backed AMIs *

      *
    • */ public Boolean getDefaultPolicy() { return this.defaultPolicy; } /** *

      * [Default policies only] The type of default policy. Values include: *

      *
        *
      • *

        * VOLUME - Default policy for EBS snapshots *

        *
      • *
      • *

        * INSTANCE - Default policy for EBS-backed AMIs *

        *
      • *
      * * @param defaultPolicy * [Default policies only] The type of default policy. Values include:

      *
        *
      • *

        * VOLUME - Default policy for EBS snapshots *

        *
      • *
      • *

        * INSTANCE - Default policy for EBS-backed AMIs *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public LifecyclePolicy withDefaultPolicy(Boolean defaultPolicy) { setDefaultPolicy(defaultPolicy); return this; } /** *

        * [Default policies only] The type of default policy. Values include: *

        *
          *
        • *

          * VOLUME - Default policy for EBS snapshots *

          *
        • *
        • *

          * INSTANCE - Default policy for EBS-backed AMIs *

          *
        • *
        * * @return [Default policies only] The type of default policy. Values include:

        *
          *
        • *

          * VOLUME - Default policy for EBS snapshots *

          *
        • *
        • *

          * INSTANCE - Default policy for EBS-backed AMIs *

          *
        • */ public Boolean isDefaultPolicy() { return this.defaultPolicy; } /** * 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 (getPolicyId() != null) sb.append("PolicyId: ").append(getPolicyId()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getState() != null) sb.append("State: ").append(getState()).append(","); if (getStatusMessage() != null) sb.append("StatusMessage: ").append(getStatusMessage()).append(","); if (getExecutionRoleArn() != null) sb.append("ExecutionRoleArn: ").append(getExecutionRoleArn()).append(","); if (getDateCreated() != null) sb.append("DateCreated: ").append(getDateCreated()).append(","); if (getDateModified() != null) sb.append("DateModified: ").append(getDateModified()).append(","); if (getPolicyDetails() != null) sb.append("PolicyDetails: ").append(getPolicyDetails()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getPolicyArn() != null) sb.append("PolicyArn: ").append(getPolicyArn()).append(","); if (getDefaultPolicy() != null) sb.append("DefaultPolicy: ").append(getDefaultPolicy()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof LifecyclePolicy == false) return false; LifecyclePolicy other = (LifecyclePolicy) obj; if (other.getPolicyId() == null ^ this.getPolicyId() == null) return false; if (other.getPolicyId() != null && other.getPolicyId().equals(this.getPolicyId()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getState() == null ^ this.getState() == null) return false; if (other.getState() != null && other.getState().equals(this.getState()) == false) return false; if (other.getStatusMessage() == null ^ this.getStatusMessage() == null) return false; if (other.getStatusMessage() != null && other.getStatusMessage().equals(this.getStatusMessage()) == false) return false; if (other.getExecutionRoleArn() == null ^ this.getExecutionRoleArn() == null) return false; if (other.getExecutionRoleArn() != null && other.getExecutionRoleArn().equals(this.getExecutionRoleArn()) == false) return false; if (other.getDateCreated() == null ^ this.getDateCreated() == null) return false; if (other.getDateCreated() != null && other.getDateCreated().equals(this.getDateCreated()) == false) return false; if (other.getDateModified() == null ^ this.getDateModified() == null) return false; if (other.getDateModified() != null && other.getDateModified().equals(this.getDateModified()) == false) return false; if (other.getPolicyDetails() == null ^ this.getPolicyDetails() == null) return false; if (other.getPolicyDetails() != null && other.getPolicyDetails().equals(this.getPolicyDetails()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getPolicyArn() == null ^ this.getPolicyArn() == null) return false; if (other.getPolicyArn() != null && other.getPolicyArn().equals(this.getPolicyArn()) == false) return false; if (other.getDefaultPolicy() == null ^ this.getDefaultPolicy() == null) return false; if (other.getDefaultPolicy() != null && other.getDefaultPolicy().equals(this.getDefaultPolicy()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getPolicyId() == null) ? 0 : getPolicyId().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getState() == null) ? 0 : getState().hashCode()); hashCode = prime * hashCode + ((getStatusMessage() == null) ? 0 : getStatusMessage().hashCode()); hashCode = prime * hashCode + ((getExecutionRoleArn() == null) ? 0 : getExecutionRoleArn().hashCode()); hashCode = prime * hashCode + ((getDateCreated() == null) ? 0 : getDateCreated().hashCode()); hashCode = prime * hashCode + ((getDateModified() == null) ? 0 : getDateModified().hashCode()); hashCode = prime * hashCode + ((getPolicyDetails() == null) ? 0 : getPolicyDetails().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getPolicyArn() == null) ? 0 : getPolicyArn().hashCode()); hashCode = prime * hashCode + ((getDefaultPolicy() == null) ? 0 : getDefaultPolicy().hashCode()); return hashCode; } @Override public LifecyclePolicy clone() { try { return (LifecyclePolicy) 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.LifecyclePolicyMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy