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

org.apache.inlong.sort.filesystem.shaded.com.amazonaws.services.s3.model.intelligenttiering.Tiering Maven / Gradle / Ivy

There is a newer version: 1.13.0
Show newest version
/*
 * Copyright 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.
 * You may obtain a copy of the License at:
 *
 *    http://aws.amazon.com/apache2.0
 *
 * 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.s3.model.intelligenttiering;

import java.io.Serializable;
import java.util.Objects;

/**
 * Specifies the S3 Intelligent-Tiering storage class tier of the configuration.
 */
public class Tiering implements Serializable {
    private Integer days;
    private IntelligentTieringAccessTier accessTier;

    /**
     * Returns the number of days that you want your archived data to be accessible.
     */
    public Integer getDays() {
        return days;
    }

    /**
     * Sets the number of days that you want your archived data to be accessible.
     * The minimum number of days specified in the restore request must be at least 90 days.
     * If a smaller value is specifed it will be ignored.
     */
    public void setDays(Integer days) {
        this.days = days;
    }

    /**
     * Sets the number of days that you want your archived data to be accessible and returns the {@link Tiering} object
     * for method chaining. The minimum number of days specified in the restore request must be at least 90 days.
     * If a smaller value is specifed it will be ignored.
     */
    public Tiering withDays(Integer days) {
        setDays(days);
        return this;
    }

    /**
     * Returns the filter used to describe a set of objects for S3 Intelligent-Tiering.
     */
    public IntelligentTieringAccessTier getAccessTier() {
        return accessTier;
    }

    /**
     * Sets S3 Intelligent-Tiering access tier.
     * See 
     * Storage class for automatically optimizing frequently and infrequently accessed objects
     * for a list of access tiers in the S3 Intelligent-Tiering storage class.
     */
    public void setAccessTier(IntelligentTieringAccessTier accessTier) {
        this.accessTier = accessTier;
    }

    /**
     * Sets S3 Intelligent-Tiering access tier and returns the {@link Tiering} object is returned for method chaining.
     * See 
     * Storage class for automatically optimizing frequently and infrequently accessed objects
     * for a list of access tiers in the S3 Intelligent-Tiering storage class.
     */
    public Tiering withIntelligentTieringAccessTier(IntelligentTieringAccessTier intelligentTieringAccessTier) {
        setAccessTier(intelligentTieringAccessTier);
        return this;
    }


    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        Tiering tiering = (Tiering) o;
        return Objects.equals(days, tiering.days) &&
                       accessTier == tiering.accessTier;
    }

    @Override
    public int hashCode() {
        return Objects.hash(days, accessTier);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy