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

com.pulumi.okta.PolicyRuleProfileEnrollmentArgs 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.okta;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import com.pulumi.okta.inputs.PolicyRuleProfileEnrollmentProfileAttributeArgs;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final PolicyRuleProfileEnrollmentArgs Empty = new PolicyRuleProfileEnrollmentArgs();

    /**
     * Allow or deny access based on the rule conditions. Valid values are: `ALLOW`, `DENY`. Default: `ALLOW`.
     * 
     */
    @Import(name="access")
    private @Nullable Output access;

    /**
     * @return Allow or deny access based on the rule conditions. Valid values are: `ALLOW`, `DENY`. Default: `ALLOW`.
     * 
     */
    public Optional> access() {
        return Optional.ofNullable(this.access);
    }

    /**
     * Indicates whether email verification should occur before access is granted. Default: `true`.
     * 
     */
    @Import(name="emailVerification")
    private @Nullable Output emailVerification;

    /**
     * @return Indicates whether email verification should occur before access is granted. Default: `true`.
     * 
     */
    public Optional> emailVerification() {
        return Optional.ofNullable(this.emailVerification);
    }

    /**
     * ID of a Registration Inline Hook
     * 
     */
    @Import(name="inlineHookId")
    private @Nullable Output inlineHookId;

    /**
     * @return ID of a Registration Inline Hook
     * 
     */
    public Optional> inlineHookId() {
        return Optional.ofNullable(this.inlineHookId);
    }

    /**
     * ID of the policy
     * 
     */
    @Import(name="policyId", required=true)
    private Output policyId;

    /**
     * @return ID of the policy
     * 
     */
    public Output policyId() {
        return this.policyId;
    }

    /**
     * A list of attributes to prompt the user during registration or progressive profiling. Where defined on the User schema,
     * these attributes are persisted in the User profile. Non-schema attributes may also be added, which aren't persisted to
     * the User's profile, but are included in requests to the registration inline hook. A maximum of 10 Profile properties is
     * supported. - 'label' - (Required) A display-friendly label for this property - 'name' - (Required) The name of a User
     * Profile property - 'required' - (Required) Indicates if this property is required for enrollment. Default is 'false'.
     * 
     */
    @Import(name="profileAttributes")
    private @Nullable Output> profileAttributes;

    /**
     * @return A list of attributes to prompt the user during registration or progressive profiling. Where defined on the User schema,
     * these attributes are persisted in the User profile. Non-schema attributes may also be added, which aren't persisted to
     * the User's profile, but are included in requests to the registration inline hook. A maximum of 10 Profile properties is
     * supported. - 'label' - (Required) A display-friendly label for this property - 'name' - (Required) The name of a User
     * Profile property - 'required' - (Required) Indicates if this property is required for enrollment. Default is 'false'.
     * 
     */
    public Optional>> profileAttributes() {
        return Optional.ofNullable(this.profileAttributes);
    }

    /**
     * Enabled or disabled progressive profiling action rule conditions: `ENABLED` or `DISABLED`. Default: `DISABLED`
     * 
     */
    @Import(name="progressiveProfilingAction")
    private @Nullable Output progressiveProfilingAction;

    /**
     * @return Enabled or disabled progressive profiling action rule conditions: `ENABLED` or `DISABLED`. Default: `DISABLED`
     * 
     */
    public Optional> progressiveProfilingAction() {
        return Optional.ofNullable(this.progressiveProfilingAction);
    }

    /**
     * The ID of a Group that this User should be added to
     * 
     */
    @Import(name="targetGroupId")
    private @Nullable Output targetGroupId;

    /**
     * @return The ID of a Group that this User should be added to
     * 
     */
    public Optional> targetGroupId() {
        return Optional.ofNullable(this.targetGroupId);
    }

    /**
     * Value created by the backend. If present all policy updates must include this attribute/value.
     * 
     */
    @Import(name="uiSchemaId")
    private @Nullable Output uiSchemaId;

    /**
     * @return Value created by the backend. If present all policy updates must include this attribute/value.
     * 
     */
    public Optional> uiSchemaId() {
        return Optional.ofNullable(this.uiSchemaId);
    }

    /**
     * Which action should be taken if this User is new. Valid values are: `DENY`, `REGISTER`
     * 
     */
    @Import(name="unknownUserAction", required=true)
    private Output unknownUserAction;

    /**
     * @return Which action should be taken if this User is new. Valid values are: `DENY`, `REGISTER`
     * 
     */
    public Output unknownUserAction() {
        return this.unknownUserAction;
    }

    private PolicyRuleProfileEnrollmentArgs() {}

    private PolicyRuleProfileEnrollmentArgs(PolicyRuleProfileEnrollmentArgs $) {
        this.access = $.access;
        this.emailVerification = $.emailVerification;
        this.inlineHookId = $.inlineHookId;
        this.policyId = $.policyId;
        this.profileAttributes = $.profileAttributes;
        this.progressiveProfilingAction = $.progressiveProfilingAction;
        this.targetGroupId = $.targetGroupId;
        this.uiSchemaId = $.uiSchemaId;
        this.unknownUserAction = $.unknownUserAction;
    }

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

    public static final class Builder {
        private PolicyRuleProfileEnrollmentArgs $;

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

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

        /**
         * @param access Allow or deny access based on the rule conditions. Valid values are: `ALLOW`, `DENY`. Default: `ALLOW`.
         * 
         * @return builder
         * 
         */
        public Builder access(@Nullable Output access) {
            $.access = access;
            return this;
        }

        /**
         * @param access Allow or deny access based on the rule conditions. Valid values are: `ALLOW`, `DENY`. Default: `ALLOW`.
         * 
         * @return builder
         * 
         */
        public Builder access(String access) {
            return access(Output.of(access));
        }

        /**
         * @param emailVerification Indicates whether email verification should occur before access is granted. Default: `true`.
         * 
         * @return builder
         * 
         */
        public Builder emailVerification(@Nullable Output emailVerification) {
            $.emailVerification = emailVerification;
            return this;
        }

        /**
         * @param emailVerification Indicates whether email verification should occur before access is granted. Default: `true`.
         * 
         * @return builder
         * 
         */
        public Builder emailVerification(Boolean emailVerification) {
            return emailVerification(Output.of(emailVerification));
        }

        /**
         * @param inlineHookId ID of a Registration Inline Hook
         * 
         * @return builder
         * 
         */
        public Builder inlineHookId(@Nullable Output inlineHookId) {
            $.inlineHookId = inlineHookId;
            return this;
        }

        /**
         * @param inlineHookId ID of a Registration Inline Hook
         * 
         * @return builder
         * 
         */
        public Builder inlineHookId(String inlineHookId) {
            return inlineHookId(Output.of(inlineHookId));
        }

        /**
         * @param policyId ID of the policy
         * 
         * @return builder
         * 
         */
        public Builder policyId(Output policyId) {
            $.policyId = policyId;
            return this;
        }

        /**
         * @param policyId ID of the policy
         * 
         * @return builder
         * 
         */
        public Builder policyId(String policyId) {
            return policyId(Output.of(policyId));
        }

        /**
         * @param profileAttributes A list of attributes to prompt the user during registration or progressive profiling. Where defined on the User schema,
         * these attributes are persisted in the User profile. Non-schema attributes may also be added, which aren't persisted to
         * the User's profile, but are included in requests to the registration inline hook. A maximum of 10 Profile properties is
         * supported. - 'label' - (Required) A display-friendly label for this property - 'name' - (Required) The name of a User
         * Profile property - 'required' - (Required) Indicates if this property is required for enrollment. Default is 'false'.
         * 
         * @return builder
         * 
         */
        public Builder profileAttributes(@Nullable Output> profileAttributes) {
            $.profileAttributes = profileAttributes;
            return this;
        }

        /**
         * @param profileAttributes A list of attributes to prompt the user during registration or progressive profiling. Where defined on the User schema,
         * these attributes are persisted in the User profile. Non-schema attributes may also be added, which aren't persisted to
         * the User's profile, but are included in requests to the registration inline hook. A maximum of 10 Profile properties is
         * supported. - 'label' - (Required) A display-friendly label for this property - 'name' - (Required) The name of a User
         * Profile property - 'required' - (Required) Indicates if this property is required for enrollment. Default is 'false'.
         * 
         * @return builder
         * 
         */
        public Builder profileAttributes(List profileAttributes) {
            return profileAttributes(Output.of(profileAttributes));
        }

        /**
         * @param profileAttributes A list of attributes to prompt the user during registration or progressive profiling. Where defined on the User schema,
         * these attributes are persisted in the User profile. Non-schema attributes may also be added, which aren't persisted to
         * the User's profile, but are included in requests to the registration inline hook. A maximum of 10 Profile properties is
         * supported. - 'label' - (Required) A display-friendly label for this property - 'name' - (Required) The name of a User
         * Profile property - 'required' - (Required) Indicates if this property is required for enrollment. Default is 'false'.
         * 
         * @return builder
         * 
         */
        public Builder profileAttributes(PolicyRuleProfileEnrollmentProfileAttributeArgs... profileAttributes) {
            return profileAttributes(List.of(profileAttributes));
        }

        /**
         * @param progressiveProfilingAction Enabled or disabled progressive profiling action rule conditions: `ENABLED` or `DISABLED`. Default: `DISABLED`
         * 
         * @return builder
         * 
         */
        public Builder progressiveProfilingAction(@Nullable Output progressiveProfilingAction) {
            $.progressiveProfilingAction = progressiveProfilingAction;
            return this;
        }

        /**
         * @param progressiveProfilingAction Enabled or disabled progressive profiling action rule conditions: `ENABLED` or `DISABLED`. Default: `DISABLED`
         * 
         * @return builder
         * 
         */
        public Builder progressiveProfilingAction(String progressiveProfilingAction) {
            return progressiveProfilingAction(Output.of(progressiveProfilingAction));
        }

        /**
         * @param targetGroupId The ID of a Group that this User should be added to
         * 
         * @return builder
         * 
         */
        public Builder targetGroupId(@Nullable Output targetGroupId) {
            $.targetGroupId = targetGroupId;
            return this;
        }

        /**
         * @param targetGroupId The ID of a Group that this User should be added to
         * 
         * @return builder
         * 
         */
        public Builder targetGroupId(String targetGroupId) {
            return targetGroupId(Output.of(targetGroupId));
        }

        /**
         * @param uiSchemaId Value created by the backend. If present all policy updates must include this attribute/value.
         * 
         * @return builder
         * 
         */
        public Builder uiSchemaId(@Nullable Output uiSchemaId) {
            $.uiSchemaId = uiSchemaId;
            return this;
        }

        /**
         * @param uiSchemaId Value created by the backend. If present all policy updates must include this attribute/value.
         * 
         * @return builder
         * 
         */
        public Builder uiSchemaId(String uiSchemaId) {
            return uiSchemaId(Output.of(uiSchemaId));
        }

        /**
         * @param unknownUserAction Which action should be taken if this User is new. Valid values are: `DENY`, `REGISTER`
         * 
         * @return builder
         * 
         */
        public Builder unknownUserAction(Output unknownUserAction) {
            $.unknownUserAction = unknownUserAction;
            return this;
        }

        /**
         * @param unknownUserAction Which action should be taken if this User is new. Valid values are: `DENY`, `REGISTER`
         * 
         * @return builder
         * 
         */
        public Builder unknownUserAction(String unknownUserAction) {
            return unknownUserAction(Output.of(unknownUserAction));
        }

        public PolicyRuleProfileEnrollmentArgs build() {
            if ($.policyId == null) {
                throw new MissingRequiredPropertyException("PolicyRuleProfileEnrollmentArgs", "policyId");
            }
            if ($.unknownUserAction == null) {
                throw new MissingRequiredPropertyException("PolicyRuleProfileEnrollmentArgs", "unknownUserAction");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy