import * as pulumi from "@pulumi/pulumi"; /** * Resource for interacting with the sloCorrection API. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as datadog from "@pulumi/datadog"; * * // Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO. * const exampleSlo = new datadog.ServiceLevelObjective("example_slo", { * name: "example slo", * type: "metric", * description: "some updated description about example_slo SLO", * query: { * numerator: "sum:my.metric{type:good}.as_count()", * denominator: "sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()", * }, * thresholds: [{ * timeframe: "7d", * target: 99.5, * warning: 99.8, * }], * tags: ["foo:bar"], * }); * const exampleSloCorrection = new datadog.SloCorrection("example_slo_correction", { * category: "Scheduled Maintenance", * description: "correction example", * start: 1735707000, * end: 1735718600, * sloId: exampleSlo.id, * timezone: "UTC", * }); * const exampleSloCorrectionWithRecurrence = new datadog.SloCorrection("example_slo_correction_with_recurrence", { * category: "Scheduled Maintenance", * description: "correction example with recurrence", * start: 1735707000, * rrule: "FREQ=DAILY;INTERVAL=3;COUNT=3", * duration: 3600, * sloId: exampleSlo.id, * timezone: "UTC", * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * ```sh * $ pulumi import datadog:index/sloCorrection:SloCorrection testing_slo_correction 11111111-3fee-11eb-8a13-77cd9f15119e * ``` */ export declare class SloCorrection extends pulumi.CustomResource { /** * Get an existing SloCorrection 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?: SloCorrectionState, opts?: pulumi.CustomResourceOptions): SloCorrection; /** * Returns true if the given object is an instance of SloCorrection. 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 SloCorrection; /** * Category the SLO correction belongs to. Valid values are `Scheduled Maintenance`, `Outside Business Hours`, `Deployment`, `Other`. */ readonly category: pulumi.Output; /** * Description of the correction being made. */ readonly description: pulumi.Output; /** * Length of time in seconds for a specified `rrule` recurring SLO correction (required if specifying `rrule`) */ readonly duration: pulumi.Output; /** * Ending time of the correction in epoch seconds. Required for one time corrections, but optional if `rrule` is specified */ readonly end: pulumi.Output; /** * Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are `FREQ`, `INTERVAL`, `COUNT` and `UNTIL`. */ readonly rrule: pulumi.Output; /** * ID of the SLO that this correction will be applied to. */ readonly sloId: pulumi.Output; /** * Starting time of the correction in epoch seconds. */ readonly start: pulumi.Output; /** * The timezone to display in the UI for the correction times. Prefers IANA timezone name format (for example, 'America/Los_Angeles', 'Europe/Paris'), but some common standard abbreviations are supported. Defaults to 'UTC'. */ readonly timezone: pulumi.Output; /** * Create a SloCorrection 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: SloCorrectionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SloCorrection resources. */ export interface SloCorrectionState { /** * Category the SLO correction belongs to. Valid values are `Scheduled Maintenance`, `Outside Business Hours`, `Deployment`, `Other`. */ category?: pulumi.Input; /** * Description of the correction being made. */ description?: pulumi.Input; /** * Length of time in seconds for a specified `rrule` recurring SLO correction (required if specifying `rrule`) */ duration?: pulumi.Input; /** * Ending time of the correction in epoch seconds. Required for one time corrections, but optional if `rrule` is specified */ end?: pulumi.Input; /** * Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are `FREQ`, `INTERVAL`, `COUNT` and `UNTIL`. */ rrule?: pulumi.Input; /** * ID of the SLO that this correction will be applied to. */ sloId?: pulumi.Input; /** * Starting time of the correction in epoch seconds. */ start?: pulumi.Input; /** * The timezone to display in the UI for the correction times. Prefers IANA timezone name format (for example, 'America/Los_Angeles', 'Europe/Paris'), but some common standard abbreviations are supported. Defaults to 'UTC'. */ timezone?: pulumi.Input; } /** * The set of arguments for constructing a SloCorrection resource. */ export interface SloCorrectionArgs { /** * Category the SLO correction belongs to. Valid values are `Scheduled Maintenance`, `Outside Business Hours`, `Deployment`, `Other`. */ category: pulumi.Input; /** * Description of the correction being made. */ description?: pulumi.Input; /** * Length of time in seconds for a specified `rrule` recurring SLO correction (required if specifying `rrule`) */ duration?: pulumi.Input; /** * Ending time of the correction in epoch seconds. Required for one time corrections, but optional if `rrule` is specified */ end?: pulumi.Input; /** * Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are `FREQ`, `INTERVAL`, `COUNT` and `UNTIL`. */ rrule?: pulumi.Input; /** * ID of the SLO that this correction will be applied to. */ sloId: pulumi.Input; /** * Starting time of the correction in epoch seconds. */ start: pulumi.Input; /** * The timezone to display in the UI for the correction times. Prefers IANA timezone name format (for example, 'America/Los_Angeles', 'Europe/Paris'), but some common standard abbreviations are supported. Defaults to 'UTC'. */ timezone?: pulumi.Input; }