
AWS Billing DescribeBudgets
CertifiedList AWS Budgets of an account
AWS Billing DescribeBudgets
List AWS Budgets of an account
Calls the AWS Budgets DescribeBudgets API and returns each budget with its limit, actual and forecasted spend.
type: io.kestra.plugin.aws.billing.DescribeBudgetsExamples
List the budgets of an account and log how many there are.
id: aws_list_budgets
namespace: company.finops
tasks:
- id: budgets
type: io.kestra.plugin.aws.billing.DescribeBudgets
region: us-east-1
accessKeyId: "{{ secret('AWS_ACCESS_KEY_ID') }}"
secretKeyId: "{{ secret('AWS_SECRET_ACCESS_KEY') }}"
accountId: "{{ secret('AWS_ACCOUNT_ID') }}"
fetchType: FETCH
- id: log_budgets
type: io.kestra.plugin.core.log.Log
message: "{{ outputs.budgets.size }} budgets found"
Properties
accountId *string
AWS account ID
The 12-digit ID of the account that owns the budgets. Required by the AWS Budgets API.
accessKeyId string
Access Key Id in order to connect to AWS
If no credentials are defined, we will use the default credentials provider chain to fetch credentials.
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150endpointOverride string
The endpoint with which the SDK should communicate
This property allows you to use a different S3 compatible storage backend.
fetchType string
STORESTOREFETCHFETCH_ONENONEFetch strategy
Default STORE writes all budgets to internal storage. FETCH returns all budgets, FETCH_ONE the first one, NONE only the count.
maxPages integerstring
10Maximum number of pages
Stops after this many DescribeBudgets requests of 100 budgets each, and logs a warning if more budgets were available. Default 10, between 1 and 1000.
region string
AWS region with which the SDK should communicate
secretKeyId string
Secret Key Id in order to connect to AWS
If no credentials are defined, we will use the default credentials provider chain to fetch credentials.
sessionToken string
AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource
If no credentials are defined, we will use the default credentials provider chain to fetch credentials.
stsEndpointOverride string
The AWS STS endpoint with which the SDKClient should communicate
stsRoleArn string
AWS STS Role
The Amazon Resource Name (ARN) of the role to assume. If set the task will use the StsAssumeRoleCredentialsProvider. If no credentials are defined, we will use the default credentials provider chain to fetch credentials.
stsRoleExternalId string
AWS STS External Id
A unique identifier that might be required when you assume a role in another account. This property is only used when an stsRoleArn is defined.
stsRoleSessionDuration string
PT15MAWS STS Session duration
The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an stsRoleArn is defined.
stsRoleSessionName string
AWS STS Session name
This property is only used when an stsRoleArn is defined.
Outputs
row object
First budget
Single budget when fetchType is FETCH_ONE.
rows array
Budgets
All budgets when fetchType is FETCH, each with budgetName, budgetType, timeUnit, limitAmount/limitUnit, actualSpendAmount/actualSpendUnit, forecastedSpendAmount/forecastedSpendUnit, timePeriodStart/timePeriodEnd and lastUpdatedTime.
size integer
Budget count
Number of budgets in the output: all budgets read for FETCH, STORE and NONE, 1 or 0 for FETCH_ONE.
truncated boolean
Truncated
True when maxPages was reached before all budgets were read.
uri string
uriStored data URI
Internal storage URI of an ION file with all budgets when fetchType is STORE.
Metrics
fetch.rows counter
rowsNumber of budgets fetched or stored.