Skip to content

aws.budgets.describe_budget

Example SQL Queries

SELECT * FROM
aws.budgets.describe_budget
WHERE
"account_id" = 'VALUE'
AND "budget_name" = 'VALUE';

Description

Describes a budget.

The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

Table Definition

Column NameColumn Data Type
account_id Required Input Column

The accountId that is associated with the budget that you want a description of.

VARCHAR
budget_name Required Input Column

The name of the budget that you want a description of.

VARCHAR
_aws_profile Input Column

The AWS profile defines the AWS identity used. It can be defined via credentials or by assuming a IAM role.

STRUCT(
"type" VARCHAR,
"name" VARCHAR,
"account_id" VARCHAR,
"via_profile_name" VARCHAR,
"assumed_role_arn" VARCHAR,
"organization" STRUCT(
"account_name" VARCHAR,
"id" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[],
"master_account" STRUCT(
"id" VARCHAR,
"email" VARCHAR
),
"parents" STRUCT(
"type" VARCHAR,
"id" VARCHAR,
"name" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[]
)[]
)
)
Show child fields
_aws_profile.account_id

The AWS account id

_aws_profile.assumed_role_arn

The ARN of the assumed role

_aws_profile.name

The unique name of the profile.

_aws_profile.organization

Information about this profile's membership in the AWS organization.

Show child fields
_aws_profile.organization.account_name

The name of account speciifed by the organization

_aws_profile.organization.id

The organization id

_aws_profile.organization.master_account
Show child fields
_aws_profile.organization.master_account.email

The organization master account email address

_aws_profile.organization.master_account.id

The organization master account id

_aws_profile.organization.parents[]
Show child fields
_aws_profile.organization.parents[].id

The id of the parent

_aws_profile.organization.parents[].name

The name of the parent

_aws_profile.organization.parents[].tags[]
Show child fields
_aws_profile.organization.parents[].tags[].key
_aws_profile.organization.parents[].tags[].value
_aws_profile.organization.parents[].type

The type of parent can be an organization unit or a root

_aws_profile.organization.tags[]
Show child fields
_aws_profile.organization.tags[].key
_aws_profile.organization.tags[].value
_aws_profile.type

The type of profile, either 'credentials' or 'assumed_role'

_aws_profile.via_profile_name

This IAM role for this profile is assumed by first utilizing another profile with this name to obtain credentials.

budget

The description of the budget.

STRUCT(
"budget_name" VARCHAR,
"budget_limit" STRUCT(
"amount" VARCHAR,
"unit" VARCHAR
),
"planned_budget_limits" MAP(VARCHAR, STRUCT(
"amount" VARCHAR,
"unit" VARCHAR
)),
"cost_filters" MAP(VARCHAR, VARCHAR[]),
"cost_types" STRUCT(
"include_tax" BOOLEAN,
"include_subscription" BOOLEAN,
"use_blended" BOOLEAN,
"include_refund" BOOLEAN,
"include_credit" BOOLEAN,
"include_upfront" BOOLEAN,
"include_recurring" BOOLEAN,
"include_other_subscription" BOOLEAN,
"include_support" BOOLEAN,
"include_discount" BOOLEAN,
"use_amortized" BOOLEAN
),
"time_unit" VARCHAR,
"time_period" STRUCT(
"start" TIMESTAMP_S,
"end" TIMESTAMP_S
),
"calculated_spend" STRUCT(
"actual_spend" STRUCT(
"amount" VARCHAR,
"unit" VARCHAR
),
"forecasted_spend" STRUCT(
"amount" VARCHAR,
"unit" VARCHAR
)
),
"budget_type" VARCHAR,
"last_updated_time" TIMESTAMP_S,
"auto_adjust_data" STRUCT(
"auto_adjust_type" VARCHAR,
"historical_options" STRUCT(
"budget_adjustment_period" BIGINT,
"look_back_available_periods" BIGINT
),
"last_auto_adjust_time" TIMESTAMP_S
)
)
Show child fields
budget.auto_adjust_data

The parameters that determine the budget amount for an auto-adjusting budget.

Show child fields
budget.auto_adjust_data.auto_adjust_type

The string that defines whether your budget auto-adjusts based on historical or forecasted data.

budget.auto_adjust_data.historical_options

The parameters that define or describe the historical data that your auto-adjusting budget is based on.

Show child fields
budget.auto_adjust_data.historical_options.budget_adjustment_period

The number of budget periods included in the moving-average calculation that determines your auto-adjusted budget amount. The maximum value depends on the TimeUnit granularity of the budget:

  • For the DAILY granularity, the maximum value is 60.

  • For the MONTHLY granularity, the maximum value is 12.

  • For the QUARTERLY granularity, the maximum value is 4.

  • For the ANNUALLY granularity, the maximum value is 1.

budget.auto_adjust_data.historical_options.look_back_available_periods

The integer that describes how many budget periods in your BudgetAdjustmentPeriod are included in the calculation of your current BudgetLimit. If the first budget period in your BudgetAdjustmentPeriod has no cost data, then that budget period isn’t included in the average that determines your budget limit.

For example, if you set BudgetAdjustmentPeriod as 4 quarters, but your account had no cost data in the first quarter, then only the last three quarters are included in the calculation. In this scenario, LookBackAvailablePeriods returns 3.

You can’t set your own LookBackAvailablePeriods. The value is automatically calculated from the BudgetAdjustmentPeriod and your historical cost data.

budget.auto_adjust_data.last_auto_adjust_time

The last time that your budget was auto-adjusted.

budget.budget_limit

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.

