BudgetResourceGroup

class BudgetResourceGroup : KotlinCustomResource

Manages a Resource Group Consumption Budget.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.monitoring.ActionGroup;
import com.pulumi.azure.monitoring.ActionGroupArgs;
import com.pulumi.azure.consumption.BudgetResourceGroup;
import com.pulumi.azure.consumption.BudgetResourceGroupArgs;
import com.pulumi.azure.consumption.inputs.BudgetResourceGroupTimePeriodArgs;
import com.pulumi.azure.consumption.inputs.BudgetResourceGroupFilterArgs;
import com.pulumi.azure.consumption.inputs.BudgetResourceGroupNotificationArgs;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("eastus")
.build());
var exampleActionGroup = new ActionGroup("exampleActionGroup", ActionGroupArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.shortName("example")
.build());
var exampleBudgetResourceGroup = new BudgetResourceGroup("exampleBudgetResourceGroup", BudgetResourceGroupArgs.builder()
.resourceGroupId(exampleResourceGroup.id())
.amount(1000)
.timeGrain("Monthly")
.timePeriod(BudgetResourceGroupTimePeriodArgs.builder()
.startDate("2022-06-01T00:00:00Z")
.endDate("2022-07-01T00:00:00Z")
.build())
.filter(BudgetResourceGroupFilterArgs.builder()
.dimensions(BudgetResourceGroupFilterDimensionArgs.builder()
.name("ResourceId")
.values(exampleActionGroup.id())
.build())
.tags(BudgetResourceGroupFilterTagArgs.builder()
.name("foo")
.values(
"bar",
"baz")
.build())
.build())
.notifications(
BudgetResourceGroupNotificationArgs.builder()
.enabled(true)
.threshold(90)
.operator("EqualTo")
.thresholdType("Forecasted")
.contactEmails(
"foo@example.com",
"bar@example.com")
.contactGroups(exampleActionGroup.id())
.contactRoles("Owner")
.build(),
BudgetResourceGroupNotificationArgs.builder()
.enabled(false)
.threshold(100)
.operator("GreaterThan")
.contactEmails(
"foo@example.com",
"bar@example.com")
.build())
.build());
}
}

Import

Resource Group Consumption Budgets can be imported using the resource id, e.g.

$ pulumi import azure:consumption/budgetResourceGroup:BudgetResourceGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.Consumption/budgets/resourceGroup1

Properties

Link copied to clipboard
val amount: Output<Double>

The total amount of cost to track with the budget.

Link copied to clipboard
val etag: Output<String>

(Optional) The ETag of the Resource Group Consumption Budget

Link copied to clipboard

A filter block as defined below.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

The name which should be used for this Resource Group Consumption Budget. Changing this forces a new Resource Group Consumption Budget to be created.

Link copied to clipboard

One or more notification blocks as defined below.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val resourceGroupId: Output<String>

The ID of the Resource Group to create the consumption budget for in the form of /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1. Changing this forces a new Resource Group Consumption Budget to be created.

Link copied to clipboard
val timeGrain: Output<String>?

The time covered by a budget. Tracking of the amount will be reset based on the time grain. Must be one of BillingAnnual, BillingMonth, BillingQuarter, Annually, Monthly and Quarterly. Defaults to Monthly. Changing this forces a new resource to be created.

Link copied to clipboard

A time_period block as defined below.

Link copied to clipboard
val urn: Output<String>