BudgetArgs

data class BudgetArgs(val accountId: Output<String>? = null, val autoAdjustData: Output<BudgetAutoAdjustDataArgs>? = null, val budgetType: Output<String>? = null, val costFilterLegacy: Output<Map<String, String>>? = null, val costFilters: Output<List<BudgetCostFilterArgs>>? = null, val costTypes: Output<BudgetCostTypesArgs>? = null, val limitAmount: Output<String>? = null, val limitUnit: Output<String>? = null, val name: Output<String>? = null, val namePrefix: Output<String>? = null, val notifications: Output<List<BudgetNotificationArgs>>? = null, val plannedLimits: Output<List<BudgetPlannedLimitArgs>>? = null, val timePeriodEnd: Output<String>? = null, val timePeriodStart: Output<String>? = null, val timeUnit: Output<String>? = null) : ConvertibleToJava<BudgetArgs>

Provides a budgets budget resource. Budgets use the cost visualisation provided by Cost Explorer to show you the status of your budgets, to provide forecasts of your estimated costs, and to track your AWS usage, including your free tier usage.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.budgets.Budget;
import com.pulumi.aws.budgets.BudgetArgs;
import com.pulumi.aws.budgets.inputs.BudgetCostFilterArgs;
import com.pulumi.aws.budgets.inputs.BudgetNotificationArgs;
import java.util.List;
import java.util.ArrayList;
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 ec2 = new Budget("ec2", BudgetArgs.builder()
.budgetType("COST")
.costFilters(BudgetCostFilterArgs.builder()
.name("Service")
.values("Amazon Elastic Compute Cloud - Compute")
.build())
.limitAmount("1200")
.limitUnit("USD")
.notifications(BudgetNotificationArgs.builder()
.comparisonOperator("GREATER_THAN")
.notificationType("FORECASTED")
.subscriberEmailAddresses("test@example.com")
.threshold(100)
.thresholdType("PERCENTAGE")
.build())
.timePeriodEnd("2087-06-15_00:00")
.timePeriodStart("2017-07-01_00:00")
.timeUnit("MONTHLY")
.build());
}
}

Import

Budgets can be imported using AccountID:BudgetName, e.g.,

$ pulumi import aws:budgets/budget:Budget myBudget 123456789012:myBudget`

Constructors

Link copied to clipboard
constructor(accountId: Output<String>? = null, autoAdjustData: Output<BudgetAutoAdjustDataArgs>? = null, budgetType: Output<String>? = null, costFilterLegacy: Output<Map<String, String>>? = null, costFilters: Output<List<BudgetCostFilterArgs>>? = null, costTypes: Output<BudgetCostTypesArgs>? = null, limitAmount: Output<String>? = null, limitUnit: Output<String>? = null, name: Output<String>? = null, namePrefix: Output<String>? = null, notifications: Output<List<BudgetNotificationArgs>>? = null, plannedLimits: Output<List<BudgetPlannedLimitArgs>>? = null, timePeriodEnd: Output<String>? = null, timePeriodStart: Output<String>? = null, timeUnit: Output<String>? = null)

Properties

Link copied to clipboard
val accountId: Output<String>? = null

The ID of the target account for budget. Will use current user's account_id by default if omitted.

Link copied to clipboard

Object containing AutoAdjustData which determines the budget amount for an auto-adjusting budget.

Link copied to clipboard
val budgetType: Output<String>? = null

Whether this budget tracks monetary cost or usage.

Link copied to clipboard
val costFilterLegacy: Output<Map<String, String>>? = null

Map of CostFilters key/value pairs to apply to the budget.

Link copied to clipboard
val costFilters: Output<List<BudgetCostFilterArgs>>? = null

A list of CostFilter name/values pair to apply to budget.

Link copied to clipboard
val costTypes: Output<BudgetCostTypesArgs>? = null

Object containing CostTypes The types of cost included in a budget, such as tax and subscriptions.

Link copied to clipboard
val limitAmount: Output<String>? = null

The amount of cost or usage being measured for a budget.

Link copied to clipboard
val limitUnit: Output<String>? = null

The unit of measurement used for the budget forecast, actual spend, or budget threshold, such as dollars or GB. See Spend documentation.

Link copied to clipboard
val name: Output<String>? = null

The name of a budget. Unique within accounts.

Link copied to clipboard
val namePrefix: Output<String>? = null

The prefix of the name of a budget. Unique within accounts.

Link copied to clipboard

Object containing Budget Notifications. Can be used multiple times to define more than one budget notification.

Link copied to clipboard

Object containing Planned Budget Limits. Can be used multiple times to plan more than one budget limit. See PlannedBudgetLimits documentation.

Link copied to clipboard
val timePeriodEnd: Output<String>? = null

The end of the time period covered by the budget. There are no restrictions on the end date. Format: 2017-01-01_12:00.

Link copied to clipboard
val timePeriodStart: Output<String>? = null

The start of the time period covered by the budget. If you don't specify a start date, AWS defaults to the start of your chosen time period. The start date must come before the end date. Format: 2017-01-01_12:00.

Link copied to clipboard
val timeUnit: Output<String>? = null

The length of time until a budget resets the actual and forecasted spend. Valid values: MONTHLY, QUARTERLY, ANNUALLY, and DAILY.

Functions

Link copied to clipboard
open override fun toJava(): BudgetArgs