2026/04/09 - AWS Billing and Cost Management Dashboards - 6 new api methods
Changes Scheduled email reports of Billing and Cost Management Dashboards
Triggers an immediate execution of a scheduled report, outside of its regular schedule. The scheduled report must be in ENABLED state. Calling this operation on a DISABLED scheduled report returns a ValidationException.
See also: AWS API Documentation
Request Syntax
client.execute_scheduled_report(
arn='string',
clientToken='string',
dryRun=True|False
)
string
[REQUIRED]
The ARN of the scheduled report to execute.
string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
This field is autopopulated if not provided.
boolean
When set to true, validates the scheduled report configuration without triggering an actual execution.
dict
Response Syntax
{
'healthStatus': {
'statusCode': 'HEALTHY'|'UNHEALTHY',
'lastRefreshedAt': datetime(2015, 1, 1),
'statusReasons': [
'DATA_SOURCE_ACCESS_DENIED'|'EXECUTION_ROLE_ASSUME_FAILED'|'EXECUTION_ROLE_INSUFFICIENT_PERMISSIONS'|'DASHBOARD_NOT_FOUND'|'DASHBOARD_ACCESS_DENIED'|'INTERNAL_FAILURE'|'WIDGET_ID_NOT_FOUND',
]
},
'executionTriggered': True|False
}
Response Structure
(dict) --
healthStatus (dict) --
The health status of the scheduled report after the execution request.
statusCode (string) --
The health status code. HEALTHY indicates the scheduled report is configured properly and has all required permissions to execute. UNHEALTHY indicates the scheduled report is unable to deliver the notification to the default Amazon EventBridge EventBus in your account and your action is needed. The reason for the unhealthy state is captured in the health status reasons.
lastRefreshedAt (datetime) --
The timestamp when the health status was last refreshed.
statusReasons (list) --
The list of reasons for the current health status. Only present when the status is UNHEALTHY.
(string) --
executionTriggered (boolean) --
Indicates whether the execution was successfully triggered.
Returns a list of scheduled reports in your account.
See also: AWS API Documentation
Request Syntax
client.list_scheduled_reports(
nextToken='string',
maxResults=123
)
string
The token for the next page of results. Use the value returned in the previous response.
integer
The maximum number of results to return in a single call. Valid range is 1 to 100. The default value is 50.
dict
Response Syntax
{
'scheduledReports': [
{
'arn': 'string',
'name': 'string',
'dashboardArn': 'string',
'scheduleExpression': 'string',
'state': 'ENABLED'|'DISABLED',
'healthStatus': {
'statusCode': 'HEALTHY'|'UNHEALTHY',
'lastRefreshedAt': datetime(2015, 1, 1),
'statusReasons': [
'DATA_SOURCE_ACCESS_DENIED'|'EXECUTION_ROLE_ASSUME_FAILED'|'EXECUTION_ROLE_INSUFFICIENT_PERMISSIONS'|'DASHBOARD_NOT_FOUND'|'DASHBOARD_ACCESS_DENIED'|'INTERNAL_FAILURE'|'WIDGET_ID_NOT_FOUND',
]
},
'scheduleExpressionTimeZone': 'string',
'widgetIds': [
'string',
]
},
],
'nextToken': 'string'
}
Response Structure
(dict) --
scheduledReports (list) --
An array of scheduled report summaries, containing basic information about each scheduled report.
(dict) --
Contains summary information for a scheduled report.
arn (string) --
The ARN of the scheduled report.
name (string) --
The name of the scheduled report.
dashboardArn (string) --
The ARN of the dashboard associated with the scheduled report.
scheduleExpression (string) --
The schedule expression that defines when the report runs.
state (string) --
The state of the schedule: ENABLED or DISABLED.
healthStatus (dict) --
The health status of the scheduled report as of its last refresh time.
statusCode (string) --
The health status code. HEALTHY indicates the scheduled report is configured properly and has all required permissions to execute. UNHEALTHY indicates the scheduled report is unable to deliver the notification to the default Amazon EventBridge EventBus in your account and your action is needed. The reason for the unhealthy state is captured in the health status reasons.
lastRefreshedAt (datetime) --
The timestamp when the health status was last refreshed.
statusReasons (list) --
The list of reasons for the current health status. Only present when the status is UNHEALTHY.
(string) --
scheduleExpressionTimeZone (string) --
The time zone for the schedule expression, for example, UTC.
widgetIds (list) --
The list of widget identifiers included in the scheduled report.
(string) --
nextToken (string) --
The token to use to retrieve the next page of results. Not returned if there are no more results to retrieve.
Deletes a specified scheduled report. This is an irreversible operation.
See also: AWS API Documentation
Request Syntax
client.delete_scheduled_report(
arn='string'
)
string
[REQUIRED]
The ARN of the scheduled report to delete.
dict
Response Syntax
{
'arn': 'string'
}
Response Structure
(dict) --
arn (string) --
The ARN of the scheduled report that was deleted.
Updates an existing scheduled report's properties, including its name, description, schedule configuration, and widget settings. Only the parameters included in the request are updated; all other properties remain unchanged.
See also: AWS API Documentation
Request Syntax
client.update_scheduled_report(
arn='string',
name='string',
description='string',
dashboardArn='string',
scheduledReportExecutionRoleArn='string',
scheduleConfig={
'scheduleExpression': 'string',
'scheduleExpressionTimeZone': 'string',
'schedulePeriod': {
'startTime': datetime(2015, 1, 1),
'endTime': datetime(2015, 1, 1)
},
'state': 'ENABLED'|'DISABLED'
},
widgetIds=[
'string',
],
widgetDateRangeOverride={
'startTime': {
'type': 'ABSOLUTE'|'RELATIVE',
'value': 'string'
},
'endTime': {
'type': 'ABSOLUTE'|'RELATIVE',
'value': 'string'
}
},
clearWidgetIds=True|False,
clearWidgetDateRangeOverride=True|False
)
string
[REQUIRED]
The ARN of the scheduled report to update.
string
The new name for the scheduled report.
string
The new description for the scheduled report.
string
The ARN of the dashboard to associate with the scheduled report.
string
The ARN of the IAM role that the scheduled report uses to execute. Amazon Web Services Billing and Cost Management Dashboards will assume this IAM role while executing the scheduled report.
dict
The updated schedule configuration for the report.
scheduleExpression (string) --
The schedule expression that specifies when to trigger the scheduled report run. This value must be a cron expression consisting of six fields separated by white spaces: cron(minutes hours day_of_month month day_of_week year).
scheduleExpressionTimeZone (string) --
The time zone for the schedule expression, for example, UTC.
schedulePeriod (dict) --
The time period during which the schedule is active.
startTime (datetime) --
The start time of the schedule period. If not specified, defaults to the time of the create or update request. The start time cannot be more than 5 minutes before the time of the request.
endTime (datetime) --
The end time of the schedule period. If not specified, defaults to 3 years from the time of the create or update request. The maximum allowed value is 3 years from the current time. Setting an end time beyond this limit returns a ValidationException.
state (string) --
The state of the schedule. ENABLED means the scheduled report runs according to its schedule expression. DISABLED means the scheduled report is paused and will not run until re-enabled.
list
The list of widget identifiers to include in the scheduled report. If not specified, all widgets in the dashboard are included.
(string) --
dict
The date range override to apply to widgets in the scheduled report.
startTime (dict) -- [REQUIRED]
The start time of the date range for querying data.
type (string) -- [REQUIRED]
The type of date/time value: ABSOLUTE for specific dates or RELATIVE for dynamic time periods.
value (string) -- [REQUIRED]
The actual date/time value.
endTime (dict) -- [REQUIRED]
The end time of the date range for querying data.
type (string) -- [REQUIRED]
The type of date/time value: ABSOLUTE for specific dates or RELATIVE for dynamic time periods.
value (string) -- [REQUIRED]
The actual date/time value.
boolean
Set to true to clear existing widgetIds.
boolean
Set to true to clear existing widgetDateRangeOverride.
dict
Response Syntax
{
'arn': 'string'
}
Response Structure
(dict) --
arn (string) --
The ARN of the updated scheduled report.
Retrieves the configuration and metadata of a specified scheduled report.
See also: AWS API Documentation
Request Syntax
client.get_scheduled_report(
arn='string'
)
string
[REQUIRED]
The ARN of the scheduled report to retrieve.
dict
Response Syntax
{
'scheduledReport': {
'arn': 'string',
'name': 'string',
'dashboardArn': 'string',
'scheduledReportExecutionRoleArn': 'string',
'scheduleConfig': {
'scheduleExpression': 'string',
'scheduleExpressionTimeZone': 'string',
'schedulePeriod': {
'startTime': datetime(2015, 1, 1),
'endTime': datetime(2015, 1, 1)
},
'state': 'ENABLED'|'DISABLED'
},
'description': 'string',
'widgetIds': [
'string',
],
'widgetDateRangeOverride': {
'startTime': {
'type': 'ABSOLUTE'|'RELATIVE',
'value': 'string'
},
'endTime': {
'type': 'ABSOLUTE'|'RELATIVE',
'value': 'string'
}
},
'createdAt': datetime(2015, 1, 1),
'updatedAt': datetime(2015, 1, 1),
'lastExecutionAt': datetime(2015, 1, 1),
'healthStatus': {
'statusCode': 'HEALTHY'|'UNHEALTHY',
'lastRefreshedAt': datetime(2015, 1, 1),
'statusReasons': [
'DATA_SOURCE_ACCESS_DENIED'|'EXECUTION_ROLE_ASSUME_FAILED'|'EXECUTION_ROLE_INSUFFICIENT_PERMISSIONS'|'DASHBOARD_NOT_FOUND'|'DASHBOARD_ACCESS_DENIED'|'INTERNAL_FAILURE'|'WIDGET_ID_NOT_FOUND',
]
}
}
}
Response Structure
(dict) --
scheduledReport (dict) --
The scheduled report configuration and metadata.
arn (string) --
The ARN of the scheduled report.
name (string) --
The name of the scheduled report.
dashboardArn (string) --
The ARN of the dashboard associated with the scheduled report.
scheduledReportExecutionRoleArn (string) --
The ARN of the IAM role that the scheduled report uses to execute. Amazon Web Services Billing and Cost Management Dashboards will assume this IAM role while executing the scheduled report.
scheduleConfig (dict) --
The schedule configuration that defines when and how often the report is generated.
scheduleExpression (string) --
The schedule expression that specifies when to trigger the scheduled report run. This value must be a cron expression consisting of six fields separated by white spaces: cron(minutes hours day_of_month month day_of_week year).
scheduleExpressionTimeZone (string) --
The time zone for the schedule expression, for example, UTC.
schedulePeriod (dict) --
The time period during which the schedule is active.
startTime (datetime) --
The start time of the schedule period. If not specified, defaults to the time of the create or update request. The start time cannot be more than 5 minutes before the time of the request.
endTime (datetime) --
The end time of the schedule period. If not specified, defaults to 3 years from the time of the create or update request. The maximum allowed value is 3 years from the current time. Setting an end time beyond this limit returns a ValidationException.
state (string) --
The state of the schedule. ENABLED means the scheduled report runs according to its schedule expression. DISABLED means the scheduled report is paused and will not run until re-enabled.
description (string) --
A description of the scheduled report's purpose or contents.
widgetIds (list) --
The list of widget identifiers included in the scheduled report.
(string) --
widgetDateRangeOverride (dict) --
The date range override applied to widgets in the scheduled report.
startTime (dict) --
The start time of the date range for querying data.
type (string) --
The type of date/time value: ABSOLUTE for specific dates or RELATIVE for dynamic time periods.
value (string) --
The actual date/time value.
endTime (dict) --
The end time of the date range for querying data.
type (string) --
The type of date/time value: ABSOLUTE for specific dates or RELATIVE for dynamic time periods.
value (string) --
The actual date/time value.
createdAt (datetime) --
The timestamp when the scheduled report was created.
updatedAt (datetime) --
The timestamp when the scheduled report was last modified.
lastExecutionAt (datetime) --
The timestamp of the most recent execution of the scheduled report.
healthStatus (dict) --
The health status of the scheduled report at last refresh time.
statusCode (string) --
The health status code. HEALTHY indicates the scheduled report is configured properly and has all required permissions to execute. UNHEALTHY indicates the scheduled report is unable to deliver the notification to the default Amazon EventBridge EventBus in your account and your action is needed. The reason for the unhealthy state is captured in the health status reasons.
lastRefreshedAt (datetime) --
The timestamp when the health status was last refreshed.
statusReasons (list) --
The list of reasons for the current health status. Only present when the status is UNHEALTHY.
(string) --
Creates a new scheduled report for a dashboard. A scheduled report automatically generates and delivers dashboard snapshots on a recurring schedule. Reports are delivered within 15 minutes of the scheduled delivery time.
See also: AWS API Documentation
Request Syntax
client.create_scheduled_report(
scheduledReport={
'name': 'string',
'dashboardArn': 'string',
'scheduledReportExecutionRoleArn': 'string',
'scheduleConfig': {
'scheduleExpression': 'string',
'scheduleExpressionTimeZone': 'string',
'schedulePeriod': {
'startTime': datetime(2015, 1, 1),
'endTime': datetime(2015, 1, 1)
},
'state': 'ENABLED'|'DISABLED'
},
'description': 'string',
'widgetIds': [
'string',
],
'widgetDateRangeOverride': {
'startTime': {
'type': 'ABSOLUTE'|'RELATIVE',
'value': 'string'
},
'endTime': {
'type': 'ABSOLUTE'|'RELATIVE',
'value': 'string'
}
}
},
resourceTags=[
{
'key': 'string',
'value': 'string'
},
],
clientToken='string'
)
dict
[REQUIRED]
The configuration for the scheduled report, including the dashboard to report on, the schedule, and the execution role that the service will use to generate the dashboard snapshot.
name (string) -- [REQUIRED]
The name of the scheduled report.
dashboardArn (string) -- [REQUIRED]
The ARN of the dashboard to generate the scheduled report from.
scheduledReportExecutionRoleArn (string) -- [REQUIRED]
The ARN of the IAM role that the scheduled report uses to execute. Amazon Web Services Billing and Cost Management Dashboards will assume this IAM role while executing the scheduled report.
scheduleConfig (dict) -- [REQUIRED]
The schedule configuration that defines when and how often the report is generated. If the schedule state is not specified, it defaults to ENABLED.
scheduleExpression (string) --
The schedule expression that specifies when to trigger the scheduled report run. This value must be a cron expression consisting of six fields separated by white spaces: cron(minutes hours day_of_month month day_of_week year).
scheduleExpressionTimeZone (string) --
The time zone for the schedule expression, for example, UTC.
schedulePeriod (dict) --
The time period during which the schedule is active.
startTime (datetime) --
The start time of the schedule period. If not specified, defaults to the time of the create or update request. The start time cannot be more than 5 minutes before the time of the request.
endTime (datetime) --
The end time of the schedule period. If not specified, defaults to 3 years from the time of the create or update request. The maximum allowed value is 3 years from the current time. Setting an end time beyond this limit returns a ValidationException.
state (string) --
The state of the schedule. ENABLED means the scheduled report runs according to its schedule expression. DISABLED means the scheduled report is paused and will not run until re-enabled.
description (string) --
A description of the scheduled report's purpose or contents.
widgetIds (list) --
The list of widget identifiers to include in the scheduled report. If not specified, all widgets in the dashboard are included.
(string) --
widgetDateRangeOverride (dict) --
The date range override to apply to widgets in the scheduled report.
startTime (dict) -- [REQUIRED]
The start time of the date range for querying data.
type (string) -- [REQUIRED]
The type of date/time value: ABSOLUTE for specific dates or RELATIVE for dynamic time periods.
value (string) -- [REQUIRED]
The actual date/time value.
endTime (dict) -- [REQUIRED]
The end time of the date range for querying data.
type (string) -- [REQUIRED]
The type of date/time value: ABSOLUTE for specific dates or RELATIVE for dynamic time periods.
value (string) -- [REQUIRED]
The actual date/time value.
list
The tags to apply to the scheduled report resource for organization and management.
(dict) --
A key-value pair that can be attached to a dashboard for organization and management purposes.
key (string) -- [REQUIRED]
The key of the tag to be attached to the dashboard resource.
value (string) -- [REQUIRED]
The value of the tag to be attached to the dashboard resource.
string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
This field is autopopulated if not provided.
dict
Response Syntax
{
'arn': 'string'
}
Response Structure
(dict) --
arn (string) --
The ARN of the newly created scheduled report.