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

com.pulumi.azurenative.awsconnector.inputs.AwsWafv2LoggingConfigurationPropertiesArgs 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.FieldToMatchArgs;
import com.pulumi.azurenative.awsconnector.inputs.LoggingFilterModelPropertiesArgs;
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 awsWafv2LoggingConfiguration
 * 
 */
public final class AwsWafv2LoggingConfigurationPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final AwsWafv2LoggingConfigurationPropertiesArgs Empty = new AwsWafv2LoggingConfigurationPropertiesArgs();

    /**
     * The Amazon Resource Names (ARNs) of the logging destinations that you want to associate with the web ACL.
     * 
     */
    @Import(name="logDestinationConfigs")
    private @Nullable Output> logDestinationConfigs;

    /**
     * @return The Amazon Resource Names (ARNs) of the logging destinations that you want to associate with the web ACL.
     * 
     */
    public Optional>> logDestinationConfigs() {
        return Optional.ofNullable(this.logDestinationConfigs);
    }

    /**
     * Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.
     * 
     */
    @Import(name="loggingFilter")
    private @Nullable Output loggingFilter;

    /**
     * @return Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.
     * 
     */
    public Optional> loggingFilter() {
        return Optional.ofNullable(this.loggingFilter);
    }

    /**
     * Indicates whether the logging configuration was created by AWS Firewall Manager, as part of an AWS WAF policy configuration. If true, only Firewall Manager can modify or delete the configuration.
     * 
     */
    @Import(name="managedByFirewallManager")
    private @Nullable Output managedByFirewallManager;

    /**
     * @return Indicates whether the logging configuration was created by AWS Firewall Manager, as part of an AWS WAF policy configuration. If true, only Firewall Manager can modify or delete the configuration.
     * 
     */
    public Optional> managedByFirewallManager() {
        return Optional.ofNullable(this.managedByFirewallManager);
    }

    /**
     * The parts of the request that you want to keep out of the logs. For example, if you redact the HEADER field, the HEADER field in the firehose will be xxx.
     * 
     */
    @Import(name="redactedFields")
    private @Nullable Output> redactedFields;

    /**
     * @return The parts of the request that you want to keep out of the logs. For example, if you redact the HEADER field, the HEADER field in the firehose will be xxx.
     * 
     */
    public Optional>> redactedFields() {
        return Optional.ofNullable(this.redactedFields);
    }

    /**
     * The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.
     * 
     */
    @Import(name="resourceArn")
    private @Nullable Output resourceArn;

    /**
     * @return The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.
     * 
     */
    public Optional> resourceArn() {
        return Optional.ofNullable(this.resourceArn);
    }

    private AwsWafv2LoggingConfigurationPropertiesArgs() {}

    private AwsWafv2LoggingConfigurationPropertiesArgs(AwsWafv2LoggingConfigurationPropertiesArgs $) {
        this.logDestinationConfigs = $.logDestinationConfigs;
        this.loggingFilter = $.loggingFilter;
        this.managedByFirewallManager = $.managedByFirewallManager;
        this.redactedFields = $.redactedFields;
        this.resourceArn = $.resourceArn;
    }

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

    public static final class Builder {
        private AwsWafv2LoggingConfigurationPropertiesArgs $;

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

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

        /**
         * @param logDestinationConfigs The Amazon Resource Names (ARNs) of the logging destinations that you want to associate with the web ACL.
         * 
         * @return builder
         * 
         */
        public Builder logDestinationConfigs(@Nullable Output> logDestinationConfigs) {
            $.logDestinationConfigs = logDestinationConfigs;
            return this;
        }

        /**
         * @param logDestinationConfigs The Amazon Resource Names (ARNs) of the logging destinations that you want to associate with the web ACL.
         * 
         * @return builder
         * 
         */
        public Builder logDestinationConfigs(List logDestinationConfigs) {
            return logDestinationConfigs(Output.of(logDestinationConfigs));
        }

        /**
         * @param logDestinationConfigs The Amazon Resource Names (ARNs) of the logging destinations that you want to associate with the web ACL.
         * 
         * @return builder
         * 
         */
        public Builder logDestinationConfigs(String... logDestinationConfigs) {
            return logDestinationConfigs(List.of(logDestinationConfigs));
        }

        /**
         * @param loggingFilter Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.
         * 
         * @return builder
         * 
         */
        public Builder loggingFilter(@Nullable Output loggingFilter) {
            $.loggingFilter = loggingFilter;
            return this;
        }

        /**
         * @param loggingFilter Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.
         * 
         * @return builder
         * 
         */
        public Builder loggingFilter(LoggingFilterModelPropertiesArgs loggingFilter) {
            return loggingFilter(Output.of(loggingFilter));
        }

        /**
         * @param managedByFirewallManager Indicates whether the logging configuration was created by AWS Firewall Manager, as part of an AWS WAF policy configuration. If true, only Firewall Manager can modify or delete the configuration.
         * 
         * @return builder
         * 
         */
        public Builder managedByFirewallManager(@Nullable Output managedByFirewallManager) {
            $.managedByFirewallManager = managedByFirewallManager;
            return this;
        }

        /**
         * @param managedByFirewallManager Indicates whether the logging configuration was created by AWS Firewall Manager, as part of an AWS WAF policy configuration. If true, only Firewall Manager can modify or delete the configuration.
         * 
         * @return builder
         * 
         */
        public Builder managedByFirewallManager(Boolean managedByFirewallManager) {
            return managedByFirewallManager(Output.of(managedByFirewallManager));
        }

        /**
         * @param redactedFields The parts of the request that you want to keep out of the logs. For example, if you redact the HEADER field, the HEADER field in the firehose will be xxx.
         * 
         * @return builder
         * 
         */
        public Builder redactedFields(@Nullable Output> redactedFields) {
            $.redactedFields = redactedFields;
            return this;
        }

        /**
         * @param redactedFields The parts of the request that you want to keep out of the logs. For example, if you redact the HEADER field, the HEADER field in the firehose will be xxx.
         * 
         * @return builder
         * 
         */
        public Builder redactedFields(List redactedFields) {
            return redactedFields(Output.of(redactedFields));
        }

        /**
         * @param redactedFields The parts of the request that you want to keep out of the logs. For example, if you redact the HEADER field, the HEADER field in the firehose will be xxx.
         * 
         * @return builder
         * 
         */
        public Builder redactedFields(FieldToMatchArgs... redactedFields) {
            return redactedFields(List.of(redactedFields));
        }

        /**
         * @param resourceArn The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.
         * 
         * @return builder
         * 
         */
        public Builder resourceArn(@Nullable Output resourceArn) {
            $.resourceArn = resourceArn;
            return this;
        }

        /**
         * @param resourceArn The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.
         * 
         * @return builder
         * 
         */
        public Builder resourceArn(String resourceArn) {
            return resourceArn(Output.of(resourceArn));
        }

        public AwsWafv2LoggingConfigurationPropertiesArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy