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

com.pulumi.azurenative.awsconnector.inputs.NoncurrentVersionExpirationArgs Maven / Gradle / Ivy

// *** 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.awsconnector.inputs;

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


/**
 * Definition of NoncurrentVersionExpiration
 * 
 */
public final class NoncurrentVersionExpirationArgs extends com.pulumi.resources.ResourceArgs {

    public static final NoncurrentVersionExpirationArgs Empty = new NoncurrentVersionExpirationArgs();

    /**
     * Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.
     * 
     */
    @Import(name="newerNoncurrentVersions")
    private @Nullable Output newerNoncurrentVersions;

    /**
     * @return Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.
     * 
     */
    public Optional> newerNoncurrentVersions() {
        return Optional.ofNullable(this.newerNoncurrentVersions);
    }

    /**
     * Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.
     * 
     */
    @Import(name="noncurrentDays")
    private @Nullable Output noncurrentDays;

    /**
     * @return Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.
     * 
     */
    public Optional> noncurrentDays() {
        return Optional.ofNullable(this.noncurrentDays);
    }

    private NoncurrentVersionExpirationArgs() {}

    private NoncurrentVersionExpirationArgs(NoncurrentVersionExpirationArgs $) {
        this.newerNoncurrentVersions = $.newerNoncurrentVersions;
        this.noncurrentDays = $.noncurrentDays;
    }

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

    public static final class Builder {
        private NoncurrentVersionExpirationArgs $;

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

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

        /**
         * @param newerNoncurrentVersions Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.
         * 
         * @return builder
         * 
         */
        public Builder newerNoncurrentVersions(@Nullable Output newerNoncurrentVersions) {
            $.newerNoncurrentVersions = newerNoncurrentVersions;
            return this;
        }

        /**
         * @param newerNoncurrentVersions Specifies how many noncurrent versions S3 will retain. If there are this many more recent noncurrent versions, S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide*.
         * 
         * @return builder
         * 
         */
        public Builder newerNoncurrentVersions(Integer newerNoncurrentVersions) {
            return newerNoncurrentVersions(Output.of(newerNoncurrentVersions));
        }

        /**
         * @param noncurrentDays Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.
         * 
         * @return builder
         * 
         */
        public Builder noncurrentDays(@Nullable Output noncurrentDays) {
            $.noncurrentDays = noncurrentDays;
            return this;
        }

        /**
         * @param noncurrentDays Specifies the number of days an object is noncurrent before S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide*.
         * 
         * @return builder
         * 
         */
        public Builder noncurrentDays(Integer noncurrentDays) {
            return noncurrentDays(Output.of(noncurrentDays));
        }

        public NoncurrentVersionExpirationArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy