import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Audit Profile Management resource in Oracle Cloud Infrastructure Data Safe service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/data-safe/latest/AuditProfileManagement
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/datasafe
 *
 * Create a new audit profile resource for a target group. For a target database, it will update the auto created audit profile by fetching the Audit profile.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAuditProfileManagement = new oci.datasafe.AuditProfileManagement("test_audit_profile_management", {
 *     compartmentId: compartmentId,
 *     targetId: testTarget.id,
 *     targetType: auditProfileTargetType,
 *     definedTags: {
 *         "Operations.CostCenter": "42",
 *     },
 *     description: auditProfileDescription,
 *     displayName: auditProfileDisplayName,
 *     freeformTags: {
 *         Department: "Finance",
 *     },
 *     isOverrideGlobalPaidUsage: auditProfileIsOverrideGlobalPaidUsage === "true",
 *     isPaidUsageEnabled: auditProfileIsPaidUsageEnabled === "true",
 *     offlineMonths: Number(auditProfileOfflineMonths),
 *     onlineMonths: Number(auditProfileOnlineMonths),
 *     changeRetentionTrigger: Number(retentionTrigger),
 *     isOverrideGlobalRetentionSetting: true,
 * });
 * ```
 *
 * ## Import
 *
 * AuditProfiles can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:DataSafe/auditProfileManagement:AuditProfileManagement test_audit_profile_management "id"
 * ```
 */
export declare class AuditProfileManagement extends pulumi.CustomResource {
    /**
     * Get an existing AuditProfileManagement resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AuditProfileManagementState, opts?: pulumi.CustomResourceOptions): AuditProfileManagement;
    /**
     * Returns true if the given object is an instance of AuditProfileManagement.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is AuditProfileManagement;
    /**
     * Number of audit records collected in the current calendar month.  Audit records for the Data Safe service account are excluded and are not counted towards your monthly free limit.
     */
    readonly auditCollectedVolume: pulumi.Output<string>;
    /**
     * Contains the list of available audit trails on the target database.
     */
    readonly auditTrails: pulumi.Output<outputs.DataSafe.AuditProfileManagementAuditTrail[]>;
    /**
     * (Updatable) An optional property when incremented triggers Change Retention. Could be set to any integer value.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    readonly changeRetentionTrigger: pulumi.Output<number | undefined>;
    /**
     * (Updatable) The OCID of the compartment where you want to create the audit profile.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm) Example: `{"Operations.CostCenter": "42"}`
     */
    readonly definedTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * (Updatable) The description of the audit profile.
     */
    readonly description: pulumi.Output<string>;
    /**
     * (Updatable) The display name of the audit profile. The name does not have to be unique, and it's updatable.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm)  Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * Indicates whether audit paid usage settings specified at the target database level override both the global and the target database group level paid usage settings. Enabling paid usage continues the collection of audit records beyond the free limit of one million audit records per month per target database, potentially incurring additional charges. For more information, see [Data Safe Price List](https://www.oracle.com/cloud/price-list/#data-safe).
     */
    readonly isOverrideGlobalPaidUsage: pulumi.Output<boolean>;
    /**
     * Indicates whether audit retention settings like online and offline months set at the  target level override both the global settings and the target group level audit retention settings.
     */
    readonly isOverrideGlobalRetentionSetting: pulumi.Output<boolean>;
    /**
     * (Updatable) Indicates if you want to continue collecting audit records beyond the free limit of one million audit records per month per target database, potentially incurring additional charges. The default value is inherited from the global settings.  You can change at the global level or at the target level.
     */
    readonly isPaidUsageEnabled: pulumi.Output<boolean>;
    /**
     * Details about the current state of the audit profile in Data Safe.
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * Number of months the audit records will be stored offline in the offline archive. Minimum: 0; Maximum: 72 months. If you have a requirement to store the audit data even longer in the offline archive, please contact the Oracle Support.
     */
    readonly offlineMonths: pulumi.Output<number>;
    /**
     * The name or the OCID of the resource from which the offline month retention setting is sourced. For example, a global setting or a target database group OCID.
     */
    readonly offlineMonthsSource: pulumi.Output<string>;
    /**
     * Number of months the audit records will be stored online in the audit repository for immediate reporting and analysis. Minimum: 1; Maximum: 12 months
     */
    readonly onlineMonths: pulumi.Output<number>;
    /**
     * The name or the OCID of the resource from which the online month retention setting is sourced. For example, a global setting or a target database group OCID.
     */
    readonly onlineMonthsSource: pulumi.Output<string>;
    /**
     * The name or the OCID of the resource from which the paid usage setting is sourced. For example, a global setting or a target database group OCID.
     */
    readonly paidUsageSource: pulumi.Output<string>;
    /**
     * The current state of the audit profile.
     */
    readonly state: pulumi.Output<string>;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The OCID of the target database or target database group for which the audit profile is created.
     */
    readonly targetId: pulumi.Output<string>;
    /**
     * The resource type that is represented by the audit profile.
     */
    readonly targetType: pulumi.Output<string>;
    /**
     * The date and time the audit profile was created, in the format defined by RFC3339.
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * The date and time the audit profile was updated, in the format defined by RFC3339.
     */
    readonly timeUpdated: pulumi.Output<string>;
    /**
     * Create a AuditProfileManagement resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: AuditProfileManagementArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering AuditProfileManagement resources.
 */
export interface AuditProfileManagementState {
    /**
     * Number of audit records collected in the current calendar month.  Audit records for the Data Safe service account are excluded and are not counted towards your monthly free limit.
     */
    auditCollectedVolume?: pulumi.Input<string | undefined>;
    /**
     * Contains the list of available audit trails on the target database.
     */
    auditTrails?: pulumi.Input<pulumi.Input<inputs.DataSafe.AuditProfileManagementAuditTrail>[] | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Change Retention. Could be set to any integer value.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    changeRetentionTrigger?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) The OCID of the compartment where you want to create the audit profile.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm) Example: `{"Operations.CostCenter": "42"}`
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) The description of the audit profile.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The display name of the audit profile. The name does not have to be unique, and it's updatable.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm)  Example: `{"Department": "Finance"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * Indicates whether audit paid usage settings specified at the target database level override both the global and the target database group level paid usage settings. Enabling paid usage continues the collection of audit records beyond the free limit of one million audit records per month per target database, potentially incurring additional charges. For more information, see [Data Safe Price List](https://www.oracle.com/cloud/price-list/#data-safe).
     */
    isOverrideGlobalPaidUsage?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether audit retention settings like online and offline months set at the  target level override both the global settings and the target group level audit retention settings.
     */
    isOverrideGlobalRetentionSetting?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Indicates if you want to continue collecting audit records beyond the free limit of one million audit records per month per target database, potentially incurring additional charges. The default value is inherited from the global settings.  You can change at the global level or at the target level.
     */
    isPaidUsageEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * Details about the current state of the audit profile in Data Safe.
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * Number of months the audit records will be stored offline in the offline archive. Minimum: 0; Maximum: 72 months. If you have a requirement to store the audit data even longer in the offline archive, please contact the Oracle Support.
     */
    offlineMonths?: pulumi.Input<number | undefined>;
    /**
     * The name or the OCID of the resource from which the offline month retention setting is sourced. For example, a global setting or a target database group OCID.
     */
    offlineMonthsSource?: pulumi.Input<string | undefined>;
    /**
     * Number of months the audit records will be stored online in the audit repository for immediate reporting and analysis. Minimum: 1; Maximum: 12 months
     */
    onlineMonths?: pulumi.Input<number | undefined>;
    /**
     * The name or the OCID of the resource from which the online month retention setting is sourced. For example, a global setting or a target database group OCID.
     */
    onlineMonthsSource?: pulumi.Input<string | undefined>;
    /**
     * The name or the OCID of the resource from which the paid usage setting is sourced. For example, a global setting or a target database group OCID.
     */
    paidUsageSource?: pulumi.Input<string | undefined>;
    /**
     * The current state of the audit profile.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    systemTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The OCID of the target database or target database group for which the audit profile is created.
     */
    targetId?: pulumi.Input<string | undefined>;
    /**
     * The resource type that is represented by the audit profile.
     */
    targetType?: pulumi.Input<string | undefined>;
    /**
     * The date and time the audit profile was created, in the format defined by RFC3339.
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * The date and time the audit profile was updated, in the format defined by RFC3339.
     */
    timeUpdated?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a AuditProfileManagement resource.
 */
export interface AuditProfileManagementArgs {
    /**
     * (Updatable) An optional property when incremented triggers Change Retention. Could be set to any integer value.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    changeRetentionTrigger?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) The OCID of the compartment where you want to create the audit profile.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm) Example: `{"Operations.CostCenter": "42"}`
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) The description of the audit profile.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The display name of the audit profile. The name does not have to be unique, and it's updatable.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm)  Example: `{"Department": "Finance"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * Indicates whether audit paid usage settings specified at the target database level override both the global and the target database group level paid usage settings. Enabling paid usage continues the collection of audit records beyond the free limit of one million audit records per month per target database, potentially incurring additional charges. For more information, see [Data Safe Price List](https://www.oracle.com/cloud/price-list/#data-safe).
     */
    isOverrideGlobalPaidUsage?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether audit retention settings like online and offline months set at the  target level override both the global settings and the target group level audit retention settings.
     */
    isOverrideGlobalRetentionSetting?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Indicates if you want to continue collecting audit records beyond the free limit of one million audit records per month per target database, potentially incurring additional charges. The default value is inherited from the global settings.  You can change at the global level or at the target level.
     */
    isPaidUsageEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * Number of months the audit records will be stored offline in the offline archive. Minimum: 0; Maximum: 72 months. If you have a requirement to store the audit data even longer in the offline archive, please contact the Oracle Support.
     */
    offlineMonths?: pulumi.Input<number | undefined>;
    /**
     * Number of months the audit records will be stored online in the audit repository for immediate reporting and analysis. Minimum: 1; Maximum: 12 months
     */
    onlineMonths?: pulumi.Input<number | undefined>;
    /**
     * The OCID of the target database or target database group for which the audit profile is created.
     */
    targetId: pulumi.Input<string>;
    /**
     * The resource type that is represented by the audit profile.
     */
    targetType: pulumi.Input<string>;
}
//# sourceMappingURL=auditProfileManagement.d.ts.map