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

com.pulumi.azurenative.storage.inputs.DateAfterModificationArgs Maven / Gradle / Ivy

There is a newer version: 2.72.0
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azurenative.storage.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Double;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan.
 * 
 */
public final class DateAfterModificationArgs extends com.pulumi.resources.ResourceArgs {

    public static final DateAfterModificationArgs Empty = new DateAfterModificationArgs();

    /**
     * Value indicating the age in days after blob creation.
     * 
     */
    @Import(name="daysAfterCreationGreaterThan")
    private @Nullable Output daysAfterCreationGreaterThan;

    /**
     * @return Value indicating the age in days after blob creation.
     * 
     */
    public Optional> daysAfterCreationGreaterThan() {
        return Optional.ofNullable(this.daysAfterCreationGreaterThan);
    }

    /**
     * Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy
     * 
     */
    @Import(name="daysAfterLastAccessTimeGreaterThan")
    private @Nullable Output daysAfterLastAccessTimeGreaterThan;

    /**
     * @return Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy
     * 
     */
    public Optional> daysAfterLastAccessTimeGreaterThan() {
        return Optional.ofNullable(this.daysAfterLastAccessTimeGreaterThan);
    }

    /**
     * Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based actions. The blob will be archived if both the conditions are satisfied.
     * 
     */
    @Import(name="daysAfterLastTierChangeGreaterThan")
    private @Nullable Output daysAfterLastTierChangeGreaterThan;

    /**
     * @return Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based actions. The blob will be archived if both the conditions are satisfied.
     * 
     */
    public Optional> daysAfterLastTierChangeGreaterThan() {
        return Optional.ofNullable(this.daysAfterLastTierChangeGreaterThan);
    }

    /**
     * Value indicating the age in days after last modification
     * 
     */
    @Import(name="daysAfterModificationGreaterThan")
    private @Nullable Output daysAfterModificationGreaterThan;

    /**
     * @return Value indicating the age in days after last modification
     * 
     */
    public Optional> daysAfterModificationGreaterThan() {
        return Optional.ofNullable(this.daysAfterModificationGreaterThan);
    }

    private DateAfterModificationArgs() {}

    private DateAfterModificationArgs(DateAfterModificationArgs $) {
        this.daysAfterCreationGreaterThan = $.daysAfterCreationGreaterThan;
        this.daysAfterLastAccessTimeGreaterThan = $.daysAfterLastAccessTimeGreaterThan;
        this.daysAfterLastTierChangeGreaterThan = $.daysAfterLastTierChangeGreaterThan;
        this.daysAfterModificationGreaterThan = $.daysAfterModificationGreaterThan;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(DateAfterModificationArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private DateAfterModificationArgs $;

        public Builder() {
            $ = new DateAfterModificationArgs();
        }

        public Builder(DateAfterModificationArgs defaults) {
            $ = new DateAfterModificationArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param daysAfterCreationGreaterThan Value indicating the age in days after blob creation.
         * 
         * @return builder
         * 
         */
        public Builder daysAfterCreationGreaterThan(@Nullable Output daysAfterCreationGreaterThan) {
            $.daysAfterCreationGreaterThan = daysAfterCreationGreaterThan;
            return this;
        }

        /**
         * @param daysAfterCreationGreaterThan Value indicating the age in days after blob creation.
         * 
         * @return builder
         * 
         */
        public Builder daysAfterCreationGreaterThan(Double daysAfterCreationGreaterThan) {
            return daysAfterCreationGreaterThan(Output.of(daysAfterCreationGreaterThan));
        }

        /**
         * @param daysAfterLastAccessTimeGreaterThan Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy
         * 
         * @return builder
         * 
         */
        public Builder daysAfterLastAccessTimeGreaterThan(@Nullable Output daysAfterLastAccessTimeGreaterThan) {
            $.daysAfterLastAccessTimeGreaterThan = daysAfterLastAccessTimeGreaterThan;
            return this;
        }

        /**
         * @param daysAfterLastAccessTimeGreaterThan Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy
         * 
         * @return builder
         * 
         */
        public Builder daysAfterLastAccessTimeGreaterThan(Double daysAfterLastAccessTimeGreaterThan) {
            return daysAfterLastAccessTimeGreaterThan(Output.of(daysAfterLastAccessTimeGreaterThan));
        }

        /**
         * @param daysAfterLastTierChangeGreaterThan Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based actions. The blob will be archived if both the conditions are satisfied.
         * 
         * @return builder
         * 
         */
        public Builder daysAfterLastTierChangeGreaterThan(@Nullable Output daysAfterLastTierChangeGreaterThan) {
            $.daysAfterLastTierChangeGreaterThan = daysAfterLastTierChangeGreaterThan;
            return this;
        }

        /**
         * @param daysAfterLastTierChangeGreaterThan Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based actions. The blob will be archived if both the conditions are satisfied.
         * 
         * @return builder
         * 
         */
        public Builder daysAfterLastTierChangeGreaterThan(Double daysAfterLastTierChangeGreaterThan) {
            return daysAfterLastTierChangeGreaterThan(Output.of(daysAfterLastTierChangeGreaterThan));
        }

        /**
         * @param daysAfterModificationGreaterThan Value indicating the age in days after last modification
         * 
         * @return builder
         * 
         */
        public Builder daysAfterModificationGreaterThan(@Nullable Output daysAfterModificationGreaterThan) {
            $.daysAfterModificationGreaterThan = daysAfterModificationGreaterThan;
            return this;
        }

        /**
         * @param daysAfterModificationGreaterThan Value indicating the age in days after last modification
         * 
         * @return builder
         * 
         */
        public Builder daysAfterModificationGreaterThan(Double daysAfterModificationGreaterThan) {
            return daysAfterModificationGreaterThan(Output.of(daysAfterModificationGreaterThan));
        }

        public DateAfterModificationArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy