import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Identity Propagation Trust resource in Oracle Cloud Infrastructure Identity Domains service.
 *
 * Get an existing Identity Propagation Trust configuration.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testIdentityPropagationTrust = oci.identity.getDomainsIdentityPropagationTrust({
 *     idcsEndpoint: testDomain.url,
 *     identityPropagationTrustId: testIdentityPropagationTrustOciIdentityDomainsIdentityPropagationTrust.id,
 *     attributeSets: ["all"],
 *     attributes: "",
 *     authorization: identityPropagationTrustAuthorization,
 *     resourceTypeSchemaVersion: identityPropagationTrustResourceTypeSchemaVersion,
 * });
 * ```
 */
export declare function getDomainsIdentityPropagationTrust(args: GetDomainsIdentityPropagationTrustArgs, opts?: pulumi.InvokeOptions): Promise<GetDomainsIdentityPropagationTrustResult>;
/**
 * A collection of arguments for invoking getDomainsIdentityPropagationTrust.
 */
export interface GetDomainsIdentityPropagationTrustArgs {
    /**
     * 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
     */
    identityPropagationTrustId: 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 getDomainsIdentityPropagationTrust.
 */
export interface GetDomainsIdentityPropagationTrustResult {
    /**
     * The Identity cloud provider service identifier, for example, the Azure Tenancy ID, AWS Account ID, or GCP Project ID.
     */
    readonly accountId: string;
    /**
     * If true, specifies that this Identity Propagation Trust is in an enabled state. The default value is false.
     */
    readonly active: boolean;
    /**
     * Allow customers to define whether the resulting token should contain the authenticated user as the subject or whether the token should impersonate another Application Principal in IAM.
     */
    readonly allowImpersonation: boolean;
    readonly attributeSets?: string[];
    readonly attributes?: string;
    readonly authorization?: string;
    /**
     * The claim name that identifies to whom the JWT/SAML token is issued. If AWS, then \"aud\" or \"client_id\". If Azure, then \"appid\". If GCP, then \"aud\".
     */
    readonly clientClaimName: string;
    /**
     * The value that corresponds to the client claim name used to identify to whom the token is issued.
     */
    readonly clientClaimValues: string[];
    /**
     * The clock skew (in secs) that's allowed for the token issue and expiry time.
     */
    readonly clockSkewSeconds: number;
    /**
     * 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;
    /**
     * The description of the Identity Propagation Trust.
     */
    readonly description: string;
    /**
     * Oracle Cloud Infrastructure Domain Id (ocid) in which the resource lives.
     */
    readonly domainOcid: string;
    /**
     * 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.GetDomainsIdentityPropagationTrustIdcsCreatedBy[];
    readonly idcsEndpoint: string;
    /**
     * The User or App who modified the Resource
     */
    readonly idcsLastModifiedBies: outputs.Identity.GetDomainsIdentityPropagationTrustIdcsLastModifiedBy[];
    /**
     * 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[];
    readonly identityPropagationTrustId: string;
    /**
     * The Impersonating Principal.
     */
    readonly impersonationServiceUsers: outputs.Identity.GetDomainsIdentityPropagationTrustImpersonationServiceUser[];
    /**
     * The issuer claim of the Identity provider.
     */
    readonly issuer: string;
    /**
     * The keytab stored in the tenancy's Vault. This is required if the identity propagation type is 'SPNEGO'.
     */
    readonly keytabs: outputs.Identity.GetDomainsIdentityPropagationTrustKeytab[];
    /**
     * A complex attribute that contains resource metadata. All sub-attributes are OPTIONAL.
     */
    readonly metas: outputs.Identity.GetDomainsIdentityPropagationTrustMeta[];
    /**
     * The name of the the Identity Propagation Trust.
     */
    readonly name: string;
    /**
     * The value of all the authorized OAuth Clients.
     */
    readonly oauthClients: string[];
    /**
     * Unique Oracle Cloud Infrastructure identifier for the SCIM Resource.
     */
    readonly ocid: string;
    /**
     * Store the public key if public key cert.
     */
    readonly publicCertificate: string;
    /**
     * The cloud provider's public key API of SAML and OIDC providers for signature validation.
     */
    readonly publicKeyEndpoint: 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[];
    /**
     * Used for locating the subject claim from the incoming token.
     */
    readonly subjectClaimName: string;
    /**
     * Subject Mapping Attribute to which the value from subject claim name value would be used for identity lookup.
     */
    readonly subjectMappingAttribute: string;
    /**
     * The type of the resource against which lookup will be made in the identity domain in IAM for the incoming subject claim value.
     */
    readonly subjectType: string;
    /**
     * A list of tags on this resource.
     */
    readonly tags: outputs.Identity.GetDomainsIdentityPropagationTrustTag[];
    /**
     * Oracle Cloud Infrastructure Tenant Id (ocid) in which the resource lives.
     */
    readonly tenancyOcid: string;
    /**
     * The type of the inbound token from the Identity cloud provider.
     */
    readonly type: string;
}
/**
 * This data source provides details about a specific Identity Propagation Trust resource in Oracle Cloud Infrastructure Identity Domains service.
 *
 * Get an existing Identity Propagation Trust configuration.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testIdentityPropagationTrust = oci.identity.getDomainsIdentityPropagationTrust({
 *     idcsEndpoint: testDomain.url,
 *     identityPropagationTrustId: testIdentityPropagationTrustOciIdentityDomainsIdentityPropagationTrust.id,
 *     attributeSets: ["all"],
 *     attributes: "",
 *     authorization: identityPropagationTrustAuthorization,
 *     resourceTypeSchemaVersion: identityPropagationTrustResourceTypeSchemaVersion,
 * });
 * ```
 */
export declare function getDomainsIdentityPropagationTrustOutput(args: GetDomainsIdentityPropagationTrustOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDomainsIdentityPropagationTrustResult>;
/**
 * A collection of arguments for invoking getDomainsIdentityPropagationTrust.
 */
export interface GetDomainsIdentityPropagationTrustOutputArgs {
    /**
     * 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
     */
    identityPropagationTrustId: 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=getDomainsIdentityPropagationTrust.d.ts.map