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

com.pulumi.akamai.inputs.GetPropertyRulesBuilderRulesV20231030BehaviorEnhancedProxyDetection Maven / Gradle / Ivy

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.akamai.inputs;

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


public final class GetPropertyRulesBuilderRulesV20231030BehaviorEnhancedProxyDetection extends com.pulumi.resources.InvokeArgs {

    public static final GetPropertyRulesBuilderRulesV20231030BehaviorEnhancedProxyDetection Empty = new GetPropertyRulesBuilderRulesV20231030BehaviorEnhancedProxyDetection();

    /**
     * This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    @Import(name="anonymousVpn")
    private @Nullable String anonymousVpn;

    /**
     * @return This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    public Optional anonymousVpn() {
        return Optional.ofNullable(this.anonymousVpn);
    }

    /**
     * Specifies how to field the proxy request.
     * 
     */
    @Import(name="bestPracticeAction")
    private @Nullable String bestPracticeAction;

    /**
     * @return Specifies how to field the proxy request.
     * 
     */
    public Optional bestPracticeAction() {
        return Optional.ofNullable(this.bestPracticeAction);
    }

    /**
     * This specifies the URL to which to redirect requests.
     * 
     */
    @Import(name="bestPracticeRedirecturl")
    private @Nullable String bestPracticeRedirecturl;

    /**
     * @return This specifies the URL to which to redirect requests.
     * 
     */
    public Optional bestPracticeRedirecturl() {
        return Optional.ofNullable(this.bestPracticeRedirecturl);
    }

    /**
     * This enables detection of requests from anonymous VPNs.
     * 
     */
    @Import(name="detectAnonymousVpn")
    private @Nullable Boolean detectAnonymousVpn;

    /**
     * @return This enables detection of requests from anonymous VPNs.
     * 
     */
    public Optional detectAnonymousVpn() {
        return Optional.ofNullable(this.detectAnonymousVpn);
    }

    /**
     * Specifies how to field anonymous VPN requests.
     * 
     */
    @Import(name="detectAnonymousVpnAction")
    private @Nullable String detectAnonymousVpnAction;

    /**
     * @return Specifies how to field anonymous VPN requests.
     * 
     */
    public Optional detectAnonymousVpnAction() {
        return Optional.ofNullable(this.detectAnonymousVpnAction);
    }

    /**
     * This specifies the URL to which to redirect anonymous VPN requests.
     * 
     */
    @Import(name="detectAnonymousVpnRedirecturl")
    private @Nullable String detectAnonymousVpnRedirecturl;

    /**
     * @return This specifies the URL to which to redirect anonymous VPN requests.
     * 
     */
    public Optional detectAnonymousVpnRedirecturl() {
        return Optional.ofNullable(this.detectAnonymousVpnRedirecturl);
    }

    /**
     * This detects requests from a hosting provider.
     * 
     */
    @Import(name="detectHostingProvider")
    private @Nullable Boolean detectHostingProvider;

    /**
     * @return This detects requests from a hosting provider.
     * 
     */
    public Optional detectHostingProvider() {
        return Optional.ofNullable(this.detectHostingProvider);
    }

    /**
     * This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from hosting providers.
     * 
     */
    @Import(name="detectHostingProviderAction")
    private @Nullable String detectHostingProviderAction;

    /**
     * @return This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from hosting providers.
     * 
     */
    public Optional detectHostingProviderAction() {
        return Optional.ofNullable(this.detectHostingProviderAction);
    }

    /**
     * This specifies the absolute URL to which to redirect requests from hosting providers.
     * 
     */
    @Import(name="detectHostingProviderRedirecturl")
    private @Nullable String detectHostingProviderRedirecturl;

    /**
     * @return This specifies the absolute URL to which to redirect requests from hosting providers.
     * 
     */
    public Optional detectHostingProviderRedirecturl() {
        return Optional.ofNullable(this.detectHostingProviderRedirecturl);
    }

    /**
     * This enables detection of requests from public proxies.
     * 
     */
    @Import(name="detectPublicProxy")
    private @Nullable Boolean detectPublicProxy;

    /**
     * @return This enables detection of requests from public proxies.
     * 
     */
    public Optional detectPublicProxy() {
        return Optional.ofNullable(this.detectPublicProxy);
    }

    /**
     * Specifies how to field public proxy requests.
     * 
     */
    @Import(name="detectPublicProxyAction")
    private @Nullable String detectPublicProxyAction;

    /**
     * @return Specifies how to field public proxy requests.
     * 
     */
    public Optional detectPublicProxyAction() {
        return Optional.ofNullable(this.detectPublicProxyAction);
    }

    /**
     * This specifies the URL to which to redirect public proxy requests.
     * 
     */
    @Import(name="detectPublicProxyRedirecturl")
    private @Nullable String detectPublicProxyRedirecturl;

    /**
     * @return This specifies the URL to which to redirect public proxy requests.
     * 
     */
    public Optional detectPublicProxyRedirecturl() {
        return Optional.ofNullable(this.detectPublicProxyRedirecturl);
    }

    /**
     * This enables detection of requests from a residential proxy. See `Enhanced Proxy Detection with GeoGuard` and learn more about this GeoGuard category before enabling it.
     * 
     */
    @Import(name="detectResidentialProxy")
    private @Nullable Boolean detectResidentialProxy;

    /**
     * @return This enables detection of requests from a residential proxy. See `Enhanced Proxy Detection with GeoGuard` and learn more about this GeoGuard category before enabling it.
     * 
     */
    public Optional detectResidentialProxy() {
        return Optional.ofNullable(this.detectResidentialProxy);
    }

    /**
     * This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from residential proxies.
     * 
     */
    @Import(name="detectResidentialProxyAction")
    private @Nullable String detectResidentialProxyAction;

    /**
     * @return This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from residential proxies.
     * 
     */
    public Optional detectResidentialProxyAction() {
        return Optional.ofNullable(this.detectResidentialProxyAction);
    }

    /**
     * This specifies the URL to which to redirect requests.
     * 
     */
    @Import(name="detectResidentialProxyRedirecturl")
    private @Nullable String detectResidentialProxyRedirecturl;

    /**
     * @return This specifies the URL to which to redirect requests.
     * 
     */
    public Optional detectResidentialProxyRedirecturl() {
        return Optional.ofNullable(this.detectResidentialProxyRedirecturl);
    }

    /**
     * This enables detection of requests from smart DNS proxies.
     * 
     */
    @Import(name="detectSmartDnsProxy")
    private @Nullable Boolean detectSmartDnsProxy;

    /**
     * @return This enables detection of requests from smart DNS proxies.
     * 
     */
    public Optional detectSmartDnsProxy() {
        return Optional.ofNullable(this.detectSmartDnsProxy);
    }

    /**
     * Specifies whether to `DENY`, `ALLOW`, or `REDIRECT` smart DNS proxy requests.
     * 
     */
    @Import(name="detectSmartDnsProxyAction")
    private @Nullable String detectSmartDnsProxyAction;

    /**
     * @return Specifies whether to `DENY`, `ALLOW`, or `REDIRECT` smart DNS proxy requests.
     * 
     */
    public Optional detectSmartDnsProxyAction() {
        return Optional.ofNullable(this.detectSmartDnsProxyAction);
    }

    /**
     * This specifies the URL to which to redirect DNS proxy requests.
     * 
     */
    @Import(name="detectSmartDnsProxyRedirecturl")
    private @Nullable String detectSmartDnsProxyRedirecturl;

    /**
     * @return This specifies the URL to which to redirect DNS proxy requests.
     * 
     */
    public Optional detectSmartDnsProxyRedirecturl() {
        return Optional.ofNullable(this.detectSmartDnsProxyRedirecturl);
    }

    /**
     * This enables detection of requests from Tor exit nodes.
     * 
     */
    @Import(name="detectTorExitNode")
    private @Nullable Boolean detectTorExitNode;

    /**
     * @return This enables detection of requests from Tor exit nodes.
     * 
     */
    public Optional detectTorExitNode() {
        return Optional.ofNullable(this.detectTorExitNode);
    }

    /**
     * This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from Tor exit nodes.
     * 
     */
    @Import(name="detectTorExitNodeAction")
    private @Nullable String detectTorExitNodeAction;

    /**
     * @return This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from Tor exit nodes.
     * 
     */
    public Optional detectTorExitNodeAction() {
        return Optional.ofNullable(this.detectTorExitNodeAction);
    }

    /**
     * This specifies the URL to which to redirect requests from Tor exit nodes.
     * 
     */
    @Import(name="detectTorExitNodeRedirecturl")
    private @Nullable String detectTorExitNodeRedirecturl;

    /**
     * @return This specifies the URL to which to redirect requests from Tor exit nodes.
     * 
     */
    public Optional detectTorExitNodeRedirecturl() {
        return Optional.ofNullable(this.detectTorExitNodeRedirecturl);
    }

    /**
     * This enables detection of requests from VPN data centers.
     * 
     */
    @Import(name="detectVpnDataCenter")
    private @Nullable Boolean detectVpnDataCenter;

    /**
     * @return This enables detection of requests from VPN data centers.
     * 
     */
    public Optional detectVpnDataCenter() {
        return Optional.ofNullable(this.detectVpnDataCenter);
    }

    /**
     * This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from VPN data centers.
     * 
     */
    @Import(name="detectVpnDataCenterAction")
    private @Nullable String detectVpnDataCenterAction;

    /**
     * @return This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from VPN data centers.
     * 
     */
    public Optional detectVpnDataCenterAction() {
        return Optional.ofNullable(this.detectVpnDataCenterAction);
    }

    /**
     * This specifies the URL to which to redirect requests from VPN data centers.
     * 
     */
    @Import(name="detectVpnDataCenterRedirecturl")
    private @Nullable String detectVpnDataCenterRedirecturl;

    /**
     * @return This specifies the URL to which to redirect requests from VPN data centers.
     * 
     */
    public Optional detectVpnDataCenterRedirecturl() {
        return Optional.ofNullable(this.detectVpnDataCenterRedirecturl);
    }

    /**
     * Specifies how to field the proxy request.
     * 
     */
    @Import(name="enableConfigurationMode")
    private @Nullable String enableConfigurationMode;

    /**
     * @return Specifies how to field the proxy request.
     * 
     */
    public Optional enableConfigurationMode() {
        return Optional.ofNullable(this.enableConfigurationMode);
    }

    /**
     * Applies GeoGuard proxy detection.
     * 
     */
    @Import(name="enabled")
    private @Nullable Boolean enabled;

    /**
     * @return Applies GeoGuard proxy detection.
     * 
     */
    public Optional enabled() {
        return Optional.ofNullable(this.enabled);
    }

    /**
     * Whether the Enhanced Proxy Detection (Akamai-EPD) header is included in the forward request to mark a connecting IP address as an anonymous proxy, with a two-letter designation. See the `epdForwardHeaderEnrichment` behavior for details.
     * 
     */
    @Import(name="forwardHeaderEnrichment")
    private @Nullable Boolean forwardHeaderEnrichment;

    /**
     * @return Whether the Enhanced Proxy Detection (Akamai-EPD) header is included in the forward request to mark a connecting IP address as an anonymous proxy, with a two-letter designation. See the `epdForwardHeaderEnrichment` behavior for details.
     * 
     */
    public Optional forwardHeaderEnrichment() {
        return Optional.ofNullable(this.forwardHeaderEnrichment);
    }

    /**
     * This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    @Import(name="hostingProvider")
    private @Nullable String hostingProvider;

    /**
     * @return This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    public Optional hostingProvider() {
        return Optional.ofNullable(this.hostingProvider);
    }

    /**
     * Indicates that your Akamai representative has locked this behavior or criteria so that you can't modify it. This option is for internal usage only.
     * 
     */
    @Import(name="locked")
    private @Nullable Boolean locked;

    /**
     * @return Indicates that your Akamai representative has locked this behavior or criteria so that you can't modify it. This option is for internal usage only.
     * 
     */
    public Optional locked() {
        return Optional.ofNullable(this.locked);
    }

    /**
     * This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    @Import(name="publicProxy")
    private @Nullable String publicProxy;

    /**
     * @return This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    public Optional publicProxy() {
        return Optional.ofNullable(this.publicProxy);
    }

    /**
     * This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    @Import(name="residentialProxy")
    private @Nullable String residentialProxy;

    /**
     * @return This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    public Optional residentialProxy() {
        return Optional.ofNullable(this.residentialProxy);
    }

    /**
     * This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    @Import(name="smartDnsProxy")
    private @Nullable String smartDnsProxy;

    /**
     * @return This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    public Optional smartDnsProxy() {
        return Optional.ofNullable(this.smartDnsProxy);
    }

    /**
     * This option is for internal usage only.
     * 
     */
    @Import(name="templateUuid")
    private @Nullable String templateUuid;

    /**
     * @return This option is for internal usage only.
     * 
     */
    public Optional templateUuid() {
        return Optional.ofNullable(this.templateUuid);
    }

    /**
     * This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    @Import(name="torExitNode")
    private @Nullable String torExitNode;

    /**
     * @return This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    public Optional torExitNode() {
        return Optional.ofNullable(this.torExitNode);
    }

    /**
     * A uuid member indicates that at least one of its component behaviors or criteria is advanced and read-only. You need to preserve this uuid as well when modifying the rule tree. This option is for internal usage only.
     * 
     */
    @Import(name="uuid")
    private @Nullable String uuid;

    /**
     * @return A uuid member indicates that at least one of its component behaviors or criteria is advanced and read-only. You need to preserve this uuid as well when modifying the rule tree. This option is for internal usage only.
     * 
     */
    public Optional uuid() {
        return Optional.ofNullable(this.uuid);
    }

    /**
     * This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    @Import(name="vpnDataCenter")
    private @Nullable String vpnDataCenter;

    /**
     * @return This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
     * 
     */
    public Optional vpnDataCenter() {
        return Optional.ofNullable(this.vpnDataCenter);
    }

    private GetPropertyRulesBuilderRulesV20231030BehaviorEnhancedProxyDetection() {}

    private GetPropertyRulesBuilderRulesV20231030BehaviorEnhancedProxyDetection(GetPropertyRulesBuilderRulesV20231030BehaviorEnhancedProxyDetection $) {
        this.anonymousVpn = $.anonymousVpn;
        this.bestPracticeAction = $.bestPracticeAction;
        this.bestPracticeRedirecturl = $.bestPracticeRedirecturl;
        this.detectAnonymousVpn = $.detectAnonymousVpn;
        this.detectAnonymousVpnAction = $.detectAnonymousVpnAction;
        this.detectAnonymousVpnRedirecturl = $.detectAnonymousVpnRedirecturl;
        this.detectHostingProvider = $.detectHostingProvider;
        this.detectHostingProviderAction = $.detectHostingProviderAction;
        this.detectHostingProviderRedirecturl = $.detectHostingProviderRedirecturl;
        this.detectPublicProxy = $.detectPublicProxy;
        this.detectPublicProxyAction = $.detectPublicProxyAction;
        this.detectPublicProxyRedirecturl = $.detectPublicProxyRedirecturl;
        this.detectResidentialProxy = $.detectResidentialProxy;
        this.detectResidentialProxyAction = $.detectResidentialProxyAction;
        this.detectResidentialProxyRedirecturl = $.detectResidentialProxyRedirecturl;
        this.detectSmartDnsProxy = $.detectSmartDnsProxy;
        this.detectSmartDnsProxyAction = $.detectSmartDnsProxyAction;
        this.detectSmartDnsProxyRedirecturl = $.detectSmartDnsProxyRedirecturl;
        this.detectTorExitNode = $.detectTorExitNode;
        this.detectTorExitNodeAction = $.detectTorExitNodeAction;
        this.detectTorExitNodeRedirecturl = $.detectTorExitNodeRedirecturl;
        this.detectVpnDataCenter = $.detectVpnDataCenter;
        this.detectVpnDataCenterAction = $.detectVpnDataCenterAction;
        this.detectVpnDataCenterRedirecturl = $.detectVpnDataCenterRedirecturl;
        this.enableConfigurationMode = $.enableConfigurationMode;
        this.enabled = $.enabled;
        this.forwardHeaderEnrichment = $.forwardHeaderEnrichment;
        this.hostingProvider = $.hostingProvider;
        this.locked = $.locked;
        this.publicProxy = $.publicProxy;
        this.residentialProxy = $.residentialProxy;
        this.smartDnsProxy = $.smartDnsProxy;
        this.templateUuid = $.templateUuid;
        this.torExitNode = $.torExitNode;
        this.uuid = $.uuid;
        this.vpnDataCenter = $.vpnDataCenter;
    }

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

    public static final class Builder {
        private GetPropertyRulesBuilderRulesV20231030BehaviorEnhancedProxyDetection $;

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

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

        /**
         * @param anonymousVpn This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
         * 
         * @return builder
         * 
         */
        public Builder anonymousVpn(@Nullable String anonymousVpn) {
            $.anonymousVpn = anonymousVpn;
            return this;
        }

        /**
         * @param bestPracticeAction Specifies how to field the proxy request.
         * 
         * @return builder
         * 
         */
        public Builder bestPracticeAction(@Nullable String bestPracticeAction) {
            $.bestPracticeAction = bestPracticeAction;
            return this;
        }

        /**
         * @param bestPracticeRedirecturl This specifies the URL to which to redirect requests.
         * 
         * @return builder
         * 
         */
        public Builder bestPracticeRedirecturl(@Nullable String bestPracticeRedirecturl) {
            $.bestPracticeRedirecturl = bestPracticeRedirecturl;
            return this;
        }

        /**
         * @param detectAnonymousVpn This enables detection of requests from anonymous VPNs.
         * 
         * @return builder
         * 
         */
        public Builder detectAnonymousVpn(@Nullable Boolean detectAnonymousVpn) {
            $.detectAnonymousVpn = detectAnonymousVpn;
            return this;
        }

        /**
         * @param detectAnonymousVpnAction Specifies how to field anonymous VPN requests.
         * 
         * @return builder
         * 
         */
        public Builder detectAnonymousVpnAction(@Nullable String detectAnonymousVpnAction) {
            $.detectAnonymousVpnAction = detectAnonymousVpnAction;
            return this;
        }

        /**
         * @param detectAnonymousVpnRedirecturl This specifies the URL to which to redirect anonymous VPN requests.
         * 
         * @return builder
         * 
         */
        public Builder detectAnonymousVpnRedirecturl(@Nullable String detectAnonymousVpnRedirecturl) {
            $.detectAnonymousVpnRedirecturl = detectAnonymousVpnRedirecturl;
            return this;
        }

        /**
         * @param detectHostingProvider This detects requests from a hosting provider.
         * 
         * @return builder
         * 
         */
        public Builder detectHostingProvider(@Nullable Boolean detectHostingProvider) {
            $.detectHostingProvider = detectHostingProvider;
            return this;
        }

        /**
         * @param detectHostingProviderAction This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from hosting providers.
         * 
         * @return builder
         * 
         */
        public Builder detectHostingProviderAction(@Nullable String detectHostingProviderAction) {
            $.detectHostingProviderAction = detectHostingProviderAction;
            return this;
        }

        /**
         * @param detectHostingProviderRedirecturl This specifies the absolute URL to which to redirect requests from hosting providers.
         * 
         * @return builder
         * 
         */
        public Builder detectHostingProviderRedirecturl(@Nullable String detectHostingProviderRedirecturl) {
            $.detectHostingProviderRedirecturl = detectHostingProviderRedirecturl;
            return this;
        }

        /**
         * @param detectPublicProxy This enables detection of requests from public proxies.
         * 
         * @return builder
         * 
         */
        public Builder detectPublicProxy(@Nullable Boolean detectPublicProxy) {
            $.detectPublicProxy = detectPublicProxy;
            return this;
        }

        /**
         * @param detectPublicProxyAction Specifies how to field public proxy requests.
         * 
         * @return builder
         * 
         */
        public Builder detectPublicProxyAction(@Nullable String detectPublicProxyAction) {
            $.detectPublicProxyAction = detectPublicProxyAction;
            return this;
        }

        /**
         * @param detectPublicProxyRedirecturl This specifies the URL to which to redirect public proxy requests.
         * 
         * @return builder
         * 
         */
        public Builder detectPublicProxyRedirecturl(@Nullable String detectPublicProxyRedirecturl) {
            $.detectPublicProxyRedirecturl = detectPublicProxyRedirecturl;
            return this;
        }

        /**
         * @param detectResidentialProxy This enables detection of requests from a residential proxy. See `Enhanced Proxy Detection with GeoGuard` and learn more about this GeoGuard category before enabling it.
         * 
         * @return builder
         * 
         */
        public Builder detectResidentialProxy(@Nullable Boolean detectResidentialProxy) {
            $.detectResidentialProxy = detectResidentialProxy;
            return this;
        }

        /**
         * @param detectResidentialProxyAction This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from residential proxies.
         * 
         * @return builder
         * 
         */
        public Builder detectResidentialProxyAction(@Nullable String detectResidentialProxyAction) {
            $.detectResidentialProxyAction = detectResidentialProxyAction;
            return this;
        }

        /**
         * @param detectResidentialProxyRedirecturl This specifies the URL to which to redirect requests.
         * 
         * @return builder
         * 
         */
        public Builder detectResidentialProxyRedirecturl(@Nullable String detectResidentialProxyRedirecturl) {
            $.detectResidentialProxyRedirecturl = detectResidentialProxyRedirecturl;
            return this;
        }

        /**
         * @param detectSmartDnsProxy This enables detection of requests from smart DNS proxies.
         * 
         * @return builder
         * 
         */
        public Builder detectSmartDnsProxy(@Nullable Boolean detectSmartDnsProxy) {
            $.detectSmartDnsProxy = detectSmartDnsProxy;
            return this;
        }

        /**
         * @param detectSmartDnsProxyAction Specifies whether to `DENY`, `ALLOW`, or `REDIRECT` smart DNS proxy requests.
         * 
         * @return builder
         * 
         */
        public Builder detectSmartDnsProxyAction(@Nullable String detectSmartDnsProxyAction) {
            $.detectSmartDnsProxyAction = detectSmartDnsProxyAction;
            return this;
        }

        /**
         * @param detectSmartDnsProxyRedirecturl This specifies the URL to which to redirect DNS proxy requests.
         * 
         * @return builder
         * 
         */
        public Builder detectSmartDnsProxyRedirecturl(@Nullable String detectSmartDnsProxyRedirecturl) {
            $.detectSmartDnsProxyRedirecturl = detectSmartDnsProxyRedirecturl;
            return this;
        }

        /**
         * @param detectTorExitNode This enables detection of requests from Tor exit nodes.
         * 
         * @return builder
         * 
         */
        public Builder detectTorExitNode(@Nullable Boolean detectTorExitNode) {
            $.detectTorExitNode = detectTorExitNode;
            return this;
        }

        /**
         * @param detectTorExitNodeAction This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from Tor exit nodes.
         * 
         * @return builder
         * 
         */
        public Builder detectTorExitNodeAction(@Nullable String detectTorExitNodeAction) {
            $.detectTorExitNodeAction = detectTorExitNodeAction;
            return this;
        }

        /**
         * @param detectTorExitNodeRedirecturl This specifies the URL to which to redirect requests from Tor exit nodes.
         * 
         * @return builder
         * 
         */
        public Builder detectTorExitNodeRedirecturl(@Nullable String detectTorExitNodeRedirecturl) {
            $.detectTorExitNodeRedirecturl = detectTorExitNodeRedirecturl;
            return this;
        }

        /**
         * @param detectVpnDataCenter This enables detection of requests from VPN data centers.
         * 
         * @return builder
         * 
         */
        public Builder detectVpnDataCenter(@Nullable Boolean detectVpnDataCenter) {
            $.detectVpnDataCenter = detectVpnDataCenter;
            return this;
        }

