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

com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

The 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.aws.s3control.inputs;

import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAccountLevelArgs;
import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationAwsOrgArgs;
import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationDataExportArgs;
import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationExcludeArgs;
import com.pulumi.aws.s3control.inputs.StorageLensConfigurationStorageLensConfigurationIncludeArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class StorageLensConfigurationStorageLensConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final StorageLensConfigurationStorageLensConfigurationArgs Empty = new StorageLensConfigurationStorageLensConfigurationArgs();

    /**
     * The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details.
     * 
     */
    @Import(name="accountLevel", required=true)
    private Output accountLevel;

    /**
     * @return The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details.
     * 
     */
    public Output accountLevel() {
        return this.accountLevel;
    }

    /**
     * The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details.
     * 
     */
    @Import(name="awsOrg")
    private @Nullable Output awsOrg;

    /**
     * @return The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details.
     * 
     */
    public Optional> awsOrg() {
        return Optional.ofNullable(this.awsOrg);
    }

    /**
     * Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details.
     * 
     */
    @Import(name="dataExport")
    private @Nullable Output dataExport;

    /**
     * @return Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details.
     * 
     */
    public Optional> dataExport() {
        return Optional.ofNullable(this.dataExport);
    }

    /**
     * Whether the S3 Storage Lens configuration is enabled.
     * 
     */
    @Import(name="enabled", required=true)
    private Output enabled;

    /**
     * @return Whether the S3 Storage Lens configuration is enabled.
     * 
     */
    public Output enabled() {
        return this.enabled;
    }

    /**
     * What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details.
     * 
     */
    @Import(name="exclude")
    private @Nullable Output exclude;

    /**
     * @return What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details.
     * 
     */
    public Optional> exclude() {
        return Optional.ofNullable(this.exclude);
    }

    /**
     * What is included in this configuration. Conflicts with `exclude`. See Include below for more details.
     * 
     */
    @Import(name="include")
    private @Nullable Output include;

    /**
     * @return What is included in this configuration. Conflicts with `exclude`. See Include below for more details.
     * 
     */
    public Optional> include() {
        return Optional.ofNullable(this.include);
    }

    private StorageLensConfigurationStorageLensConfigurationArgs() {}

    private StorageLensConfigurationStorageLensConfigurationArgs(StorageLensConfigurationStorageLensConfigurationArgs $) {
        this.accountLevel = $.accountLevel;
        this.awsOrg = $.awsOrg;
        this.dataExport = $.dataExport;
        this.enabled = $.enabled;
        this.exclude = $.exclude;
        this.include = $.include;
    }

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

    public static final class Builder {
        private StorageLensConfigurationStorageLensConfigurationArgs $;

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

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

        /**
         * @param accountLevel The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details.
         * 
         * @return builder
         * 
         */
        public Builder accountLevel(Output accountLevel) {
            $.accountLevel = accountLevel;
            return this;
        }

        /**
         * @param accountLevel The account-level configurations of the S3 Storage Lens configuration. See Account Level below for more details.
         * 
         * @return builder
         * 
         */
        public Builder accountLevel(StorageLensConfigurationStorageLensConfigurationAccountLevelArgs accountLevel) {
            return accountLevel(Output.of(accountLevel));
        }

        /**
         * @param awsOrg The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details.
         * 
         * @return builder
         * 
         */
        public Builder awsOrg(@Nullable Output awsOrg) {
            $.awsOrg = awsOrg;
            return this;
        }

        /**
         * @param awsOrg The Amazon Web Services organization for the S3 Storage Lens configuration. See AWS Org below for more details.
         * 
         * @return builder
         * 
         */
        public Builder awsOrg(StorageLensConfigurationStorageLensConfigurationAwsOrgArgs awsOrg) {
            return awsOrg(Output.of(awsOrg));
        }

        /**
         * @param dataExport Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details.
         * 
         * @return builder
         * 
         */
        public Builder dataExport(@Nullable Output dataExport) {
            $.dataExport = dataExport;
            return this;
        }

        /**
         * @param dataExport Properties of S3 Storage Lens metrics export including the destination, schema and format. See Data Export below for more details.
         * 
         * @return builder
         * 
         */
        public Builder dataExport(StorageLensConfigurationStorageLensConfigurationDataExportArgs dataExport) {
            return dataExport(Output.of(dataExport));
        }

        /**
         * @param enabled Whether the S3 Storage Lens configuration is enabled.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Whether the S3 Storage Lens configuration is enabled.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

        /**
         * @param exclude What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details.
         * 
         * @return builder
         * 
         */
        public Builder exclude(@Nullable Output exclude) {
            $.exclude = exclude;
            return this;
        }

        /**
         * @param exclude What is excluded in this configuration. Conflicts with `include`. See Exclude below for more details.
         * 
         * @return builder
         * 
         */
        public Builder exclude(StorageLensConfigurationStorageLensConfigurationExcludeArgs exclude) {
            return exclude(Output.of(exclude));
        }

        /**
         * @param include What is included in this configuration. Conflicts with `exclude`. See Include below for more details.
         * 
         * @return builder
         * 
         */
        public Builder include(@Nullable Output include) {
            $.include = include;
            return this;
        }

        /**
         * @param include What is included in this configuration. Conflicts with `exclude`. See Include below for more details.
         * 
         * @return builder
         * 
         */
        public Builder include(StorageLensConfigurationStorageLensConfigurationIncludeArgs include) {
            return include(Output.of(include));
        }

        public StorageLensConfigurationStorageLensConfigurationArgs build() {
            if ($.accountLevel == null) {
                throw new MissingRequiredPropertyException("StorageLensConfigurationStorageLensConfigurationArgs", "accountLevel");
            }
            if ($.enabled == null) {
                throw new MissingRequiredPropertyException("StorageLensConfigurationStorageLensConfigurationArgs", "enabled");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy