import * as pulumi from "@pulumi/pulumi";
/**
 * This data source provides details about a specific Delegation Control resource in Oracle Cloud Infrastructure Delegate Access Control service.
 *
 * Gets the Delegation Control associated with the specified Delegation Control ID.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testDelegationControl = oci.delegateaccesscontrol.getDelegationControl({
 *     delegationControlId: testDelegationControlOciDelegateAccessControlDelegationControl.id,
 * });
 * ```
 */
export declare function getDelegationControl(args: GetDelegationControlArgs, opts?: pulumi.InvokeOptions): Promise<GetDelegationControlResult>;
/**
 * A collection of arguments for invoking getDelegationControl.
 */
export interface GetDelegationControlArgs {
    /**
     * unique Delegation Control identifier
     */
    delegationControlId: string;
}
/**
 * A collection of values returned by getDelegationControl.
 */
export interface GetDelegationControlResult {
    /**
     * The OCID of the compartment that contains the Delegation Control.
     */
    readonly compartmentId: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    readonly delegationControlId: string;
    /**
     * List of Delegation Subscription OCID that are allowed for this Delegation Control. The allowed subscriptions will determine the available Service Provider Actions. Only support operators for the allowed subscriptions are allowed to create Delegated Resource Access Request.
     */
    readonly delegationSubscriptionIds: string[];
    /**
     * Description of the Delegation Control.
     */
    readonly description: string;
    /**
     * Name of the Delegation Control. The name does not need to be unique.
     */
    readonly displayName: string;
    /**
     * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * The OCID of the Delegation Control.
     */
    readonly id: string;
    /**
     * Set to true to allow all Delegated Resource Access Request to be approved automatically during maintenance.
     */
    readonly isAutoApproveDuringMaintenance: boolean;
    /**
     * Description of the current lifecycle state in more detail.
     */
    readonly lifecycleStateDetails: string;
    /**
     * The format of the Oracle Cloud Infrastructure Notification messages for this Delegation Control.
     */
    readonly notificationMessageFormat: string;
    /**
     * The OCID of the Oracle Cloud Infrastructure Notification topic to publish messages related to this Delegation Control.
     */
    readonly notificationTopicId: string;
    /**
     * number of approvals required.
     */
    readonly numApprovalsRequired: number;
    /**
     * List of pre-approved Service Provider Action names. The list of pre-defined Service Provider Actions can be obtained from the ListServiceProviderActions API. Delegated Resource Access Requests associated with a resource governed by this Delegation Control will be automatically approved if the Delegated Resource Access Request only contain Service Provider Actions in the pre-approved list.
     */
    readonly preApprovedServiceProviderActionNames: string[];
    /**
     * The OCID of the selected resources that this Delegation Control is applicable to.
     */
    readonly resourceIds: string[];
    /**
     * Resource type for which the Delegation Control is applicable to.
     */
    readonly resourceType: string;
    /**
     * The current lifecycle state of the Delegation Control.
     */
    readonly state: string;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace.  Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: {
        [key: string]: string;
    };
    /**
     * Time when the Delegation Control was created expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-22T21:10:29.600Z'
     */
    readonly timeCreated: string;
    /**
     * Time when the Delegation Control was deleted expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339)timestamp format, e.g. '2020-05-22T21:10:29.600Z'. Note a deleted Delegation Control still stays in the system, so that you can still audit Service Provider Actions associated with Delegated Resource Access Requests raised on target resources governed by the deleted Delegation Control.
     */
    readonly timeDeleted: string;
    /**
     * Time when the Delegation Control was last modified expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format, e.g. '2020-05-22T21:10:29.600Z'
     */
    readonly timeUpdated: string;
    /**
     * The OCID of the Oracle Cloud Infrastructure Vault that will store the secrets containing the SSH keys to access the resource governed by this Delegation Control by Delegate Access Control Service. This property is required when resourceType is CLOUDVMCLUSTER. Delegate Access Control Service will generate the SSH keys and store them as secrets in the Oracle Cloud Infrastructure Vault.
     */
    readonly vaultId: string;
    /**
     * The OCID of the Master Encryption Key in the Oracle Cloud Infrastructure Vault specified by vaultId. This key will be used to encrypt the SSH keys to access the resource governed by this Delegation Control by Delegate Access Control Service. This property is required when resourceType is CLOUDVMCLUSTER.
     */
    readonly vaultKeyId: string;
}
/**
 * This data source provides details about a specific Delegation Control resource in Oracle Cloud Infrastructure Delegate Access Control service.
 *
 * Gets the Delegation Control associated with the specified Delegation Control ID.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testDelegationControl = oci.delegateaccesscontrol.getDelegationControl({
 *     delegationControlId: testDelegationControlOciDelegateAccessControlDelegationControl.id,
 * });
 * ```
 */
export declare function getDelegationControlOutput(args: GetDelegationControlOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDelegationControlResult>;
/**
 * A collection of arguments for invoking getDelegationControl.
 */
export interface GetDelegationControlOutputArgs {
    /**
     * unique Delegation Control identifier
     */
    delegationControlId: pulumi.Input<string>;
}
//# sourceMappingURL=getDelegationControl.d.ts.map