import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages TagRules on the datadog Monitor. * * ## Example Usage * * ### Adding TagRules on monitor * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-datadog", * location: "West US 2", * }); * const exampleMonitor = new azure.datadog.Monitor("example", { * name: "example-monitor", * resourceGroupName: example.name, * location: example.location, * datadogOrganization: { * apiKey: "XXXX", * applicationKey: "XXXX", * }, * user: { * name: "Example", * email: "abc@xyz.com", * }, * skuName: "Linked", * identity: { * type: "SystemAssigned", * }, * }); * const exampleMonitorTagRule = new azure.datadog.MonitorTagRule("example", { * datadogMonitorId: exampleMonitor.id, * logs: [{ * subscriptionLogEnabled: true, * }], * metrics: [{ * filters: [{ * name: "Test", * value: "Logs", * action: "Include", * }], * }], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Datadog` - 2021-03-01 * * ## Import * * Tag Rules on the Datadog Monitor can be imported using the `tag rule resource id`, e.g. * * ```sh * $ pulumi import azure:datadog/monitorTagRule:MonitorTagRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Datadog/monitors/monitor1/tagRules/default * ``` */ export declare class MonitorTagRule extends pulumi.CustomResource { /** * Get an existing MonitorTagRule 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?: MonitorTagRuleState, opts?: pulumi.CustomResourceOptions): MonitorTagRule; /** * Returns true if the given object is an instance of MonitorTagRule. 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 MonitorTagRule; /** * The Datadog Monitor Id which should be used for this Datadog Monitor Tag Rule. Changing this forces a new Datadog Monitor Tag Rule to be created. */ readonly datadogMonitorId: pulumi.Output; /** * A `log` block as defined below. */ readonly logs: pulumi.Output; /** * A `metric` block as defined below. */ readonly metrics: pulumi.Output; /** * The name of the Tag Rules configuration. The allowed value is `default`. Defaults to `default`. */ readonly name: pulumi.Output; /** * Create a MonitorTagRule 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: MonitorTagRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MonitorTagRule resources. */ export interface MonitorTagRuleState { /** * The Datadog Monitor Id which should be used for this Datadog Monitor Tag Rule. Changing this forces a new Datadog Monitor Tag Rule to be created. */ datadogMonitorId?: pulumi.Input; /** * A `log` block as defined below. */ logs?: pulumi.Input[]>; /** * A `metric` block as defined below. */ metrics?: pulumi.Input[]>; /** * The name of the Tag Rules configuration. The allowed value is `default`. Defaults to `default`. */ name?: pulumi.Input; } /** * The set of arguments for constructing a MonitorTagRule resource. */ export interface MonitorTagRuleArgs { /** * The Datadog Monitor Id which should be used for this Datadog Monitor Tag Rule. Changing this forces a new Datadog Monitor Tag Rule to be created. */ datadogMonitorId: pulumi.Input; /** * A `log` block as defined below. */ logs?: pulumi.Input[]>; /** * A `metric` block as defined below. */ metrics?: pulumi.Input[]>; /** * The name of the Tag Rules configuration. The allowed value is `default`. Defaults to `default`. */ name?: pulumi.Input; }