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 Template Analytics in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of template aggregated details in the specified compartment. This provides information about the
 * overall template usage, by returning the count of the target databases/target groups using the templates. It also provides information
 * about the statistics for the template baseline and the comparison related. If the comparison is done, it will show if there is any drift,
 * and how many checks have drifts.
 * The dimension field - isGroup identifies if the targetId belongs to a target group or a individual target.
 * The dimension field - isCompared identifies if the comparison between the latest assessment and the template baseline assessment is done or not.
 * The dimension field - isCompliant identifies if the latest assessment is compliant with the template baseline assessment or not.
 * The dimension field - totalChecksFailed identifies how many checks in the template have drifts in the comparison.
 *
 * When you perform the ListTemplateAnalytics operation, if the parameter compartmentIdInSubtree is set to "true," and if the
 * parameter accessLevel is set to ACCESSIBLE, then the operation returns statistics from the compartments in which the requestor has INSPECT
 * permissions on at least one resource, directly or indirectly (in subcompartments). If the operation is performed at the
 * root compartment and the requestor does not have access to at least one subcompartment of the compartment specified by
 * compartmentId, then "Not Authorized" is returned.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSecurityAssessmentTemplateAnalytics = oci.datasafe.getSecurityAssessmentTemplateAnalytics({
 *     compartmentId: compartmentId,
 *     accessLevel: securityAssessmentTemplateAnalyticAccessLevel,
 *     compartmentIdInSubtree: securityAssessmentTemplateAnalyticCompartmentIdInSubtree === "true",
 *     isCompared: securityAssessmentTemplateAnalyticIsCompared === "true",
 *     isCompliant: securityAssessmentTemplateAnalyticIsCompliant === "true",
 *     isGroup: securityAssessmentTemplateAnalyticIsGroup === "true",
 *     targetDatabaseGroupId: testTargetDatabaseGroup.id,
 *     targetId: testTarget.id,
 *     templateAssessmentId: testTemplateAssessment.id,
 *     templateBaselineAssessmentId: testTemplateBaselineAssessment.id,
 * });
 * ```
 */
export declare function getSecurityAssessmentTemplateAnalytics(args: GetSecurityAssessmentTemplateAnalyticsArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityAssessmentTemplateAnalyticsResult>;
/**
 * A collection of arguments for invoking getSecurityAssessmentTemplateAnalytics.
 */
export interface GetSecurityAssessmentTemplateAnalyticsArgs {
    /**
     * 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;
    /**
     * A filter to return only resources that match the specified compartment OCID.
     */
    compartmentId: 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;
    filters?: inputs.DataSafe.GetSecurityAssessmentTemplateAnalyticsFilter[];
    /**
     * A filter to return only the statistics where the comparison between the latest assessment and the template baseline assessment is done.
     */
    isCompared?: boolean;
    /**
     * A filter to return only the statistics where the latest assessment is compliant with the template baseline assessment.
     */
    isCompliant?: boolean;
    /**
     * A filter to return only the target group related information if the OCID belongs to a target group.
     */
    isGroup?: boolean;
    /**
     * A filter to return the target database group that matches the specified OCID.
     */
    targetDatabaseGroupId?: string;
    /**
     * A filter to return only items related to a specific target OCID.
     */
    targetId?: string;
    /**
     * The OCID of the security assessment of type TEMPLATE.
     */
    templateAssessmentId?: string;
    /**
     * The OCID of the security assessment of type TEMPLATE_BASELINE.
     */
    templateBaselineAssessmentId?: string;
}
/**
 * A collection of values returned by getSecurityAssessmentTemplateAnalytics.
 */
export interface GetSecurityAssessmentTemplateAnalyticsResult {
    readonly accessLevel?: string;
    readonly compartmentId: string;
    readonly compartmentIdInSubtree?: boolean;
    readonly filters?: outputs.DataSafe.GetSecurityAssessmentTemplateAnalyticsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Indicates whether or not the comparison between the latest assessment and the template baseline assessment is done. If the value is false, it means the comparison is not done yet.
     */
    readonly isCompared?: boolean;
    /**
     * Indicates whether or not the latest assessment is compliant with the template baseline assessment. If the value is false, it means there is drift in the comparison report and the totalChecksFailed field will have a non-zero value.
     */
    readonly isCompliant?: boolean;
    /**
     * Indicates whether or not the template security assessment is applied to a target group.  If the value is false, it means the template security assessment is applied to a individual target.
     */
    readonly isGroup?: boolean;
    /**
     * The OCID of the target database group that the group assessment is created for.  This field will be in the response if the template was applied on a target group.
     */
    readonly targetDatabaseGroupId?: string;
    /**
     * The OCID of the target database. This field will be in the response if the template was applied on an individual target.
     */
    readonly targetId?: string;
    /**
     * The list of template_analytics_collection.
     */
    readonly templateAnalyticsCollections: outputs.DataSafe.GetSecurityAssessmentTemplateAnalyticsTemplateAnalyticsCollection[];
    /**
     * The OCID of the security assessment of type TEMPLATE.
     */
    readonly templateAssessmentId?: string;
    /**
     * The OCID of the security assessment of type TEMPLATE_BASELINE.
     */
    readonly templateBaselineAssessmentId?: string;
}
/**
 * This data source provides the list of Security Assessment Template Analytics in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of template aggregated details in the specified compartment. This provides information about the
 * overall template usage, by returning the count of the target databases/target groups using the templates. It also provides information
 * about the statistics for the template baseline and the comparison related. If the comparison is done, it will show if there is any drift,
 * and how many checks have drifts.
 * The dimension field - isGroup identifies if the targetId belongs to a target group or a individual target.
 * The dimension field - isCompared identifies if the comparison between the latest assessment and the template baseline assessment is done or not.
 * The dimension field - isCompliant identifies if the latest assessment is compliant with the template baseline assessment or not.
 * The dimension field - totalChecksFailed identifies how many checks in the template have drifts in the comparison.
 *
 * When you perform the ListTemplateAnalytics operation, if the parameter compartmentIdInSubtree is set to "true," and if the
 * parameter accessLevel is set to ACCESSIBLE, then the operation returns statistics from the compartments in which the requestor has INSPECT
 * permissions on at least one resource, directly or indirectly (in subcompartments). If the operation is performed at the
 * root compartment and the requestor does not have access to at least one subcompartment of the compartment specified by
 * compartmentId, then "Not Authorized" is returned.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSecurityAssessmentTemplateAnalytics = oci.datasafe.getSecurityAssessmentTemplateAnalytics({
 *     compartmentId: compartmentId,
 *     accessLevel: securityAssessmentTemplateAnalyticAccessLevel,
 *     compartmentIdInSubtree: securityAssessmentTemplateAnalyticCompartmentIdInSubtree === "true",
 *     isCompared: securityAssessmentTemplateAnalyticIsCompared === "true",
 *     isCompliant: securityAssessmentTemplateAnalyticIsCompliant === "true",
 *     isGroup: securityAssessmentTemplateAnalyticIsGroup === "true",
 *     targetDatabaseGroupId: testTargetDatabaseGroup.id,
 *     targetId: testTarget.id,
 *     templateAssessmentId: testTemplateAssessment.id,
 *     templateBaselineAssessmentId: testTemplateBaselineAssessment.id,
 * });
 * ```
 */
export declare function getSecurityAssessmentTemplateAnalyticsOutput(args: GetSecurityAssessmentTemplateAnalyticsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSecurityAssessmentTemplateAnalyticsResult>;
/**
 * A collection of arguments for invoking getSecurityAssessmentTemplateAnalytics.
 */
export interface GetSecurityAssessmentTemplateAnalyticsOutputArgs {
    /**
     * 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>;
    /**
     * A filter to return only resources that match the specified compartment OCID.
     */
    compartmentId: pulumi.Input<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?: pulumi.Input<boolean | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.DataSafe.GetSecurityAssessmentTemplateAnalyticsFilterArgs>[] | undefined>;
    /**
     * A filter to return only the statistics where the comparison between the latest assessment and the template baseline assessment is done.
     */
    isCompared?: pulumi.Input<boolean | undefined>;
    /**
     * A filter to return only the statistics where the latest assessment is compliant with the template baseline assessment.
     */
    isCompliant?: pulumi.Input<boolean | undefined>;
    /**
     * A filter to return only the target group related information if the OCID belongs to a target group.
     */
    isGroup?: pulumi.Input<boolean | undefined>;
    /**
     * A filter to return the target database group that matches the specified OCID.
     */
    targetDatabaseGroupId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only items related to a specific target OCID.
     */
    targetId?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the security assessment of type TEMPLATE.
     */
    templateAssessmentId?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the security assessment of type TEMPLATE_BASELINE.
     */
    templateBaselineAssessmentId?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getSecurityAssessmentTemplateAnalytics.d.ts.map