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

com.pulumi.azurenative.awsconnector.inputs.IntelligentTieringConfigurationArgs 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.azurenative.awsconnector.enums.IntelligentTieringConfigurationStatus;
import com.pulumi.azurenative.awsconnector.inputs.TagFilterArgs;
import com.pulumi.azurenative.awsconnector.inputs.TieringArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of IntelligentTieringConfiguration
 * 
 */
public final class IntelligentTieringConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final IntelligentTieringConfigurationArgs Empty = new IntelligentTieringConfigurationArgs();

    /**
     * The ID used to identify the S3 Intelligent-Tiering configuration.
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

    /**
     * @return The ID used to identify the S3 Intelligent-Tiering configuration.
     * 
     */
    public Optional> id() {
        return Optional.ofNullable(this.id);
    }

    /**
     * An object key name prefix that identifies the subset of objects to which the rule applies.
     * 
     */
    @Import(name="prefix")
    private @Nullable Output prefix;

    /**
     * @return An object key name prefix that identifies the subset of objects to which the rule applies.
     * 
     */
    public Optional> prefix() {
        return Optional.ofNullable(this.prefix);
    }

    /**
     * Specifies the status of the configuration.
     * 
     */
    @Import(name="status")
    private @Nullable Output> status;

    /**
     * @return Specifies the status of the configuration.
     * 
     */
    public Optional>> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * A container for a key-value pair.
     * 
     */
    @Import(name="tagFilters")
    private @Nullable Output> tagFilters;

    /**
     * @return A container for a key-value pair.
     * 
     */
    public Optional>> tagFilters() {
        return Optional.ofNullable(this.tagFilters);
    }

    /**
     * Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.  You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.
     * 
     */
    @Import(name="tierings")
    private @Nullable Output> tierings;

    /**
     * @return Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.  You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.
     * 
     */
    public Optional>> tierings() {
        return Optional.ofNullable(this.tierings);
    }

    private IntelligentTieringConfigurationArgs() {}

    private IntelligentTieringConfigurationArgs(IntelligentTieringConfigurationArgs $) {
        this.id = $.id;
        this.prefix = $.prefix;
        this.status = $.status;
        this.tagFilters = $.tagFilters;
        this.tierings = $.tierings;
    }

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

    public static final class Builder {
        private IntelligentTieringConfigurationArgs $;

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

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

        /**
         * @param id The ID used to identify the S3 Intelligent-Tiering configuration.
         * 
         * @return builder
         * 
         */
        public Builder id(@Nullable Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id The ID used to identify the S3 Intelligent-Tiering configuration.
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

        /**
         * @param prefix An object key name prefix that identifies the subset of objects to which the rule applies.
         * 
         * @return builder
         * 
         */
        public Builder prefix(@Nullable Output prefix) {
            $.prefix = prefix;
            return this;
        }

        /**
         * @param prefix An object key name prefix that identifies the subset of objects to which the rule applies.
         * 
         * @return builder
         * 
         */
        public Builder prefix(String prefix) {
            return prefix(Output.of(prefix));
        }

        /**
         * @param status Specifies the status of the configuration.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output> status) {
            $.status = status;
            return this;
        }

        /**
         * @param status Specifies the status of the configuration.
         * 
         * @return builder
         * 
         */
        public Builder status(Either status) {
            return status(Output.of(status));
        }

        /**
         * @param status Specifies the status of the configuration.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Either.ofLeft(status));
        }

        /**
         * @param status Specifies the status of the configuration.
         * 
         * @return builder
         * 
         */
        public Builder status(IntelligentTieringConfigurationStatus status) {
            return status(Either.ofRight(status));
        }

        /**
         * @param tagFilters A container for a key-value pair.
         * 
         * @return builder
         * 
         */
        public Builder tagFilters(@Nullable Output> tagFilters) {
            $.tagFilters = tagFilters;
            return this;
        }

        /**
         * @param tagFilters A container for a key-value pair.
         * 
         * @return builder
         * 
         */
        public Builder tagFilters(List tagFilters) {
            return tagFilters(Output.of(tagFilters));
        }

        /**
         * @param tagFilters A container for a key-value pair.
         * 
         * @return builder
         * 
         */
        public Builder tagFilters(TagFilterArgs... tagFilters) {
            return tagFilters(List.of(tagFilters));
        }

        /**
         * @param tierings Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.  You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.
         * 
         * @return builder
         * 
         */
        public Builder tierings(@Nullable Output> tierings) {
            $.tierings = tierings;
            return this;
        }

        /**
         * @param tierings Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.  You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.
         * 
         * @return builder
         * 
         */
        public Builder tierings(List tierings) {
            return tierings(Output.of(tierings));
        }

        /**
         * @param tierings Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ``ARCHIVE_ACCESS`` and ``DEEP_ARCHIVE_ACCESS``.  You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.
         * 
         * @return builder
         * 
         */
        public Builder tierings(TieringArgs... tierings) {
            return tierings(List.of(tierings));
        }

        public IntelligentTieringConfigurationArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy