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

com.pulumi.aws.route53.inputs.ResolverFirewallRuleState 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.aws.route53.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ResolverFirewallRuleState Empty = new ResolverFirewallRuleState();

    /**
     * The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list. Valid values: `ALLOW`, `BLOCK`, `ALERT`.
     * 
     */
    @Import(name="action")
    private @Nullable Output action;

    /**
     * @return The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list. Valid values: `ALLOW`, `BLOCK`, `ALERT`.
     * 
     */
    public Optional> action() {
        return Optional.ofNullable(this.action);
    }

    /**
     * The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Value values: `CNAME`.
     * 
     */
    @Import(name="blockOverrideDnsType")
    private @Nullable Output blockOverrideDnsType;

    /**
     * @return The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Value values: `CNAME`.
     * 
     */
    public Optional> blockOverrideDnsType() {
        return Optional.ofNullable(this.blockOverrideDnsType);
    }

    /**
     * The custom DNS record to send back in response to the query.
     * 
     */
    @Import(name="blockOverrideDomain")
    private @Nullable Output blockOverrideDomain;

    /**
     * @return The custom DNS record to send back in response to the query.
     * 
     */
    public Optional> blockOverrideDomain() {
        return Optional.ofNullable(this.blockOverrideDomain);
    }

    /**
     * The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Minimum value of 0. Maximum value of 604800.
     * 
     */
    @Import(name="blockOverrideTtl")
    private @Nullable Output blockOverrideTtl;

    /**
     * @return The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Minimum value of 0. Maximum value of 604800.
     * 
     */
    public Optional> blockOverrideTtl() {
        return Optional.ofNullable(this.blockOverrideTtl);
    }

    /**
     * The way that you want DNS Firewall to block the request. Valid values: `NODATA`, `NXDOMAIN`, `OVERRIDE`.
     * 
     */
    @Import(name="blockResponse")
    private @Nullable Output blockResponse;

    /**
     * @return The way that you want DNS Firewall to block the request. Valid values: `NODATA`, `NXDOMAIN`, `OVERRIDE`.
     * 
     */
    public Optional> blockResponse() {
        return Optional.ofNullable(this.blockResponse);
    }

    /**
     * The ID of the domain list that you want to use in the rule.
     * 
     */
    @Import(name="firewallDomainListId")
    private @Nullable Output firewallDomainListId;

    /**
     * @return The ID of the domain list that you want to use in the rule.
     * 
     */
    public Optional> firewallDomainListId() {
        return Optional.ofNullable(this.firewallDomainListId);
    }

    /**
     * Evaluate DNS redirection in the DNS redirection chain, such as CNAME, DNAME, ot ALIAS. Valid values are `INSPECT_REDIRECTION_DOMAIN` and `TRUST_REDIRECTION_DOMAIN`. Default value is `INSPECT_REDIRECTION_DOMAIN`.
     * 
     */
    @Import(name="firewallDomainRedirectionAction")
    private @Nullable Output firewallDomainRedirectionAction;

    /**
     * @return Evaluate DNS redirection in the DNS redirection chain, such as CNAME, DNAME, ot ALIAS. Valid values are `INSPECT_REDIRECTION_DOMAIN` and `TRUST_REDIRECTION_DOMAIN`. Default value is `INSPECT_REDIRECTION_DOMAIN`.
     * 
     */
    public Optional> firewallDomainRedirectionAction() {
        return Optional.ofNullable(this.firewallDomainRedirectionAction);
    }

    /**
     * The unique identifier of the firewall rule group where you want to create the rule.
     * 
     */
    @Import(name="firewallRuleGroupId")
    private @Nullable Output firewallRuleGroupId;

    /**
     * @return The unique identifier of the firewall rule group where you want to create the rule.
     * 
     */
    public Optional> firewallRuleGroupId() {
        return Optional.ofNullable(this.firewallRuleGroupId);
    }

    /**
     * A name that lets you identify the rule, to manage and use it.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return A name that lets you identify the rule, to manage and use it.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
     * 
     */
    @Import(name="priority")
    private @Nullable Output priority;

    /**
     * @return The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
     * 
     */
    public Optional> priority() {
        return Optional.ofNullable(this.priority);
    }

    /**
     * The query type you want the rule to evaluate. Additional details can be found [here](https://en.wikipedia.org/wiki/List_of_DNS_record_types)
     * 
     */
    @Import(name="qType")
    private @Nullable Output qType;

    /**
     * @return The query type you want the rule to evaluate. Additional details can be found [here](https://en.wikipedia.org/wiki/List_of_DNS_record_types)
     * 
     */
    public Optional> qType() {
        return Optional.ofNullable(this.qType);
    }

    private ResolverFirewallRuleState() {}

    private ResolverFirewallRuleState(ResolverFirewallRuleState $) {
        this.action = $.action;
        this.blockOverrideDnsType = $.blockOverrideDnsType;
        this.blockOverrideDomain = $.blockOverrideDomain;
        this.blockOverrideTtl = $.blockOverrideTtl;
        this.blockResponse = $.blockResponse;
        this.firewallDomainListId = $.firewallDomainListId;
        this.firewallDomainRedirectionAction = $.firewallDomainRedirectionAction;
        this.firewallRuleGroupId = $.firewallRuleGroupId;
        this.name = $.name;
        this.priority = $.priority;
        this.qType = $.qType;
    }

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

    public static final class Builder {
        private ResolverFirewallRuleState $;

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

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

        /**
         * @param action The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list. Valid values: `ALLOW`, `BLOCK`, `ALERT`.
         * 
         * @return builder
         * 
         */
        public Builder action(@Nullable Output action) {
            $.action = action;
            return this;
        }

        /**
         * @param action The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list. Valid values: `ALLOW`, `BLOCK`, `ALERT`.
         * 
         * @return builder
         * 
         */
        public Builder action(String action) {
            return action(Output.of(action));
        }

        /**
         * @param blockOverrideDnsType The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Value values: `CNAME`.
         * 
         * @return builder
         * 
         */
        public Builder blockOverrideDnsType(@Nullable Output blockOverrideDnsType) {
            $.blockOverrideDnsType = blockOverrideDnsType;
            return this;
        }

        /**
         * @param blockOverrideDnsType The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Value values: `CNAME`.
         * 
         * @return builder
         * 
         */
        public Builder blockOverrideDnsType(String blockOverrideDnsType) {
            return blockOverrideDnsType(Output.of(blockOverrideDnsType));
        }

        /**
         * @param blockOverrideDomain The custom DNS record to send back in response to the query.
         * 
         * @return builder
         * 
         */
        public Builder blockOverrideDomain(@Nullable Output blockOverrideDomain) {
            $.blockOverrideDomain = blockOverrideDomain;
            return this;
        }

        /**
         * @param blockOverrideDomain The custom DNS record to send back in response to the query.
         * 
         * @return builder
         * 
         */
        public Builder blockOverrideDomain(String blockOverrideDomain) {
            return blockOverrideDomain(Output.of(blockOverrideDomain));
        }

        /**
         * @param blockOverrideTtl The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Minimum value of 0. Maximum value of 604800.
         * 
         * @return builder
         * 
         */
        public Builder blockOverrideTtl(@Nullable Output blockOverrideTtl) {
            $.blockOverrideTtl = blockOverrideTtl;
            return this;
        }

        /**
         * @param blockOverrideTtl The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Minimum value of 0. Maximum value of 604800.
         * 
         * @return builder
         * 
         */
        public Builder blockOverrideTtl(Integer blockOverrideTtl) {
            return blockOverrideTtl(Output.of(blockOverrideTtl));
        }

        /**
         * @param blockResponse The way that you want DNS Firewall to block the request. Valid values: `NODATA`, `NXDOMAIN`, `OVERRIDE`.
         * 
         * @return builder
         * 
         */
        public Builder blockResponse(@Nullable Output blockResponse) {
            $.blockResponse = blockResponse;
            return this;
        }

        /**
         * @param blockResponse The way that you want DNS Firewall to block the request. Valid values: `NODATA`, `NXDOMAIN`, `OVERRIDE`.
         * 
         * @return builder
         * 
         */
        public Builder blockResponse(String blockResponse) {
            return blockResponse(Output.of(blockResponse));
        }

        /**
         * @param firewallDomainListId The ID of the domain list that you want to use in the rule.
         * 
         * @return builder
         * 
         */
        public Builder firewallDomainListId(@Nullable Output firewallDomainListId) {
            $.firewallDomainListId = firewallDomainListId;
            return this;
        }

        /**
         * @param firewallDomainListId The ID of the domain list that you want to use in the rule.
         * 
         * @return builder
         * 
         */
        public Builder firewallDomainListId(String firewallDomainListId) {
            return firewallDomainListId(Output.of(firewallDomainListId));
        }

        /**
         * @param firewallDomainRedirectionAction Evaluate DNS redirection in the DNS redirection chain, such as CNAME, DNAME, ot ALIAS. Valid values are `INSPECT_REDIRECTION_DOMAIN` and `TRUST_REDIRECTION_DOMAIN`. Default value is `INSPECT_REDIRECTION_DOMAIN`.
         * 
         * @return builder
         * 
         */
        public Builder firewallDomainRedirectionAction(@Nullable Output firewallDomainRedirectionAction) {
            $.firewallDomainRedirectionAction = firewallDomainRedirectionAction;
            return this;
        }

        /**
         * @param firewallDomainRedirectionAction Evaluate DNS redirection in the DNS redirection chain, such as CNAME, DNAME, ot ALIAS. Valid values are `INSPECT_REDIRECTION_DOMAIN` and `TRUST_REDIRECTION_DOMAIN`. Default value is `INSPECT_REDIRECTION_DOMAIN`.
         * 
         * @return builder
         * 
         */
        public Builder firewallDomainRedirectionAction(String firewallDomainRedirectionAction) {
            return firewallDomainRedirectionAction(Output.of(firewallDomainRedirectionAction));
        }

        /**
         * @param firewallRuleGroupId The unique identifier of the firewall rule group where you want to create the rule.
         * 
         * @return builder
         * 
         */
        public Builder firewallRuleGroupId(@Nullable Output firewallRuleGroupId) {
            $.firewallRuleGroupId = firewallRuleGroupId;
            return this;
        }

        /**
         * @param firewallRuleGroupId The unique identifier of the firewall rule group where you want to create the rule.
         * 
         * @return builder
         * 
         */
        public Builder firewallRuleGroupId(String firewallRuleGroupId) {
            return firewallRuleGroupId(Output.of(firewallRuleGroupId));
        }

        /**
         * @param name A name that lets you identify the rule, to manage and use it.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name A name that lets you identify the rule, to manage and use it.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param priority The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
         * 
         * @return builder
         * 
         */
        public Builder priority(@Nullable Output priority) {
            $.priority = priority;
            return this;
        }

        /**
         * @param priority The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
         * 
         * @return builder
         * 
         */
        public Builder priority(Integer priority) {
            return priority(Output.of(priority));
        }

        /**
         * @param qType The query type you want the rule to evaluate. Additional details can be found [here](https://en.wikipedia.org/wiki/List_of_DNS_record_types)
         * 
         * @return builder
         * 
         */
        public Builder qType(@Nullable Output qType) {
            $.qType = qType;
            return this;
        }

        /**
         * @param qType The query type you want the rule to evaluate. Additional details can be found [here](https://en.wikipedia.org/wiki/List_of_DNS_record_types)
         * 
         * @return builder
         * 
         */
        public Builder qType(String qType) {
            return qType(Output.of(qType));
        }

        public ResolverFirewallRuleState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy