import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Access Request resource in Oracle Cloud Infrastructure Operator Access Control service.
 *
 * Gets details of an access request.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAccessRequest = oci.operatoraccesscontrol.getAccessRequest({
 *     accessRequestId: testAccessRequestOciOperatorAccessControlAccessRequest.id,
 * });
 * ```
 */
export declare function getAccessRequest(args: GetAccessRequestArgs, opts?: pulumi.InvokeOptions): Promise<GetAccessRequestResult>;
/**
 * A collection of arguments for invoking getAccessRequest.
 */
export interface GetAccessRequestArgs {
    /**
     * unique AccessRequest identifier
     */
    accessRequestId: string;
}
/**
 * A collection of values returned by getAccessRequest.
 */
export interface GetAccessRequestResult {
    /**
     * Summary comment by the operator creating the access request.
     */
    readonly accessReasonSummary: string;
    readonly accessRequestId: string;
    /**
     * List of operator actions for which approval is sought by the operator user.
     */
    readonly actionRequestsLists: string[];
    /**
     * The last recent Comment entered by the approver of the request.
     */
    readonly approverComment: string;
    /**
     * Contains the user ids who have approved the accessRequest for extension.
     */
    readonly approverDetails: outputs.OperatorAccessControl.GetAccessRequestApproverDetail[];
    /**
     * Specifies the type of auditing to be enabled. There are two levels of auditing: command-level and keystroke-level.  By default, auditing is enabled at the command level i.e., each command issued by the operator is audited. When keystroke-level is chosen,  in addition to command level logging, key strokes are also logged.
     */
    readonly auditTypes: string[];
    /**
     * The comment entered by the operator while closing the request.
     */
    readonly closureComment: string;
    /**
     * The OCID of the compartment that contains the access request.
     */
    readonly compartmentId: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace.
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * Duration in hours for which access is sought on the target resource.
     */
    readonly duration: number;
    /**
     * Duration in hours for which extension access is sought on the target resource.
     */
    readonly extendDuration: number;
    /**
     * Contains the user ids who have approved the accessRequest for extension.
     */
    readonly extensionApproverDetails: outputs.OperatorAccessControl.GetAccessRequestExtensionApproverDetail[];
    /**
     * 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 provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Whether the access request was automatically approved.
     */
    readonly isAutoApproved: boolean;
    /**
     * Whether the access request was requested for Validate Assignment.
     */
    readonly isValidateAssignment: boolean;
    /**
     * more in detail about the lifeCycleState.
     */
    readonly lifecycleDetails: string;
    /**
     * Number of approvers who have authorized an access request.
     */
    readonly numberOfApprovers: number;
    /**
     * Number of approvers required to approve an access request.
     */
    readonly numberOfApproversRequired: number;
    /**
     * Number of approvers who have authorized an access request for extension.
     */
    readonly numberOfExtensionApprovers: number;
    /**
     * Additional message specific to the access request that can be specified by the approver at the time of approval.
     */
    readonly opctlAdditionalMessage: string;
    /**
     * The OCID of the operator control governing the target resource.
     */
    readonly opctlId: string;
    /**
     * Name of the Operator control governing the target resource.
     */
    readonly opctlName: string;
    /**
     * A unique identifier associated with the operator who raised the request. This identifier can not be used directly to identify the operator. You need to provide this identifier if you would like Oracle to provide additional information about the operator action within Oracle tenancy.
     */
    readonly operatorId: string;
    /**
     * Summary reason for which the operator is requesting access on the target resource.
     */
    readonly reason: string;
    /**
     * This is an automatic identifier generated by the system which is easier for human comprehension.
     */
    readonly requestId: string;
    /**
     * The OCID of the target resource associated with the access request. The operator raises an access request to get approval to  access the target resource.
     */
    readonly resourceId: string;
    /**
     * The name of the target resource.
     */
    readonly resourceName: string;
    /**
     * resourceType for which the AccessRequest is applicable
     */
    readonly resourceType: string;
    /**
     * Priority assigned to the access request by the operator
     */
    readonly severity: string;
    /**
     * The current state of the AccessRequest.
     */
    readonly state: string;
    /**
     * The subresources requested for approval.
     */
    readonly subResourceLists: string[];
    /**
     * System message that will be displayed to the operator at login to the target resource.
     */
    readonly systemMessage: string;
    /**
     * Time when the access request was created in [RFC 3339](https://tools.ietf.org/html/rfc3339)timestamp format. Example: '2020-05-22T21:10:29.600Z'
     */
    readonly timeOfCreation: string;
    /**
     * Time when the access request was last modified in [RFC 3339](https://tools.ietf.org/html/rfc3339)timestamp format. Example: '2020-05-22T21:10:29.600Z'
     */
    readonly timeOfModification: string;
    /**
     * The time when access request is scheduled to be approved in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format.Example: '2020-05-22T21:10:29.600Z'
     */
    readonly timeOfUserCreation: string;
    /**
     * Time in future when the user for the access request needs to be created in [RFC 3339](https://tools.ietf.org/html/rfc3339)timestamp format. Example: '2020-05-22T21:10:29.600Z'
     */
    readonly timeRequestedForFutureAccess: string;
    /**
     * The OCID of the user that last modified the access request.
     */
    readonly userId: string;
    /**
     * The OCID of the workflow associated with the access request. This is needed if you want to contact Oracle Support for a stuck access request or for an access request that encounters an internal error.
     */
    readonly workflowIds: string[];
}
/**
 * This data source provides details about a specific Access Request resource in Oracle Cloud Infrastructure Operator Access Control service.
 *
 * Gets details of an access request.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAccessRequest = oci.operatoraccesscontrol.getAccessRequest({
 *     accessRequestId: testAccessRequestOciOperatorAccessControlAccessRequest.id,
 * });
 * ```
 */
export declare function getAccessRequestOutput(args: GetAccessRequestOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAccessRequestResult>;
/**
 * A collection of arguments for invoking getAccessRequest.
 */
export interface GetAccessRequestOutputArgs {
    /**
     * unique AccessRequest identifier
     */
    accessRequestId: pulumi.Input<string>;
}
//# sourceMappingURL=getAccessRequest.d.ts.map