import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Alarm Suppression resource in Oracle Cloud Infrastructure Monitoring service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/monitoring/latest/AlarmSuppression * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/monitoring * * Creates a new alarm suppression at the specified level (alarm-wide or dimension-specific). * For more information, see * [Adding an Alarm-wide Suppression](https://docs.cloud.oracle.com/iaas/Content/Monitoring/Tasks/add-alarm-suppression.htm) and * [Adding a Dimension-Specific Alarm Suppression](https://docs.cloud.oracle.com/iaas/Content/Monitoring/Tasks/create-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 testAlarmSuppression = new oci.monitoring.AlarmSuppression("test_alarm_suppression", { * alarmSuppressionTarget: { * targetType: alarmSuppressionAlarmSuppressionTargetTargetType, * alarmId: testAlarm.id, * compartmentId: compartmentId, * compartmentIdInSubtree: alarmSuppressionAlarmSuppressionTargetCompartmentIdInSubtree === "true", * }, * displayName: alarmSuppressionDisplayName, * timeSuppressFrom: alarmSuppressionTimeSuppressFrom, * timeSuppressUntil: alarmSuppressionTimeSuppressUntil, * definedTags: { * "Operations.CostCenter": "42", * }, * description: alarmSuppressionDescription, * dimensions: alarmSuppressionDimensions, * freeformTags: { * Department: "Finance", * }, * level: alarmSuppressionLevel, * suppressionConditions: [{ * conditionType: alarmSuppressionSuppressionConditionsConditionType, * suppressionDuration: alarmSuppressionSuppressionConditionsSuppressionDuration, * suppressionRecurrence: alarmSuppressionSuppressionConditionsSuppressionRecurrence, * }], * }); * ``` * * ## Import * * AlarmSuppressions can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:Monitoring/alarmSuppression:AlarmSuppression test_alarm_suppression "id" * ``` */ export declare class AlarmSuppression extends pulumi.CustomResource { /** * Get an existing AlarmSuppression 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, state?: AlarmSuppressionState, opts?: pulumi.CustomResourceOptions): AlarmSuppression; /** * Returns true if the given object is an instance of AlarmSuppression. 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 AlarmSuppression; /** * The target of the alarm suppression. */ readonly alarmSuppressionTarget: pulumi.Output; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the alarm suppression. */ readonly compartmentId: pulumi.Output; /** * Usage of predefined tag keys. These predefined keys are scoped to namespaces. Example: `{"Operations.CostCenter": "42"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * Human-readable reason for this alarm suppression. It does not have to be unique, and it's changeable. Avoid entering confidential information. * * Oracle recommends including tracking information for the event or associated work, such as a ticket number. * * Example: `Planned outage due to change IT-1234.` */ readonly description: pulumi.Output; /** * A filter to suppress only alarm state entries that include the set of specified dimension key-value pairs. If you specify {"availabilityDomain": "phx-ad-1"} and the alarm state entry corresponds to the set {"availabilityDomain": "phx-ad-1" and "resourceId": "instance.region1.phx.exampleuniqueID"}, then this alarm will be included for suppression. * * This is required only when the value of level is `DIMENSION`. If required, the value cannot be an empty object. Only a single value is allowed per key. No grouping of multiple values is allowed under the same key. Maximum characters (after serialization): 4000. This maximum satisfies typical use cases. The response for an exceeded maximum is `HTTP 400` with an "dimensions values are too long" message. */ readonly dimensions: pulumi.Output<{ [key: string]: string; }>; /** * 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: pulumi.Output; /** * Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"Department": "Finance"}` */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; /** * 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. * * Defaut: `DIMENSION` */ readonly level: pulumi.Output; /** * The current lifecycle state of the alarm suppression. Example: `DELETED` */ readonly state: pulumi.Output; /** * Array of all preconditions for alarm suppression. Example: `[{ conditionType: "RECURRENCE", suppressionRecurrence: "FRQ=DAILY;BYHOUR=10", suppressionDuration: "PT1H" }]` */ readonly suppressionConditions: pulumi.Output; /** * The date and time the alarm suppression was created. Format defined by RFC3339. Example: `2018-02-01T01:02:29.600Z` */ readonly timeCreated: pulumi.Output; /** * The start date and time for the suppression to take place, inclusive. Format defined by RFC3339. Example: `2023-02-01T01:02:29.600Z` */ readonly timeSuppressFrom: pulumi.Output; /** * The end date and time for the suppression to take place, inclusive. Format defined by RFC3339. Example: `2023-02-01T02:02:29.600Z` * * ** 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 timeSuppressUntil: pulumi.Output; /** * The date and time the alarm suppression was last updated (deleted). Format defined by RFC3339. Example: `2018-02-03T01:02:29.600Z` */ readonly timeUpdated: pulumi.Output; /** * Create a AlarmSuppression 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: AlarmSuppressionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AlarmSuppression resources. */ export interface AlarmSuppressionState { /** * The target of the alarm suppression. */ alarmSuppressionTarget?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the alarm suppression. */ compartmentId?: pulumi.Input; /** * Usage of predefined tag keys. These predefined keys are scoped to namespaces. Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Human-readable reason for this alarm suppression. It does not have to be unique, and it's changeable. Avoid entering confidential information. * * Oracle recommends including tracking information for the event or associated work, such as a ticket number. * * Example: `Planned outage due to change IT-1234.` */ description?: pulumi.Input; /** * A filter to suppress only alarm state entries that include the set of specified dimension key-value pairs. If you specify {"availabilityDomain": "phx-ad-1"} and the alarm state entry corresponds to the set {"availabilityDomain": "phx-ad-1" and "resourceId": "instance.region1.phx.exampleuniqueID"}, then this alarm will be included for suppression. * * This is required only when the value of level is `DIMENSION`. If required, the value cannot be an empty object. Only a single value is allowed per key. No grouping of multiple values is allowed under the same key. Maximum characters (after serialization): 4000. This maximum satisfies typical use cases. The response for an exceeded maximum is `HTTP 400` with an "dimensions values are too long" message. */ dimensions?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * A user-friendly name for the alarm suppression. It does not have to be unique, and it's changeable. Avoid entering confidential information. */ displayName?: pulumi.Input; /** * Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | 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. * * Defaut: `DIMENSION` */ level?: pulumi.Input; /** * The current lifecycle state of the alarm suppression. Example: `DELETED` */ state?: pulumi.Input; /** * Array of all preconditions for alarm suppression. Example: `[{ conditionType: "RECURRENCE", suppressionRecurrence: "FRQ=DAILY;BYHOUR=10", suppressionDuration: "PT1H" }]` */ suppressionConditions?: pulumi.Input[] | undefined>; /** * The date and time the alarm suppression was created. Format defined by RFC3339. Example: `2018-02-01T01:02:29.600Z` */ timeCreated?: pulumi.Input; /** * The start date and time for the suppression to take place, inclusive. Format defined by RFC3339. Example: `2023-02-01T01:02:29.600Z` */ timeSuppressFrom?: pulumi.Input; /** * The end date and time for the suppression to take place, inclusive. Format defined by RFC3339. Example: `2023-02-01T02:02:29.600Z` * * ** 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 */ timeSuppressUntil?: pulumi.Input; /** * The date and time the alarm suppression was last updated (deleted). Format defined by RFC3339. Example: `2018-02-03T01:02:29.600Z` */ timeUpdated?: pulumi.Input; } /** * The set of arguments for constructing a AlarmSuppression resource. */ export interface AlarmSuppressionArgs { /** * The target of the alarm suppression. */ alarmSuppressionTarget: pulumi.Input; /** * Usage of predefined tag keys. These predefined keys are scoped to namespaces. Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Human-readable reason for this alarm suppression. It does not have to be unique, and it's changeable. Avoid entering confidential information. * * Oracle recommends including tracking information for the event or associated work, such as a ticket number. * * Example: `Planned outage due to change IT-1234.` */ description?: pulumi.Input; /** * A filter to suppress only alarm state entries that include the set of specified dimension key-value pairs. If you specify {"availabilityDomain": "phx-ad-1"} and the alarm state entry corresponds to the set {"availabilityDomain": "phx-ad-1" and "resourceId": "instance.region1.phx.exampleuniqueID"}, then this alarm will be included for suppression. * * This is required only when the value of level is `DIMENSION`. If required, the value cannot be an empty object. Only a single value is allowed per key. No grouping of multiple values is allowed under the same key. Maximum characters (after serialization): 4000. This maximum satisfies typical use cases. The response for an exceeded maximum is `HTTP 400` with an "dimensions values are too long" message. */ dimensions?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * A user-friendly name for the alarm suppression. It does not have to be unique, and it's changeable. Avoid entering confidential information. */ displayName: pulumi.Input; /** * Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | 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. * * Defaut: `DIMENSION` */ level?: pulumi.Input; /** * Array of all preconditions for alarm suppression. Example: `[{ conditionType: "RECURRENCE", suppressionRecurrence: "FRQ=DAILY;BYHOUR=10", suppressionDuration: "PT1H" }]` */ suppressionConditions?: pulumi.Input[] | undefined>; /** * The start date and time for the suppression to take place, inclusive. Format defined by RFC3339. Example: `2023-02-01T01:02:29.600Z` */ timeSuppressFrom: pulumi.Input; /** * The end date and time for the suppression to take place, inclusive. Format defined by RFC3339. Example: `2023-02-01T02:02:29.600Z` * * ** 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 */ timeSuppressUntil: pulumi.Input; } //# sourceMappingURL=alarmSuppression.d.ts.map