import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This data source provides the list of Identity Providers in Oracle Cloud Infrastructure Identity service.
 *
 * **Deprecated.** For more information, see [Deprecated IAM Service APIs](https://docs.cloud.oracle.com/iaas/Content/Identity/Reference/deprecatediamapis.htm).
 *
 * Lists all the identity providers in your tenancy. You must specify the identity provider type (e.g., `SAML2` for
 * identity providers using the SAML2.0 protocol). You must specify your tenancy's OCID as the value for the
 * compartment ID (remember that the tenancy is simply the root compartment).
 * See [Where to Get the Tenancy's OCID and User's OCID](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm#five).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testIdentityProviders = oci.identity.getIdentityProviders({
 *     compartmentId: tenancyOcid,
 *     protocol: identityProviderProtocol,
 *     name: identityProviderName,
 *     state: identityProviderState,
 * });
 * ```
 */
export declare function getIdentityProviders(args: GetIdentityProvidersArgs, opts?: pulumi.InvokeOptions): Promise<GetIdentityProvidersResult>;
/**
 * A collection of arguments for invoking getIdentityProviders.
 */
export interface GetIdentityProvidersArgs {
    /**
     * The OCID of the compartment (remember that the tenancy is simply the root compartment).
     */
    compartmentId: string;
    filters?: inputs.Identity.GetIdentityProvidersFilter[];
    /**
     * A filter to only return resources that match the given name exactly.
     */
    name?: string;
    /**
     * The protocol used for federation.
     */
    protocol: string;
    /**
     * A filter to only return resources that match the given lifecycle state.  The state value is case-insensitive.
     */
    state?: string;
}
/**
 * A collection of values returned by getIdentityProviders.
 */
export interface GetIdentityProvidersResult {
    /**
     * The OCID of the tenancy containing the `IdentityProvider`.
     */
    readonly compartmentId: string;
    readonly filters?: outputs.Identity.GetIdentityProvidersFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The list of identity_providers.
     */
    readonly identityProviders: outputs.Identity.GetIdentityProvidersIdentityProvider[];
    /**
     * The name you assign to the `IdentityProvider` during creation. The name must be unique across all `IdentityProvider` objects in the tenancy and cannot be changed. This is the name federated users see when choosing which identity provider to use when signing in to the Oracle Cloud Infrastructure Console.
     */
    readonly name?: string;
    /**
     * The protocol used for federation. Allowed value: `SAML2`.  Example: `SAML2`
     */
    readonly protocol: string;
    /**
     * The current state.
     */
    readonly state?: string;
}
/**
 * This data source provides the list of Identity Providers in Oracle Cloud Infrastructure Identity service.
 *
 * **Deprecated.** For more information, see [Deprecated IAM Service APIs](https://docs.cloud.oracle.com/iaas/Content/Identity/Reference/deprecatediamapis.htm).
 *
 * Lists all the identity providers in your tenancy. You must specify the identity provider type (e.g., `SAML2` for
 * identity providers using the SAML2.0 protocol). You must specify your tenancy's OCID as the value for the
 * compartment ID (remember that the tenancy is simply the root compartment).
 * See [Where to Get the Tenancy's OCID and User's OCID](https://docs.cloud.oracle.com/iaas/Content/API/Concepts/apisigningkey.htm#five).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testIdentityProviders = oci.identity.getIdentityProviders({
 *     compartmentId: tenancyOcid,
 *     protocol: identityProviderProtocol,
 *     name: identityProviderName,
 *     state: identityProviderState,
 * });
 * ```
 */
export declare function getIdentityProvidersOutput(args: GetIdentityProvidersOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetIdentityProvidersResult>;
/**
 * A collection of arguments for invoking getIdentityProviders.
 */
export interface GetIdentityProvidersOutputArgs {
    /**
     * The OCID of the compartment (remember that the tenancy is simply the root compartment).
     */
    compartmentId: pulumi.Input<string>;
    filters?: pulumi.Input<pulumi.Input<inputs.Identity.GetIdentityProvidersFilterArgs>[] | undefined>;
    /**
     * A filter to only return resources that match the given name exactly.
     */
    name?: pulumi.Input<string | undefined>;
    /**
     * The protocol used for federation.
     */
    protocol: pulumi.Input<string>;
    /**
     * A filter to only return resources that match the given lifecycle state.  The state value is case-insensitive.
     */
    state?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getIdentityProviders.d.ts.map