# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities

__all__ = [
    'SchemaArrayOneOfArgs',
    'SchemaMasterOverridePriorityArgs',
    'SchemaOneOfArgs',
    'UserPasswordHashArgs',
    'GetUserSearchArgs',
    'GetUsersSearchArgs',
]

@pulumi.input_type
class SchemaArrayOneOfArgs:
    def __init__(__self__, *,
                 const: pulumi.Input[str],
                 title: pulumi.Input[str]):
        """
        :param pulumi.Input[str] const: value mapping to member of `enum`.
        :param pulumi.Input[str] title: display name for the enum value.
        """
        pulumi.set(__self__, "const", const)
        pulumi.set(__self__, "title", title)

    @property
    @pulumi.getter
    def const(self) -> pulumi.Input[str]:
        """
        value mapping to member of `enum`.
        """
        return pulumi.get(self, "const")

    @const.setter
    def const(self, value: pulumi.Input[str]):
        pulumi.set(self, "const", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        display name for the enum value.
        """
        return pulumi.get(self, "title")

    @title.setter
    def title(self, value: pulumi.Input[str]):
        pulumi.set(self, "title", value)


@pulumi.input_type
class SchemaMasterOverridePriorityArgs:
    def __init__(__self__, *,
                 value: pulumi.Input[str],
                 type: Optional[pulumi.Input[str]] = None):
        """
        :param pulumi.Input[str] value: - ID of profile source.
        :param pulumi.Input[str] type: - Type of profile source.
        """
        pulumi.set(__self__, "value", value)
        if type is not None:
            pulumi.set(__self__, "type", type)

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        - ID of profile source.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: pulumi.Input[str]):
        pulumi.set(self, "value", value)

    @property
    @pulumi.getter
    def type(self) -> Optional[pulumi.Input[str]]:
        """
        - Type of profile source.
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "type", value)


@pulumi.input_type
class SchemaOneOfArgs:
    def __init__(__self__, *,
                 const: pulumi.Input[str],
                 title: pulumi.Input[str]):
        """
        :param pulumi.Input[str] const: value mapping to member of `enum`.
        :param pulumi.Input[str] title: display name for the enum value.
        """
        pulumi.set(__self__, "const", const)
        pulumi.set(__self__, "title", title)

    @property
    @pulumi.getter
    def const(self) -> pulumi.Input[str]:
        """
        value mapping to member of `enum`.
        """
        return pulumi.get(self, "const")

    @const.setter
    def const(self, value: pulumi.Input[str]):
        pulumi.set(self, "const", value)

    @property
    @pulumi.getter
    def title(self) -> pulumi.Input[str]:
        """
        display name for the enum value.
        """
        return pulumi.get(self, "title")

    @title.setter
    def title(self, value: pulumi.Input[str]):
        pulumi.set(self, "title", value)


@pulumi.input_type
class UserPasswordHashArgs:
    def __init__(__self__, *,
                 algorithm: pulumi.Input[str],
                 value: pulumi.Input[str],
                 salt: Optional[pulumi.Input[str]] = None,
                 salt_order: Optional[pulumi.Input[str]] = None,
                 work_factor: Optional[pulumi.Input[int]] = None):
        """
        :param pulumi.Input[str] value: For SHA-512, SHA-256, SHA-1, MD5, this is the actual base64-encoded hash of the password (and salt, if used). 
               This is the Base64 encoded value of the SHA-512/SHA-256/SHA-1/MD5 digest that was computed by either pre-fixing or post-fixing
               the salt to the password, depending on the saltOrder. If a salt was not used in the source system, then this should just be
               the Base64 encoded value of the password's SHA-512/SHA-256/SHA-1/MD5 digest. For BCRYPT, This is the actual radix64-encoded hashed password.
        :param pulumi.Input[str] salt: Only required for salted hashes. For BCRYPT, this specifies the radix64-encoded salt used to generate 
               the hash, which must be 22 characters long. For other salted hashes, this specifies the base64-encoded salt used to generate the hash.
        :param pulumi.Input[str] salt_order: Specifies whether salt was pre- or postfixed to the password before hashing. Only required for salted algorithms.
        :param pulumi.Input[int] work_factor: Governs the strength of the hash and the time required to compute it. Only required for BCRYPT algorithm. Minimum value is 1, and maximum is 20.
        """
        pulumi.set(__self__, "algorithm", algorithm)
        pulumi.set(__self__, "value", value)
        if salt is not None:
            pulumi.set(__self__, "salt", salt)
        if salt_order is not None:
            pulumi.set(__self__, "salt_order", salt_order)
        if work_factor is not None:
            pulumi.set(__self__, "work_factor", work_factor)

    @property
    @pulumi.getter
    def algorithm(self) -> pulumi.Input[str]:
        return pulumi.get(self, "algorithm")

    @algorithm.setter
    def algorithm(self, value: pulumi.Input[str]):
        pulumi.set(self, "algorithm", value)

    @property
    @pulumi.getter
    def value(self) -> pulumi.Input[str]:
        """
        For SHA-512, SHA-256, SHA-1, MD5, this is the actual base64-encoded hash of the password (and salt, if used). 
        This is the Base64 encoded value of the SHA-512/SHA-256/SHA-1/MD5 digest that was computed by either pre-fixing or post-fixing
        the salt to the password, depending on the saltOrder. If a salt was not used in the source system, then this should just be
        the Base64 encoded value of the password's SHA-512/SHA-256/SHA-1/MD5 digest. For BCRYPT, This is the actual radix64-encoded hashed password.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: pulumi.Input[str]):
        pulumi.set(self, "value", value)

    @property
    @pulumi.getter
    def salt(self) -> Optional[pulumi.Input[str]]:
        """
        Only required for salted hashes. For BCRYPT, this specifies the radix64-encoded salt used to generate 
        the hash, which must be 22 characters long. For other salted hashes, this specifies the base64-encoded salt used to generate the hash.
        """
        return pulumi.get(self, "salt")

    @salt.setter
    def salt(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "salt", value)

    @property
    @pulumi.getter(name="saltOrder")
    def salt_order(self) -> Optional[pulumi.Input[str]]:
        """
        Specifies whether salt was pre- or postfixed to the password before hashing. Only required for salted algorithms.
        """
        return pulumi.get(self, "salt_order")

    @salt_order.setter
    def salt_order(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "salt_order", value)

    @property
    @pulumi.getter(name="workFactor")
    def work_factor(self) -> Optional[pulumi.Input[int]]:
        """
        Governs the strength of the hash and the time required to compute it. Only required for BCRYPT algorithm. Minimum value is 1, and maximum is 20.
        """
        return pulumi.get(self, "work_factor")

    @work_factor.setter
    def work_factor(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "work_factor", value)


@pulumi.input_type
class GetUserSearchArgs:
    def __init__(__self__, *,
                 name: str,
                 value: str,
                 comparison: Optional[str] = None):
        """
        :param str name: Name of property to search against.
        :param str value: Value to compare with.
        :param str comparison: Comparison to use.
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "value", value)
        if comparison is not None:
            pulumi.set(__self__, "comparison", comparison)

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        Name of property to search against.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: str):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value to compare with.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)

    @property
    @pulumi.getter
    def comparison(self) -> Optional[str]:
        """
        Comparison to use.
        """
        return pulumi.get(self, "comparison")

    @comparison.setter
    def comparison(self, value: Optional[str]):
        pulumi.set(self, "comparison", value)


@pulumi.input_type
class GetUsersSearchArgs:
    def __init__(__self__, *,
                 name: str,
                 value: str,
                 comparison: Optional[str] = None):
        """
        :param str name: Name of property to search against.
        :param str value: Value to compare with.
        :param str comparison: Comparison to use.
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "value", value)
        if comparison is not None:
            pulumi.set(__self__, "comparison", comparison)

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        Name of property to search against.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: str):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter
    def value(self) -> str:
        """
        Value to compare with.
        """
        return pulumi.get(self, "value")

    @value.setter
    def value(self, value: str):
        pulumi.set(self, "value", value)

    @property
    @pulumi.getter
    def comparison(self) -> Optional[str]:
        """
        Comparison to use.
        """
        return pulumi.get(self, "comparison")

    @comparison.setter
    def comparison(self, value: Optional[str]):
        pulumi.set(self, "comparison", value)


