published on Friday, Jul 17, 2026 by pulumiverse
published on Friday, Jul 17, 2026 by pulumiverse
Creates and manages Scaleway Budget Alert Notifications.
A Budget Alert Notification defines how to notify recipients when a budget alert is triggered.
Example Usage
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 pulumi
import pulumiverse_scaleway as scaleway
main = scaleway.billing.Budget("main",
organization_id="11111111-1111-1111-1111-111111111111",
consumption_limit=10000,
enabled=True)
main_budget_alert = scaleway.billing.BudgetAlert("main",
budget_id=main.id,
threshold=80)
email = scaleway.billing.BudgetAlertNotification("email",
budget_alert_id=main_budget_alert.id,
email_addresses=[
"alerts@example.com",
"billing@example.com",
])
sms = scaleway.billing.BudgetAlertNotification("sms",
budget_alert_id=main_budget_alert.id,
sms_phone_numbers=["+33612345678"])
webhook = scaleway.billing.BudgetAlertNotification("webhook",
budget_alert_id=main_budget_alert.id,
webhook_urls=["https://example.com/webhook"])
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/billing"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
main, err := billing.NewBudget(ctx, "main", &billing.BudgetArgs{
OrganizationId: pulumi.String("11111111-1111-1111-1111-111111111111"),
ConsumptionLimit: pulumi.Int(10000),
Enabled: pulumi.Bool(true),
})
if err != nil {
return err
}
mainBudgetAlert, err := billing.NewBudgetAlert(ctx, "main", &billing.BudgetAlertArgs{
BudgetId: main.ID(),
Threshold: pulumi.Int(80),
})
if err != nil {
return err
}
_, err = billing.NewBudgetAlertNotification(ctx, "email", &billing.BudgetAlertNotificationArgs{
BudgetAlertId: mainBudgetAlert.ID(),
EmailAddresses: pulumi.StringArray{
pulumi.String("alerts@example.com"),
pulumi.String("billing@example.com"),
},
})
if err != nil {
return err
}
_, err = billing.NewBudgetAlertNotification(ctx, "sms", &billing.BudgetAlertNotificationArgs{
BudgetAlertId: mainBudgetAlert.ID(),
SmsPhoneNumbers: pulumi.StringArray{
pulumi.String("+33612345678"),
},
})
if err != nil {
return err
}
_, err = billing.NewBudgetAlertNotification(ctx, "webhook", &billing.BudgetAlertNotificationArgs{
BudgetAlertId: mainBudgetAlert.ID(),
WebhookUrls: pulumi.StringArray{
pulumi.String("https://example.com/webhook"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Scaleway = Pulumiverse.Scaleway;
return await Deployment.RunAsync(() =>
{
var main = new Scaleway.Billing.Budget("main", new()
{
OrganizationId = "11111111-1111-1111-1111-111111111111",
ConsumptionLimit = 10000,
Enabled = true,
});
var mainBudgetAlert = new Scaleway.Billing.BudgetAlert("main", new()
{
BudgetId = main.Id,
Threshold = 80,
});
var email = new Scaleway.Billing.BudgetAlertNotification("email", new()
{
BudgetAlertId = mainBudgetAlert.Id,
EmailAddresses = new[]
{
"alerts@example.com",
"billing@example.com",
},
});
var sms = new Scaleway.Billing.BudgetAlertNotification("sms", new()
{
BudgetAlertId = mainBudgetAlert.Id,
SmsPhoneNumbers = new[]
{
"+33612345678",
},
});
var webhook = new Scaleway.Billing.BudgetAlertNotification("webhook", new()
{
BudgetAlertId = mainBudgetAlert.Id,
WebhookUrls = new[]
{
"https://example.com/webhook",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.scaleway.billing.Budget;
import com.pulumi.scaleway.billing.BudgetArgs;
import com.pulumi.scaleway.billing.BudgetAlert;
import com.pulumi.scaleway.billing.BudgetAlertArgs;
import com.pulumi.scaleway.billing.BudgetAlertNotification;
import com.pulumi.scaleway.billing.BudgetAlertNotificationArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var main = new Budget("main", BudgetArgs.builder()
.organizationId("11111111-1111-1111-1111-111111111111")
.consumptionLimit(10000)
.enabled(true)
.build());
var mainBudgetAlert = new BudgetAlert("mainBudgetAlert", BudgetAlertArgs.builder()
.budgetId(main.id())
.threshold(80)
.build());
var email = new BudgetAlertNotification("email", BudgetAlertNotificationArgs.builder()
.budgetAlertId(mainBudgetAlert.id())
.emailAddresses(
"alerts@example.com",
"billing@example.com")
.build());
var sms = new BudgetAlertNotification("sms", BudgetAlertNotificationArgs.builder()
.budgetAlertId(mainBudgetAlert.id())
.smsPhoneNumbers("+33612345678")
.build());
var webhook = new BudgetAlertNotification("webhook", BudgetAlertNotificationArgs.builder()
.budgetAlertId(mainBudgetAlert.id())
.webhookUrls("https://example.com/webhook")
.build());
}
}
resources:
main:
type: scaleway:billing:Budget
properties:
organizationId: 11111111-1111-1111-1111-111111111111
consumptionLimit: 10000
enabled: true
mainBudgetAlert:
type: scaleway:billing:BudgetAlert
name: main
properties:
budgetId: ${main.id}
threshold: 80
email:
type: scaleway:billing:BudgetAlertNotification
properties:
budgetAlertId: ${mainBudgetAlert.id}
emailAddresses:
- alerts@example.com
- billing@example.com
sms:
type: scaleway:billing:BudgetAlertNotification
properties:
budgetAlertId: ${mainBudgetAlert.id}
smsPhoneNumbers:
- '+33612345678'
webhook:
type: scaleway:billing:BudgetAlertNotification
properties:
budgetAlertId: ${mainBudgetAlert.id}
webhookUrls:
- https://example.com/webhook
Example coming soon!
Create BudgetAlertNotification Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new BudgetAlertNotification(name: string, args: BudgetAlertNotificationArgs, opts?: CustomResourceOptions);@overload
def BudgetAlertNotification(resource_name: str,
args: BudgetAlertNotificationArgs,
opts: Optional[ResourceOptions] = None)
@overload
def BudgetAlertNotification(resource_name: str,
opts: Optional[ResourceOptions] = None,
budget_alert_id: Optional[str] = None,
email_addresses: Optional[Sequence[str]] = None,
sms_phone_numbers: Optional[Sequence[str]] = None,
webhook_urls: Optional[Sequence[str]] = None)func NewBudgetAlertNotification(ctx *Context, name string, args BudgetAlertNotificationArgs, opts ...ResourceOption) (*BudgetAlertNotification, error)public BudgetAlertNotification(string name, BudgetAlertNotificationArgs args, CustomResourceOptions? opts = null)
public BudgetAlertNotification(String name, BudgetAlertNotificationArgs args)
public BudgetAlertNotification(String name, BudgetAlertNotificationArgs args, CustomResourceOptions options)
type: scaleway:billing:BudgetAlertNotification
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "scaleway_billing_budget_alert_notification" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args BudgetAlertNotificationArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args BudgetAlertNotificationArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args BudgetAlertNotificationArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args BudgetAlertNotificationArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args BudgetAlertNotificationArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var budgetAlertNotificationResource = new Scaleway.Billing.BudgetAlertNotification("budgetAlertNotificationResource", new()
{
BudgetAlertId = "string",
EmailAddresses = new[]
{
"string",
},
SmsPhoneNumbers = new[]
{
"string",
},
WebhookUrls = new[]
{
"string",
},
});
example, err := billing.NewBudgetAlertNotification(ctx, "budgetAlertNotificationResource", &billing.BudgetAlertNotificationArgs{
BudgetAlertId: pulumi.String("string"),
EmailAddresses: pulumi.StringArray{
pulumi.String("string"),
},
SmsPhoneNumbers: pulumi.StringArray{
pulumi.String("string"),
},
WebhookUrls: pulumi.StringArray{
pulumi.String("string"),
},
})
resource "scaleway_billing_budget_alert_notification" "budgetAlertNotificationResource" {
lifecycle {
create_before_destroy = true
}
budget_alert_id = "string"
email_addresses = ["string"]
sms_phone_numbers = ["string"]
webhook_urls = ["string"]
}
var budgetAlertNotificationResource = new BudgetAlertNotification("budgetAlertNotificationResource", BudgetAlertNotificationArgs.builder()
.budgetAlertId("string")
.emailAddresses("string")
.smsPhoneNumbers("string")
.webhookUrls("string")
.build());
budget_alert_notification_resource = scaleway.billing.BudgetAlertNotification("budgetAlertNotificationResource",
budget_alert_id="string",
email_addresses=["string"],
sms_phone_numbers=["string"],
webhook_urls=["string"])
const budgetAlertNotificationResource = new scaleway.billing.BudgetAlertNotification("budgetAlertNotificationResource", {
budgetAlertId: "string",
emailAddresses: ["string"],
smsPhoneNumbers: ["string"],
webhookUrls: ["string"],
});
type: scaleway:billing:BudgetAlertNotification
properties:
budgetAlertId: string
emailAddresses:
- string
smsPhoneNumbers:
- string
webhookUrls:
- string
BudgetAlertNotification Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The BudgetAlertNotification resource accepts the following input properties:
- Budget
Alert stringId - The ID of the budget alert to create notification for.
- Email
Addresses List<string> - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- Sms
Phone List<string>Numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- Webhook
Urls List<string> - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- Budget
Alert stringId - The ID of the budget alert to create notification for.
- Email
Addresses []string - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- Sms
Phone []stringNumbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- Webhook
Urls []string - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- budget_
alert_ stringid - The ID of the budget alert to create notification for.
- email_
addresses list(string) - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- sms_
phone_ list(string)numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- webhook_
urls list(string) - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- budget
Alert StringId - The ID of the budget alert to create notification for.
- email
Addresses List<String> - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- sms
Phone List<String>Numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- webhook
Urls List<String> - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- budget
Alert stringId - The ID of the budget alert to create notification for.
- email
Addresses string[] - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- sms
Phone string[]Numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- webhook
Urls string[] - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- budget_
alert_ strid - The ID of the budget alert to create notification for.
- email_
addresses Sequence[str] - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- sms_
phone_ Sequence[str]numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- webhook_
urls Sequence[str] - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- budget
Alert StringId - The ID of the budget alert to create notification for.
- email
Addresses List<String> - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- sms
Phone List<String>Numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- webhook
Urls List<String> - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
Outputs
All input properties are implicitly available as output properties. Additionally, the BudgetAlertNotification resource produces the following output properties:
- created_
at string - The date and time of budget alert notification creation
- id string
- The provider-assigned unique ID for this managed resource.
- type string
- The type of notification (sms, email, or webhook)
- updated_
at string - The date and time when the budget alert notification was last updated
- created_
at str - The date and time of budget alert notification creation
- id str
- The provider-assigned unique ID for this managed resource.
- type str
- The type of notification (sms, email, or webhook)
- updated_
at str - The date and time when the budget alert notification was last updated
Look up Existing BudgetAlertNotification Resource
Get an existing BudgetAlertNotification resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: BudgetAlertNotificationState, opts?: CustomResourceOptions): BudgetAlertNotification@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
budget_alert_id: Optional[str] = None,
created_at: Optional[str] = None,
email_addresses: Optional[Sequence[str]] = None,
sms_phone_numbers: Optional[Sequence[str]] = None,
type: Optional[str] = None,
updated_at: Optional[str] = None,
webhook_urls: Optional[Sequence[str]] = None) -> BudgetAlertNotificationfunc GetBudgetAlertNotification(ctx *Context, name string, id IDInput, state *BudgetAlertNotificationState, opts ...ResourceOption) (*BudgetAlertNotification, error)public static BudgetAlertNotification Get(string name, Input<string> id, BudgetAlertNotificationState? state, CustomResourceOptions? opts = null)public static BudgetAlertNotification get(String name, Output<String> id, BudgetAlertNotificationState state, CustomResourceOptions options)resources: _: type: scaleway:billing:BudgetAlertNotification get: id: ${id}import {
to = scaleway_billing_budget_alert_notification.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Budget
Alert stringId - The ID of the budget alert to create notification for.
- Created
At string - The date and time of budget alert notification creation
- Email
Addresses List<string> - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- Sms
Phone List<string>Numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- Type string
- The type of notification (sms, email, or webhook)
- Updated
At string - The date and time when the budget alert notification was last updated
- Webhook
Urls List<string> - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- Budget
Alert stringId - The ID of the budget alert to create notification for.
- Created
At string - The date and time of budget alert notification creation
- Email
Addresses []string - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- Sms
Phone []stringNumbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- Type string
- The type of notification (sms, email, or webhook)
- Updated
At string - The date and time when the budget alert notification was last updated
- Webhook
Urls []string - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- budget_
alert_ stringid - The ID of the budget alert to create notification for.
- created_
at string - The date and time of budget alert notification creation
- email_
addresses list(string) - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- sms_
phone_ list(string)numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- type string
- The type of notification (sms, email, or webhook)
- updated_
at string - The date and time when the budget alert notification was last updated
- webhook_
urls list(string) - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- budget
Alert StringId - The ID of the budget alert to create notification for.
- created
At String - The date and time of budget alert notification creation
- email
Addresses List<String> - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- sms
Phone List<String>Numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- type String
- The type of notification (sms, email, or webhook)
- updated
At String - The date and time when the budget alert notification was last updated
- webhook
Urls List<String> - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- budget
Alert stringId - The ID of the budget alert to create notification for.
- created
At string - The date and time of budget alert notification creation
- email
Addresses string[] - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- sms
Phone string[]Numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- type string
- The type of notification (sms, email, or webhook)
- updated
At string - The date and time when the budget alert notification was last updated
- webhook
Urls string[] - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- budget_
alert_ strid - The ID of the budget alert to create notification for.
- created_
at str - The date and time of budget alert notification creation
- email_
addresses Sequence[str] - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- sms_
phone_ Sequence[str]numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- type str
- The type of notification (sms, email, or webhook)
- updated_
at str - The date and time when the budget alert notification was last updated
- webhook_
urls Sequence[str] - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- budget
Alert StringId - The ID of the budget alert to create notification for.
- created
At String - The date and time of budget alert notification creation
- email
Addresses List<String> - List of email addresses to receive email notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- sms
Phone List<String>Numbers - List of phone numbers to receive SMS notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
- type String
- The type of notification (sms, email, or webhook)
- updated
At String - The date and time when the budget alert notification was last updated
- webhook
Urls List<String> - List of webhook URLs to receive webhook notifications. Precisely one of sms_phone_numbers, email_addresses, or webhookUrls must be set.
Import
Budget Alert Notification can be imported using the notification ID.
$ pulumi import scaleway:billing/budgetAlertNotification:BudgetAlertNotification main 11111111-1111-1111-1111-111111111111
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- scaleway pulumiverse/pulumi-scaleway
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
scalewayTerraform Provider.
published on Friday, Jul 17, 2026 by pulumiverse