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

com.pulumi.okta.inputs.UserSchemaPropertyState Maven / Gradle / Ivy

There is a newer version: 4.13.0-alpha.1732774005
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.okta.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.okta.inputs.UserSchemaPropertyArrayOneOfArgs;
import com.pulumi.okta.inputs.UserSchemaPropertyMasterOverridePriorityArgs;
import com.pulumi.okta.inputs.UserSchemaPropertyOneOfArgs;
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 UserSchemaPropertyState extends com.pulumi.resources.ResourceArgs {

    public static final UserSchemaPropertyState Empty = new UserSchemaPropertyState();

    /**
     * Array of values that an array property's items can be set to.
     * 
     */
    @Import(name="arrayEnums")
    private @Nullable Output> arrayEnums;

    /**
     * @return Array of values that an array property's items can be set to.
     * 
     */
    public Optional>> arrayEnums() {
        return Optional.ofNullable(this.arrayEnums);
    }

    /**
     * Display name and value an enum array can be set to. - 'const' - (Required) value mapping to member of 'enum'. - 'title'
     * - (Required) display name for the enum value.
     * 
     */
    @Import(name="arrayOneOfs")
    private @Nullable Output> arrayOneOfs;

    /**
     * @return Display name and value an enum array can be set to. - 'const' - (Required) value mapping to member of 'enum'. - 'title'
     * - (Required) display name for the enum value.
     * 
     */
    public Optional>> arrayOneOfs() {
        return Optional.ofNullable(this.arrayOneOfs);
    }

    /**
     * The type of the array elements if `type` is set to `array`
     * 
     */
    @Import(name="arrayType")
    private @Nullable Output arrayType;

    /**
     * @return The type of the array elements if `type` is set to `array`
     * 
     */
    public Optional> arrayType() {
        return Optional.ofNullable(this.arrayType);
    }

    /**
     * The description of the user schema property.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the user schema property.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Array of values a primitive property can be set to. See `array_enum` for arrays.
     * 
     */
    @Import(name="enums")
    private @Nullable Output> enums;

    /**
     * @return Array of values a primitive property can be set to. See `array_enum` for arrays.
     * 
     */
    public Optional>> enums() {
        return Optional.ofNullable(this.enums);
    }

    /**
     * External name of the user schema property.
     * 
     */
    @Import(name="externalName")
    private @Nullable Output externalName;

    /**
     * @return External name of the user schema property.
     * 
     */
    public Optional> externalName() {
        return Optional.ofNullable(this.externalName);
    }

    /**
     * External namespace of the user schema property.
     * 
     */
    @Import(name="externalNamespace")
    private @Nullable Output externalNamespace;

    /**
     * @return External namespace of the user schema property.
     * 
     */
    public Optional> externalNamespace() {
        return Optional.ofNullable(this.externalNamespace);
    }

    /**
     * Subschema unique string identifier
     * 
     */
    @Import(name="index")
    private @Nullable Output index;

    /**
     * @return Subschema unique string identifier
     * 
     */
    public Optional> index() {
        return Optional.ofNullable(this.index);
    }

    /**
     * Master priority for the user schema property. It can be set to `PROFILE_MASTER`, `OVERRIDE` or `OKTA`.
     * 
     */
    @Import(name="master")
    private @Nullable Output master;

    /**
     * @return Master priority for the user schema property. It can be set to `PROFILE_MASTER`, `OVERRIDE` or `OKTA`.
     * 
     */
    public Optional> master() {
        return Optional.ofNullable(this.master);
    }

    /**
     * Prioritized list of profile sources (required when 'master' is 'OVERRIDE'). - 'type' - (Optional) - Type of profile
     * source. - 'value' - (Required) - ID of profile source.
     * 
     */
    @Import(name="masterOverridePriorities")
    private @Nullable Output> masterOverridePriorities;

    /**
     * @return Prioritized list of profile sources (required when 'master' is 'OVERRIDE'). - 'type' - (Optional) - Type of profile
     * source. - 'value' - (Required) - ID of profile source.
     * 
     */
    public Optional>> masterOverridePriorities() {
        return Optional.ofNullable(this.masterOverridePriorities);
    }

    /**
     * The maximum length of the user property value. Only applies to type `string`
     * 
     */
    @Import(name="maxLength")
    private @Nullable Output maxLength;

    /**
     * @return The maximum length of the user property value. Only applies to type `string`
     * 
     */
    public Optional> maxLength() {
        return Optional.ofNullable(this.maxLength);
    }

    /**
     * The minimum length of the user property value. Only applies to type `string`
     * 
     */
    @Import(name="minLength")
    private @Nullable Output minLength;

    /**
     * @return The minimum length of the user property value. Only applies to type `string`
     * 
     */
    public Optional> minLength() {
        return Optional.ofNullable(this.minLength);
    }

    /**
     * Array of maps containing a mapping for display name to enum value. - 'const' - (Required) value mapping to member of
     * 'enum'. - 'title' - (Required) display name for the enum value.
     * 
     */
    @Import(name="oneOfs")
    private @Nullable Output> oneOfs;

    /**
     * @return Array of maps containing a mapping for display name to enum value. - 'const' - (Required) value mapping to member of
     * 'enum'. - 'title' - (Required) display name for the enum value.
     * 
     */
    public Optional>> oneOfs() {
        return Optional.ofNullable(this.oneOfs);
    }

    /**
     * The validation pattern to use for the subschema. Must be in form of '.+', or '[<pattern>]+' if present.'
     * 
     */
    @Import(name="pattern")
    private @Nullable Output pattern;

    /**
     * @return The validation pattern to use for the subschema. Must be in form of '.+', or '[<pattern>]+' if present.'
     * 
     */
    public Optional> pattern() {
        return Optional.ofNullable(this.pattern);
    }

    /**
     * Access control permissions for the property. It can be set to `READ_WRITE`, `READ_ONLY`, `HIDE`. Default: `READ_ONLY`
     * 
     */
    @Import(name="permissions")
    private @Nullable Output permissions;

    /**
     * @return Access control permissions for the property. It can be set to `READ_WRITE`, `READ_ONLY`, `HIDE`. Default: `READ_ONLY`
     * 
     */
    public Optional> permissions() {
        return Optional.ofNullable(this.permissions);
    }

    /**
     * Whether the subschema is required
     * 
     */
    @Import(name="required")
    private @Nullable Output required;

    /**
     * @return Whether the subschema is required
     * 
     */
    public Optional> required() {
        return Optional.ofNullable(this.required);
    }

    /**
     * determines whether an app user attribute can be set at the Individual or Group Level. Default: `NONE`
     * 
     */
    @Import(name="scope")
    private @Nullable Output scope;

    /**
     * @return determines whether an app user attribute can be set at the Individual or Group Level. Default: `NONE`
     * 
     */
    public Optional> scope() {
        return Optional.ofNullable(this.scope);
    }

    /**
     * Subschema title (display name)
     * 
     */
    @Import(name="title")
    private @Nullable Output title;

    /**
     * @return Subschema title (display name)
     * 
     */
    public Optional> title() {
        return Optional.ofNullable(this.title);
    }

    /**
     * The type of the schema property. It can be `string`, `boolean`, `number`, `integer`, `array`, or `object`
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return The type of the schema property. It can be `string`, `boolean`, `number`, `integer`, `array`, or `object`
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    /**
     * Whether the property should be unique. It can be set to `UNIQUE_VALIDATED` or `NOT_UNIQUE`.
     * 
     */
    @Import(name="unique")
    private @Nullable Output unique;

    /**
     * @return Whether the property should be unique. It can be set to `UNIQUE_VALIDATED` or `NOT_UNIQUE`.
     * 
     */
    public Optional> unique() {
        return Optional.ofNullable(this.unique);
    }

    /**
     * User type ID. By default, it is `default`
     * 
     */
    @Import(name="userType")
    private @Nullable Output userType;

    /**
     * @return User type ID. By default, it is `default`
     * 
     */
    public Optional> userType() {
        return Optional.ofNullable(this.userType);
    }

    private UserSchemaPropertyState() {}

    private UserSchemaPropertyState(UserSchemaPropertyState $) {
        this.arrayEnums = $.arrayEnums;
        this.arrayOneOfs = $.arrayOneOfs;
        this.arrayType = $.arrayType;
        this.description = $.description;
        this.enums = $.enums;
        this.externalName = $.externalName;
        this.externalNamespace = $.externalNamespace;
        this.index = $.index;
        this.master = $.master;
        this.masterOverridePriorities = $.masterOverridePriorities;
        this.maxLength = $.maxLength;
        this.minLength = $.minLength;
        this.oneOfs = $.oneOfs;
        this.pattern = $.pattern;
        this.permissions = $.permissions;
        this.required = $.required;
        this.scope = $.scope;
        this.title = $.title;
        this.type = $.type;
        this.unique = $.unique;
        this.userType = $.userType;
    }

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

    public static final class Builder {
        private UserSchemaPropertyState $;

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

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

        /**
         * @param arrayEnums Array of values that an array property's items can be set to.
         * 
         * @return builder
         * 
         */
        public Builder arrayEnums(@Nullable Output> arrayEnums) {
            $.arrayEnums = arrayEnums;
            return this;
        }

        /**
         * @param arrayEnums Array of values that an array property's items can be set to.
         * 
         * @return builder
         * 
         */
        public Builder arrayEnums(List arrayEnums) {
            return arrayEnums(Output.of(arrayEnums));
        }

        /**
         * @param arrayEnums Array of values that an array property's items can be set to.
         * 
         * @return builder
         * 
         */
        public Builder arrayEnums(String... arrayEnums) {
            return arrayEnums(List.of(arrayEnums));
        }

        /**
         * @param arrayOneOfs Display name and value an enum array can be set to. - 'const' - (Required) value mapping to member of 'enum'. - 'title'
         * - (Required) display name for the enum value.
         * 
         * @return builder
         * 
         */
        public Builder arrayOneOfs(@Nullable Output> arrayOneOfs) {
            $.arrayOneOfs = arrayOneOfs;
            return this;
        }

        /**
         * @param arrayOneOfs Display name and value an enum array can be set to. - 'const' - (Required) value mapping to member of 'enum'. - 'title'
         * - (Required) display name for the enum value.
         * 
         * @return builder
         * 
         */
        public Builder arrayOneOfs(List arrayOneOfs) {
            return arrayOneOfs(Output.of(arrayOneOfs));
        }

        /**
         * @param arrayOneOfs Display name and value an enum array can be set to. - 'const' - (Required) value mapping to member of 'enum'. - 'title'
         * - (Required) display name for the enum value.
         * 
         * @return builder
         * 
         */
        public Builder arrayOneOfs(UserSchemaPropertyArrayOneOfArgs... arrayOneOfs) {
            return arrayOneOfs(List.of(arrayOneOfs));
        }

        /**
         * @param arrayType The type of the array elements if `type` is set to `array`
         * 
         * @return builder
         * 
         */
        public Builder arrayType(@Nullable Output arrayType) {
            $.arrayType = arrayType;
            return this;
        }

        /**
         * @param arrayType The type of the array elements if `type` is set to `array`
         * 
         * @return builder
         * 
         */
        public Builder arrayType(String arrayType) {
            return arrayType(Output.of(arrayType));
        }

        /**
         * @param description The description of the user schema property.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of the user schema property.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param enums Array of values a primitive property can be set to. See `array_enum` for arrays.
         * 
         * @return builder
         * 
         */
        public Builder enums(@Nullable Output> enums) {
            $.enums = enums;
            return this;
        }

        /**
         * @param enums Array of values a primitive property can be set to. See `array_enum` for arrays.
         * 
         * @return builder
         * 
         */
        public Builder enums(List enums) {
            return enums(Output.of(enums));
        }

        /**
         * @param enums Array of values a primitive property can be set to. See `array_enum` for arrays.
         * 
         * @return builder
         * 
         */
        public Builder enums(String... enums) {
            return enums(List.of(enums));
        }

        /**
         * @param externalName External name of the user schema property.
         * 
         * @return builder
         * 
         */
        public Builder externalName(@Nullable Output externalName) {
            $.externalName = externalName;
            return this;
        }

        /**
         * @param externalName External name of the user schema property.
         * 
         * @return builder
         * 
         */
        public Builder externalName(String externalName) {
            return externalName(Output.of(externalName));
        }

        /**
         * @param externalNamespace External namespace of the user schema property.
         * 
         * @return builder
         * 
         */
        public Builder externalNamespace(@Nullable Output externalNamespace) {
            $.externalNamespace = externalNamespace;
            return this;
        }

        /**
         * @param externalNamespace External namespace of the user schema property.
         * 
         * @return builder
         * 
         */
        public Builder externalNamespace(String externalNamespace) {
            return externalNamespace(Output.of(externalNamespace));
        }

        /**
         * @param index Subschema unique string identifier
         * 
         * @return builder
         * 
         */
        public Builder index(@Nullable Output index) {
            $.index = index;
            return this;
        }

        /**
         * @param index Subschema unique string identifier
         * 
         * @return builder
         * 
         */
        public Builder index(String index) {
            return index(Output.of(index));
        }

        /**
         * @param master Master priority for the user schema property. It can be set to `PROFILE_MASTER`, `OVERRIDE` or `OKTA`.
         * 
         * @return builder
         * 
         */
        public Builder master(@Nullable Output master) {
            $.master = master;
            return this;
        }

        /**
         * @param master Master priority for the user schema property. It can be set to `PROFILE_MASTER`, `OVERRIDE` or `OKTA`.
         * 
         * @return builder
         * 
         */
        public Builder master(String master) {
            return master(Output.of(master));
        }

        /**
         * @param masterOverridePriorities Prioritized list of profile sources (required when 'master' is 'OVERRIDE'). - 'type' - (Optional) - Type of profile
         * source. - 'value' - (Required) - ID of profile source.
         * 
         * @return builder
         * 
         */
        public Builder masterOverridePriorities(@Nullable Output> masterOverridePriorities) {
            $.masterOverridePriorities = masterOverridePriorities;
            return this;
        }

        /**
         * @param masterOverridePriorities Prioritized list of profile sources (required when 'master' is 'OVERRIDE'). - 'type' - (Optional) - Type of profile
         * source. - 'value' - (Required) - ID of profile source.
         * 
         * @return builder
         * 
         */
        public Builder masterOverridePriorities(List masterOverridePriorities) {
            return masterOverridePriorities(Output.of(masterOverridePriorities));
        }

        /**
         * @param masterOverridePriorities Prioritized list of profile sources (required when 'master' is 'OVERRIDE'). - 'type' - (Optional) - Type of profile
         * source. - 'value' - (Required) - ID of profile source.
         * 
         * @return builder
         * 
         */
        public Builder masterOverridePriorities(UserSchemaPropertyMasterOverridePriorityArgs... masterOverridePriorities) {
            return masterOverridePriorities(List.of(masterOverridePriorities));
        }

        /**
         * @param maxLength The maximum length of the user property value. Only applies to type `string`
         * 
         * @return builder
         * 
         */
        public Builder maxLength(@Nullable Output maxLength) {
            $.maxLength = maxLength;
            return this;
        }

        /**
         * @param maxLength The maximum length of the user property value. Only applies to type `string`
         * 
         * @return builder
         * 
         */
        public Builder maxLength(Integer maxLength) {
            return maxLength(Output.of(maxLength));
        }

        /**
         * @param minLength The minimum length of the user property value. Only applies to type `string`
         * 
         * @return builder
         * 
         */
        public Builder minLength(@Nullable Output minLength) {
            $.minLength = minLength;
            return this;
        }

        /**
         * @param minLength The minimum length of the user property value. Only applies to type `string`
         * 
         * @return builder
         * 
         */
        public Builder minLength(Integer minLength) {
            return minLength(Output.of(minLength));
        }

        /**
         * @param oneOfs Array of maps containing a mapping for display name to enum value. - 'const' - (Required) value mapping to member of
         * 'enum'. - 'title' - (Required) display name for the enum value.
         * 
         * @return builder
         * 
         */
        public Builder oneOfs(@Nullable Output> oneOfs) {
            $.oneOfs = oneOfs;
            return this;
        }

        /**
         * @param oneOfs Array of maps containing a mapping for display name to enum value. - 'const' - (Required) value mapping to member of
         * 'enum'. - 'title' - (Required) display name for the enum value.
         * 
         * @return builder
         * 
         */
        public Builder oneOfs(List oneOfs) {
            return oneOfs(Output.of(oneOfs));
        }

        /**
         * @param oneOfs Array of maps containing a mapping for display name to enum value. - 'const' - (Required) value mapping to member of
         * 'enum'. - 'title' - (Required) display name for the enum value.
         * 
         * @return builder
         * 
         */
        public Builder oneOfs(UserSchemaPropertyOneOfArgs... oneOfs) {
            return oneOfs(List.of(oneOfs));
        }

        /**
         * @param pattern The validation pattern to use for the subschema. Must be in form of '.+', or '[<pattern>]+' if present.'
         * 
         * @return builder
         * 
         */
        public Builder pattern(@Nullable Output pattern) {
            $.pattern = pattern;
            return this;
        }

        /**
         * @param pattern The validation pattern to use for the subschema. Must be in form of '.+', or '[<pattern>]+' if present.'
         * 
         * @return builder
         * 
         */
        public Builder pattern(String pattern) {
            return pattern(Output.of(pattern));
        }

        /**
         * @param permissions Access control permissions for the property. It can be set to `READ_WRITE`, `READ_ONLY`, `HIDE`. Default: `READ_ONLY`
         * 
         * @return builder
         * 
         */
        public Builder permissions(@Nullable Output permissions) {
            $.permissions = permissions;
            return this;
        }

        /**
         * @param permissions Access control permissions for the property. It can be set to `READ_WRITE`, `READ_ONLY`, `HIDE`. Default: `READ_ONLY`
         * 
         * @return builder
         * 
         */
        public Builder permissions(String permissions) {
            return permissions(Output.of(permissions));
        }

        /**
         * @param required Whether the subschema is required
         * 
         * @return builder
         * 
         */
        public Builder required(@Nullable Output required) {
            $.required = required;
            return this;
        }

        /**
         * @param required Whether the subschema is required
         * 
         * @return builder
         * 
         */
        public Builder required(Boolean required) {
            return required(Output.of(required));
        }

        /**
         * @param scope determines whether an app user attribute can be set at the Individual or Group Level. Default: `NONE`
         * 
         * @return builder
         * 
         */
        public Builder scope(@Nullable Output scope) {
            $.scope = scope;
            return this;
        }

        /**
         * @param scope determines whether an app user attribute can be set at the Individual or Group Level. Default: `NONE`
         * 
         * @return builder
         * 
         */
        public Builder scope(String scope) {
            return scope(Output.of(scope));
        }

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

        /**
         * @param title Subschema title (display name)
         * 
         * @return builder
         * 
         */
        public Builder title(String title) {
            return title(Output.of(title));
        }

        /**
         * @param type The type of the schema property. It can be `string`, `boolean`, `number`, `integer`, `array`, or `object`
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The type of the schema property. It can be `string`, `boolean`, `number`, `integer`, `array`, or `object`
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        /**
         * @param unique Whether the property should be unique. It can be set to `UNIQUE_VALIDATED` or `NOT_UNIQUE`.
         * 
         * @return builder
         * 
         */
        public Builder unique(@Nullable Output unique) {
            $.unique = unique;
            return this;
        }

        /**
         * @param unique Whether the property should be unique. It can be set to `UNIQUE_VALIDATED` or `NOT_UNIQUE`.
         * 
         * @return builder
         * 
         */
        public Builder unique(String unique) {
            return unique(Output.of(unique));
        }

        /**
         * @param userType User type ID. By default, it is `default`
         * 
         * @return builder
         * 
         */
        public Builder userType(@Nullable Output userType) {
            $.userType = userType;
            return this;
        }

        /**
         * @param userType User type ID. By default, it is `default`
         * 
         * @return builder
         * 
         */
        public Builder userType(String userType) {
            return userType(Output.of(userType));
        }

        public UserSchemaPropertyState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy