UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

158 lines (157 loc) 5.38 kB
import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Data source for managing an AWS Web Services Budgets Budget. * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const test = aws.budgets.getBudget({ * name: testAwsBudgetsBudget.name, * }); * ``` */ export declare function getBudget(args: GetBudgetArgs, opts?: pulumi.InvokeOptions): Promise<GetBudgetResult>; /** * A collection of arguments for invoking getBudget. */ export interface GetBudgetArgs { /** * The ID of the target account for budget. Will use current user's accountId by default if omitted. */ accountId?: string; /** * The name of a budget. Unique within accounts. * * The following arguments are optional: */ name: string; /** * The prefix of the name of a budget. Unique within accounts. */ namePrefix?: string; /** * Map of tags assigned to the resource. */ tags?: { [key: string]: string; }; } /** * A collection of values returned by getBudget. */ export interface GetBudgetResult { readonly accountId: string; readonly arn: string; /** * Object containing [AutoAdjustData] which determines the budget amount for an auto-adjusting budget. */ readonly autoAdjustDatas: outputs.budgets.GetBudgetAutoAdjustData[]; /** * ARN of the billing view. */ readonly billingViewArn: string; /** * Boolean indicating whether this budget has been exceeded. */ readonly budgetExceeded: boolean; /** * The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget. Contains object Spend. */ readonly budgetLimits: outputs.budgets.GetBudgetBudgetLimit[]; /** * Whether this budget tracks monetary cost or usage. */ readonly budgetType: string; /** * The spend objects that are associated with this budget. The actualSpend tracks how much you've used, cost, usage, RI units, or Savings Plans units and the forecastedSpend tracks how much that you're predicted to spend based on your historical usage profile. */ readonly calculatedSpends: outputs.budgets.GetBudgetCalculatedSpend[]; /** * A list of CostFilter name/values pair to apply to budget. */ readonly costFilters: outputs.budgets.GetBudgetCostFilter[]; /** * Object containing CostTypes The types of cost included in a budget, such as tax and subscriptions. */ readonly costTypes: outputs.budgets.GetBudgetCostType[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly name: string; readonly namePrefix?: string; /** * Object containing Budget Notifications. Can be used multiple times to define more than one budget notification. */ readonly notifications: outputs.budgets.GetBudgetNotification[]; /** * Object containing Planned Budget Limits. Can be used multiple times to plan more than one budget limit. See [PlannedBudgetLimits](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_Budget.html#awscostmanagement-Type-budgets_Budget-PlannedBudgetLimits) documentation. */ readonly plannedLimits: outputs.budgets.GetBudgetPlannedLimit[]; /** * Map of tags assigned to the resource. */ readonly tags: { [key: string]: string; }; /** * The end of the time period covered by the budget. There are no restrictions on the end date. Format: `2017-01-01_12:00`. */ readonly timePeriodEnd: string; /** * 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`. */ readonly timePeriodStart: string; /** * The length of time until a budget resets the actual and forecasted spend. Valid values: `MONTHLY`, `QUARTERLY`, `ANNUALLY`, and `DAILY`. */ readonly timeUnit: string; } /** * Data source for managing an AWS Web Services Budgets Budget. * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const test = aws.budgets.getBudget({ * name: testAwsBudgetsBudget.name, * }); * ``` */ export declare function getBudgetOutput(args: GetBudgetOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetBudgetResult>; /** * A collection of arguments for invoking getBudget. */ export interface GetBudgetOutputArgs { /** * The ID of the target account for budget. Will use current user's accountId by default if omitted. */ accountId?: pulumi.Input<string>; /** * The name of a budget. Unique within accounts. * * The following arguments are optional: */ name: pulumi.Input<string>; /** * The prefix of the name of a budget. Unique within accounts. */ namePrefix?: pulumi.Input<string>; /** * Map of tags assigned to the resource. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; }