BudgetLimit is required for cost or usage budgets, but optional for RI or Savings Plans utilization or coverage budgets. RI and Savings Plans utilization or coverage budgets default to 100. This is the only valid value for RI or Savings Plans utilization or coverage budgets. You can't use BudgetLimit with PlannedBudgetLimits for CreateBudget and UpdateBudget actions.

Show child fields
budget.budget_limit.amount

The cost or usage amount that's associated with a budget forecast, actual spend, or budget threshold.

budget.budget_limit.unit

The unit of measurement that's used for the budget forecast, actual spend, or budget threshold.

budget.budget_name

The name of a budget. The name must be unique within an account. The : and \ characters, and the "/action/" substring, aren't allowed in BudgetName.

budget.budget_type

Specifies whether this budget tracks costs, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage.

budget.calculated_spend

The actual and forecasted cost or usage that the budget tracks.

Show child fields
budget.calculated_spend.actual_spend

The amount of cost, usage, RI units, or Savings Plans units that you used.

Show child fields
budget.calculated_spend.actual_spend.amount

The cost or usage amount that's associated with a budget forecast, actual spend, or budget threshold.

budget.calculated_spend.actual_spend.unit

The unit of measurement that's used for the budget forecast, actual spend, or budget threshold.

budget.calculated_spend.forecasted_spend

The amount of cost, usage, RI units, or Savings Plans units that you're forecasted to use.

Show child fields
budget.calculated_spend.forecasted_spend.amount

The cost or usage amount that's associated with a budget forecast, actual spend, or budget threshold.

budget.calculated_spend.forecasted_spend.unit

The unit of measurement that's used for the budget forecast, actual spend, or budget threshold.

budget.cost_filters

The cost filters, such as Region, Service, LinkedAccount, Tag, or CostCategory, that are applied to a budget.

Amazon Web Services Budgets supports the following services as a Service filter for RI budgets:

  • Amazon EC2

  • Amazon Redshift

  • Amazon Relational Database Service

  • Amazon ElastiCache

  • Amazon OpenSearch Service

budget.cost_types

The types of costs that are included in this COST budget.

USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE budgets do not have CostTypes.

Show child fields
budget.cost_types.include_credit

Specifies whether a budget includes credits.

The default value is true.

budget.cost_types.include_discount

Specifies whether a budget includes discounts.

The default value is true.

budget.cost_types.include_other_subscription

Specifies whether a budget includes non-RI subscription costs.

The default value is true.

budget.cost_types.include_recurring

Specifies whether a budget includes recurring fees such as monthly RI fees.

The default value is true.

budget.cost_types.include_refund

Specifies whether a budget includes refunds.

The default value is true.

budget.cost_types.include_subscription

Specifies whether a budget includes subscriptions.

The default value is true.

budget.cost_types.include_support

Specifies whether a budget includes support subscription fees.

The default value is true.

budget.cost_types.include_tax

Specifies whether a budget includes taxes.

The default value is true.

budget.cost_types.include_upfront

Specifies whether a budget includes upfront RI costs.

The default value is true.

budget.cost_types.use_amortized

Specifies whether a budget uses the amortized rate.

The default value is false.

budget.cost_types.use_blended

Specifies whether a budget uses a blended rate.

The default value is false.

budget.last_updated_time

The last time that you updated this budget.

budget.planned_budget_limits

A map containing multiple BudgetLimit, including current or future limits.

PlannedBudgetLimits is available for cost or usage budget and supports both monthly and quarterly TimeUnit.

For monthly budgets, provide 12 months of PlannedBudgetLimits values. This must start from the current month and include the next 11 months. The key is the start of the month, UTC in epoch seconds.

For quarterly budgets, provide four quarters of PlannedBudgetLimits value entries in standard calendar quarter increments. This must start from the current quarter and include the next three quarters. The key is the start of the quarter, UTC in epoch seconds.

If the planned budget expires before 12 months for monthly or four quarters for quarterly, provide the PlannedBudgetLimits values only for the remaining periods.

If the budget begins at a date in the future, provide PlannedBudgetLimits values from the start date of the budget.

After all of the BudgetLimit values in PlannedBudgetLimits are used, the budget continues to use the last limit as the BudgetLimit. At that point, the planned budget provides the same experience as a fixed budget.

DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits also contain BudgetLimit representing the current month or quarter limit present in PlannedBudgetLimits. This only applies to budgets that are created with PlannedBudgetLimits. Budgets that are created without PlannedBudgetLimits only contain BudgetLimit. They don't contain PlannedBudgetLimits.

budget.time_period

The period of time that's covered by a budget. You setthe start date and end date. The start date must come before the end date. The end date must come before 06/15/87 00:00 UTC.

If you create your budget and don't specify a start date, Amazon Web Services defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, Amazon Web Services set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, Amazon Web Services set your start date to 01/01/18 00:00 UTC. If you didn't specify an end date, Amazon Web Services set your end date to 06/15/87 00:00 UTC. The defaults are the same for the Billing and Cost Management console and the API.

You can change either date with the UpdateBudget operation.

After the end date, Amazon Web Services deletes the budget and all the associated notifications and subscribers.

Show child fields
budget.time_period.end

The end date for a budget. If you didn't specify an end date, Amazon Web Services set your end date to 06/15/87 00:00 UTC. The defaults are the same for the Billing and Cost Management console and the API.

After the end date, Amazon Web Services deletes the budget and all the associated notifications and subscribers. You can change your end date with the UpdateBudget operation.

budget.time_period.start

The start date for a budget. If you created your budget and didn't specify a start date, Amazon Web Services defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, Amazon Web Services set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, Amazon Web Services set your start date to 01/01/18 00:00 UTC. The defaults are the same for the Billing and Cost Management console and the API.

You can change your start date with the UpdateBudget operation.

budget.time_unit

The length of time until a budget resets the actual and forecasted spend.