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

com.pulumi.akamai.outputs.GetPropertyRulesBuilderRulesV20231030CriterionUserLocation 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.outputs;

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

@CustomType
public final class GetPropertyRulesBuilderRulesV20231030CriterionUserLocation {
    /**
     * @return Specifies which IP addresses determine the user's location.
     * 
     */
    private @Nullable String checkIps;
    /**
     * @return Continent codes.
     * 
     */
    private @Nullable List continentValues;
    /**
     * @return ISO 3166-1 country codes, such as `US` or `CN`.
     * 
     */
    private @Nullable List countryValues;
    /**
     * @return Indicates the geographic scope.
     * 
     */
    private @Nullable String field;
    /**
     * @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.
     * 
     */
    private @Nullable Boolean locked;
    /**
     * @return Matches the specified set of values when set to `IS_ONE_OF`, otherwise `IS_NOT_ONE_OF` reverses the match.
     * 
     */
    private @Nullable String matchOperator;
    /**
     * @return ISO 3166 country and region codes, for example `US:MA` for Massachusetts or `JP:13` for Tokyo.
     * 
     */
    private @Nullable List regionValues;
    /**
     * @return This option is for internal usage only.
     * 
     */
    private @Nullable String templateUuid;
    /**
     * @return When connecting via a proxy server as determined by the `X-Forwarded-For` header, enabling this option matches the end client specified in the header. Disabling it matches the connecting client's IP address.
     * 
     */
    private @Nullable Boolean useOnlyFirstXForwardedForIp;
    /**
     * @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.
     * 
     */
    private @Nullable String uuid;

    private GetPropertyRulesBuilderRulesV20231030CriterionUserLocation() {}
    /**
     * @return Specifies which IP addresses determine the user's location.
     * 
     */
    public Optional checkIps() {
        return Optional.ofNullable(this.checkIps);
    }
    /**
     * @return Continent codes.
     * 
     */
    public List continentValues() {
        return this.continentValues == null ? List.of() : this.continentValues;
    }
    /**
     * @return ISO 3166-1 country codes, such as `US` or `CN`.
     * 
     */
    public List countryValues() {
        return this.countryValues == null ? List.of() : this.countryValues;
    }
    /**
     * @return Indicates the geographic scope.
     * 
     */
    public Optional field() {
        return Optional.ofNullable(this.field);
    }
    /**
     * @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);
    }
    /**
     * @return Matches the specified set of values when set to `IS_ONE_OF`, otherwise `IS_NOT_ONE_OF` reverses the match.
     * 
     */
    public Optional matchOperator() {
        return Optional.ofNullable(this.matchOperator);
    }
    /**
     * @return ISO 3166 country and region codes, for example `US:MA` for Massachusetts or `JP:13` for Tokyo.
     * 
     */
    public List regionValues() {
        return this.regionValues == null ? List.of() : this.regionValues;
    }
    /**
     * @return This option is for internal usage only.
     * 
     */
    public Optional templateUuid() {
        return Optional.ofNullable(this.templateUuid);
    }
    /**
     * @return When connecting via a proxy server as determined by the `X-Forwarded-For` header, enabling this option matches the end client specified in the header. Disabling it matches the connecting client's IP address.
     * 
     */
    public Optional useOnlyFirstXForwardedForIp() {
        return Optional.ofNullable(this.useOnlyFirstXForwardedForIp);
    }
    /**
     * @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);
    }

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

    public static Builder builder(GetPropertyRulesBuilderRulesV20231030CriterionUserLocation defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String checkIps;
        private @Nullable List continentValues;
        private @Nullable List countryValues;
        private @Nullable String field;
        private @Nullable Boolean locked;
        private @Nullable String matchOperator;
        private @Nullable List regionValues;
        private @Nullable String templateUuid;
        private @Nullable Boolean useOnlyFirstXForwardedForIp;
        private @Nullable String uuid;
        public Builder() {}
        public Builder(GetPropertyRulesBuilderRulesV20231030CriterionUserLocation defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.checkIps = defaults.checkIps;
    	      this.continentValues = defaults.continentValues;
    	      this.countryValues = defaults.countryValues;
    	      this.field = defaults.field;
    	      this.locked = defaults.locked;
    	      this.matchOperator = defaults.matchOperator;
    	      this.regionValues = defaults.regionValues;
    	      this.templateUuid = defaults.templateUuid;
    	      this.useOnlyFirstXForwardedForIp = defaults.useOnlyFirstXForwardedForIp;
    	      this.uuid = defaults.uuid;
        }

        @CustomType.Setter
        public Builder checkIps(@Nullable String checkIps) {

            this.checkIps = checkIps;
            return this;
        }
        @CustomType.Setter
        public Builder continentValues(@Nullable List continentValues) {

            this.continentValues = continentValues;
            return this;
        }
        public Builder continentValues(String... continentValues) {
            return continentValues(List.of(continentValues));
        }
        @CustomType.Setter
        public Builder countryValues(@Nullable List countryValues) {

            this.countryValues = countryValues;
            return this;
        }
        public Builder countryValues(String... countryValues) {
            return countryValues(List.of(countryValues));
        }
        @CustomType.Setter
        public Builder field(@Nullable String field) {

            this.field = field;
            return this;
        }
        @CustomType.Setter
        public Builder locked(@Nullable Boolean locked) {

            this.locked = locked;
            return this;
        }
        @CustomType.Setter
        public Builder matchOperator(@Nullable String matchOperator) {

            this.matchOperator = matchOperator;
            return this;
        }
        @CustomType.Setter
        public Builder regionValues(@Nullable List regionValues) {

            this.regionValues = regionValues;
            return this;
        }
        public Builder regionValues(String... regionValues) {
            return regionValues(List.of(regionValues));
        }
        @CustomType.Setter
        public Builder templateUuid(@Nullable String templateUuid) {

            this.templateUuid = templateUuid;
            return this;
        }
        @CustomType.Setter
        public Builder useOnlyFirstXForwardedForIp(@Nullable Boolean useOnlyFirstXForwardedForIp) {

            this.useOnlyFirstXForwardedForIp = useOnlyFirstXForwardedForIp;
            return this;
        }
        @CustomType.Setter
        public Builder uuid(@Nullable String uuid) {

            this.uuid = uuid;
            return this;
        }
        public GetPropertyRulesBuilderRulesV20231030CriterionUserLocation build() {
            final var _resultValue = new GetPropertyRulesBuilderRulesV20231030CriterionUserLocation();
            _resultValue.checkIps = checkIps;
            _resultValue.continentValues = continentValues;
            _resultValue.countryValues = countryValues;
            _resultValue.field = field;
            _resultValue.locked = locked;
            _resultValue.matchOperator = matchOperator;
            _resultValue.regionValues = regionValues;
            _resultValue.templateUuid = templateUuid;
            _resultValue.useOnlyFirstXForwardedForIp = useOnlyFirstXForwardedForIp;
            _resultValue.uuid = uuid;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy