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

com.amazonaws.services.elasticfilesystem.model.LifecyclePolicy Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Elastic File System module holds the client classes that are used for communicating with Amazon Elastic File System

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.elasticfilesystem.model;

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

/**
 * 

* Describes a policy used by Lifecycle management that specifies when to transition files into and out of storage * classes. For more information, see Managing file system storage. *

* *

* When using the put-lifecycle-configuration CLI command or the PutLifecycleConfiguration API * action, Amazon EFS requires that each LifecyclePolicy object have only a single transition. This means * that in a request body, LifecyclePolicies must be structured as an array of LifecyclePolicy * objects, one object for each transition. For more information, see the request examples in * PutLifecycleConfiguration. *

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

* The number of days after files were last accessed in primary storage (the Standard storage class) at which to * move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of a directory * don't count as file access events. *

*/ private String transitionToIA; /** *

* Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive storage. * Metadata operations such as listing the contents of a directory don't count as file access events. *

*/ private String transitionToPrimaryStorageClass; /** *

* The number of days after files were last accessed in primary storage (the Standard storage class) files at which * to move them to Archive storage. Metadata operations such as listing the contents of a directory don't count as * file access events. *

*/ private String transitionToArchive; /** *

* The number of days after files were last accessed in primary storage (the Standard storage class) at which to * move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of a directory * don't count as file access events. *

* * @param transitionToIA * The number of days after files were last accessed in primary storage (the Standard storage class) at which * to move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of a * directory don't count as file access events. * @see TransitionToIARules */ public void setTransitionToIA(String transitionToIA) { this.transitionToIA = transitionToIA; } /** *

* The number of days after files were last accessed in primary storage (the Standard storage class) at which to * move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of a directory * don't count as file access events. *

* * @return The number of days after files were last accessed in primary storage (the Standard storage class) at * which to move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of * a directory don't count as file access events. * @see TransitionToIARules */ public String getTransitionToIA() { return this.transitionToIA; } /** *

* The number of days after files were last accessed in primary storage (the Standard storage class) at which to * move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of a directory * don't count as file access events. *

* * @param transitionToIA * The number of days after files were last accessed in primary storage (the Standard storage class) at which * to move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of a * directory don't count as file access events. * @return Returns a reference to this object so that method calls can be chained together. * @see TransitionToIARules */ public LifecyclePolicy withTransitionToIA(String transitionToIA) { setTransitionToIA(transitionToIA); return this; } /** *

* The number of days after files were last accessed in primary storage (the Standard storage class) at which to * move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of a directory * don't count as file access events. *

* * @param transitionToIA * The number of days after files were last accessed in primary storage (the Standard storage class) at which * to move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of a * directory don't count as file access events. * @return Returns a reference to this object so that method calls can be chained together. * @see TransitionToIARules */ public LifecyclePolicy withTransitionToIA(TransitionToIARules transitionToIA) { this.transitionToIA = transitionToIA.toString(); return this; } /** *

* Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive storage. * Metadata operations such as listing the contents of a directory don't count as file access events. *

* * @param transitionToPrimaryStorageClass * Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive storage. * Metadata operations such as listing the contents of a directory don't count as file access events. * @see TransitionToPrimaryStorageClassRules */ public void setTransitionToPrimaryStorageClass(String transitionToPrimaryStorageClass) { this.transitionToPrimaryStorageClass = transitionToPrimaryStorageClass; } /** *

* Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive storage. * Metadata operations such as listing the contents of a directory don't count as file access events. *

* * @return Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive * storage. Metadata operations such as listing the contents of a directory don't count as file access * events. * @see TransitionToPrimaryStorageClassRules */ public String getTransitionToPrimaryStorageClass() { return this.transitionToPrimaryStorageClass; } /** *

* Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive storage. * Metadata operations such as listing the contents of a directory don't count as file access events. *

* * @param transitionToPrimaryStorageClass * Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive storage. * Metadata operations such as listing the contents of a directory don't count as file access events. * @return Returns a reference to this object so that method calls can be chained together. * @see TransitionToPrimaryStorageClassRules */ public LifecyclePolicy withTransitionToPrimaryStorageClass(String transitionToPrimaryStorageClass) { setTransitionToPrimaryStorageClass(transitionToPrimaryStorageClass); return this; } /** *

* Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive storage. * Metadata operations such as listing the contents of a directory don't count as file access events. *

* * @param transitionToPrimaryStorageClass * Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive storage. * Metadata operations such as listing the contents of a directory don't count as file access events. * @return Returns a reference to this object so that method calls can be chained together. * @see TransitionToPrimaryStorageClassRules */ public LifecyclePolicy withTransitionToPrimaryStorageClass(TransitionToPrimaryStorageClassRules transitionToPrimaryStorageClass) { this.transitionToPrimaryStorageClass = transitionToPrimaryStorageClass.toString(); return this; } /** *

* The number of days after files were last accessed in primary storage (the Standard storage class) files at which * to move them to Archive storage. Metadata operations such as listing the contents of a directory don't count as * file access events. *

* * @param transitionToArchive * The number of days after files were last accessed in primary storage (the Standard storage class) files at * which to move them to Archive storage. Metadata operations such as listing the contents of a directory * don't count as file access events. * @see TransitionToArchiveRules */ public void setTransitionToArchive(String transitionToArchive) { this.transitionToArchive = transitionToArchive; } /** *

* The number of days after files were last accessed in primary storage (the Standard storage class) files at which * to move them to Archive storage. Metadata operations such as listing the contents of a directory don't count as * file access events. *

* * @return The number of days after files were last accessed in primary storage (the Standard storage class) files * at which to move them to Archive storage. Metadata operations such as listing the contents of a directory * don't count as file access events. * @see TransitionToArchiveRules */ public String getTransitionToArchive() { return this.transitionToArchive; } /** *

* The number of days after files were last accessed in primary storage (the Standard storage class) files at which * to move them to Archive storage. Metadata operations such as listing the contents of a directory don't count as * file access events. *

* * @param transitionToArchive * The number of days after files were last accessed in primary storage (the Standard storage class) files at * which to move them to Archive storage. Metadata operations such as listing the contents of a directory * don't count as file access events. * @return Returns a reference to this object so that method calls can be chained together. * @see TransitionToArchiveRules */ public LifecyclePolicy withTransitionToArchive(String transitionToArchive) { setTransitionToArchive(transitionToArchive); return this; } /** *

* The number of days after files were last accessed in primary storage (the Standard storage class) files at which * to move them to Archive storage. Metadata operations such as listing the contents of a directory don't count as * file access events. *

* * @param transitionToArchive * The number of days after files were last accessed in primary storage (the Standard storage class) files at * which to move them to Archive storage. Metadata operations such as listing the contents of a directory * don't count as file access events. * @return Returns a reference to this object so that method calls can be chained together. * @see TransitionToArchiveRules */ public LifecyclePolicy withTransitionToArchive(TransitionToArchiveRules transitionToArchive) { this.transitionToArchive = transitionToArchive.toString(); 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 (getTransitionToIA() != null) sb.append("TransitionToIA: ").append(getTransitionToIA()).append(","); if (getTransitionToPrimaryStorageClass() != null) sb.append("TransitionToPrimaryStorageClass: ").append(getTransitionToPrimaryStorageClass()).append(","); if (getTransitionToArchive() != null) sb.append("TransitionToArchive: ").append(getTransitionToArchive()); 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.getTransitionToIA() == null ^ this.getTransitionToIA() == null) return false; if (other.getTransitionToIA() != null && other.getTransitionToIA().equals(this.getTransitionToIA()) == false) return false; if (other.getTransitionToPrimaryStorageClass() == null ^ this.getTransitionToPrimaryStorageClass() == null) return false; if (other.getTransitionToPrimaryStorageClass() != null && other.getTransitionToPrimaryStorageClass().equals(this.getTransitionToPrimaryStorageClass()) == false) return false; if (other.getTransitionToArchive() == null ^ this.getTransitionToArchive() == null) return false; if (other.getTransitionToArchive() != null && other.getTransitionToArchive().equals(this.getTransitionToArchive()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getTransitionToIA() == null) ? 0 : getTransitionToIA().hashCode()); hashCode = prime * hashCode + ((getTransitionToPrimaryStorageClass() == null) ? 0 : getTransitionToPrimaryStorageClass().hashCode()); hashCode = prime * hashCode + ((getTransitionToArchive() == null) ? 0 : getTransitionToArchive().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.elasticfilesystem.model.transform.LifecyclePolicyMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy