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

com.pulumi.aws.redshift.inputs.LoggingState Maven / Gradle / Ivy

Go to download

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

There is a newer version: 6.60.0-alpha.1731982519
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.aws.redshift.inputs;

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;


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

    public static final LoggingState Empty = new LoggingState();

    /**
     * Name of an existing S3 bucket where the log files are to be stored. Required when `log_destination_type` is `s3`. Must be in the same region as the cluster and the cluster must have read bucket and put object permissions. For more information on the permissions required for the bucket, please read the AWS [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)
     * 
     */
    @Import(name="bucketName")
    private @Nullable Output bucketName;

    /**
     * @return Name of an existing S3 bucket where the log files are to be stored. Required when `log_destination_type` is `s3`. Must be in the same region as the cluster and the cluster must have read bucket and put object permissions. For more information on the permissions required for the bucket, please read the AWS [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)
     * 
     */
    public Optional> bucketName() {
        return Optional.ofNullable(this.bucketName);
    }

    /**
     * Identifier of the source cluster.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="clusterIdentifier")
    private @Nullable Output clusterIdentifier;

    /**
     * @return Identifier of the source cluster.
     * 
     * The following arguments are optional:
     * 
     */
    public Optional> clusterIdentifier() {
        return Optional.ofNullable(this.clusterIdentifier);
    }

    /**
     * Log destination type. Valid values are `s3` and `cloudwatch`.
     * 
     */
    @Import(name="logDestinationType")
    private @Nullable Output logDestinationType;

    /**
     * @return Log destination type. Valid values are `s3` and `cloudwatch`.
     * 
     */
    public Optional> logDestinationType() {
        return Optional.ofNullable(this.logDestinationType);
    }

    /**
     * Collection of exported log types. Required when `log_destination_type` is `cloudwatch`. Valid values are `connectionlog`, `useractivitylog`, and `userlog`.
     * 
     */
    @Import(name="logExports")
    private @Nullable Output> logExports;

    /**
     * @return Collection of exported log types. Required when `log_destination_type` is `cloudwatch`. Valid values are `connectionlog`, `useractivitylog`, and `userlog`.
     * 
     */
    public Optional>> logExports() {
        return Optional.ofNullable(this.logExports);
    }

    /**
     * Prefix applied to the log file names.
     * 
     */
    @Import(name="s3KeyPrefix")
    private @Nullable Output s3KeyPrefix;

    /**
     * @return Prefix applied to the log file names.
     * 
     */
    public Optional> s3KeyPrefix() {
        return Optional.ofNullable(this.s3KeyPrefix);
    }

    private LoggingState() {}

    private LoggingState(LoggingState $) {
        this.bucketName = $.bucketName;
        this.clusterIdentifier = $.clusterIdentifier;
        this.logDestinationType = $.logDestinationType;
        this.logExports = $.logExports;
        this.s3KeyPrefix = $.s3KeyPrefix;
    }

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

    public static final class Builder {
        private LoggingState $;

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

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

        /**
         * @param bucketName Name of an existing S3 bucket where the log files are to be stored. Required when `log_destination_type` is `s3`. Must be in the same region as the cluster and the cluster must have read bucket and put object permissions. For more information on the permissions required for the bucket, please read the AWS [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)
         * 
         * @return builder
         * 
         */
        public Builder bucketName(@Nullable Output bucketName) {
            $.bucketName = bucketName;
            return this;
        }

        /**
         * @param bucketName Name of an existing S3 bucket where the log files are to be stored. Required when `log_destination_type` is `s3`. Must be in the same region as the cluster and the cluster must have read bucket and put object permissions. For more information on the permissions required for the bucket, please read the AWS [documentation](http://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html#db-auditing-enable-logging)
         * 
         * @return builder
         * 
         */
        public Builder bucketName(String bucketName) {
            return bucketName(Output.of(bucketName));
        }

        /**
         * @param clusterIdentifier Identifier of the source cluster.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder clusterIdentifier(@Nullable Output clusterIdentifier) {
            $.clusterIdentifier = clusterIdentifier;
            return this;
        }

        /**
         * @param clusterIdentifier Identifier of the source cluster.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder clusterIdentifier(String clusterIdentifier) {
            return clusterIdentifier(Output.of(clusterIdentifier));
        }

        /**
         * @param logDestinationType Log destination type. Valid values are `s3` and `cloudwatch`.
         * 
         * @return builder
         * 
         */
        public Builder logDestinationType(@Nullable Output logDestinationType) {
            $.logDestinationType = logDestinationType;
            return this;
        }

        /**
         * @param logDestinationType Log destination type. Valid values are `s3` and `cloudwatch`.
         * 
         * @return builder
         * 
         */
        public Builder logDestinationType(String logDestinationType) {
            return logDestinationType(Output.of(logDestinationType));
        }

        /**
         * @param logExports Collection of exported log types. Required when `log_destination_type` is `cloudwatch`. Valid values are `connectionlog`, `useractivitylog`, and `userlog`.
         * 
         * @return builder
         * 
         */
        public Builder logExports(@Nullable Output> logExports) {
            $.logExports = logExports;
            return this;
        }

        /**
         * @param logExports Collection of exported log types. Required when `log_destination_type` is `cloudwatch`. Valid values are `connectionlog`, `useractivitylog`, and `userlog`.
         * 
         * @return builder
         * 
         */
        public Builder logExports(List logExports) {
            return logExports(Output.of(logExports));
        }

        /**
         * @param logExports Collection of exported log types. Required when `log_destination_type` is `cloudwatch`. Valid values are `connectionlog`, `useractivitylog`, and `userlog`.
         * 
         * @return builder
         * 
         */
        public Builder logExports(String... logExports) {
            return logExports(List.of(logExports));
        }

        /**
         * @param s3KeyPrefix Prefix applied to the log file names.
         * 
         * @return builder
         * 
         */
        public Builder s3KeyPrefix(@Nullable Output s3KeyPrefix) {
            $.s3KeyPrefix = s3KeyPrefix;
            return this;
        }

        /**
         * @param s3KeyPrefix Prefix applied to the log file names.
         * 
         * @return builder
         * 
         */
        public Builder s3KeyPrefix(String s3KeyPrefix) {
            return s3KeyPrefix(Output.of(s3KeyPrefix));
        }

        public LoggingState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy