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 Security Features in Oracle Cloud Infrastructure Data Safe service.
 *
 * Lists the usage of Database security features for a given compartment or a target level, based on the filters provided.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSecurityAssessmentSecurityFeatures = oci.datasafe.getSecurityAssessmentSecurityFeatures({
 *     compartmentId: compartmentId,
 *     accessLevel: securityAssessmentSecurityFeatureAccessLevel,
 *     compartmentIdInSubtree: securityAssessmentSecurityFeatureCompartmentIdInSubtree === "true",
 *     targetId: testTarget.id,
 *     targetsWithColumnEncryption: securityAssessmentSecurityFeatureTargetsWithColumnEncryption,
 *     targetsWithDatabaseVault: securityAssessmentSecurityFeatureTargetsWithDatabaseVault,
 *     targetsWithExternalAuthentication: securityAssessmentSecurityFeatureTargetsWithExternalAuthentication,
 *     targetsWithFineGrainedAudit: securityAssessmentSecurityFeatureTargetsWithFineGrainedAudit,
 *     targetsWithGlobalAuthentication: securityAssessmentSecurityFeatureTargetsWithGlobalAuthentication,
 *     targetsWithNetworkEncryption: securityAssessmentSecurityFeatureTargetsWithNetworkEncryption,
 *     targetsWithPasswordAuthentication: securityAssessmentSecurityFeatureTargetsWithPasswordAuthentication,
 *     targetsWithPrivilegeAnalysis: securityAssessmentSecurityFeatureTargetsWithPrivilegeAnalysis,
 *     targetsWithTablespaceEncryption: securityAssessmentSecurityFeatureTargetsWithTablespaceEncryption,
 *     targetsWithTraditionalAudit: securityAssessmentSecurityFeatureTargetsWithTraditionalAudit,
 *     targetsWithUnifiedAudit: securityAssessmentSecurityFeatureTargetsWithUnifiedAudit,
 * });
 * ```
 */
export declare function getSecurityAssessmentSecurityFeatures(args: GetSecurityAssessmentSecurityFeaturesArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityAssessmentSecurityFeaturesResult>;
/**
 * A collection of arguments for invoking getSecurityAssessmentSecurityFeatures.
 */
export interface GetSecurityAssessmentSecurityFeaturesArgs {
    /**
     * 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.GetSecurityAssessmentSecurityFeaturesFilter[];
    /**
     * A filter to return only items related to a specific target OCID.
     */
    targetId?: string;
    /**
     * A filter to return only the targets that enable the DB security feature - Column Encryption enabled/disabled.
     */
    targetsWithColumnEncryption?: string;
    /**
     * A filter to return only the targets with the DB security feature - Database Vault enabled/disabled.
     */
    targetsWithDatabaseVault?: string;
    /**
     * A filter to return only the targets with the DB security feature - External Authentication enabled/disabled.
     */
    targetsWithExternalAuthentication?: string;
    /**
     * A filter to return only the targets with the DB security feature - Fine Grained Audit enabled/disabled.
     */
    targetsWithFineGrainedAudit?: string;
    /**
     * A filter to return only the targets with the DB security feature - Global Authentication enabled/disabled.
     */
    targetsWithGlobalAuthentication?: string;
    /**
     * A filter to return only the targets with the DB security feature - Network Encryption enabled/disabled.
     */
    targetsWithNetworkEncryption?: string;
    /**
     * A filter to return only the targets with the DB security feature - Password Authentication enabled/disabled.
     */
    targetsWithPasswordAuthentication?: string;
    /**
     * A filter to return only the targets with the DB security feature - Privilege Analysis enabled/disabled.
     */
    targetsWithPrivilegeAnalysis?: string;
    /**
     * A filter to return only the targets with the DB security feature - Tablespace Encryption enabled/disabled.
     */
    targetsWithTablespaceEncryption?: string;
    /**
     * A filter to return only the targets with the DB security feature - Traditional Audit enabled/disabled.
     */
    targetsWithTraditionalAudit?: string;
    /**
     * A filter to return only the targets with the DB security feature - Unified Audit enabled/disabled.
     */
    targetsWithUnifiedAudit?: string;
}
/**
 * A collection of values returned by getSecurityAssessmentSecurityFeatures.
 */
export interface GetSecurityAssessmentSecurityFeaturesResult {
    readonly accessLevel?: string;
    /**
     * The OCID of the compartment.
     */
    readonly compartmentId: string;
    readonly compartmentIdInSubtree?: boolean;
    readonly filters?: outputs.DataSafe.GetSecurityAssessmentSecurityFeaturesFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The list of security_feature_collection.
     */
    readonly securityFeatureCollections: outputs.DataSafe.GetSecurityAssessmentSecurityFeaturesSecurityFeatureCollection[];
    /**
     * The OCID of the target database.
     */
    readonly targetId?: string;
    readonly targetsWithColumnEncryption?: string;
    readonly targetsWithDatabaseVault?: string;
    readonly targetsWithExternalAuthentication?: string;
    readonly targetsWithFineGrainedAudit?: string;
    readonly targetsWithGlobalAuthentication?: string;
    readonly targetsWithNetworkEncryption?: string;
    readonly targetsWithPasswordAuthentication?: string;
    readonly targetsWithPrivilegeAnalysis?: string;
    readonly targetsWithTablespaceEncryption?: string;
    readonly targetsWithTraditionalAudit?: string;
    readonly targetsWithUnifiedAudit?: string;
}
/**
 * This data source provides the list of Security Assessment Security Features in Oracle Cloud Infrastructure Data Safe service.
 *
 * Lists the usage of Database security features for a given compartment or a target level, based on the filters provided.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testSecurityAssessmentSecurityFeatures = oci.datasafe.getSecurityAssessmentSecurityFeatures({
 *     compartmentId: compartmentId,
 *     accessLevel: securityAssessmentSecurityFeatureAccessLevel,
 *     compartmentIdInSubtree: securityAssessmentSecurityFeatureCompartmentIdInSubtree === "true",
 *     targetId: testTarget.id,
 *     targetsWithColumnEncryption: securityAssessmentSecurityFeatureTargetsWithColumnEncryption,
 *     targetsWithDatabaseVault: securityAssessmentSecurityFeatureTargetsWithDatabaseVault,
 *     targetsWithExternalAuthentication: securityAssessmentSecurityFeatureTargetsWithExternalAuthentication,
 *     targetsWithFineGrainedAudit: securityAssessmentSecurityFeatureTargetsWithFineGrainedAudit,
 *     targetsWithGlobalAuthentication: securityAssessmentSecurityFeatureTargetsWithGlobalAuthentication,
 *     targetsWithNetworkEncryption: securityAssessmentSecurityFeatureTargetsWithNetworkEncryption,
 *     targetsWithPasswordAuthentication: securityAssessmentSecurityFeatureTargetsWithPasswordAuthentication,
 *     targetsWithPrivilegeAnalysis: securityAssessmentSecurityFeatureTargetsWithPrivilegeAnalysis,
 *     targetsWithTablespaceEncryption: securityAssessmentSecurityFeatureTargetsWithTablespaceEncryption,
 *     targetsWithTraditionalAudit: securityAssessmentSecurityFeatureTargetsWithTraditionalAudit,
 *     targetsWithUnifiedAudit: securityAssessmentSecurityFeatureTargetsWithUnifiedAudit,
 * });
 * ```
 */
export declare function getSecurityAssessmentSecurityFeaturesOutput(args: GetSecurityAssessmentSecurityFeaturesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetSecurityAssessmentSecurityFeaturesResult>;
/**
 * A collection of arguments for invoking getSecurityAssessmentSecurityFeatures.
 */
export interface GetSecurityAssessmentSecurityFeaturesOutputArgs {
    /**
     * 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.GetSecurityAssessmentSecurityFeaturesFilterArgs>[] | undefined>;
    /**
     * A filter to return only items related to a specific target OCID.
     */
    targetId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the targets that enable the DB security feature - Column Encryption enabled/disabled.
     */
    targetsWithColumnEncryption?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the targets with the DB security feature - Database Vault enabled/disabled.
     */
    targetsWithDatabaseVault?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the targets with the DB security feature - External Authentication enabled/disabled.
     */
    targetsWithExternalAuthentication?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the targets with the DB security feature - Fine Grained Audit enabled/disabled.
     */
    targetsWithFineGrainedAudit?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the targets with the DB security feature - Global Authentication enabled/disabled.
     */
    targetsWithGlobalAuthentication?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the targets with the DB security feature - Network Encryption enabled/disabled.
     */
    targetsWithNetworkEncryption?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the targets with the DB security feature - Password Authentication enabled/disabled.
     */
    targetsWithPasswordAuthentication?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the targets with the DB security feature - Privilege Analysis enabled/disabled.
     */
    targetsWithPrivilegeAnalysis?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the targets with the DB security feature - Tablespace Encryption enabled/disabled.
     */
    targetsWithTablespaceEncryption?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the targets with the DB security feature - Traditional Audit enabled/disabled.
     */
    targetsWithTraditionalAudit?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the targets with the DB security feature - Unified Audit enabled/disabled.
     */
    targetsWithUnifiedAudit?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getSecurityAssessmentSecurityFeatures.d.ts.map