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

com.pulumi.azurenative.awsconnector.inputs.LoggingArgs 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.inputs.LogSetupArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of Logging
 * 
 */
public final class LoggingArgs extends com.pulumi.resources.ResourceArgs {

    public static final LoggingArgs Empty = new LoggingArgs();

    /**
     * The Amazon S3 bucket to store the access logs in, for example, ``myawslogbucket.s3.amazonaws.com``.
     * 
     */
    @Import(name="bucket")
    private @Nullable Output bucket;

    /**
     * @return The Amazon S3 bucket to store the access logs in, for example, ``myawslogbucket.s3.amazonaws.com``.
     * 
     */
    public Optional> bucket() {
        return Optional.ofNullable(this.bucket);
    }

    /**
     * <p>The cluster control plane logging configuration for your cluster.</p>
     * 
     */
    @Import(name="clusterLogging")
    private @Nullable Output> clusterLogging;

    /**
     * @return <p>The cluster control plane logging configuration for your cluster.</p>
     * 
     */
    public Optional>> clusterLogging() {
        return Optional.ofNullable(this.clusterLogging);
    }

    /**
     * Specifies whether you want CloudFront to include cookies in access logs, specify ``true`` for ``IncludeCookies``. If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify ``false`` for ``IncludeCookies``.
     * 
     */
    @Import(name="includeCookies")
    private @Nullable Output includeCookies;

    /**
     * @return Specifies whether you want CloudFront to include cookies in access logs, specify ``true`` for ``IncludeCookies``. If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify ``false`` for ``IncludeCookies``.
     * 
     */
    public Optional> includeCookies() {
        return Optional.ofNullable(this.includeCookies);
    }

    /**
     * An optional string that you want CloudFront to prefix to the access log ``filenames`` for this distribution, for example, ``myprefix/``. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty ``Prefix`` element in the ``Logging`` element.
     * 
     */
    @Import(name="prefix")
    private @Nullable Output prefix;

    /**
     * @return An optional string that you want CloudFront to prefix to the access log ``filenames`` for this distribution, for example, ``myprefix/``. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty ``Prefix`` element in the ``Logging`` element.
     * 
     */
    public Optional> prefix() {
        return Optional.ofNullable(this.prefix);
    }

    private LoggingArgs() {}

    private LoggingArgs(LoggingArgs $) {
        this.bucket = $.bucket;
        this.clusterLogging = $.clusterLogging;
        this.includeCookies = $.includeCookies;
        this.prefix = $.prefix;
    }

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

    public static final class Builder {
        private LoggingArgs $;

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

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

        /**
         * @param bucket The Amazon S3 bucket to store the access logs in, for example, ``myawslogbucket.s3.amazonaws.com``.
         * 
         * @return builder
         * 
         */
        public Builder bucket(@Nullable Output bucket) {
            $.bucket = bucket;
            return this;
        }

        /**
         * @param bucket The Amazon S3 bucket to store the access logs in, for example, ``myawslogbucket.s3.amazonaws.com``.
         * 
         * @return builder
         * 
         */
        public Builder bucket(String bucket) {
            return bucket(Output.of(bucket));
        }

        /**
         * @param clusterLogging <p>The cluster control plane logging configuration for your cluster.</p>
         * 
         * @return builder
         * 
         */
        public Builder clusterLogging(@Nullable Output> clusterLogging) {
            $.clusterLogging = clusterLogging;
            return this;
        }

        /**
         * @param clusterLogging <p>The cluster control plane logging configuration for your cluster.</p>
         * 
         * @return builder
         * 
         */
        public Builder clusterLogging(List clusterLogging) {
            return clusterLogging(Output.of(clusterLogging));
        }

        /**
         * @param clusterLogging <p>The cluster control plane logging configuration for your cluster.</p>
         * 
         * @return builder
         * 
         */
        public Builder clusterLogging(LogSetupArgs... clusterLogging) {
            return clusterLogging(List.of(clusterLogging));
        }

        /**
         * @param includeCookies Specifies whether you want CloudFront to include cookies in access logs, specify ``true`` for ``IncludeCookies``. If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify ``false`` for ``IncludeCookies``.
         * 
         * @return builder
         * 
         */
        public Builder includeCookies(@Nullable Output includeCookies) {
            $.includeCookies = includeCookies;
            return this;
        }

        /**
         * @param includeCookies Specifies whether you want CloudFront to include cookies in access logs, specify ``true`` for ``IncludeCookies``. If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify ``false`` for ``IncludeCookies``.
         * 
         * @return builder
         * 
         */
        public Builder includeCookies(Boolean includeCookies) {
            return includeCookies(Output.of(includeCookies));
        }

        /**
         * @param prefix An optional string that you want CloudFront to prefix to the access log ``filenames`` for this distribution, for example, ``myprefix/``. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty ``Prefix`` element in the ``Logging`` element.
         * 
         * @return builder
         * 
         */
        public Builder prefix(@Nullable Output prefix) {
            $.prefix = prefix;
            return this;
        }

        /**
         * @param prefix An optional string that you want CloudFront to prefix to the access log ``filenames`` for this distribution, for example, ``myprefix/``. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty ``Prefix`` element in the ``Logging`` element.
         * 
         * @return builder
         * 
         */
        public Builder prefix(String prefix) {
            return prefix(Output.of(prefix));
        }

        public LoggingArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy