import * as pulumi from "@pulumi/pulumi"; /** * Manages a Cost Anomaly Alert. * * > **Note:** Anomaly alerts are sent based on the current access of the rule creator at the time that the email is sent. Learn more [here](https://learn.microsoft.com/en-us/azure/cost-management-billing/understand/analyze-unexpected-charges#create-an-anomaly-alert). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.costmanagement.AnomalyAlert("example", { * name: "alertname", * displayName: "Alert DisplayName", * subscriptionId: "/subscriptions/00000000-0000-0000-0000-000000000000", * emailSubject: "My Test Anomaly Alert", * emailAddresses: ["example@test.net"], * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.CostManagement` - 2023-08-01 * * ## Import * * Cost Anomaly Alerts can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:costmanagement/anomalyAlert:AnomalyAlert example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/scheduledActions/dailyanomalybyresourcegroup * ``` */ export declare class AnomalyAlert extends pulumi.CustomResource { /** * Get an existing AnomalyAlert 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?: AnomalyAlertState, opts?: pulumi.CustomResourceOptions): AnomalyAlert; /** * Returns true if the given object is an instance of AnomalyAlert. 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 AnomalyAlert; /** * The display name which should be used for this Cost Anomaly Alert. */ readonly displayName: pulumi.Output; /** * Specifies a list of email addresses which the Anomaly Alerts are send to. */ readonly emailAddresses: pulumi.Output; /** * The email subject of the Cost Anomaly Alerts. Maximum length of the subject is 70. */ readonly emailSubject: pulumi.Output; /** * The message of the Cost Anomaly Alert. Maximum length of the message is 250. */ readonly message: pulumi.Output; /** * The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. */ readonly name: pulumi.Output; /** * The email address of the point of contact that should get the unsubscribe requests and notification emails. */ readonly notificationEmail: pulumi.Output; /** * The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. */ readonly subscriptionId: pulumi.Output; /** * Create a AnomalyAlert 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: AnomalyAlertArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AnomalyAlert resources. */ export interface AnomalyAlertState { /** * The display name which should be used for this Cost Anomaly Alert. */ displayName?: pulumi.Input; /** * Specifies a list of email addresses which the Anomaly Alerts are send to. */ emailAddresses?: pulumi.Input[]>; /** * The email subject of the Cost Anomaly Alerts. Maximum length of the subject is 70. */ emailSubject?: pulumi.Input; /** * The message of the Cost Anomaly Alert. Maximum length of the message is 250. */ message?: pulumi.Input; /** * The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. */ name?: pulumi.Input; /** * The email address of the point of contact that should get the unsubscribe requests and notification emails. */ notificationEmail?: pulumi.Input; /** * The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. */ subscriptionId?: pulumi.Input; } /** * The set of arguments for constructing a AnomalyAlert resource. */ export interface AnomalyAlertArgs { /** * The display name which should be used for this Cost Anomaly Alert. */ displayName: pulumi.Input; /** * Specifies a list of email addresses which the Anomaly Alerts are send to. */ emailAddresses: pulumi.Input[]>; /** * The email subject of the Cost Anomaly Alerts. Maximum length of the subject is 70. */ emailSubject: pulumi.Input; /** * The message of the Cost Anomaly Alert. Maximum length of the message is 250. */ message?: pulumi.Input; /** * The name which should be used for this Cost Anomaly Alert. Changing this forces a new resource to be created. The name can contain only lowercase letters, numbers and hyphens. */ name?: pulumi.Input; /** * The email address of the point of contact that should get the unsubscribe requests and notification emails. */ notificationEmail?: pulumi.Input; /** * The ID of the Subscription this Cost Anomaly Alert is scoped to. Changing this forces a new resource to be created. When not supplied this defaults to the subscription configured in the provider. */ subscriptionId?: pulumi.Input; }