CreateBudgetCommand

Creates a budget and, if included, notifications and subscribers.

Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples  section.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { BudgetsClient, CreateBudgetCommand } from "@aws-sdk/client-budgets"; // ES Modules import
// const { BudgetsClient, CreateBudgetCommand } = require("@aws-sdk/client-budgets"); // CommonJS import
const client = new BudgetsClient(config);
const input = { // CreateBudgetRequest
  AccountId: "STRING_VALUE", // required
  Budget: { // Budget
    BudgetName: "STRING_VALUE", // required
    BudgetLimit: { // Spend
      Amount: "STRING_VALUE", // required
      Unit: "STRING_VALUE", // required
    },
    PlannedBudgetLimits: { // PlannedBudgetLimits
      "<keys>": {
        Amount: "STRING_VALUE", // required
        Unit: "STRING_VALUE", // required
      },
    },
    CostFilters: { // CostFilters
      "<keys>": [ // DimensionValues
        "STRING_VALUE",
      ],
    },
    CostTypes: { // CostTypes
      IncludeTax: true || false,
      IncludeSubscription: true || false,
      UseBlended: true || false,
      IncludeRefund: true || false,
      IncludeCredit: true || false,
      IncludeUpfront: true || false,
      IncludeRecurring: true || false,
      IncludeOtherSubscription: true || false,
      IncludeSupport: true || false,
      IncludeDiscount: true || false,
      UseAmortized: true || false,
    },
    TimeUnit: "DAILY" || "MONTHLY" || "QUARTERLY" || "ANNUALLY", // required
    TimePeriod: { // TimePeriod
      Start: new Date("TIMESTAMP"),
      End: new Date("TIMESTAMP"),
    },
    CalculatedSpend: { // CalculatedSpend
      ActualSpend: {
        Amount: "STRING_VALUE", // required
        Unit: "STRING_VALUE", // required
      },
      ForecastedSpend: {
        Amount: "STRING_VALUE", // required
        Unit: "STRING_VALUE", // required
      },
    },
    BudgetType: "USAGE" || "COST" || "RI_UTILIZATION" || "RI_COVERAGE" || "SAVINGS_PLANS_UTILIZATION" || "SAVINGS_PLANS_COVERAGE", // required
    LastUpdatedTime: new Date("TIMESTAMP"),
    AutoAdjustData: { // AutoAdjustData
      AutoAdjustType: "HISTORICAL" || "FORECAST", // required
      HistoricalOptions: { // HistoricalOptions
        BudgetAdjustmentPeriod: Number("int"), // required
        LookBackAvailablePeriods: Number("int"),
      },
      LastAutoAdjustTime: new Date("TIMESTAMP"),
    },
  },
  NotificationsWithSubscribers: [ // NotificationWithSubscribersList
    { // NotificationWithSubscribers
      Notification: { // Notification
        NotificationType: "ACTUAL" || "FORECASTED", // required
        ComparisonOperator: "GREATER_THAN" || "LESS_THAN" || "EQUAL_TO", // required
        Threshold: Number("double"), // required
        ThresholdType: "PERCENTAGE" || "ABSOLUTE_VALUE",
        NotificationState: "OK" || "ALARM",
      },
      Subscribers: [ // Subscribers // required
        { // Subscriber
          SubscriptionType: "SNS" || "EMAIL", // required
          Address: "STRING_VALUE", // required
        },
      ],
    },
  ],
  ResourceTags: [ // ResourceTagList
    { // ResourceTag
      Key: "STRING_VALUE", // required
      Value: "STRING_VALUE", // required
    },
  ],
};
const command = new CreateBudgetCommand(input);
const response = await client.send(command);
// {};

CreateBudgetCommand Input

See CreateBudgetCommandInput for more details

Parameter
Type
Description
AccountId
Required
string | undefined

The accountId that is associated with the budget.

Budget
Required
Budget | undefined

The budget object that you want to create.

NotificationsWithSubscribers
NotificationWithSubscribers[] | undefined

A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your CreateBudget call, Amazon Web Services creates the notifications and subscribers for you.

ResourceTags
ResourceTag[] | undefined

An optional list of tags to associate with the specified budget. Each tag consists of a key and a value, and each key must be unique for the resource.

CreateBudgetCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.

Throws

Name
Fault
Details
AccessDeniedException
client

You are not authorized to use this operation with the given parameters.

CreationLimitExceededException
client

You've exceeded the notification or subscriber limit.

DuplicateRecordException
client

The budget name already exists. Budget names must be unique within an account.

InternalErrorException
server

An error on the server occurred during the processing of your request. Try again later.

InvalidParameterException
client

An error on the client occurred. Typically, the cause is an invalid input value.

ServiceQuotaExceededException
client

You've reached the limit on the number of tags you can associate with a resource.

ThrottlingException
client

The number of API requests has exceeded the maximum allowed API request throttling limit for the account.

BudgetsServiceException
Base exception class for all service exceptions from Budgets service.