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 Alarm Suppressions in Oracle Cloud Infrastructure Monitoring service.
 *
 * Lists alarm suppressions for the specified alarm. For more information, see
 * [Listing Alarm Suppressions](https://docs.cloud.oracle.com/iaas/Content/Monitoring/Tasks/list-alarm-suppression.htm).
 *
 * For important limits information, see
 * [Limits on Monitoring](https://docs.cloud.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#limits).
 *
 * This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations.
 * Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests,
 * or transactions, per second (TPS) for a given tenancy.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAlarmSuppressions = oci.monitoring.getAlarmSuppressions({
 *     alarmId: testAlarm.id,
 *     compartmentId: compartmentId,
 *     compartmentIdInSubtree: alarmSuppressionCompartmentIdInSubtree === "true",
 *     displayName: alarmSuppressionDisplayName,
 *     isAllSuppressions: alarmSuppressionIsAllSuppressions === "true",
 *     level: alarmSuppressionLevel,
 *     state: alarmSuppressionState,
 *     targetType: alarmSuppressionTargetType,
 * });
 * ```
 */
export declare function getAlarmSuppressions(args?: GetAlarmSuppressionsArgs, opts?: pulumi.InvokeOptions): Promise<GetAlarmSuppressionsResult>;
/**
 * A collection of arguments for invoking getAlarmSuppressions.
 */
export interface GetAlarmSuppressionsArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the alarm that is the target of the alarm suppression.
     */
    alarmId?: string;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment for searching.  Use the tenancy OCID to search in the root compartment.
     *
     * If targetType is not specified, searches all suppressions defined under the compartment.  If targetType is `COMPARTMENT`, searches suppressions in the specified compartment only.
     *
     * Example: `ocid1.compartment.oc1..exampleuniqueID`
     */
    compartmentId?: string;
    /**
     * When true, returns resources from all compartments and subcompartments. The parameter can only be set to true when compartmentId is the tenancy OCID (the tenancy is the root compartment). A true value requires the user to have tenancy-level permissions. If this requirement is not met, then the call is rejected. When false, returns resources from only the compartment specified in compartmentId. Default is false.
     */
    compartmentIdInSubtree?: boolean;
    /**
     * A filter to return only resources that match the given display name exactly. Use this filter to list an alarm suppression by name. Alternatively, when you know the alarm suppression OCID, use the GetAlarmSuppression operation.
     */
    displayName?: string;
    filters?: inputs.Monitoring.GetAlarmSuppressionsFilter[];
    /**
     * Setting this parameter to true requires the query to specify the alarm (`alarmId`).
     *
     * When true, lists all alarm suppressions that affect the specified alarm, including suppressions that target the corresponding compartment or tenancy. When false, lists only the alarm suppressions that target the specified alarm.
     *
     * Default is false.
     */
    isAllSuppressions?: boolean;
    /**
     * The level of this alarm suppression. `ALARM` indicates a suppression of the entire alarm, regardless of dimension. `DIMENSION` indicates a suppression configured for specified dimensions.
     */
    level?: string;
    /**
     * A filter to return only resources that match the given lifecycle state exactly. When not specified, only resources in the ACTIVE lifecycle state are listed.
     */
    state?: string;
    /**
     * The target type to use when listing alarm suppressions.     `ALARM` lists all suppression records for the specified alarm. `COMPARTMENT` lists all suppression records for the specified compartment or tenancy.
     */
    targetType?: string;
}
/**
 * A collection of values returned by getAlarmSuppressions.
 */
export interface GetAlarmSuppressionsResult {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the alarm that is the target of the alarm suppression.
     */
    readonly alarmId?: string;
    /**
     * The list of alarm_suppression_collection.
     */
    readonly alarmSuppressionCollections: outputs.Monitoring.GetAlarmSuppressionsAlarmSuppressionCollection[];
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the alarm suppression.
     */
    readonly compartmentId?: string;
    /**
     * When true, the alarm suppression targets all alarms under all compartments and subcompartments of  the tenancy specified. The parameter can only be set to true when compartmentId is the tenancy OCID  (the tenancy is the root compartment). When false, the alarm suppression targets only the alarms under the specified compartment.
     */
    readonly compartmentIdInSubtree?: boolean;
    /**
     * A user-friendly name for the alarm suppression. It does not have to be unique, and it's changeable. Avoid entering confidential information.
     */
    readonly displayName?: string;
    readonly filters?: outputs.Monitoring.GetAlarmSuppressionsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly isAllSuppressions?: boolean;
    /**
     * The level of this alarm suppression. `ALARM` indicates a suppression of the entire alarm, regardless of dimension. `DIMENSION` indicates a suppression configured for specified dimensions.
     */
    readonly level?: string;
    /**
     * The current lifecycle state of the alarm suppression.  Example: `DELETED`
     */
    readonly state?: string;
    /**
     * The type of the alarm suppression target.
     */
    readonly targetType?: string;
}
/**
 * This data source provides the list of Alarm Suppressions in Oracle Cloud Infrastructure Monitoring service.
 *
 * Lists alarm suppressions for the specified alarm. For more information, see
 * [Listing Alarm Suppressions](https://docs.cloud.oracle.com/iaas/Content/Monitoring/Tasks/list-alarm-suppression.htm).
 *
 * For important limits information, see
 * [Limits on Monitoring](https://docs.cloud.oracle.com/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#limits).
 *
 * This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations.
 * Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests,
 * or transactions, per second (TPS) for a given tenancy.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAlarmSuppressions = oci.monitoring.getAlarmSuppressions({
 *     alarmId: testAlarm.id,
 *     compartmentId: compartmentId,
 *     compartmentIdInSubtree: alarmSuppressionCompartmentIdInSubtree === "true",
 *     displayName: alarmSuppressionDisplayName,
 *     isAllSuppressions: alarmSuppressionIsAllSuppressions === "true",
 *     level: alarmSuppressionLevel,
 *     state: alarmSuppressionState,
 *     targetType: alarmSuppressionTargetType,
 * });
 * ```
 */
export declare function getAlarmSuppressionsOutput(args?: GetAlarmSuppressionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAlarmSuppressionsResult>;
/**
 * A collection of arguments for invoking getAlarmSuppressions.
 */
export interface GetAlarmSuppressionsOutputArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the alarm that is the target of the alarm suppression.
     */
    alarmId?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment for searching.  Use the tenancy OCID to search in the root compartment.
     *
     * If targetType is not specified, searches all suppressions defined under the compartment.  If targetType is `COMPARTMENT`, searches suppressions in the specified compartment only.
     *
     * Example: `ocid1.compartment.oc1..exampleuniqueID`
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * When true, returns resources from all compartments and subcompartments. The parameter can only be set to true when compartmentId is the tenancy OCID (the tenancy is the root compartment). A true value requires the user to have tenancy-level permissions. If this requirement is not met, then the call is rejected. When false, returns resources from only the compartment specified in compartmentId. Default is false.
     */
    compartmentIdInSubtree?: pulumi.Input<boolean | undefined>;
    /**
     * A filter to return only resources that match the given display name exactly. Use this filter to list an alarm suppression by name. Alternatively, when you know the alarm suppression OCID, use the GetAlarmSuppression operation.
     */
    displayName?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.Monitoring.GetAlarmSuppressionsFilterArgs>[] | undefined>;
    /**
     * Setting this parameter to true requires the query to specify the alarm (`alarmId`).
     *
     * When true, lists all alarm suppressions that affect the specified alarm, including suppressions that target the corresponding compartment or tenancy. When false, lists only the alarm suppressions that target the specified alarm.
     *
     * Default is false.
     */
    isAllSuppressions?: pulumi.Input<boolean | undefined>;
    /**
     * The level of this alarm suppression. `ALARM` indicates a suppression of the entire alarm, regardless of dimension. `DIMENSION` indicates a suppression configured for specified dimensions.
     */
    level?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only resources that match the given lifecycle state exactly. When not specified, only resources in the ACTIVE lifecycle state are listed.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * The target type to use when listing alarm suppressions.     `ALARM` lists all suppression records for the specified alarm. `COMPARTMENT` lists all suppression records for the specified compartment or tenancy.
     */
    targetType?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getAlarmSuppressions.d.ts.map