import * as pulumi from "@pulumi/pulumi";
/**
 * This data source provides details about a specific Operator Control resource in Oracle Cloud Infrastructure Operator Access Control service.
 *
 * Gets the Operator Control associated with the specified Operator Control ID.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testOperatorControl = oci.operatoraccesscontrol.getControl({
 *     operatorControlId: testOperatorControlOciOperatorAccessControlOperatorControl.id,
 * });
 * ```
 */
export declare function getControl(args: GetControlArgs, opts?: pulumi.InvokeOptions): Promise<GetControlResult>;
/**
 * A collection of arguments for invoking getControl.
 */
export interface GetControlArgs {
    /**
     * unique OperatorControl identifier
     */
    operatorControlId: string;
}
/**
 * A collection of values returned by getControl.
 */
export interface GetControlResult {
    /**
     * List of operator actions that need explicit approval. Any operator action not in the pre-approved list will require explicit approval. Access requests associated with a resource governed by this operator control will be require explicit approval if the access request contains any operator action in this list.
     */
    readonly approvalRequiredOpActionLists: string[];
    /**
     * List of user groups who can approve an access request associated with a target resource under the governance of this operator control.
     */
    readonly approverGroupsLists: string[];
    /**
     * List of users who can approve an access request associated with a target resource under the governance of this operator control.
     */
    readonly approversLists: string[];
    /**
     * The OCID of the compartment that contains the operator control.
     */
    readonly compartmentId: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace.
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * Description of operator control.
     */
    readonly description: string;
    /**
     * List of emailId.
     */
    readonly emailIdLists: string[];
    /**
     * Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * The OCID of the operator control.
     */
    readonly id: string;
    /**
     * Whether the operator control is a default Operator Control.
     */
    readonly isDefaultOperatorControl: boolean;
    /**
     * Whether all the operator actions have been pre-approved. If yes, all access requests associated with a resource governed by this operator control  will be auto-approved.
     */
    readonly isFullyPreApproved: boolean;
    /**
     * Description associated with the latest modification of the operator control.
     */
    readonly lastModifiedInfo: string;
    /**
     * Number of approvers required to approve an access request.
     */
    readonly numberOfApprovers: number;
    readonly operatorControlId: string;
    /**
     * Name of the operator control. The name must be unique.
     */
    readonly operatorControlName: string;
    /**
     * List of pre-approved operator actions. Access requests associated with a resource governed by this operator control will be automatically approved if the access request only contain operator actions in the pre-approved list.
     */
    readonly preApprovedOpActionLists: string[];
    /**
     * resourceType for which the OperatorControl is applicable
     */
    readonly resourceType: string;
    /**
     * The current lifecycle state of the operator control.
     */
    readonly state: string;
    /**
     * System message that would be displayed to the operator users on accessing the target resource under the governance of this operator control.
     */
    readonly systemMessage: string;
    /**
     * Time when the operator control was created expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: '2020-05-22T21:10:29.600Z'
     */
    readonly timeOfCreation: string;
    /**
     * Time when deleted expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339)timestamp format. Example: '2020-05-22T21:10:29.600Z'. Note a deleted operator control still stays in the system, so that you can still audit operator actions associated with access requests raised on target resources governed by the deleted operator control.
     */
    readonly timeOfDeletion: string;
    /**
     * Time when the operator control was last modified expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: '2020-05-22T21:10:29.600Z'
     */
    readonly timeOfModification: string;
}
/**
 * This data source provides details about a specific Operator Control resource in Oracle Cloud Infrastructure Operator Access Control service.
 *
 * Gets the Operator Control associated with the specified Operator Control ID.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testOperatorControl = oci.operatoraccesscontrol.getControl({
 *     operatorControlId: testOperatorControlOciOperatorAccessControlOperatorControl.id,
 * });
 * ```
 */
export declare function getControlOutput(args: GetControlOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetControlResult>;
/**
 * A collection of arguments for invoking getControl.
 */
export interface GetControlOutputArgs {
    /**
     * unique OperatorControl identifier
     */
    operatorControlId: pulumi.Input<string>;
}
//# sourceMappingURL=getControl.d.ts.map