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

com.pulumi.azurenative.cdn.inputs.RemoteAddressMatchConditionParametersArgs Maven / Gradle / Ivy

There is a newer version: 2.72.0
Show 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.azurenative.cdn.inputs;

import com.pulumi.azurenative.cdn.enums.RemoteAddressOperator;
import com.pulumi.azurenative.cdn.enums.Transform;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Defines the parameters for RemoteAddress match conditions
 * 
 */
public final class RemoteAddressMatchConditionParametersArgs extends com.pulumi.resources.ResourceArgs {

    public static final RemoteAddressMatchConditionParametersArgs Empty = new RemoteAddressMatchConditionParametersArgs();

    /**
     * Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
     * 
     */
    @Import(name="matchValues")
    private @Nullable Output> matchValues;

    /**
     * @return Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
     * 
     */
    public Optional>> matchValues() {
        return Optional.ofNullable(this.matchValues);
    }

    /**
     * Describes if this is negate condition or not
     * 
     */
    @Import(name="negateCondition")
    private @Nullable Output negateCondition;

    /**
     * @return Describes if this is negate condition or not
     * 
     */
    public Optional> negateCondition() {
        return Optional.ofNullable(this.negateCondition);
    }

    /**
     * Describes operator to be matched
     * 
     */
    @Import(name="operator", required=true)
    private Output> operator;

    /**
     * @return Describes operator to be matched
     * 
     */
    public Output> operator() {
        return this.operator;
    }

    /**
     * List of transforms
     * 
     */
    @Import(name="transforms")
    private @Nullable Output>> transforms;

    /**
     * @return List of transforms
     * 
     */
    public Optional>>> transforms() {
        return Optional.ofNullable(this.transforms);
    }

    @Import(name="typeName", required=true)
    private Output typeName;

    public Output typeName() {
        return this.typeName;
    }

    private RemoteAddressMatchConditionParametersArgs() {}

    private RemoteAddressMatchConditionParametersArgs(RemoteAddressMatchConditionParametersArgs $) {
        this.matchValues = $.matchValues;
        this.negateCondition = $.negateCondition;
        this.operator = $.operator;
        this.transforms = $.transforms;
        this.typeName = $.typeName;
    }

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

    public static final class Builder {
        private RemoteAddressMatchConditionParametersArgs $;

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

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

        /**
         * @param matchValues Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
         * 
         * @return builder
         * 
         */
        public Builder matchValues(@Nullable Output> matchValues) {
            $.matchValues = matchValues;
            return this;
        }

        /**
         * @param matchValues Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
         * 
         * @return builder
         * 
         */
        public Builder matchValues(List matchValues) {
            return matchValues(Output.of(matchValues));
        }

        /**
         * @param matchValues Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
         * 
         * @return builder
         * 
         */
        public Builder matchValues(String... matchValues) {
            return matchValues(List.of(matchValues));
        }

        /**
         * @param negateCondition Describes if this is negate condition or not
         * 
         * @return builder
         * 
         */
        public Builder negateCondition(@Nullable Output negateCondition) {
            $.negateCondition = negateCondition;
            return this;
        }

        /**
         * @param negateCondition Describes if this is negate condition or not
         * 
         * @return builder
         * 
         */
        public Builder negateCondition(Boolean negateCondition) {
            return negateCondition(Output.of(negateCondition));
        }

        /**
         * @param operator Describes operator to be matched
         * 
         * @return builder
         * 
         */
        public Builder operator(Output> operator) {
            $.operator = operator;
            return this;
        }

        /**
         * @param operator Describes operator to be matched
         * 
         * @return builder
         * 
         */
        public Builder operator(Either operator) {
            return operator(Output.of(operator));
        }

        /**
         * @param operator Describes operator to be matched
         * 
         * @return builder
         * 
         */
        public Builder operator(String operator) {
            return operator(Either.ofLeft(operator));
        }

        /**
         * @param operator Describes operator to be matched
         * 
         * @return builder
         * 
         */
        public Builder operator(RemoteAddressOperator operator) {
            return operator(Either.ofRight(operator));
        }

        /**
         * @param transforms List of transforms
         * 
         * @return builder
         * 
         */
        public Builder transforms(@Nullable Output>> transforms) {
            $.transforms = transforms;
            return this;
        }

        /**
         * @param transforms List of transforms
         * 
         * @return builder
         * 
         */
        public Builder transforms(List> transforms) {
            return transforms(Output.of(transforms));
        }

        /**
         * @param transforms List of transforms
         * 
         * @return builder
         * 
         */
        public Builder transforms(Either... transforms) {
            return transforms(List.of(transforms));
        }

        public Builder typeName(Output typeName) {
            $.typeName = typeName;
            return this;
        }

        public Builder typeName(String typeName) {
            return typeName(Output.of(typeName));
        }

        public RemoteAddressMatchConditionParametersArgs build() {
            $.negateCondition = Codegen.booleanProp("negateCondition").output().arg($.negateCondition).def(false).getNullable();
            if ($.operator == null) {
                throw new MissingRequiredPropertyException("RemoteAddressMatchConditionParametersArgs", "operator");
            }
            if ($.typeName == null) {
                throw new MissingRequiredPropertyException("RemoteAddressMatchConditionParametersArgs", "typeName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy