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 Security Assessment Checks in Oracle Cloud Infrastructure Data Safe service.
 *
 * Lists all the security checks in the specified compartment for security assessment of type TEMPLATE.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSecurityAssessmentChecks = oci.datasafe.getSecurityAssessmentChecks({
 *     securityAssessmentId: testSecurityAssessment.id,
 *     accessLevel: securityAssessmentCheckAccessLevel,
 *     compartmentIdInSubtree: securityAssessmentCheckCompartmentIdInSubtree === "true",
 *     containsReferences: securityAssessmentCheckContainsReferences,
 *     containsSeverities: securityAssessmentCheckContainsSeverity,
 *     key: securityAssessmentCheckKey,
 *     suggestedSeverity: securityAssessmentCheckSuggestedSeverity,
 * });
 * ```
 */
export declare function getSecurityAssessmentChecks(args: GetSecurityAssessmentChecksArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityAssessmentChecksResult>;
/**
 * A collection of arguments for invoking getSecurityAssessmentChecks.
 */
export interface GetSecurityAssessmentChecksArgs {
    /**
     * Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
     */
    accessLevel?: string;
    /**
     * Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
     */
    compartmentIdInSubtree?: boolean;
    /**
     * An optional filter to return only findings that match the specified references. Use containsReferences param if need to filter by multiple references.
     */
    containsReferences?: string[];
    /**
     * A filter to return only findings that match the specified risk level(s). Use containsSeverity parameter if need to filter by multiple risk levels.
     */
    containsSeverities?: string[];
    filters?: inputs.DataSafe.GetSecurityAssessmentChecksFilter[];
    /**
     * Each check in security assessment has an associated key (think of key as a check's name). For a given check, the key will be the same across targets. The user can use these keys to filter the checks.
     */
    key?: string;
    /**
     * The OCID of the security assessment.
     */
    securityAssessmentId: string;
    /**
     * A filter to return only checks of a particular risk level.
     */
    suggestedSeverity?: string;
}
/**
 * A collection of values returned by getSecurityAssessmentChecks.
 */
export interface GetSecurityAssessmentChecksResult {
    readonly accessLevel?: string;
    /**
     * The list of checks.
     */
    readonly checks: outputs.DataSafe.GetSecurityAssessmentChecksCheck[];
    readonly compartmentIdInSubtree?: boolean;
    readonly containsReferences?: string[];
    readonly containsSeverities?: string[];
    readonly filters?: outputs.DataSafe.GetSecurityAssessmentChecksFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * A unique identifier for the check.
     */
    readonly key?: string;
    readonly securityAssessmentId: string;
    /**
     * The severity of the check as suggested by Data Safe security assessment. This will be the default severity in the template baseline security assessment.
     */
    readonly suggestedSeverity?: string;
}
/**
 * This data source provides the list of Security Assessment Checks in Oracle Cloud Infrastructure Data Safe service.
 *
 * Lists all the security checks in the specified compartment for security assessment of type TEMPLATE.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSecurityAssessmentChecks = oci.datasafe.getSecurityAssessmentChecks({
 *     securityAssessmentId: testSecurityAssessment.id,
 *     accessLevel: securityAssessmentCheckAccessLevel,
 *     compartmentIdInSubtree: securityAssessmentCheckCompartmentIdInSubtree === "true",
 *     containsReferences: securityAssessmentCheckContainsReferences,
 *     containsSeverities: securityAssessmentCheckContainsSeverity,
 *     key: securityAssessmentCheckKey,
 *     suggestedSeverity: securityAssessmentCheckSuggestedSeverity,
 * });
 * ```
 */
export declare function getSecurityAssessmentChecksOutput(args: GetSecurityAssessmentChecksOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSecurityAssessmentChecksResult>;
/**
 * A collection of arguments for invoking getSecurityAssessmentChecks.
 */
export interface GetSecurityAssessmentChecksOutputArgs {
    /**
     * Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
     */
    accessLevel?: pulumi.Input<string | undefined>;
    /**
     * Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
     */
    compartmentIdInSubtree?: pulumi.Input<boolean | undefined>;
    /**
     * An optional filter to return only findings that match the specified references. Use containsReferences param if need to filter by multiple references.
     */
    containsReferences?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * A filter to return only findings that match the specified risk level(s). Use containsSeverity parameter if need to filter by multiple risk levels.
     */
    containsSeverities?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.DataSafe.GetSecurityAssessmentChecksFilterArgs>[] | undefined>;
    /**
     * Each check in security assessment has an associated key (think of key as a check's name). For a given check, the key will be the same across targets. The user can use these keys to filter the checks.
     */
    key?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the security assessment.
     */
    securityAssessmentId: pulumi.Input<string>;
    /**
     * A filter to return only checks of a particular risk level.
     */
    suggestedSeverity?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getSecurityAssessmentChecks.d.ts.map