import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages an Azure Native New Relic Tag Rule. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "East US", * }); * const exampleMonitor = new azure.newrelic.Monitor("example", { * name: "example-nrm", * resourceGroupName: example.name, * location: example.location, * plan: { * effectiveDate: "2023-06-06T00:00:00Z", * }, * user: { * email: "user@example.com", * firstName: "Example", * lastName: "User", * phoneNumber: "+12313803556", * }, * }); * const exampleTagRule = new azure.newrelic.TagRule("example", { * monitorId: exampleMonitor.id, * azureActiveDirectoryLogEnabled: true, * activityLogEnabled: true, * metricEnabled: true, * subscriptionLogEnabled: true, * logTagFilters: [{ * name: "key", * action: "Include", * value: "value", * }], * metricTagFilters: [{ * name: "key", * action: "Exclude", * value: "value", * }], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `NewRelic.Observability` - 2024-03-01 * * ## Import * * Azure Native New Relic Tag Rule can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:newrelic/tagRule:TagRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/NewRelic.Observability/monitors/monitor1/tagRules/ruleSet1 * ``` */ export declare class TagRule extends pulumi.CustomResource { /** * Get an existing TagRule 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?: TagRuleState, opts?: pulumi.CustomResourceOptions): TagRule; /** * Returns true if the given object is an instance of TagRule. 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 TagRule; /** * Whether activity logs from Azure resources should be sent for the Monitor resource. Defaults to `false`. */ readonly activityLogEnabled: pulumi.Output; /** * Whether Azure Active Directory logs should be sent for the Monitor resource. Defaults to `false`. */ readonly azureActiveDirectoryLogEnabled: pulumi.Output; /** * A `logTagFilter` block as defined below. */ readonly logTagFilters: pulumi.Output; /** * Whether metrics should be sent for the Monitor resource. Defaults to `false`. */ readonly metricEnabled: pulumi.Output; /** * A `metricTagFilter` block as defined below. */ readonly metricTagFilters: pulumi.Output; /** * Specifies the ID of the New Relic Monitor this Tag Rule should be created within. Changing this forces a new Azure Native New Relic Tag Rule to be created. */ readonly monitorId: pulumi.Output; /** * Whether subscription logs should be sent for the Monitor resource. Defaults to `false`. */ readonly subscriptionLogEnabled: pulumi.Output; /** * Create a TagRule 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: TagRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering TagRule resources. */ export interface TagRuleState { /** * Whether activity logs from Azure resources should be sent for the Monitor resource. Defaults to `false`. */ activityLogEnabled?: pulumi.Input; /** * Whether Azure Active Directory logs should be sent for the Monitor resource. Defaults to `false`. */ azureActiveDirectoryLogEnabled?: pulumi.Input; /** * A `logTagFilter` block as defined below. */ logTagFilters?: pulumi.Input[]>; /** * Whether metrics should be sent for the Monitor resource. Defaults to `false`. */ metricEnabled?: pulumi.Input; /** * A `metricTagFilter` block as defined below. */ metricTagFilters?: pulumi.Input[]>; /** * Specifies the ID of the New Relic Monitor this Tag Rule should be created within. Changing this forces a new Azure Native New Relic Tag Rule to be created. */ monitorId?: pulumi.Input; /** * Whether subscription logs should be sent for the Monitor resource. Defaults to `false`. */ subscriptionLogEnabled?: pulumi.Input; } /** * The set of arguments for constructing a TagRule resource. */ export interface TagRuleArgs { /** * Whether activity logs from Azure resources should be sent for the Monitor resource. Defaults to `false`. */ activityLogEnabled?: pulumi.Input; /** * Whether Azure Active Directory logs should be sent for the Monitor resource. Defaults to `false`. */ azureActiveDirectoryLogEnabled?: pulumi.Input; /** * A `logTagFilter` block as defined below. */ logTagFilters?: pulumi.Input[]>; /** * Whether metrics should be sent for the Monitor resource. Defaults to `false`. */ metricEnabled?: pulumi.Input; /** * A `metricTagFilter` block as defined below. */ metricTagFilters?: pulumi.Input[]>; /** * Specifies the ID of the New Relic Monitor this Tag Rule should be created within. Changing this forces a new Azure Native New Relic Tag Rule to be created. */ monitorId: pulumi.Input; /** * Whether subscription logs should be sent for the Monitor resource. Defaults to `false`. */ subscriptionLogEnabled?: pulumi.Input; }