@pulumiverse/scaleway
Version:
A Pulumi package for creating and managing Scaleway cloud resources.
154 lines • 6.41 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Creates and manages Scaleway Budget Alert Notifications.
*
* A Budget Alert Notification defines how to notify recipients when a budget alert is triggered.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as scaleway from "@pulumiverse/scaleway";
*
* const main = new scaleway.billing.Budget("main", {
* organizationId: "11111111-1111-1111-1111-111111111111",
* consumptionLimit: 10000,
* enabled: true,
* });
* const mainBudgetAlert = new scaleway.billing.BudgetAlert("main", {
* budgetId: main.id,
* threshold: 80,
* });
* const email = new scaleway.billing.BudgetAlertNotification("email", {
* budgetAlertId: mainBudgetAlert.id,
* emailAddresses: [
* "alerts@example.com",
* "billing@example.com",
* ],
* });
* const sms = new scaleway.billing.BudgetAlertNotification("sms", {
* budgetAlertId: mainBudgetAlert.id,
* smsPhoneNumbers: ["+33612345678"],
* });
* const webhook = new scaleway.billing.BudgetAlertNotification("webhook", {
* budgetAlertId: mainBudgetAlert.id,
* webhookUrls: ["https://example.com/webhook"],
* });
* ```
*
* ## Import
*
* Budget Alert Notification can be imported using the notification ID.
*
* ```sh
* $ pulumi import scaleway:billing/budgetAlertNotification:BudgetAlertNotification main 11111111-1111-1111-1111-111111111111
* ```
*/
export declare class BudgetAlertNotification extends pulumi.CustomResource {
/**
* Get an existing BudgetAlertNotification 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<pulumi.ID>, state?: BudgetAlertNotificationState, opts?: pulumi.CustomResourceOptions): BudgetAlertNotification;
/**
* Returns true if the given object is an instance of BudgetAlertNotification. 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 BudgetAlertNotification;
/**
* The ID of the budget alert to create notification for.
*/
readonly budgetAlertId: pulumi.Output<string>;
/**
* The date and time of budget alert notification creation
*/
readonly createdAt: pulumi.Output<string>;
/**
* List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
*/
readonly emailAddresses: pulumi.Output<string[] | undefined>;
/**
* List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
*/
readonly smsPhoneNumbers: pulumi.Output<string[] | undefined>;
/**
* The type of notification (sms, email, or webhook)
*/
readonly type: pulumi.Output<string>;
/**
* The date and time when the budget alert notification was last updated
*/
readonly updatedAt: pulumi.Output<string>;
/**
* List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
*/
readonly webhookUrls: pulumi.Output<string[] | undefined>;
/**
* Create a BudgetAlertNotification 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: BudgetAlertNotificationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering BudgetAlertNotification resources.
*/
export interface BudgetAlertNotificationState {
/**
* The ID of the budget alert to create notification for.
*/
budgetAlertId?: pulumi.Input<string | undefined>;
/**
* The date and time of budget alert notification creation
*/
createdAt?: pulumi.Input<string | undefined>;
/**
* List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
*/
emailAddresses?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
*/
smsPhoneNumbers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* The type of notification (sms, email, or webhook)
*/
type?: pulumi.Input<string | undefined>;
/**
* The date and time when the budget alert notification was last updated
*/
updatedAt?: pulumi.Input<string | undefined>;
/**
* List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
*/
webhookUrls?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
/**
* The set of arguments for constructing a BudgetAlertNotification resource.
*/
export interface BudgetAlertNotificationArgs {
/**
* The ID of the budget alert to create notification for.
*/
budgetAlertId: pulumi.Input<string>;
/**
* List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
*/
emailAddresses?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
*/
smsPhoneNumbers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
*/
webhookUrls?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
//# sourceMappingURL=budgetAlertNotification.d.ts.map