        /**
         * @param detectVpnDataCenterAction This specifies whether to `DENY`, `ALLOW`, or `REDIRECT` requests from VPN data centers.
         * 
         * @return builder
         * 
         */
        public Builder detectVpnDataCenterAction(@Nullable String detectVpnDataCenterAction) {
            $.detectVpnDataCenterAction = detectVpnDataCenterAction;
            return this;
        }

        /**
         * @param detectVpnDataCenterRedirecturl This specifies the URL to which to redirect requests from VPN data centers.
         * 
         * @return builder
         * 
         */
        public Builder detectVpnDataCenterRedirecturl(@Nullable String detectVpnDataCenterRedirecturl) {
            $.detectVpnDataCenterRedirecturl = detectVpnDataCenterRedirecturl;
            return this;
        }

        /**
         * @param enableConfigurationMode Specifies how to field the proxy request.
         * 
         * @return builder
         * 
         */
        public Builder enableConfigurationMode(@Nullable String enableConfigurationMode) {
            $.enableConfigurationMode = enableConfigurationMode;
            return this;
        }

        /**
         * @param enabled Applies GeoGuard proxy detection.
         * 
         * @return builder
         * 
         */
        public Builder enabled(@Nullable Boolean enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param forwardHeaderEnrichment Whether the Enhanced Proxy Detection (Akamai-EPD) header is included in the forward request to mark a connecting IP address as an anonymous proxy, with a two-letter designation. See the `epdForwardHeaderEnrichment` behavior for details.
         * 
         * @return builder
         * 
         */
        public Builder forwardHeaderEnrichment(@Nullable Boolean forwardHeaderEnrichment) {
            $.forwardHeaderEnrichment = forwardHeaderEnrichment;
            return this;
        }

        /**
         * @param hostingProvider This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
         * 
         * @return builder
         * 
         */
        public Builder hostingProvider(@Nullable String hostingProvider) {
            $.hostingProvider = hostingProvider;
            return this;
        }

        /**
         * @param locked Indicates that your Akamai representative has locked this behavior or criteria so that you can't modify it. This option is for internal usage only.
         * 
         * @return builder
         * 
         */
        public Builder locked(@Nullable Boolean locked) {
            $.locked = locked;
            return this;
        }

        /**
         * @param publicProxy This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
         * 
         * @return builder
         * 
         */
        public Builder publicProxy(@Nullable String publicProxy) {
            $.publicProxy = publicProxy;
            return this;
        }

        /**
         * @param residentialProxy This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
         * 
         * @return builder
         * 
         */
        public Builder residentialProxy(@Nullable String residentialProxy) {
            $.residentialProxy = residentialProxy;
            return this;
        }

        /**
         * @param smartDnsProxy This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
         * 
         * @return builder
         * 
         */
        public Builder smartDnsProxy(@Nullable String smartDnsProxy) {
            $.smartDnsProxy = smartDnsProxy;
            return this;
        }

        /**
         * @param templateUuid This option is for internal usage only.
         * 
         * @return builder
         * 
         */
        public Builder templateUuid(@Nullable String templateUuid) {
            $.templateUuid = templateUuid;
            return this;
        }

        /**
         * @param torExitNode This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
         * 
         * @return builder
         * 
         */
        public Builder torExitNode(@Nullable String torExitNode) {
            $.torExitNode = torExitNode;
            return this;
        }

        /**
         * @param uuid A uuid member indicates that at least one of its component behaviors or criteria is advanced and read-only. You need to preserve this uuid as well when modifying the rule tree. This option is for internal usage only.
         * 
         * @return builder
         * 
         */
        public Builder uuid(@Nullable String uuid) {
            $.uuid = uuid;
            return this;
        }

        /**
         * @param vpnDataCenter This field is only intended for export compatibility purposes, and modifying it will not impact your use of the behavior.
         * 
         * @return builder
         * 
         */
        public Builder vpnDataCenter(@Nullable String vpnDataCenter) {
            $.vpnDataCenter = vpnDataCenter;
            return this;
        }

        public GetPropertyRulesBuilderRulesV20231030BehaviorEnhancedProxyDetection build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy