import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific My Device resource in Oracle Cloud Infrastructure Identity Domains service.
 *
 * Get a Device
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMyDevice = oci.identity.getDomainsMyDevice({
 *     idcsEndpoint: testDomain.url,
 *     myDeviceId: testMyDeviceOciIdentityDomainsMyDevice.id,
 *     attributeSets: [],
 *     attributes: "",
 *     authorization: myDeviceAuthorization,
 *     resourceTypeSchemaVersion: myDeviceResourceTypeSchemaVersion,
 * });
 * ```
 */
export declare function getDomainsMyDevice(args: GetDomainsMyDeviceArgs, opts?: pulumi.InvokeOptions): Promise<GetDomainsMyDeviceResult>;
/**
 * A collection of arguments for invoking getDomainsMyDevice.
 */
export interface GetDomainsMyDeviceArgs {
    /**
     * 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;
    /**
     * ID of the resource
     */
    myDeviceId: 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;
}
/**
 * A collection of values returned by getDomainsMyDevice.
 */
export interface GetDomainsMyDeviceResult {
    /**
     * Device additional attributes
     */
    readonly additionalAttributes: outputs.Identity.GetDomainsMyDeviceAdditionalAttribute[];
    /**
     * Mobile Authenticator App Version
     */
    readonly appVersion: string;
    readonly attributeSets?: string[];
    readonly attributes?: string;
    /**
     * Authentication Factors
     */
    readonly authenticationFactors: outputs.Identity.GetDomainsMyDeviceAuthenticationFactor[];
    /**
     * Authentication method used in device. For FIDO, it will contain SECURITY_KEY/WINDOWS_HELLO etc
     */
    readonly authenticationMethod: string;
    readonly authorization?: string;
    /**
     * Device base public Key
     */
    readonly basePublicKey: string;
    /**
     * Oracle Cloud Infrastructure Compartment Id (ocid) in which the resource lives.
     */
    readonly compartmentOcid: string;
    /**
     * Country code of user's Phone Number
     */
    readonly countryCode: 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;
    /**
     * Device hardware name/model
     */
    readonly deviceType: string;
    /**
     * Unique id sent from device
     */
    readonly deviceUuid: string;
    /**
     * Device friendly display name
     */
    readonly displayName: string;
    /**
     * Oracle Cloud Infrastructure Domain Id (ocid) in which the resource lives.
     */
    readonly domainOcid: string;
    /**
     * Attribute added for replication log, it is not used by IDCS, just added as place holder
     */
    readonly expiresOn: number;
    /**
     * An identifier for the Resource as defined by the Service Consumer. The externalId may simplify identification of the Resource between Service Consumer and Service Provider by allowing the Consumer to refer to the Resource with its own identifier, obviating the need to store a local mapping between the local identifier of the Resource and the identifier used by the Service Provider. Each Resource MAY include a non-empty externalId value. The value of the externalId attribute is always issued be the Service Consumer and can never be specified by the Service Provider. The Service Provider MUST always interpret the externalId as scoped to the Service Consumer's tenant.
     */
    readonly externalId: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The User or App who created the Resource
     */
    readonly idcsCreatedBies: outputs.Identity.GetDomainsMyDeviceIdcsCreatedBy[];
    readonly idcsEndpoint: string;
    /**
     * The User or App who modified the Resource
     */
    readonly idcsLastModifiedBies: outputs.Identity.GetDomainsMyDeviceIdcsLastModifiedBy[];
    /**
     * 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[];
    /**
     * Flag that indicates whether the device is enrolled for account recovery
     */
    readonly isAccRecEnabled: boolean;
    /**
     * Device Compliance Status
     */
    readonly isCompliant: boolean;
    /**
     * Last Sync time for device
     */
    readonly lastSyncTime: string;
    /**
     * The most recent timestamp when the device was successfully validated using one time passcode
     */
    readonly lastValidatedTime: string;
    /**
     * A complex attribute that contains resource metadata. All sub-attributes are OPTIONAL.
     */
    readonly metas: outputs.Identity.GetDomainsMyDeviceMeta[];
    readonly myDeviceId: string;
    /**
     * Device Non Compliances
     */
    readonly nonCompliances: outputs.Identity.GetDomainsMyDeviceNonCompliance[];
    /**
     * The OCID of the user
     */
    readonly ocid: string;
    /**
     * Mobile Authenticator App Package Id
     */
    readonly packageId: string;
    /**
     * User's Phone Number
     */
    readonly phoneNumber: string;
    /**
     * Device Platform
     */
    readonly platform: string;
    /**
     * Push Notification target. Reference to Device notification related resource
     */
    readonly pushNotificationTargets: outputs.Identity.GetDomainsMyDevicePushNotificationTarget[];
    /**
     * Additional comments/reasons for the change in device status
     */
    readonly reason: string;
    readonly resourceTypeSchemaVersion?: string;
    /**
     * 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[];
    /**
     * Attribute added for replication log, it is not used by IDCS, it is actual encrypted TOTP seed for the user
     */
    readonly seed: string;
    /**
     * Attribute added for replication log, it is not used by IDCS, the DEK that encrypts the specific seed for that user
     */
    readonly seedDekId: string;
    /**
     * Device Status
     */
    readonly status: string;
    /**
     * A list of tags on this resource.
     */
    readonly tags: outputs.Identity.GetDomainsMyDeviceTag[];
    /**
     * Oracle Cloud Infrastructure Tenant Id (ocid) in which the resource lives.
     */
    readonly tenancyOcid: string;
    /**
     * User's third-party authentication factor details
     */
    readonly thirdPartyFactors: outputs.Identity.GetDomainsMyDeviceThirdPartyFactor[];
    /**
     * Device member
     */
    readonly users: outputs.Identity.GetDomainsMyDeviceUser[];
}
/**
 * This data source provides details about a specific My Device resource in Oracle Cloud Infrastructure Identity Domains service.
 *
 * Get a Device
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMyDevice = oci.identity.getDomainsMyDevice({
 *     idcsEndpoint: testDomain.url,
 *     myDeviceId: testMyDeviceOciIdentityDomainsMyDevice.id,
 *     attributeSets: [],
 *     attributes: "",
 *     authorization: myDeviceAuthorization,
 *     resourceTypeSchemaVersion: myDeviceResourceTypeSchemaVersion,
 * });
 * ```
 */
export declare function getDomainsMyDeviceOutput(args: GetDomainsMyDeviceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDomainsMyDeviceResult>;
/**
 * A collection of arguments for invoking getDomainsMyDevice.
 */
export interface GetDomainsMyDeviceOutputArgs {
    /**
     * 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>;
    /**
     * ID of the resource
     */
    myDeviceId: 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>;
}
//# sourceMappingURL=getDomainsMyDevice.d.ts.map