import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Authentication Factor Setting resource in Oracle Cloud Infrastructure Identity Domains service.
 *
 * Get Authentication Factor Settings
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAuthenticationFactorSetting = oci.identity.getDomainsAuthenticationFactorSetting({
 *     authenticationFactorSettingId: testAuthenticationFactorSettingOciIdentityDomainsAuthenticationFactorSetting.id,
 *     idcsEndpoint: testDomain.url,
 *     attributeSets: [],
 *     attributes: "",
 *     authorization: authenticationFactorSettingAuthorization,
 *     resourceTypeSchemaVersion: authenticationFactorSettingResourceTypeSchemaVersion,
 * });
 * ```
 */
export declare function getDomainsAuthenticationFactorSetting(args: GetDomainsAuthenticationFactorSettingArgs, opts?: pulumi.InvokeOptions): Promise<GetDomainsAuthenticationFactorSettingResult>;
/**
 * A collection of arguments for invoking getDomainsAuthenticationFactorSetting.
 */
export interface GetDomainsAuthenticationFactorSettingArgs {
    /**
     * 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;
    /**
     * ID of the resource
     */
    authenticationFactorSettingId?: 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;
}
/**
 * A collection of values returned by getDomainsAuthenticationFactorSetting.
 */
export interface GetDomainsAuthenticationFactorSettingResult {
    readonly attributeSets?: string[];
    readonly attributes?: string;
    readonly authenticationFactorSettingId?: string;
    readonly authorization?: string;
    /**
     * If true, indicates that email will not be enrolled as a MFA factor automatically if it a account recovery factor
     */
    readonly autoEnrollEmailFactorDisabled: boolean;
    /**
     * If true, indicates that Bypass Code is enabled for authentication
     */
    readonly bypassCodeEnabled: boolean;
    /**
     * Settings related to the bypass code, such as bypass code length, bypass code expiry, max active bypass codes, and so on
     */
    readonly bypassCodeSettings: outputs.Identity.GetDomainsAuthenticationFactorSettingBypassCodeSetting[];
    /**
     * Settings related to compliance, Personal Identification Number (PIN) policy, and so on
     */
    readonly clientAppSettings: outputs.Identity.GetDomainsAuthenticationFactorSettingClientAppSetting[];
    /**
     * Oracle Cloud Infrastructure Compartment Id (ocid) in which the resource lives.
     */
    readonly compartmentOcid: string;
    /**
     * Compliance Policy that defines actions to be taken when a condition is violated
     */
    readonly compliancePolicies: outputs.Identity.GetDomainsAuthenticationFactorSettingCompliancePolicy[];
    /**
     * 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;
    /**
     * Oracle Cloud Infrastructure Domain Id (ocid) in which the resource lives.
     */
    readonly domainOcid: string;
    /**
     * If true, indicates that the EMAIL channel is enabled for authentication
     */
    readonly emailEnabled: boolean;
    /**
     * Settings related to Email Factor, such as enabled email magic link factor, custom url for Email Link
     */
    readonly emailSettings: outputs.Identity.GetDomainsAuthenticationFactorSettingEmailSetting[];
    /**
     * Settings that describe the set of restrictions that the system should apply to devices and trusted endpoints of a user
     */
    readonly endpointRestrictions: outputs.Identity.GetDomainsAuthenticationFactorSettingEndpointRestriction[];
    /**
     * If true, indicates that the Fido Authenticator channels are enabled for authentication
     */
    readonly fidoAuthenticatorEnabled: boolean;
    /**
     * If true, indicates that 'Show backup factor(s)' button will be hidden during authentication
     */
    readonly hideBackupFactorEnabled: boolean;
    /**
     * 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.GetDomainsAuthenticationFactorSettingIdcsCreatedBy[];
    readonly idcsEndpoint: string;
    /**
     * The User or App who modified the Resource
     */
    readonly idcsLastModifiedBies: outputs.Identity.GetDomainsAuthenticationFactorSettingIdcsLastModifiedBy[];
    /**
     * 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[];
    /**
     * Settings related to the use of a user's profile details from the identity store
     */
    readonly identityStoreSettings: outputs.Identity.GetDomainsAuthenticationFactorSettingIdentityStoreSetting[];
    /**
     * A complex attribute that contains resource metadata. All sub-attributes are OPTIONAL.
     */
    readonly metas: outputs.Identity.GetDomainsAuthenticationFactorSettingMeta[];
    /**
     * Specifies the category of people for whom Multi-Factor Authentication is enabled. This is a readOnly attribute which reflects the value of mfaEnabledCategory attribute in SsoSettings
     */
    readonly mfaEnabledCategory: string;
    /**
     * Specifies if Multi-Factor Authentication enrollment is mandatory or optional for a user
     */
    readonly mfaEnrollmentType: string;
    /**
     * Settings related to the Mobile App Notification channel, such as pull
     */
    readonly notificationSettings: outputs.Identity.GetDomainsAuthenticationFactorSettingNotificationSetting[];
    /**
     * Unique Oracle Cloud Infrastructure identifier for the SCIM Resource.
     */
    readonly ocid: string;
    /**
     * If true, indicates that the phone (PHONE_CALL) channel is enabled for authentication
     */
    readonly phoneCallEnabled: boolean;
    /**
     * If true, indicates that the Mobile App Push Notification channel is enabled for authentication
     */
    readonly pushEnabled: boolean;
    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[];
    /**
     * If true, indicates that Security Questions are enabled for authentication
     */
    readonly securityQuestionsEnabled: boolean;
    /**
     * If true, indicates that the Short Message Service (SMS) channel is enabled for authentication
     */
    readonly smsEnabled: boolean;
    /**
     * A list of tags on this resource.
     */
    readonly tags: outputs.Identity.GetDomainsAuthenticationFactorSettingTag[];
    /**
     * Oracle Cloud Infrastructure Tenant Id (ocid) in which the resource lives.
     */
    readonly tenancyOcid: string;
    /**
     * Settings related to third-party factor
     */
    readonly thirdPartyFactors: outputs.Identity.GetDomainsAuthenticationFactorSettingThirdPartyFactor[];
    /**
     * If true, indicates that the Mobile App One Time Passcode channel is enabled for authentication
     */
    readonly totpEnabled: boolean;
    /**
     * Settings related to Time-Based One-Time Passcodes (TOTP), such as hashing algo, totp time step, passcode length, and so on
     */
    readonly totpSettings: outputs.Identity.GetDomainsAuthenticationFactorSettingTotpSetting[];
    /**
     * This extension defines attributes used to manage Multi-Factor Authentication settings of fido authentication
     */
    readonly urnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSettings: outputs.Identity.GetDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionfidoAuthenticationFactorSetting[];
    /**
     * This extension defines attributes used to manage Multi-Factor Authentication settings of third party provider
     */
    readonly urnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSettings: outputs.Identity.GetDomainsAuthenticationFactorSettingUrnietfparamsscimschemasoracleidcsextensionthirdPartyAuthenticationFactorSetting[];
    /**
     * Factors for which enrollment should be blocked for End User
     */
    readonly userEnrollmentDisabledFactors: string[];
    /**
     * If true, indicates that the Yubico OTP is enabled for authentication
     */
    readonly yubicoOtpEnabled: boolean;
}
/**
 * This data source provides details about a specific Authentication Factor Setting resource in Oracle Cloud Infrastructure Identity Domains service.
 *
 * Get Authentication Factor Settings
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAuthenticationFactorSetting = oci.identity.getDomainsAuthenticationFactorSetting({
 *     authenticationFactorSettingId: testAuthenticationFactorSettingOciIdentityDomainsAuthenticationFactorSetting.id,
 *     idcsEndpoint: testDomain.url,
 *     attributeSets: [],
 *     attributes: "",
 *     authorization: authenticationFactorSettingAuthorization,
 *     resourceTypeSchemaVersion: authenticationFactorSettingResourceTypeSchemaVersion,
 * });
 * ```
 */
export declare function getDomainsAuthenticationFactorSettingOutput(args: GetDomainsAuthenticationFactorSettingOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDomainsAuthenticationFactorSettingResult>;
/**
 * A collection of arguments for invoking getDomainsAuthenticationFactorSetting.
 */
export interface GetDomainsAuthenticationFactorSettingOutputArgs {
    /**
     * 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>;
    /**
     * ID of the resource
     */
    authenticationFactorSettingId?: 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>;
}
//# sourceMappingURL=getDomainsAuthenticationFactorSetting.d.ts.map