import * as pulumi from "@pulumi/pulumi"; import * as outputs from "./types/output"; /** * Use this data source to retrieve information about an existing SLO for use in other resources. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as datadog from "@pulumi/datadog"; * * const test = datadog.getServiceLevelObjective({ * nameQuery: "My test SLO", * tagsQuery: "foo:bar", * }); * const apiSlo = datadog.getServiceLevelObjective({ * id: api.outputs.slo, * }); * ``` */ export declare function getServiceLevelObjective(args?: GetServiceLevelObjectiveArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getServiceLevelObjective. */ export interface GetServiceLevelObjectiveArgs { /** * A SLO ID to limit the search. */ id?: string; /** * Filter results based on SLO numerator and denominator. */ metricsQuery?: string; /** * Filter results based on SLO names. */ nameQuery?: string; /** * Filter results based on a single SLO tag. */ tagsQuery?: string; } /** * A collection of values returned by getServiceLevelObjective. */ export interface GetServiceLevelObjectiveResult { /** * The description of the service level objective. */ readonly description: string; /** * A SLO ID to limit the search. */ readonly id?: string; /** * Filter results based on SLO numerator and denominator. */ readonly metricsQuery?: string; /** * Name of the Datadog service level objective */ readonly name: string; /** * Filter results based on SLO names. */ readonly nameQuery?: string; /** * The metric query of good / total events */ readonly queries: outputs.GetServiceLevelObjectiveQuery[]; /** * List of tags associated with the service level objective. */ readonly tags: string[]; /** * Filter results based on a single SLO tag. */ readonly tagsQuery?: string; /** * The primary target threshold of the service level objective. */ readonly targetThreshold: number; /** * The primary timeframe of the service level objective. */ readonly timeframe: string; /** * The type of the service level objective. The mapping from these types to the types found in the Datadog Web UI can be found in the Datadog API [documentation page](https://docs.datadoghq.com/api/v1/service-level-objectives/#create-a-slo-object). Available values are: `metric` and `monitor`. */ readonly type: string; /** * The primary warning threshold of the service level objective. */ readonly warningThreshold: number; } /** * Use this data source to retrieve information about an existing SLO for use in other resources. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as datadog from "@pulumi/datadog"; * * const test = datadog.getServiceLevelObjective({ * nameQuery: "My test SLO", * tagsQuery: "foo:bar", * }); * const apiSlo = datadog.getServiceLevelObjective({ * id: api.outputs.slo, * }); * ``` */ export declare function getServiceLevelObjectiveOutput(args?: GetServiceLevelObjectiveOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getServiceLevelObjective. */ export interface GetServiceLevelObjectiveOutputArgs { /** * A SLO ID to limit the search. */ id?: pulumi.Input; /** * Filter results based on SLO numerator and denominator. */ metricsQuery?: pulumi.Input; /** * Filter results based on SLO names. */ nameQuery?: pulumi.Input; /** * Filter results based on a single SLO tag. */ tagsQuery?: pulumi.Input; }