1. Packages
  2. Datadog
  3. API Docs
  4. SloCorrection
Datadog v4.27.0 published on Thursday, Mar 14, 2024 by Pulumi

datadog.SloCorrection

Explore with Pulumi AI

datadog logo
Datadog v4.27.0 published on Thursday, Mar 14, 2024 by Pulumi

    Resource for interacting with the slo_correction API.

    Example Usage

    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("exampleSlo", {
        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("exampleSloCorrection", {
        category: "Scheduled Maintenance",
        description: "correction example",
        start: 1735707000,
        end: 1735718600,
        sloId: exampleSlo.id,
        timezone: "UTC",
    });
    const exampleSloCorrectionWithRecurrence = new datadog.SloCorrection("exampleSloCorrectionWithRecurrence", {
        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 pulumi
    import pulumi_datadog as datadog
    
    # Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.
    example_slo = datadog.ServiceLevelObjective("exampleSlo",
        name="example slo",
        type="metric",
        description="some updated description about example_slo SLO",
        query=datadog.ServiceLevelObjectiveQueryArgs(
            numerator="sum:my.metric{type:good}.as_count()",
            denominator="sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()",
        ),
        thresholds=[datadog.ServiceLevelObjectiveThresholdArgs(
            timeframe="7d",
            target=99.5,
            warning=99.8,
        )],
        tags=["foo:bar"])
    example_slo_correction = datadog.SloCorrection("exampleSloCorrection",
        category="Scheduled Maintenance",
        description="correction example",
        start=1735707000,
        end=1735718600,
        slo_id=example_slo.id,
        timezone="UTC")
    example_slo_correction_with_recurrence = datadog.SloCorrection("exampleSloCorrectionWithRecurrence",
        category="Scheduled Maintenance",
        description="correction example with recurrence",
        start=1735707000,
        rrule="FREQ=DAILY;INTERVAL=3;COUNT=3",
        duration=3600,
        slo_id=example_slo.id,
        timezone="UTC")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.
    		exampleSlo, err := datadog.NewServiceLevelObjective(ctx, "exampleSlo", &datadog.ServiceLevelObjectiveArgs{
    			Name:        pulumi.String("example slo"),
    			Type:        pulumi.String("metric"),
    			Description: pulumi.String("some updated description about example_slo SLO"),
    			Query: &datadog.ServiceLevelObjectiveQueryArgs{
    				Numerator:   pulumi.String("sum:my.metric{type:good}.as_count()"),
    				Denominator: pulumi.String("sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()"),
    			},
    			Thresholds: datadog.ServiceLevelObjectiveThresholdArray{
    				&datadog.ServiceLevelObjectiveThresholdArgs{
    					Timeframe: pulumi.String("7d"),
    					Target:    pulumi.Float64(99.5),
    					Warning:   pulumi.Float64(99.8),
    				},
    			},
    			Tags: pulumi.StringArray{
    				pulumi.String("foo:bar"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = datadog.NewSloCorrection(ctx, "exampleSloCorrection", &datadog.SloCorrectionArgs{
    			Category:    pulumi.String("Scheduled Maintenance"),
    			Description: pulumi.String("correction example"),
    			Start:       pulumi.Int(1735707000),
    			End:         pulumi.Int(1735718600),
    			SloId:       exampleSlo.ID(),
    			Timezone:    pulumi.String("UTC"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = datadog.NewSloCorrection(ctx, "exampleSloCorrectionWithRecurrence", &datadog.SloCorrectionArgs{
    			Category:    pulumi.String("Scheduled Maintenance"),
    			Description: pulumi.String("correction example with recurrence"),
    			Start:       pulumi.Int(1735707000),
    			Rrule:       pulumi.String("FREQ=DAILY;INTERVAL=3;COUNT=3"),
    			Duration:    pulumi.Int(3600),
    			SloId:       exampleSlo.ID(),
    			Timezone:    pulumi.String("UTC"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Datadog = Pulumi.Datadog;
    
    return await Deployment.RunAsync(() => 
    {
        // Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.
        var exampleSlo = new Datadog.ServiceLevelObjective("exampleSlo", new()
        {
            Name = "example slo",
            Type = "metric",
            Description = "some updated description about example_slo SLO",
            Query = new Datadog.Inputs.ServiceLevelObjectiveQueryArgs
            {
                Numerator = "sum:my.metric{type:good}.as_count()",
                Denominator = "sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()",
            },
            Thresholds = new[]
            {
                new Datadog.Inputs.ServiceLevelObjectiveThresholdArgs
                {
                    Timeframe = "7d",
                    Target = 99.5,
                    Warning = 99.8,
                },
            },
            Tags = new[]
            {
                "foo:bar",
            },
        });
    
        var exampleSloCorrection = new Datadog.SloCorrection("exampleSloCorrection", new()
        {
            Category = "Scheduled Maintenance",
            Description = "correction example",
            Start = 1735707000,
            End = 1735718600,
            SloId = exampleSlo.Id,
            Timezone = "UTC",
        });
    
        var exampleSloCorrectionWithRecurrence = new Datadog.SloCorrection("exampleSloCorrectionWithRecurrence", new()
        {
            Category = "Scheduled Maintenance",
            Description = "correction example with recurrence",
            Start = 1735707000,
            Rrule = "FREQ=DAILY;INTERVAL=3;COUNT=3",
            Duration = 3600,
            SloId = exampleSlo.Id,
            Timezone = "UTC",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.datadog.ServiceLevelObjective;
    import com.pulumi.datadog.ServiceLevelObjectiveArgs;
    import com.pulumi.datadog.inputs.ServiceLevelObjectiveQueryArgs;
    import com.pulumi.datadog.inputs.ServiceLevelObjectiveThresholdArgs;
    import com.pulumi.datadog.SloCorrection;
    import com.pulumi.datadog.SloCorrectionArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var exampleSlo = new ServiceLevelObjective("exampleSlo", ServiceLevelObjectiveArgs.builder()        
                .name("example slo")
                .type("metric")
                .description("some updated description about example_slo SLO")
                .query(ServiceLevelObjectiveQueryArgs.builder()
                    .numerator("sum:my.metric{type:good}.as_count()")
                    .denominator("sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()")
                    .build())
                .thresholds(ServiceLevelObjectiveThresholdArgs.builder()
                    .timeframe("7d")
                    .target(99.5)
                    .warning(99.8)
                    .build())
                .tags("foo:bar")
                .build());
    
            var exampleSloCorrection = new SloCorrection("exampleSloCorrection", SloCorrectionArgs.builder()        
                .category("Scheduled Maintenance")
                .description("correction example")
                .start(1735707000)
                .end(1735718600)
                .sloId(exampleSlo.id())
                .timezone("UTC")
                .build());
    
            var exampleSloCorrectionWithRecurrence = new SloCorrection("exampleSloCorrectionWithRecurrence", SloCorrectionArgs.builder()        
                .category("Scheduled Maintenance")
                .description("correction example with recurrence")
                .start(1735707000)
                .rrule("FREQ=DAILY;INTERVAL=3;COUNT=3")
                .duration(3600)
                .sloId(exampleSlo.id())
                .timezone("UTC")
                .build());
    
        }
    }
    
    resources:
      # Create a new Datadog SLO correction. slo_id can be derived from slo resource or specify an slo id of an existing SLO.
      exampleSlo:
        type: datadog:ServiceLevelObjective
        properties:
          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
      exampleSloCorrection:
        type: datadog:SloCorrection
        properties:
          category: Scheduled Maintenance
          description: correction example
          start: 1.735707e+09
          end: 1.7357186e+09
          sloId: ${exampleSlo.id}
          timezone: UTC
      exampleSloCorrectionWithRecurrence:
        type: datadog:SloCorrection
        properties:
          category: Scheduled Maintenance
          description: correction example with recurrence
          start: 1.735707e+09
          rrule: FREQ=DAILY;INTERVAL=3;COUNT=3
          duration: 3600
          sloId: ${exampleSlo.id}
          timezone: UTC
    

    Create SloCorrection Resource

    new SloCorrection(name: string, args: SloCorrectionArgs, opts?: CustomResourceOptions);
    @overload
    def SloCorrection(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      category: Optional[str] = None,
                      description: Optional[str] = None,
                      duration: Optional[int] = None,
                      end: Optional[int] = None,
                      rrule: Optional[str] = None,
                      slo_id: Optional[str] = None,
                      start: Optional[int] = None,
                      timezone: Optional[str] = None)
    @overload
    def SloCorrection(resource_name: str,
                      args: SloCorrectionArgs,
                      opts: Optional[ResourceOptions] = None)
    func NewSloCorrection(ctx *Context, name string, args SloCorrectionArgs, opts ...ResourceOption) (*SloCorrection, error)
    public SloCorrection(string name, SloCorrectionArgs args, CustomResourceOptions? opts = null)
    public SloCorrection(String name, SloCorrectionArgs args)
    public SloCorrection(String name, SloCorrectionArgs args, CustomResourceOptions options)
    
    type: datadog:SloCorrection
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args SloCorrectionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args SloCorrectionArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args SloCorrectionArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args SloCorrectionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args SloCorrectionArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    SloCorrection Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The SloCorrection resource accepts the following input properties:

    Category string
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    SloId string
    ID of the SLO that this correction will be applied to.
    Start int
    Starting time of the correction in epoch seconds.
    Description string
    Description of the correction being made.
    Duration int
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    End int
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    Rrule string
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    Timezone string
    The timezone to display in the UI for the correction times (defaults to "UTC")
    Category string
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    SloId string
    ID of the SLO that this correction will be applied to.
    Start int
    Starting time of the correction in epoch seconds.
    Description string
    Description of the correction being made.
    Duration int
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    End int
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    Rrule string
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    Timezone string
    The timezone to display in the UI for the correction times (defaults to "UTC")
    category String
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    sloId String
    ID of the SLO that this correction will be applied to.
    start Integer
    Starting time of the correction in epoch seconds.
    description String
    Description of the correction being made.
    duration Integer
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    end Integer
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    rrule String
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    timezone String
    The timezone to display in the UI for the correction times (defaults to "UTC")
    category string
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    sloId string
    ID of the SLO that this correction will be applied to.
    start number
    Starting time of the correction in epoch seconds.
    description string
    Description of the correction being made.
    duration number
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    end number
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    rrule string
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    timezone string
    The timezone to display in the UI for the correction times (defaults to "UTC")
    category str
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    slo_id str
    ID of the SLO that this correction will be applied to.
    start int
    Starting time of the correction in epoch seconds.
    description str
    Description of the correction being made.
    duration int
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    end int
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    rrule str
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    timezone str
    The timezone to display in the UI for the correction times (defaults to "UTC")
    category String
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    sloId String
    ID of the SLO that this correction will be applied to.
    start Number
    Starting time of the correction in epoch seconds.
    description String
    Description of the correction being made.
    duration Number
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    end Number
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    rrule String
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    timezone String
    The timezone to display in the UI for the correction times (defaults to "UTC")

    Outputs

    All input properties are implicitly available as output properties. Additionally, the SloCorrection resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing SloCorrection Resource

    Get an existing SloCorrection resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: SloCorrectionState, opts?: CustomResourceOptions): SloCorrection
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            category: Optional[str] = None,
            description: Optional[str] = None,
            duration: Optional[int] = None,
            end: Optional[int] = None,
            rrule: Optional[str] = None,
            slo_id: Optional[str] = None,
            start: Optional[int] = None,
            timezone: Optional[str] = None) -> SloCorrection
    func GetSloCorrection(ctx *Context, name string, id IDInput, state *SloCorrectionState, opts ...ResourceOption) (*SloCorrection, error)
    public static SloCorrection Get(string name, Input<string> id, SloCorrectionState? state, CustomResourceOptions? opts = null)
    public static SloCorrection get(String name, Output<String> id, SloCorrectionState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Category string
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    Description string
    Description of the correction being made.
    Duration int
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    End int
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    Rrule string
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    SloId string
    ID of the SLO that this correction will be applied to.
    Start int
    Starting time of the correction in epoch seconds.
    Timezone string
    The timezone to display in the UI for the correction times (defaults to "UTC")
    Category string
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    Description string
    Description of the correction being made.
    Duration int
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    End int
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    Rrule string
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    SloId string
    ID of the SLO that this correction will be applied to.
    Start int
    Starting time of the correction in epoch seconds.
    Timezone string
    The timezone to display in the UI for the correction times (defaults to "UTC")
    category String
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    description String
    Description of the correction being made.
    duration Integer
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    end Integer
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    rrule String
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    sloId String
    ID of the SLO that this correction will be applied to.
    start Integer
    Starting time of the correction in epoch seconds.
    timezone String
    The timezone to display in the UI for the correction times (defaults to "UTC")
    category string
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    description string
    Description of the correction being made.
    duration number
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    end number
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    rrule string
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    sloId string
    ID of the SLO that this correction will be applied to.
    start number
    Starting time of the correction in epoch seconds.
    timezone string
    The timezone to display in the UI for the correction times (defaults to "UTC")
    category str
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    description str
    Description of the correction being made.
    duration int
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    end int
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    rrule str
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    slo_id str
    ID of the SLO that this correction will be applied to.
    start int
    Starting time of the correction in epoch seconds.
    timezone str
    The timezone to display in the UI for the correction times (defaults to "UTC")
    category String
    Category the SLO correction belongs to. Valid values are Scheduled Maintenance, Outside Business Hours, Deployment, Other.
    description String
    Description of the correction being made.
    duration Number
    Length of time in seconds for a specified rrule recurring SLO correction (required if specifying rrule)
    end Number
    Ending time of the correction in epoch seconds. Required for one time corrections, but optional if rrule is specified
    rrule String
    Recurrence rules as defined in the iCalendar RFC 5545. Supported rules for SLO corrections are FREQ, INTERVAL, COUNT and UNTIL.
    sloId String
    ID of the SLO that this correction will be applied to.
    start Number
    Starting time of the correction in epoch seconds.
    timezone String
    The timezone to display in the UI for the correction times (defaults to "UTC")

    Import

    $ pulumi import datadog:index/sloCorrection:SloCorrection testing_slo_correction 11111111-3fee-11eb-8a13-77cd9f15119e
    

    Package Details

    Repository
    Datadog pulumi/pulumi-datadog
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the datadog Terraform Provider.
    datadog logo
    Datadog v4.27.0 published on Thursday, Mar 14, 2024 by Pulumi