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

com.pulumi.ise.deviceadmin.AuthenticationRuleArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for managing resources on a Cisco ISE (Identity Service Engine) instance.

There is a newer version: 0.2.0-alpha.1731736158
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.ise.deviceadmin;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import com.pulumi.ise.deviceadmin.inputs.AuthenticationRuleChildrenArgs;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final AuthenticationRuleArgs Empty = new AuthenticationRuleArgs();

    /**
     * List of child conditions. `condition_type` must be one of `ConditionAndBlock` or `ConditionOrBlock`.
     * 
     */
    @Import(name="childrens")
    private @Nullable Output> childrens;

    /**
     * @return List of child conditions. `condition_type` must be one of `ConditionAndBlock` or `ConditionOrBlock`.
     * 
     */
    public Optional>> childrens() {
        return Optional.ofNullable(this.childrens);
    }

    /**
     * Dictionary attribute name
     * 
     */
    @Import(name="conditionAttributeName")
    private @Nullable Output conditionAttributeName;

    /**
     * @return Dictionary attribute name
     * 
     */
    public Optional> conditionAttributeName() {
        return Optional.ofNullable(this.conditionAttributeName);
    }

    /**
     * Attribute value for condition. Value type is specified in dictionary object.
     * 
     */
    @Import(name="conditionAttributeValue")
    private @Nullable Output conditionAttributeValue;

    /**
     * @return Attribute value for condition. Value type is specified in dictionary object.
     * 
     */
    public Optional> conditionAttributeValue() {
        return Optional.ofNullable(this.conditionAttributeValue);
    }

    /**
     * Dictionary name
     * 
     */
    @Import(name="conditionDictionaryName")
    private @Nullable Output conditionDictionaryName;

    /**
     * @return Dictionary name
     * 
     */
    public Optional> conditionDictionaryName() {
        return Optional.ofNullable(this.conditionDictionaryName);
    }

    /**
     * Dictionary value
     * 
     */
    @Import(name="conditionDictionaryValue")
    private @Nullable Output conditionDictionaryValue;

    /**
     * @return Dictionary value
     * 
     */
    public Optional> conditionDictionaryValue() {
        return Optional.ofNullable(this.conditionDictionaryValue);
    }

    /**
     * UUID for condition
     * 
     */
    @Import(name="conditionId")
    private @Nullable Output conditionId;

    /**
     * @return UUID for condition
     * 
     */
    public Optional> conditionId() {
        return Optional.ofNullable(this.conditionId);
    }

    /**
     * Indicates whereas this condition is in negate mode
     * 
     */
    @Import(name="conditionIsNegate")
    private @Nullable Output conditionIsNegate;

    /**
     * @return Indicates whereas this condition is in negate mode
     * 
     */
    public Optional> conditionIsNegate() {
        return Optional.ofNullable(this.conditionIsNegate);
    }

    /**
     * Equality operator - Choices: `contains`, `endsWith`, `equals`, `greaterOrEquals`, `greaterThan`, `in`, `ipEquals`,
     * `ipGreaterThan`, `ipLessThan`, `ipNotEquals`, `lessOrEquals`, `lessThan`, `matches`, `notContains`, `notEndsWith`,
     * `notEquals`, `notIn`, `notStartsWith`, `startsWith`
     * 
     */
    @Import(name="conditionOperator")
    private @Nullable Output conditionOperator;

    /**
     * @return Equality operator - Choices: `contains`, `endsWith`, `equals`, `greaterOrEquals`, `greaterThan`, `in`, `ipEquals`,
     * `ipGreaterThan`, `ipLessThan`, `ipNotEquals`, `lessOrEquals`, `lessThan`, `matches`, `notContains`, `notEndsWith`,
     * `notEquals`, `notIn`, `notStartsWith`, `startsWith`
     * 
     */
    public Optional> conditionOperator() {
        return Optional.ofNullable(this.conditionOperator);
    }

    /**
     * Indicates whether the record is the condition itself or a logical aggregation. Logical aggreation indicates that
     * additional conditions are present under the children attribute. - Choices: `ConditionAndBlock`, `ConditionAttributes`,
     * `ConditionOrBlock`, `ConditionReference`
     * 
     */
    @Import(name="conditionType")
    private @Nullable Output conditionType;

    /**
     * @return Indicates whether the record is the condition itself or a logical aggregation. Logical aggreation indicates that
     * additional conditions are present under the children attribute. - Choices: `ConditionAndBlock`, `ConditionAttributes`,
     * `ConditionOrBlock`, `ConditionReference`
     * 
     */
    public Optional> conditionType() {
        return Optional.ofNullable(this.conditionType);
    }

    /**
     * Indicates if this rule is the default one
     * 
     */
    @Import(name="default")
    private @Nullable Output default_;

    /**
     * @return Indicates if this rule is the default one
     * 
     */
    public Optional> default_() {
        return Optional.ofNullable(this.default_);
    }

    /**
     * Identity source name from the identity stores
     * 
     */
    @Import(name="identitySourceName")
    private @Nullable Output identitySourceName;

    /**
     * @return Identity source name from the identity stores
     * 
     */
    public Optional> identitySourceName() {
        return Optional.ofNullable(this.identitySourceName);
    }

    /**
     * Action to perform when authentication fails such as Bad credentials, disabled user and so on - Choices: `REJECT`,
     * `DROP`, `CONTINUE`
     * 
     */
    @Import(name="ifAuthFail", required=true)
    private Output ifAuthFail;

    /**
     * @return Action to perform when authentication fails such as Bad credentials, disabled user and so on - Choices: `REJECT`,
     * `DROP`, `CONTINUE`
     * 
     */
    public Output ifAuthFail() {
        return this.ifAuthFail;
    }

    /**
     * Action to perform when ISE is unable to access the identity database - Choices: `REJECT`, `DROP`, `CONTINUE`
     * 
     */
    @Import(name="ifProcessFail", required=true)
    private Output ifProcessFail;

    /**
     * @return Action to perform when ISE is unable to access the identity database - Choices: `REJECT`, `DROP`, `CONTINUE`
     * 
     */
    public Output ifProcessFail() {
        return this.ifProcessFail;
    }

    /**
     * Action to perform when user is not found in any of identity stores - Choices: `REJECT`, `DROP`, `CONTINUE`
     * 
     */
    @Import(name="ifUserNotFound", required=true)
    private Output ifUserNotFound;

    /**
     * @return Action to perform when user is not found in any of identity stores - Choices: `REJECT`, `DROP`, `CONTINUE`
     * 
     */
    public Output ifUserNotFound() {
        return this.ifUserNotFound;
    }

    /**
     * Rule name, [Valid characters are alphanumerics, underscore, hyphen, space, period, parentheses]
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Rule name, [Valid characters are alphanumerics, underscore, hyphen, space, period, parentheses]
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Policy set ID
     * 
     */
    @Import(name="policySetId", required=true)
    private Output policySetId;

    /**
     * @return Policy set ID
     * 
     */
    public Output policySetId() {
        return this.policySetId;
    }

    /**
     * The rank (priority) in relation to other rules. Lower rank is higher priority.
     * 
     */
    @Import(name="rank")
    private @Nullable Output rank;

    /**
     * @return The rank (priority) in relation to other rules. Lower rank is higher priority.
     * 
     */
    public Optional> rank() {
        return Optional.ofNullable(this.rank);
    }

    /**
     * The state that the rule is in. A disabled rule cannot be matched. - Choices: `disabled`, `enabled`, `monitor`
     * 
     */
    @Import(name="state")
    private @Nullable Output state;

    /**
     * @return The state that the rule is in. A disabled rule cannot be matched. - Choices: `disabled`, `enabled`, `monitor`
     * 
     */
    public Optional> state() {
        return Optional.ofNullable(this.state);
    }

    private AuthenticationRuleArgs() {}

    private AuthenticationRuleArgs(AuthenticationRuleArgs $) {
        this.childrens = $.childrens;
        this.conditionAttributeName = $.conditionAttributeName;
        this.conditionAttributeValue = $.conditionAttributeValue;
        this.conditionDictionaryName = $.conditionDictionaryName;
        this.conditionDictionaryValue = $.conditionDictionaryValue;
        this.conditionId = $.conditionId;
        this.conditionIsNegate = $.conditionIsNegate;
        this.conditionOperator = $.conditionOperator;
        this.conditionType = $.conditionType;
        this.default_ = $.default_;
        this.identitySourceName = $.identitySourceName;
        this.ifAuthFail = $.ifAuthFail;
        this.ifProcessFail = $.ifProcessFail;
        this.ifUserNotFound = $.ifUserNotFound;
        this.name = $.name;
        this.policySetId = $.policySetId;
        this.rank = $.rank;
        this.state = $.state;
    }

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

    public static final class Builder {
        private AuthenticationRuleArgs $;

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

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

        /**
         * @param childrens List of child conditions. `condition_type` must be one of `ConditionAndBlock` or `ConditionOrBlock`.
         * 
         * @return builder
         * 
         */
        public Builder childrens(@Nullable Output> childrens) {
            $.childrens = childrens;
            return this;
        }

        /**
         * @param childrens List of child conditions. `condition_type` must be one of `ConditionAndBlock` or `ConditionOrBlock`.
         * 
         * @return builder
         * 
         */
        public Builder childrens(List childrens) {
            return childrens(Output.of(childrens));
        }

        /**
         * @param childrens List of child conditions. `condition_type` must be one of `ConditionAndBlock` or `ConditionOrBlock`.
         * 
         * @return builder
         * 
         */
        public Builder childrens(AuthenticationRuleChildrenArgs... childrens) {
            return childrens(List.of(childrens));
        }

        /**
         * @param conditionAttributeName Dictionary attribute name
         * 
         * @return builder
         * 
         */
        public Builder conditionAttributeName(@Nullable Output conditionAttributeName) {
            $.conditionAttributeName = conditionAttributeName;
            return this;
        }

        /**
         * @param conditionAttributeName Dictionary attribute name
         * 
         * @return builder
         * 
         */
        public Builder conditionAttributeName(String conditionAttributeName) {
            return conditionAttributeName(Output.of(conditionAttributeName));
        }

        /**
         * @param conditionAttributeValue Attribute value for condition. Value type is specified in dictionary object.
         * 
         * @return builder
         * 
         */
        public Builder conditionAttributeValue(@Nullable Output conditionAttributeValue) {
            $.conditionAttributeValue = conditionAttributeValue;
            return this;
        }

        /**
         * @param conditionAttributeValue Attribute value for condition. Value type is specified in dictionary object.
         * 
         * @return builder
         * 
         */
        public Builder conditionAttributeValue(String conditionAttributeValue) {
            return conditionAttributeValue(Output.of(conditionAttributeValue));
        }

        /**
         * @param conditionDictionaryName Dictionary name
         * 
         * @return builder
         * 
         */
        public Builder conditionDictionaryName(@Nullable Output conditionDictionaryName) {
            $.conditionDictionaryName = conditionDictionaryName;
            return this;
        }

        /**
         * @param conditionDictionaryName Dictionary name
         * 
         * @return builder
         * 
         */
        public Builder conditionDictionaryName(String conditionDictionaryName) {
            return conditionDictionaryName(Output.of(conditionDictionaryName));
        }

        /**
         * @param conditionDictionaryValue Dictionary value
         * 
         * @return builder
         * 
         */
        public Builder conditionDictionaryValue(@Nullable Output conditionDictionaryValue) {
            $.conditionDictionaryValue = conditionDictionaryValue;
            return this;
        }

        /**
         * @param conditionDictionaryValue Dictionary value
         * 
         * @return builder
         * 
         */
        public Builder conditionDictionaryValue(String conditionDictionaryValue) {
            return conditionDictionaryValue(Output.of(conditionDictionaryValue));
        }

        /**
         * @param conditionId UUID for condition
         * 
         * @return builder
         * 
         */
        public Builder conditionId(@Nullable Output conditionId) {
            $.conditionId = conditionId;
            return this;
        }

        /**
         * @param conditionId UUID for condition
         * 
         * @return builder
         * 
         */
        public Builder conditionId(String conditionId) {
            return conditionId(Output.of(conditionId));
        }

        /**
         * @param conditionIsNegate Indicates whereas this condition is in negate mode
         * 
         * @return builder
         * 
         */
        public Builder conditionIsNegate(@Nullable Output conditionIsNegate) {
            $.conditionIsNegate = conditionIsNegate;
            return this;
        }

        /**
         * @param conditionIsNegate Indicates whereas this condition is in negate mode
         * 
         * @return builder
         * 
         */
        public Builder conditionIsNegate(Boolean conditionIsNegate) {
            return conditionIsNegate(Output.of(conditionIsNegate));
        }

        /**
         * @param conditionOperator Equality operator - Choices: `contains`, `endsWith`, `equals`, `greaterOrEquals`, `greaterThan`, `in`, `ipEquals`,
         * `ipGreaterThan`, `ipLessThan`, `ipNotEquals`, `lessOrEquals`, `lessThan`, `matches`, `notContains`, `notEndsWith`,
         * `notEquals`, `notIn`, `notStartsWith`, `startsWith`
         * 
         * @return builder
         * 
         */
        public Builder conditionOperator(@Nullable Output conditionOperator) {
            $.conditionOperator = conditionOperator;
            return this;
        }

        /**
         * @param conditionOperator Equality operator - Choices: `contains`, `endsWith`, `equals`, `greaterOrEquals`, `greaterThan`, `in`, `ipEquals`,
         * `ipGreaterThan`, `ipLessThan`, `ipNotEquals`, `lessOrEquals`, `lessThan`, `matches`, `notContains`, `notEndsWith`,
         * `notEquals`, `notIn`, `notStartsWith`, `startsWith`
         * 
         * @return builder
         * 
         */
        public Builder conditionOperator(String conditionOperator) {
            return conditionOperator(Output.of(conditionOperator));
        }

        /**
         * @param conditionType Indicates whether the record is the condition itself or a logical aggregation. Logical aggreation indicates that
         * additional conditions are present under the children attribute. - Choices: `ConditionAndBlock`, `ConditionAttributes`,
         * `ConditionOrBlock`, `ConditionReference`
         * 
         * @return builder
         * 
         */
        public Builder conditionType(@Nullable Output conditionType) {
            $.conditionType = conditionType;
            return this;
        }

        /**
         * @param conditionType Indicates whether the record is the condition itself or a logical aggregation. Logical aggreation indicates that
         * additional conditions are present under the children attribute. - Choices: `ConditionAndBlock`, `ConditionAttributes`,
         * `ConditionOrBlock`, `ConditionReference`
         * 
         * @return builder
         * 
         */
        public Builder conditionType(String conditionType) {
            return conditionType(Output.of(conditionType));
        }

        /**
         * @param default_ Indicates if this rule is the default one
         * 
         * @return builder
         * 
         */
        public Builder default_(@Nullable Output default_) {
            $.default_ = default_;
            return this;
        }

        /**
         * @param default_ Indicates if this rule is the default one
         * 
         * @return builder
         * 
         */
        public Builder default_(Boolean default_) {
            return default_(Output.of(default_));
        }

        /**
         * @param identitySourceName Identity source name from the identity stores
         * 
         * @return builder
         * 
         */
        public Builder identitySourceName(@Nullable Output identitySourceName) {
            $.identitySourceName = identitySourceName;
            return this;
        }

        /**
         * @param identitySourceName Identity source name from the identity stores
         * 
         * @return builder
         * 
         */
        public Builder identitySourceName(String identitySourceName) {
            return identitySourceName(Output.of(identitySourceName));
        }

        /**
         * @param ifAuthFail Action to perform when authentication fails such as Bad credentials, disabled user and so on - Choices: `REJECT`,
         * `DROP`, `CONTINUE`
         * 
         * @return builder
         * 
         */
        public Builder ifAuthFail(Output ifAuthFail) {
            $.ifAuthFail = ifAuthFail;
            return this;
        }

        /**
         * @param ifAuthFail Action to perform when authentication fails such as Bad credentials, disabled user and so on - Choices: `REJECT`,
         * `DROP`, `CONTINUE`
         * 
         * @return builder
         * 
         */
        public Builder ifAuthFail(String ifAuthFail) {
            return ifAuthFail(Output.of(ifAuthFail));
        }

        /**
         * @param ifProcessFail Action to perform when ISE is unable to access the identity database - Choices: `REJECT`, `DROP`, `CONTINUE`
         * 
         * @return builder
         * 
         */
        public Builder ifProcessFail(Output ifProcessFail) {
            $.ifProcessFail = ifProcessFail;
            return this;
        }

        /**
         * @param ifProcessFail Action to perform when ISE is unable to access the identity database - Choices: `REJECT`, `DROP`, `CONTINUE`
         * 
         * @return builder
         * 
         */
        public Builder ifProcessFail(String ifProcessFail) {
            return ifProcessFail(Output.of(ifProcessFail));
        }

        /**
         * @param ifUserNotFound Action to perform when user is not found in any of identity stores - Choices: `REJECT`, `DROP`, `CONTINUE`
         * 
         * @return builder
         * 
         */
        public Builder ifUserNotFound(Output ifUserNotFound) {
            $.ifUserNotFound = ifUserNotFound;
            return this;
        }

        /**
         * @param ifUserNotFound Action to perform when user is not found in any of identity stores - Choices: `REJECT`, `DROP`, `CONTINUE`
         * 
         * @return builder
         * 
         */
        public Builder ifUserNotFound(String ifUserNotFound) {
            return ifUserNotFound(Output.of(ifUserNotFound));
        }

        /**
         * @param name Rule name, [Valid characters are alphanumerics, underscore, hyphen, space, period, parentheses]
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Rule name, [Valid characters are alphanumerics, underscore, hyphen, space, period, parentheses]
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param policySetId Policy set ID
         * 
         * @return builder
         * 
         */
        public Builder policySetId(Output policySetId) {
            $.policySetId = policySetId;
            return this;
        }

        /**
         * @param policySetId Policy set ID
         * 
         * @return builder
         * 
         */
        public Builder policySetId(String policySetId) {
            return policySetId(Output.of(policySetId));
        }

        /**
         * @param rank The rank (priority) in relation to other rules. Lower rank is higher priority.
         * 
         * @return builder
         * 
         */
        public Builder rank(@Nullable Output rank) {
            $.rank = rank;
            return this;
        }

        /**
         * @param rank The rank (priority) in relation to other rules. Lower rank is higher priority.
         * 
         * @return builder
         * 
         */
        public Builder rank(Integer rank) {
            return rank(Output.of(rank));
        }

        /**
         * @param state The state that the rule is in. A disabled rule cannot be matched. - Choices: `disabled`, `enabled`, `monitor`
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output state) {
            $.state = state;
            return this;
        }

        /**
         * @param state The state that the rule is in. A disabled rule cannot be matched. - Choices: `disabled`, `enabled`, `monitor`
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Output.of(state));
        }

        public AuthenticationRuleArgs build() {
            if ($.ifAuthFail == null) {
                throw new MissingRequiredPropertyException("AuthenticationRuleArgs", "ifAuthFail");
            }
            if ($.ifProcessFail == null) {
                throw new MissingRequiredPropertyException("AuthenticationRuleArgs", "ifProcessFail");
            }
            if ($.ifUserNotFound == null) {
                throw new MissingRequiredPropertyException("AuthenticationRuleArgs", "ifUserNotFound");
            }
            if ($.policySetId == null) {
                throw new MissingRequiredPropertyException("AuthenticationRuleArgs", "policySetId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy