import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific User resource in Oracle Cloud Infrastructure Identity Domains service.
 *
 * Get a user.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testUser = oci.identity.getDomainsUser({
 *     idcsEndpoint: testDomain.url,
 *     userId: testUserOciIdentityUser.id,
 *     attributeSets: [],
 *     attributes: "",
 *     authorization: userAuthorization,
 *     resourceTypeSchemaVersion: userResourceTypeSchemaVersion,
 * });
 * ```
 */
export declare function getDomainsUser(args: GetDomainsUserArgs, opts?: pulumi.InvokeOptions): Promise<GetDomainsUserResult>;
/**
 * A collection of arguments for invoking getDomainsUser.
 */
export interface GetDomainsUserArgs {
    /**
     * A multi-valued list of strings indicating the return type of attribute definition. The specified set of attributes can be fetched by the return type of the attribute. One or more values can be given together to fetch more than one group of attributes. If 'attributes' query parameter is also available, union of the two is fetched. Valid values - all, always, never, request, default. Values are case-insensitive.
     */
    attributeSets?: string[];
    /**
     * A comma-delimited string that specifies the names of resource attributes that should be returned in the response. By default, a response that contains resource attributes contains only attributes that are defined in the schema for that resource type as returned=always or returned=default. An attribute that is defined as returned=request is returned in a response only if the request specifies its name in the value of this query parameter. If a request specifies this query parameter, the response contains the attributes that this query parameter specifies, as well as any attribute that is defined as returned=always.
     */
    attributes?: string;
    /**
     * The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.
     */
    authorization?: string;
    /**
     * The basic endpoint for the identity domain
     */
    idcsEndpoint: string;
    /**
     * An endpoint-specific schema version number to use in the Request. Allowed version values are Earliest Version or Latest Version as specified in each REST API endpoint description, or any sequential number inbetween. All schema attributes/body parameters are a part of version 1. After version 1, any attributes added or deprecated will be tagged with the version that they were added to or deprecated in. If no version is provided, the latest schema version is returned.
     */
    resourceTypeSchemaVersion?: string;
    /**
     * ID of the resource
     */
    userId: string;
}
/**
 * A collection of values returned by getDomainsUser.
 */
export interface GetDomainsUserResult {
    /**
     * Status of the account
     */
    readonly active: boolean;
    /**
     * A physical mailing address for this User, as described in (address Element). Canonical Type Values of work, home, and other. The value attribute is a complex type with the following sub-attributes.
     */
    readonly addresses: outputs.Identity.GetDomainsUserAddress[];
    readonly attributeSets?: string[];
    readonly attributes?: string;
    readonly authorization?: string;
    /**
     * Oracle Cloud Infrastructure Compartment Id (ocid) in which the resource lives.
     */
    readonly compartmentOcid: string;
    /**
     * A boolean flag indicating this resource in the process of being deleted. Usually set to true when synchronous deletion of the resource would take too long.
     */
    readonly deleteInProgress: boolean;
    /**
     * Description of the user
     */
    readonly description: string;
    /**
     * The displayName of the User's manager. OPTIONAL and READ-ONLY.
     */
    readonly displayName: string;
    /**
     * Oracle Cloud Infrastructure Domain Id (ocid) in which the resource lives.
     */
    readonly domainOcid: string;
    /**
     * A complex attribute representing emails
     */
    readonly emails: outputs.Identity.GetDomainsUserEmail[];
    /**
     * A list of entitlements for the User that represent a thing the User has.
     */
    readonly entitlements: outputs.Identity.GetDomainsUserEntitlement[];
    /**
     * An identifier for the Resource as defined by the Service Consumer. READ-ONLY.
     */
    readonly externalId: string;
    readonly forceDelete: boolean;
    /**
     * A list of groups that the user belongs to, either thorough direct membership, nested groups, or dynamically calculated
     */
    readonly groups: outputs.Identity.GetDomainsUserGroup[];
    /**
     * Unique identifier for the SCIM Resource as defined by the Service Provider. Each representation of the Resource MUST include a non-empty id value. This identifier MUST be unique across the Service Provider's entire set of Resources. It MUST be a stable, non-reassignable identifier that does not change when the same Resource is returned in subsequent requests. The value of the id attribute is always issued by the Service Provider and MUST never be specified by the Service Consumer. bulkId: is a reserved keyword and MUST NOT be used in the unique identifier.
     */
    readonly id: string;
    /**
     * The User or App who created the Resource
     */
    readonly idcsCreatedBies: outputs.Identity.GetDomainsUserIdcsCreatedBy[];
    readonly idcsEndpoint: string;
    /**
     * The User or App who modified the Resource
     */
    readonly idcsLastModifiedBies: outputs.Identity.GetDomainsUserIdcsLastModifiedBy[];
    /**
     * The release number when the resource was upgraded.
     */
    readonly idcsLastUpgradedInRelease: string;
    /**
     * Each value of this attribute specifies an operation that only an internal client may perform on this particular resource.
     */
    readonly idcsPreventedOperations: string[];
    /**
     * User's instant messaging addresses
     */
    readonly ims: outputs.Identity.GetDomainsUserIm[];
    /**
     * Used to indicate the User's default location for purposes of localizing items such as currency, date and time format, numerical representations, and so on.
     */
    readonly locale: string;
    /**
     * A complex attribute that contains resource metadata. All sub-attributes are OPTIONAL.
     */
    readonly metas: outputs.Identity.GetDomainsUserMeta[];
    /**
     * Name of the account assigned to the User.
     */
    readonly names: outputs.Identity.GetDomainsUserName[];
    /**
     * Nick name
     */
    readonly nickName: string;
    /**
     * The OCID of the user's support account.
     */
    readonly ocid: string;
    /**
     * Password attribute. Max length for password is controlled via Password Policy.
     */
    readonly password: string;
    /**
     * Phone numbers
     */
    readonly phoneNumbers: outputs.Identity.GetDomainsUserPhoneNumber[];
    /**
     * URLs of photos for the User
     */
    readonly photos: outputs.Identity.GetDomainsUserPhoto[];
    /**
     * User's preferred written or spoken language used for localized user interfaces
     */
    readonly preferredLanguage: string;
    /**
     * A fully-qualified URL to a page representing the User's online profile
     */
    readonly profileUrl: string;
    readonly resourceTypeSchemaVersion?: string;
    /**
     * A list of roles for the User that collectively represent who the User is; e.g., 'Student', 'Faculty'.
     */
    readonly roles: outputs.Identity.GetDomainsUserRole[];
    /**
     * REQUIRED. The schemas attribute is an array of Strings which allows introspection of the supported schema version for a SCIM representation as well any schema extensions supported by that representation. Each String value must be a unique URI. This specification defines URIs for User, Group, and a standard \"enterprise\" extension. All representations of SCIM schema MUST include a non-zero value array with value(s) of the URIs supported by that representation. Duplicate values MUST NOT be included. Value order is not specified and MUST not impact behavior.
     */
    readonly schemas: string[];
    /**
     * A list of tags on this resource.
     */
    readonly tags: outputs.Identity.GetDomainsUserTag[];
    /**
     * Oracle Cloud Infrastructure Tenant Id (ocid) in which the resource lives.
     */
    readonly tenancyOcid: string;
    /**
     * User's timezone
     */
    readonly timezone: string;
    /**
     * Title
     */
    readonly title: string;
    /**
     * Enterprise User
     */
    readonly urnietfparamsscimschemasextensionenterprise20users: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasextensionenterprise20user[];
    /**
     * Oracle Cloud Infrastructure Tags.
     */
    readonly urnietfparamsscimschemasoracleidcsextensionOciTags: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionOciTag[];
    /**
     * This extension defines attributes to manage user's risk score.
     */
    readonly urnietfparamsscimschemasoracleidcsextensionadaptiveUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionadaptiveUser[];
    /**
     * User's Capabilities
     */
    readonly urnietfparamsscimschemasoracleidcsextensioncapabilitiesUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensioncapabilitiesUser[];
    /**
     * The database credentials user extension.
     */
    readonly urnietfparamsscimschemasoracleidcsextensiondbCredentialsUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensiondbCredentialsUser[];
    /**
     * DB User extension
     */
    readonly urnietfparamsscimschemasoracleidcsextensiondbUserUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensiondbUserUser[];
    /**
     * Kerberos User extension
     */
    readonly urnietfparamsscimschemasoracleidcsextensionkerberosUserUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionkerberosUserUser[];
    /**
     * This extension defines attributes used to manage Multi-Factor Authentication within a service provider. The extension is typically applied to a User resource, but MAY be applied to other resources that use MFA.
     */
    readonly urnietfparamsscimschemasoracleidcsextensionmfaUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionmfaUser[];
    /**
     * This extension defines attributes used to manage account passwords within a Service Provider. The extension is typically applied to a User resource, but MAY be applied to other resources that use passwords.
     */
    readonly urnietfparamsscimschemasoracleidcsextensionpasswordStateUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionpasswordStateUser[];
    /**
     * This extension defines attributes used to manage Passwordless-Factor Authentication within a service provider. The extension is typically applied to a User resource, but MAY be applied to other resources that use MFA.
     */
    readonly urnietfparamsscimschemasoracleidcsextensionpasswordlessUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionpasswordlessUser[];
    /**
     * POSIX User extension
     */
    readonly urnietfparamsscimschemasoracleidcsextensionposixUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionposixUser[];
    /**
     * This extension defines the attributes used to store the security questions of a user.
     */
    readonly urnietfparamsscimschemasoracleidcsextensionsecurityQuestionsUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionsecurityQuestionsUser[];
    /**
     * Controls whether a user can update themselves or not via User related APIs
     */
    readonly urnietfparamsscimschemasoracleidcsextensionselfChangeUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionselfChangeUser[];
    /**
     * This extension defines attributes used to manage self registration profile linked to the user.
     */
    readonly urnietfparamsscimschemasoracleidcsextensionselfRegistrationUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionselfRegistrationUser[];
    /**
     * SFF Auth Keys User extension
     */
    readonly urnietfparamsscimschemasoracleidcsextensionsffUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionsffUser[];
    /**
     * Social User extension
     */
    readonly urnietfparamsscimschemasoracleidcsextensionsocialAccountUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionsocialAccountUser[];
    /**
     * Terms Of Use extension
     */
    readonly urnietfparamsscimschemasoracleidcsextensiontermsOfUseUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensiontermsOfUseUser[];
    /**
     * User's credentials
     */
    readonly urnietfparamsscimschemasoracleidcsextensionuserCredentialsUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionuserCredentialsUser[];
    /**
     * This extension defines the attributes used to manage account passwords within a service provider. The extension is typically applied to a User resource, but MAY be applied to other resources that use passwords.
     */
    readonly urnietfparamsscimschemasoracleidcsextensionuserStateUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionuserStateUser[];
    /**
     * Oracle Identity Cloud Service User
     */
    readonly urnietfparamsscimschemasoracleidcsextensionuserUsers: outputs.Identity.GetDomainsUserUrnietfparamsscimschemasoracleidcsextensionuserUser[];
    /**
     * User Support User Id
     */
    readonly userId: string;
    /**
     * User name
     */
    readonly userName: string;
    /**
     * Used to identify the organization-to-user relationship
     */
    readonly userType: string;
    /**
     * A list of certificates issued to the User.
     */
    readonly x509certificates: outputs.Identity.GetDomainsUserX509certificate[];
}
/**
 * This data source provides details about a specific User resource in Oracle Cloud Infrastructure Identity Domains service.
 *
 * Get a user.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testUser = oci.identity.getDomainsUser({
 *     idcsEndpoint: testDomain.url,
 *     userId: testUserOciIdentityUser.id,
 *     attributeSets: [],
 *     attributes: "",
 *     authorization: userAuthorization,
 *     resourceTypeSchemaVersion: userResourceTypeSchemaVersion,
 * });
 * ```
 */
export declare function getDomainsUserOutput(args: GetDomainsUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDomainsUserResult>;
/**
 * A collection of arguments for invoking getDomainsUser.
 */
export interface GetDomainsUserOutputArgs {
    /**
     * A multi-valued list of strings indicating the return type of attribute definition. The specified set of attributes can be fetched by the return type of the attribute. One or more values can be given together to fetch more than one group of attributes. If 'attributes' query parameter is also available, union of the two is fetched. Valid values - all, always, never, request, default. Values are case-insensitive.
     */
    attributeSets?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A comma-delimited string that specifies the names of resource attributes that should be returned in the response. By default, a response that contains resource attributes contains only attributes that are defined in the schema for that resource type as returned=always or returned=default. An attribute that is defined as returned=request is returned in a response only if the request specifies its name in the value of this query parameter. If a request specifies this query parameter, the response contains the attributes that this query parameter specifies, as well as any attribute that is defined as returned=always.
     */
    attributes?: pulumi.Input<string | undefined>;
    /**
     * The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.
     */
    authorization?: pulumi.Input<string | undefined>;
    /**
     * The basic endpoint for the identity domain
     */
    idcsEndpoint: pulumi.Input<string>;
    /**
     * An endpoint-specific schema version number to use in the Request. Allowed version values are Earliest Version or Latest Version as specified in each REST API endpoint description, or any sequential number inbetween. All schema attributes/body parameters are a part of version 1. After version 1, any attributes added or deprecated will be tagged with the version that they were added to or deprecated in. If no version is provided, the latest schema version is returned.
     */
    resourceTypeSchemaVersion?: pulumi.Input<string | undefined>;
    /**
     * ID of the resource
     */
    userId: pulumi.Input<string>;
}
//# sourceMappingURL=getDomainsUser.d.ts.map