AWS Billing and Cost Management Dashboards 2025-08-18
- Client: Aws\BCMDashboards\BCMDashboardsClient
- Service ID: bcm-dashboards
- Version: 2025-08-18
This page describes the parameters and results for the operations of the AWS Billing and Cost Management Dashboards (2025-08-18), and shows how to use the Aws\BCMDashboards\BCMDashboardsClient object to call the described operations. This documentation is specific to the 2025-08-18 API version of the service.
Operation Summary
Each of the following operations can be created from a client using
$client->getCommand('CommandName'), where "CommandName" is the
name of one of the following operations. Note: a command is a value that
encapsulates an operation and the parameters used to create an HTTP request.
You can also create and send a command immediately using the magic methods
available on a client object: $client->commandName(/* parameters */).
You can send the command asynchronously (returning a promise) by appending the
word "Async" to the operation name: $client->commandNameAsync(/* parameters */).
- CreateDashboard ( array $params = [] )
- Creates a new dashboard that can contain multiple widgets displaying cost and usage data.
- CreateScheduledReport ( array $params = [] )
- Creates a new scheduled report for a dashboard.
- DeleteDashboard ( array $params = [] )
- Deletes a specified dashboard.
- DeleteScheduledReport ( array $params = [] )
- Deletes a specified scheduled report.
- ExecuteScheduledReport ( array $params = [] )
- Triggers an immediate execution of a scheduled report, outside of its regular schedule.
- GetDashboard ( array $params = [] )
- Retrieves the configuration and metadata of a specified dashboard, including its widgets and layout settings.
- GetResourcePolicy ( array $params = [] )
- Retrieves the resource-based policy attached to a dashboard, showing sharing configurations and permissions.
- GetScheduledReport ( array $params = [] )
- Retrieves the configuration and metadata of a specified scheduled report.
- ListDashboards ( array $params = [] )
- Returns a list of all dashboards in your account.
- ListScheduledReports ( array $params = [] )
- Returns a list of scheduled reports in your account.
- ListTagsForResource ( array $params = [] )
- Returns a list of all tags associated with a specified dashboard resource.
- TagResource ( array $params = [] )
- Adds or updates tags for a specified dashboard resource.
- UntagResource ( array $params = [] )
- Removes specified tags from a dashboard resource.
- UpdateDashboard ( array $params = [] )
- Updates an existing dashboard's properties, including its name, description, and widget configurations.
- UpdateScheduledReport ( array $params = [] )
- Updates an existing scheduled report's properties, including its name, description, schedule configuration, and widget settings.
Paginators
Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:
Operations
CreateDashboard
$result = $client->createDashboard([/* ... */]); $promise = $client->createDashboardAsync([/* ... */]);
Creates a new dashboard that can contain multiple widgets displaying cost and usage data. You can add custom widgets or use predefined widgets, arranging them in your preferred layout.
Parameter Syntax
$result = $client->createDashboard([
'description' => '<string>',
'name' => '<string>', // REQUIRED
'resourceTags' => [
[
'key' => '<string>', // REQUIRED
'value' => '<string>', // REQUIRED
],
// ...
],
'widgets' => [ // REQUIRED
[
'configs' => [ // REQUIRED
[
'displayConfig' => [ // REQUIRED
'graph' => [
'<GenericString>' => [
'visualType' => 'LINE|BAR|STACK', // REQUIRED
],
// ...
],
'table' => [
],
],
'queryParameters' => [ // REQUIRED
'costAndUsage' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM', // REQUIRED
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...], // REQUIRED
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY', // REQUIRED
'groupBy' => [
[
'key' => '<string>', // REQUIRED
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'metrics' => ['<string>', ...], // REQUIRED
'timeRange' => [ // REQUIRED
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
],
'reservationCoverage' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM', // REQUIRED
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...], // REQUIRED
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'groupBy' => [
[
'key' => '<string>', // REQUIRED
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'metrics' => ['<string>', ...],
'timeRange' => [ // REQUIRED
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
],
'reservationUtilization' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM', // REQUIRED
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...], // REQUIRED
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'groupBy' => [
[
'key' => '<string>', // REQUIRED
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'timeRange' => [ // REQUIRED
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
],
'savingsPlansCoverage' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM', // REQUIRED
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...], // REQUIRED
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'groupBy' => [
[
'key' => '<string>', // REQUIRED
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'metrics' => ['<string>', ...],
'timeRange' => [ // REQUIRED
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
],
'savingsPlansUtilization' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM', // REQUIRED
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...], // REQUIRED
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'timeRange' => [ // REQUIRED
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
],
],
],
// ...
],
'description' => '<string>',
'height' => <integer>,
'horizontalOffset' => <integer>,
'id' => '<string>',
'title' => '<string>', // REQUIRED
'width' => <integer>,
],
// ...
],
]);
Parameter Details
Members
- description
-
- Type: string
A description of the dashboard's purpose or contents.
- name
-
- Required: Yes
- Type: string
The name of the dashboard. The name must be unique within your account.
- resourceTags
-
- Type: Array of ResourceTag structures
The tags to apply to the dashboard resource for organization and management.
- widgets
-
- Required: Yes
- Type: Array of Widget structures
An array of widget configurations that define the visualizations to be displayed in the dashboard. Each dashboard can contain up to 20 widgets.
Result Syntax
[
'arn' => '<string>',
]
Result Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the newly created dashboard.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ServiceQuotaExceededException:
The request would exceed a service quota. Review the service quotas for Amazon Web Services Billing and Cost Management Dashboards and retry your request.
Examples
Example 1: Creating a dashboard
$result = $client->createDashboard([
'name' => 'cost-dashboards',
'description' => 'Dashboard for tracking costs',
'widgets' => [
[
'configs' => [
[
'displayConfig' => [
'graph' => [
'costTrend' => [
'visualType' => 'LINE',
],
],
],
'queryParameters' => [
'costAndUsage' => [
'granularity' => 'MONTHLY',
'groupBy' => [
[
'type' => 'DIMENSION',
'key' => 'SERVICE',
],
],
'metrics' => [
'UnblendedCost',
],
'timeRange' => [
'endTime' => [
'type' => 'RELATIVE',
'value' => 'now',
],
'startTime' => [
'type' => 'RELATIVE',
'value' => '-9M',
],
],
],
],
],
],
'height' => 7,
'horizontalOffset' => 0,
'title' => 'Monthly Cost Trend',
'width' => 4,
],
],
]);
CreateScheduledReport
$result = $client->createScheduledReport([/* ... */]); $promise = $client->createScheduledReportAsync([/* ... */]);
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.
Parameter Syntax
$result = $client->createScheduledReport([
'clientToken' => '<string>',
'resourceTags' => [
[
'key' => '<string>', // REQUIRED
'value' => '<string>', // REQUIRED
],
// ...
],
'scheduledReport' => [ // REQUIRED
'dashboardArn' => '<string>', // REQUIRED
'description' => '<string>',
'name' => '<string>', // REQUIRED
'scheduleConfig' => [ // REQUIRED
'scheduleExpression' => '<string>',
'scheduleExpressionTimeZone' => '<string>',
'schedulePeriod' => [
'endTime' => <integer || string || DateTime>,
'startTime' => <integer || string || DateTime>,
],
'state' => 'ENABLED|DISABLED',
],
'scheduledReportExecutionRoleArn' => '<string>', // REQUIRED
'widgetDateRangeOverride' => [
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
'widgetIds' => ['<string>', ...],
],
]);
Parameter Details
Members
- clientToken
-
- Type: string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
- resourceTags
-
- Type: Array of ResourceTag structures
The tags to apply to the scheduled report resource for organization and management.
- scheduledReport
-
- Required: Yes
- Type: ScheduledReportInput structure
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.
Result Syntax
[
'arn' => '<string>',
]
Result Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the newly created scheduled report.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- ConflictException:
The request could not be completed due to a conflict with the current state of the resource. For example, attempting to create a resource that already exists or is being created.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ServiceQuotaExceededException:
The request would exceed a service quota. Review the service quotas for Amazon Web Services Billing and Cost Management Dashboards and retry your request.
DeleteDashboard
$result = $client->deleteDashboard([/* ... */]); $promise = $client->deleteDashboardAsync([/* ... */]);
Deletes a specified dashboard. This action cannot be undone.
Parameter Syntax
$result = $client->deleteDashboard([
'arn' => '<string>', // REQUIRED
]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the dashboard to be deleted.
Result Syntax
[
'arn' => '<string>',
]
Result Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the dashboard that was deleted.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
Examples
Example 1: Deleting a dashboard
$result = $client->deleteDashboard([
'arn' => 'arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh',
]);
Result syntax:
[
'arn' => 'arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh',
]
DeleteScheduledReport
$result = $client->deleteScheduledReport([/* ... */]); $promise = $client->deleteScheduledReportAsync([/* ... */]);
Deletes a specified scheduled report. This is an irreversible operation.
Parameter Syntax
$result = $client->deleteScheduledReport([
'arn' => '<string>', // REQUIRED
]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the scheduled report to delete.
Result Syntax
[
'arn' => '<string>',
]
Result Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the scheduled report that was deleted.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ResourceNotFoundException:
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.
ExecuteScheduledReport
$result = $client->executeScheduledReport([/* ... */]); $promise = $client->executeScheduledReportAsync([/* ... */]);
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.
If a clientToken is provided, the service uses it for idempotency. Requests with the same client token will not trigger a new execution within the same minute.
Parameter Syntax
$result = $client->executeScheduledReport([
'arn' => '<string>', // REQUIRED
'clientToken' => '<string>',
'dryRun' => true || false,
]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the scheduled report to execute.
- clientToken
-
- Type: string
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
- dryRun
-
- Type: boolean
When set to
true, validates the scheduled report configuration without triggering an actual execution.
Result Syntax
[
'executionTriggered' => true || false,
'healthStatus' => [
'lastRefreshedAt' => <DateTime>,
'statusCode' => 'HEALTHY|UNHEALTHY',
'statusReasons' => ['<string>', ...],
],
]
Result Details
Members
- executionTriggered
-
- Type: boolean
Indicates whether the execution was successfully triggered.
- healthStatus
-
- Type: HealthStatus structure
The health status of the scheduled report after the execution request.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- ConflictException:
The request could not be completed due to a conflict with the current state of the resource. For example, attempting to create a resource that already exists or is being created.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ResourceNotFoundException:
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.
GetDashboard
$result = $client->getDashboard([/* ... */]); $promise = $client->getDashboardAsync([/* ... */]);
Retrieves the configuration and metadata of a specified dashboard, including its widgets and layout settings.
Parameter Syntax
$result = $client->getDashboard([
'arn' => '<string>', // REQUIRED
]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the dashboard to retrieve. This is required to uniquely identify the dashboard.
Result Syntax
[
'arn' => '<string>',
'createdAt' => <DateTime>,
'description' => '<string>',
'name' => '<string>',
'type' => 'CUSTOM',
'updatedAt' => <DateTime>,
'widgets' => [
[
'configs' => [
[
'displayConfig' => [
'graph' => [
'<GenericString>' => [
'visualType' => 'LINE|BAR|STACK',
],
// ...
],
'table' => [
],
],
'queryParameters' => [
'costAndUsage' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'groupBy' => [
[
'key' => '<string>',
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'metrics' => ['<string>', ...],
'timeRange' => [
'endTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
'startTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
],
],
'reservationCoverage' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'groupBy' => [
[
'key' => '<string>',
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'metrics' => ['<string>', ...],
'timeRange' => [
'endTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
'startTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
],
],
'reservationUtilization' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'groupBy' => [
[
'key' => '<string>',
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'timeRange' => [
'endTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
'startTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
],
],
'savingsPlansCoverage' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'groupBy' => [
[
'key' => '<string>',
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'metrics' => ['<string>', ...],
'timeRange' => [
'endTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
'startTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
],
],
'savingsPlansUtilization' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'timeRange' => [
'endTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
'startTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
],
],
],
],
// ...
],
'description' => '<string>',
'height' => <integer>,
'horizontalOffset' => <integer>,
'id' => '<string>',
'title' => '<string>',
'width' => <integer>,
],
// ...
],
]
Result Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the retrieved dashboard.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the dashboard was created.
- description
-
- Type: string
The description of the retrieved dashboard.
- name
-
- Required: Yes
- Type: string
The name of the retrieved dashboard.
- type
-
- Required: Yes
- Type: string
Indicates the dashboard type.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the dashboard was last modified.
- widgets
-
- Required: Yes
- Type: Array of Widget structures
An array of widget configurations that make up the dashboard.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ResourceNotFoundException:
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.
Examples
Example 1: Getting information about a dashboard
$result = $client->getDashboard([
'arn' => 'arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh',
]);
Result syntax:
[
'name' => 'cost-dashboards',
'type' => 'CUSTOM',
'arn' => 'arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh',
'createdAt' => ,
'description' => 'Dashboard for tracking costs',
'updatedAt' => ,
'widgets' => [
[
'configs' => [
[
'displayConfig' => [
'graph' => [
'costTrend' => [
'visualType' => 'LINE',
],
],
],
'queryParameters' => [
'costAndUsage' => [
'granularity' => 'MONTHLY',
'groupBy' => [
[
'type' => 'DIMENSION',
'key' => 'SERVICE',
],
],
'metrics' => [
'UnblendedCost',
],
'timeRange' => [
'endTime' => [
'type' => 'RELATIVE',
'value' => 'now',
],
'startTime' => [
'type' => 'RELATIVE',
'value' => '-6M',
],
],
],
],
],
],
'height' => 7,
'horizontalOffset' => 0,
'title' => 'Monthly Cost Trend',
'width' => 4,
],
],
]
GetResourcePolicy
$result = $client->getResourcePolicy([/* ... */]); $promise = $client->getResourcePolicyAsync([/* ... */]);
Retrieves the resource-based policy attached to a dashboard, showing sharing configurations and permissions.
Parameter Syntax
$result = $client->getResourcePolicy([
'resourceArn' => '<string>', // REQUIRED
]);
Parameter Details
Members
- resourceArn
-
- Required: Yes
- Type: string
The ARN of the dashboard whose resource-based policy you want to retrieve.
Result Syntax
[
'policyDocument' => '<string>',
'resourceArn' => '<string>',
]
Result Details
Members
- policyDocument
-
- Required: Yes
- Type: string
The JSON policy document that represents the dashboard's resource-based policy.
- resourceArn
-
- Required: Yes
- Type: string
The ARN of the dashboard for which the resource-based policy was retrieved.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ResourceNotFoundException:
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.
Examples
Example 1: Getting resource policy for a resource
$result = $client->getResourcePolicy([
'resourceArn' => 'arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh',
]);
Result syntax:
[
'policyDocument' => '{}',
'resourceArn' => 'arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh',
]
GetScheduledReport
$result = $client->getScheduledReport([/* ... */]); $promise = $client->getScheduledReportAsync([/* ... */]);
Retrieves the configuration and metadata of a specified scheduled report.
Parameter Syntax
$result = $client->getScheduledReport([
'arn' => '<string>', // REQUIRED
]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the scheduled report to retrieve.
Result Syntax
[
'scheduledReport' => [
'arn' => '<string>',
'createdAt' => <DateTime>,
'dashboardArn' => '<string>',
'description' => '<string>',
'healthStatus' => [
'lastRefreshedAt' => <DateTime>,
'statusCode' => 'HEALTHY|UNHEALTHY',
'statusReasons' => ['<string>', ...],
],
'lastExecutionAt' => <DateTime>,
'name' => '<string>',
'scheduleConfig' => [
'scheduleExpression' => '<string>',
'scheduleExpressionTimeZone' => '<string>',
'schedulePeriod' => [
'endTime' => <DateTime>,
'startTime' => <DateTime>,
],
'state' => 'ENABLED|DISABLED',
],
'scheduledReportExecutionRoleArn' => '<string>',
'updatedAt' => <DateTime>,
'widgetDateRangeOverride' => [
'endTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
'startTime' => [
'type' => 'ABSOLUTE|RELATIVE',
'value' => '<string>',
],
],
'widgetIds' => ['<string>', ...],
],
]
Result Details
Members
- scheduledReport
-
- Required: Yes
- Type: ScheduledReport structure
The scheduled report configuration and metadata.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ResourceNotFoundException:
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.
ListDashboards
$result = $client->listDashboards([/* ... */]); $promise = $client->listDashboardsAsync([/* ... */]);
Returns a list of all dashboards in your account.
Parameter Syntax
$result = $client->listDashboards([
'maxResults' => <integer>,
'nextToken' => '<string>',
]);
Parameter Details
Members
- maxResults
-
- Type: int
The maximum number of results to return in a single call. The default value is 20.
- nextToken
-
- Type: string
The token for the next page of results. Use the value returned in the previous response.
Result Syntax
[
'dashboards' => [
[
'arn' => '<string>',
'createdAt' => <DateTime>,
'description' => '<string>',
'name' => '<string>',
'type' => 'CUSTOM',
'updatedAt' => <DateTime>,
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- dashboards
-
- Required: Yes
- Type: Array of DashboardReference structures
An array of dashboard references, containing basic information about each dashboard.
- nextToken
-
- Type: string
The token to use to retrieve the next page of results. Not returned if there are no more results to retrieve.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
Examples
Example 1: Listing dashboards for a user
$result = $client->listDashboards([ ]);
Result syntax:
[
'dashboards' => [
[
'name' => 'monthly-cost-dashboard',
'type' => 'CUSTOM',
'arn' => 'arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh',
'createdAt' => ,
'description' => 'Dashboard for tracking monthly cost',
'updatedAt' => ,
],
],
]
ListScheduledReports
$result = $client->listScheduledReports([/* ... */]); $promise = $client->listScheduledReportsAsync([/* ... */]);
Returns a list of scheduled reports in your account.
Parameter Syntax
$result = $client->listScheduledReports([
'maxResults' => <integer>,
'nextToken' => '<string>',
]);
Parameter Details
Members
- maxResults
-
- Type: int
The maximum number of results to return in a single call. Valid range is 1 to 100. The default value is 50.
- nextToken
-
- Type: string
The token for the next page of results. Use the value returned in the previous response.
Result Syntax
[
'nextToken' => '<string>',
'scheduledReports' => [
[
'arn' => '<string>',
'dashboardArn' => '<string>',
'healthStatus' => [
'lastRefreshedAt' => <DateTime>,
'statusCode' => 'HEALTHY|UNHEALTHY',
'statusReasons' => ['<string>', ...],
],
'name' => '<string>',
'scheduleExpression' => '<string>',
'scheduleExpressionTimeZone' => '<string>',
'state' => 'ENABLED|DISABLED',
'widgetIds' => ['<string>', ...],
],
// ...
],
]
Result Details
Members
- nextToken
-
- Type: string
The token to use to retrieve the next page of results. Not returned if there are no more results to retrieve.
- scheduledReports
-
- Required: Yes
- Type: Array of ScheduledReportSummary structures
An array of scheduled report summaries, containing basic information about each scheduled report.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
ListTagsForResource
$result = $client->listTagsForResource([/* ... */]); $promise = $client->listTagsForResourceAsync([/* ... */]);
Returns a list of all tags associated with a specified dashboard resource.
Parameter Syntax
$result = $client->listTagsForResource([
'resourceArn' => '<string>', // REQUIRED
]);
Parameter Details
Members
- resourceArn
-
- Required: Yes
- Type: string
The unique identifier for the resource.
Result Syntax
[
'resourceTags' => [
[
'key' => '<string>',
'value' => '<string>',
],
// ...
],
]
Result Details
Members
- resourceTags
-
- Type: Array of ResourceTag structures
The list of tags associated with the specified dashboard resource.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ResourceNotFoundException:
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.
Examples
Example 1: Listing tags for a resource
$result = $client->listTagsForResource([
'resourceArn' => 'arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh',
]);
Result syntax:
[
'resourceTags' => [
[
'key' => 'keyOne',
'value' => 'valueOne',
],
[
'key' => 'keyTwo',
'value' => 'valueTwo',
],
],
]
TagResource
$result = $client->tagResource([/* ... */]); $promise = $client->tagResourceAsync([/* ... */]);
Adds or updates tags for a specified dashboard resource.
Parameter Syntax
$result = $client->tagResource([
'resourceArn' => '<string>', // REQUIRED
'resourceTags' => [ // REQUIRED
[
'key' => '<string>', // REQUIRED
'value' => '<string>', // REQUIRED
],
// ...
],
]);
Parameter Details
Members
- resourceArn
-
- Required: Yes
- Type: string
The unique identifier for the resource.
- resourceTags
-
- Required: Yes
- Type: Array of ResourceTag structures
The tags to add to the dashboard resource.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ResourceNotFoundException:
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.
Examples
Example 1: Adding tag(s) to a resource
$result = $client->tagResource([
'resourceArn' => 'arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh',
'resourceTags' => [
[
'key' => 'keyOne',
'value' => 'valueOne',
],
],
]);
UntagResource
$result = $client->untagResource([/* ... */]); $promise = $client->untagResourceAsync([/* ... */]);
Removes specified tags from a dashboard resource.
Parameter Syntax
$result = $client->untagResource([
'resourceArn' => '<string>', // REQUIRED
'resourceTagKeys' => ['<string>', ...], // REQUIRED
]);
Parameter Details
Members
- resourceArn
-
- Required: Yes
- Type: string
The unique identifier for the resource.
- resourceTagKeys
-
- Required: Yes
- Type: Array of strings
The keys of the tags to remove from the dashboard resource.
Result Syntax
[]
Result Details
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ResourceNotFoundException:
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.
Examples
Example 1: Removing tag(s) from a resource
$result = $client->untagResource([
'resourceArn' => 'arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh',
'resourceTagKeys' => [
'keyOne',
],
]);
UpdateDashboard
$result = $client->updateDashboard([/* ... */]); $promise = $client->updateDashboardAsync([/* ... */]);
Updates an existing dashboard's properties, including its name, description, and widget configurations.
Parameter Syntax
$result = $client->updateDashboard([
'arn' => '<string>', // REQUIRED
'description' => '<string>',
'name' => '<string>', // REQUIRED
'widgets' => [
[
'configs' => [ // REQUIRED
[
'displayConfig' => [ // REQUIRED
'graph' => [
'<GenericString>' => [
'visualType' => 'LINE|BAR|STACK', // REQUIRED
],
// ...
],
'table' => [
],
],
'queryParameters' => [ // REQUIRED
'costAndUsage' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM', // REQUIRED
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...], // REQUIRED
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY', // REQUIRED
'groupBy' => [
[
'key' => '<string>', // REQUIRED
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'metrics' => ['<string>', ...], // REQUIRED
'timeRange' => [ // REQUIRED
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
],
'reservationCoverage' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM', // REQUIRED
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...], // REQUIRED
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'groupBy' => [
[
'key' => '<string>', // REQUIRED
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'metrics' => ['<string>', ...],
'timeRange' => [ // REQUIRED
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
],
'reservationUtilization' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM', // REQUIRED
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...], // REQUIRED
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'groupBy' => [
[
'key' => '<string>', // REQUIRED
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'timeRange' => [ // REQUIRED
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
],
'savingsPlansCoverage' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM', // REQUIRED
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...], // REQUIRED
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'groupBy' => [
[
'key' => '<string>', // REQUIRED
'type' => 'DIMENSION|TAG|COST_CATEGORY',
],
// ...
],
'metrics' => ['<string>', ...],
'timeRange' => [ // REQUIRED
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
],
'savingsPlansUtilization' => [
'filter' => [
'and' => [
[...], // RECURSIVE
// ...
],
'costCategories' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
'dimensions' => [
'key' => 'AZ|INSTANCE_TYPE|LINKED_ACCOUNT|OPERATION|PURCHASE_TYPE|REGION|SERVICE|USAGE_TYPE|USAGE_TYPE_GROUP|RECORD_TYPE|RESOURCE_ID|SUBSCRIPTION_ID|TAG_KEY|OPERATING_SYSTEM|TENANCY|BILLING_ENTITY|RESERVATION_ID|COST_CATEGORY_NAME|DATABASE_ENGINE|LEGAL_ENTITY_NAME|SAVINGS_PLANS_TYPE|INSTANCE_TYPE_FAMILY|CACHE_ENGINE|DEPLOYMENT_OPTION|SCOPE|PLATFORM', // REQUIRED
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...], // REQUIRED
],
'not' => [...], // RECURSIVE
'or' => [
[...], // RECURSIVE
// ...
],
'tags' => [
'key' => '<string>',
'matchOptions' => ['<string>', ...],
'values' => ['<string>', ...],
],
],
'granularity' => 'HOURLY|DAILY|MONTHLY',
'timeRange' => [ // REQUIRED
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
],
],
],
// ...
],
'description' => '<string>',
'height' => <integer>,
'horizontalOffset' => <integer>,
'id' => '<string>',
'title' => '<string>', // REQUIRED
'width' => <integer>,
],
// ...
],
]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the dashboard to update.
- description
-
- Type: string
The new description for the dashboard.
- name
-
- Required: Yes
- Type: string
The new name for the dashboard.
- widgets
-
- Type: Array of Widget structures
The updated array of widget configurations for the dashboard. Replaces all existing widgets.
Result Syntax
[
'arn' => '<string>',
]
Result Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the updated dashboard.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ResourceNotFoundException:
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.
Examples
Example 1: Updating a dashboard
$result = $client->updateDashboard([
'name' => 'cost-dashboards-updated',
'arn' => 'arn:aws:bcm-dashboards::123456789012:dashboard/abcd1234-ab12-12ab-1ab2-abcd1234efgh',
'description' => 'Dashboard for tracking costs version 2',
'widgets' => [
[
'configs' => [
[
'displayConfig' => [
'graph' => [
'costTrend' => [
'visualType' => 'LINE',
],
],
],
'queryParameters' => [
'costAndUsage' => [
'granularity' => 'MONTHLY',
'groupBy' => [
[
'type' => 'DIMENSION',
'key' => 'SERVICE',
],
],
'metrics' => [
'UnblendedCost',
],
'timeRange' => [
'endTime' => [
'type' => 'RELATIVE',
'value' => 'now',
],
'startTime' => [
'type' => 'RELATIVE',
'value' => '-3M',
],
],
],
],
],
],
'height' => 7,
'horizontalOffset' => 2,
'title' => 'Monthly Cost Trend',
'width' => 4,
],
],
]);
UpdateScheduledReport
$result = $client->updateScheduledReport([/* ... */]); $promise = $client->updateScheduledReportAsync([/* ... */]);
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.
Parameter Syntax
$result = $client->updateScheduledReport([
'arn' => '<string>', // REQUIRED
'clearWidgetDateRangeOverride' => true || false,
'clearWidgetIds' => true || false,
'dashboardArn' => '<string>',
'description' => '<string>',
'name' => '<string>',
'scheduleConfig' => [
'scheduleExpression' => '<string>',
'scheduleExpressionTimeZone' => '<string>',
'schedulePeriod' => [
'endTime' => <integer || string || DateTime>,
'startTime' => <integer || string || DateTime>,
],
'state' => 'ENABLED|DISABLED',
],
'scheduledReportExecutionRoleArn' => '<string>',
'widgetDateRangeOverride' => [
'endTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
'startTime' => [ // REQUIRED
'type' => 'ABSOLUTE|RELATIVE', // REQUIRED
'value' => '<string>', // REQUIRED
],
],
'widgetIds' => ['<string>', ...],
]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the scheduled report to update.
- clearWidgetDateRangeOverride
-
- Type: boolean
Set to true to clear existing widgetDateRangeOverride.
- clearWidgetIds
-
- Type: boolean
Set to true to clear existing widgetIds.
- dashboardArn
-
- Type: string
The ARN of the dashboard to associate with the scheduled report.
- description
-
- Type: string
The new description for the scheduled report.
- name
-
- Type: string
The new name for the scheduled report.
- scheduleConfig
-
- Type: ScheduleConfig structure
The updated schedule configuration for the report.
- scheduledReportExecutionRoleArn
-
- Type: 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.
- widgetDateRangeOverride
-
- Type: DateTimeRange structure
The date range override to apply to widgets in the scheduled report.
- widgetIds
-
- Type: Array of strings
The list of widget identifiers to include in the scheduled report. If not specified, all widgets in the dashboard are included.
Result Syntax
[
'arn' => '<string>',
]
Result Details
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the updated scheduled report.
Errors
- ThrottlingException:
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
- ConflictException:
The request could not be completed due to a conflict with the current state of the resource. For example, attempting to create a resource that already exists or is being created.
- AccessDeniedException:
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
- InternalServerException:
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
- ValidationException:
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
- ResourceNotFoundException:
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.
Shapes
AccessDeniedException
Description
You do not have sufficient permissions to perform this action. Verify your IAM permissions and any resource policies.
Members
- message
-
- Required: Yes
- Type: string
ConflictException
Description
The request could not be completed due to a conflict with the current state of the resource. For example, attempting to create a resource that already exists or is being created.
Members
- message
-
- Required: Yes
- Type: string
CostAndUsageQuery
Description
Defines the parameters for retrieving Amazon Web Services cost and usage data. Includes specifications for metrics, time periods, granularity, grouping dimensions, and filtering conditions.
Members
- filter
-
- Type: Expression structure
The filter expression to be applied to the cost and usage data.
- granularity
-
- Required: Yes
- Type: string
The granularity of the retrieved data:
HOURLY,DAILY, orMONTHLY. - groupBy
-
- Type: Array of GroupDefinition structures
Specifies how to group the retrieved data, such as by
SERVICE,ACCOUNT, orTAG. - metrics
-
- Required: Yes
- Type: Array of strings
The specific cost and usage metrics to retrieve.
Valid values for CostAndUsageQuery metrics are
AmortizedCost,BlendedCost,NetAmortizedCost,NetUnblendedCost,NormalizedUsageAmount,UnblendedCost, andUsageQuantity. - timeRange
-
- Required: Yes
- Type: DateTimeRange structure
The time period for which to retrieve data. Can be specified as absolute dates or relative time periods.
CostCategoryValues
Description
Specifies the values and match options for cost category-based filtering in cost and usage queries.
Members
- key
-
- Type: string
The key of the cost category to filter on.
- matchOptions
-
- Type: Array of strings
The match options for cost category values, such as
EQUALS,CONTAINS,STARTS_WITH, orENDS_WITH. - values
-
- Type: Array of strings
The values to match for the specified cost category key.
DashboardReference
Description
Contains basic information about a dashboard, including its ARN, name, type, and timestamps.
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the referenced dashboard.
- createdAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the dashboard was created.
- description
-
- Type: string
The description of the referenced dashboard.
- name
-
- Required: Yes
- Type: string
The name of the referenced dashboard.
- type
-
- Required: Yes
- Type: string
The dashboard type.
- updatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the dashboard was last modified.
DateTimeRange
Description
Defines a time period with explicit start and end times for data queries.
Members
- endTime
-
- Required: Yes
- Type: DateTimeValue structure
The end time of the date range for querying data.
- startTime
-
- Required: Yes
- Type: DateTimeValue structure
The start time of the date range for querying data.
DateTimeValue
Description
Represents a point in time that can be specified as either an absolute date (for example, "2025-07-01") or a relative time period using ISO 8601 duration format (for example, "-P3M" for three months ago).
Members
- type
-
- Required: Yes
- Type: string
The type of date/time value:
ABSOLUTEfor specific dates orRELATIVEfor dynamic time periods. - value
-
- Required: Yes
- Type: string
The actual date/time value.
DimensionValues
Description
Specifies the values and match options for dimension-based filtering in cost and usage queries.
Members
- key
-
- Required: Yes
- Type: string
The key of the dimension to filter on (for example,
SERVICE,USAGE_TYPE, orOPERATION). - matchOptions
-
- Type: Array of strings
The match options for dimension values, such as
EQUALS,CONTAINS,STARTS_WITH, orENDS_WITH. - values
-
- Required: Yes
- Type: Array of strings
The values to match for the specified dimension key.
DisplayConfig
Description
Defines how the widget's data should be visualized, including chart type, color schemes, axis configurations, and other display preferences.
Members
- graph
-
- Type: Associative array of custom strings keys (GenericString) to GraphDisplayConfig structures
The configuration for graphical display of the widget data, including chart type and visual options.
- table
-
- Type: TableDisplayConfigStruct structure
The configuration for tabular display of the widget data.
Expression
Description
Defines complex filtering conditions using logical operators (AND, OR, NOT) and various filter types.
Members
- and
-
- Type: Array of Expression structures
A list of expressions to combine with AND logic.
- costCategories
-
- Type: CostCategoryValues structure
The cost category values to include in the filter expression.
- dimensions
-
- Type: DimensionValues structure
The dimension values to include in the filter expression.
- not
-
- Type: Expression structure
An expression to negate with NOT logic.
- or
-
- Type: Array of Expression structures
A list of expressions to combine with OR logic.
- tags
-
- Type: TagValues structure
The tag values to include in the filter expression.
GraphDisplayConfig
Description
Defines the visual representation settings for widget data, including the visualization type, styling options, and display preferences for different metric types.
Members
- visualType
-
- Required: Yes
- Type: string
The type of visualization to use for the data.
GroupDefinition
Description
Specifies how to group cost and usage data.
Members
- key
-
- Required: Yes
- Type: string
The key to use for grouping cost and usage data.
- type
-
- Type: string
The type of grouping to apply.
HealthStatus
Description
Contains the health status information for a scheduled report, including the status code and any reasons for an unhealthy state.
Members
- lastRefreshedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the health status was last refreshed.
- statusCode
-
- Required: Yes
- Type: string
The health status code.
HEALTHYindicates the scheduled report is configured properly and has all required permissions to execute.UNHEALTHYindicates 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. - statusReasons
-
- Type: Array of strings
The list of reasons for the current health status. Only present when the status is
UNHEALTHY.
InternalServerException
Description
An internal error occurred while processing the request. Retry your request. If the problem persists, contact Amazon Web Services Support.
Members
- message
-
- Required: Yes
- Type: string
QueryParameters
Description
Defines the data retrieval parameters for a widget.
Members
- costAndUsage
-
- Type: CostAndUsageQuery structure
The parameters for querying cost and usage data, including metrics, time range, granularity, grouping dimensions, and filters.
- reservationCoverage
-
- Type: ReservationCoverageQuery structure
The parameters for querying Reserved Instance coverage data, showing how much of your eligible instance usage is covered by Reserved Instances.
- reservationUtilization
-
- Type: ReservationUtilizationQuery structure
The parameters for querying Reserved Instance utilization data, showing how effectively your Reserved Instances are being used.
- savingsPlansCoverage
-
- Type: SavingsPlansCoverageQuery structure
The parameters for querying Savings Plans coverage data, showing how much of your eligible compute usage is covered by Savings Plans.
- savingsPlansUtilization
-
- Type: SavingsPlansUtilizationQuery structure
The parameters for querying Savings Plans utilization data, showing how effectively your Savings Plans are being used.
ReservationCoverageQuery
Description
Defines the parameters for querying Reserved Instance coverage data, including grouping options, metrics, and sorting preferences.
Members
- filter
-
- Type: Expression structure
Defines complex filtering conditions using logical operators (
AND,OR,NOT) and various filter types. - granularity
-
- Type: string
The time granularity of the retrieved data:
HOURLY,DAILY, orMONTHLY. - groupBy
-
- Type: Array of GroupDefinition structures
Specifies how to group the Reserved Instance coverage data, such as by service, Region, or instance type.
- metrics
-
- Type: Array of strings
The coverage metrics to include in the results.
Valid values for ReservationCoverageQuery metrics are
Hour,Unit, andCost. - timeRange
-
- Required: Yes
- Type: DateTimeRange structure
Defines a time period with explicit start and end times for data queries.
ReservationUtilizationQuery
Description
Defines the parameters for querying Reserved Instance utilization data, including grouping options and time granularity.
Members
- filter
-
- Type: Expression structure
Defines complex filtering conditions using logical operators (
AND,OR,NOT) and various filter types. - granularity
-
- Type: string
The time granularity of the retrieved data:
HOURLY,DAILY, orMONTHLY. - groupBy
-
- Type: Array of GroupDefinition structures
Specifies how to group the Reserved Instance utilization data, such as by service, Region, or instance type.
- timeRange
-
- Required: Yes
- Type: DateTimeRange structure
Defines a time period with explicit start and end times for data queries.
ResourceNotFoundException
Description
The specified resource (dashboard, policy, or widget) was not found. Verify the ARN and try again.
Members
- message
-
- Required: Yes
- Type: string
ResourceTag
Description
A key-value pair that can be attached to a dashboard for organization and management purposes.
Members
- key
-
- Required: Yes
- Type: string
The key of the tag to be attached to the dashboard resource.
- value
-
- Required: Yes
- Type: string
The value of the tag to be attached to the dashboard resource.
SavingsPlansCoverageQuery
Description
Defines the parameters for querying Savings Plans coverage data, including metrics, grouping options, and time granularity.
Members
- filter
-
- Type: Expression structure
Defines complex filtering conditions using logical operators (
AND,OR,NOT) and various filter types. - granularity
-
- Type: string
The time granularity of the retrieved data:
HOURLY,DAILY, orMONTHLY. - groupBy
-
- Type: Array of GroupDefinition structures
Specifies how to group the Savings Plans coverage data, such as by service or instance family.
- metrics
-
- Type: Array of strings
The coverage metrics to include in the results.
Valid value for SavingsPlansCoverageQuery metrics is
SpendCoveredBySavingsPlans. - timeRange
-
- Required: Yes
- Type: DateTimeRange structure
Defines a time period with explicit start and end times for data queries.
SavingsPlansUtilizationQuery
Description
Defines the parameters for querying Savings Plans utilization data, including time granularity and sorting preferences.
Members
- filter
-
- Type: Expression structure
Defines complex filtering conditions using logical operators (
AND,OR,NOT) and various filter types. - granularity
-
- Type: string
The time granularity of the retrieved data:
HOURLY,DAILY, orMONTHLY. - timeRange
-
- Required: Yes
- Type: DateTimeRange structure
Defines a time period with explicit start and end times for data queries.
ScheduleConfig
Description
Defines the schedule for a scheduled report, including the cron expression, time zone, active period, and the schedule state.
Members
- scheduleExpression
-
- Type: 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
-
- Type: string
The time zone for the schedule expression, for example,
UTC. - schedulePeriod
-
- Type: SchedulePeriod structure
The time period during which the schedule is active.
- state
-
- Type: string
The state of the schedule.
ENABLEDmeans the scheduled report runs according to its schedule expression.DISABLEDmeans the scheduled report is paused and will not run until re-enabled.
SchedulePeriod
Description
Defines the active time period for execution of the scheduled report.
Members
- endTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
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. - startTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
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.
ScheduledReport
Description
Contains the full configuration and metadata of a scheduled report.
Members
- arn
-
- Type: string
The ARN of the scheduled report.
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the scheduled report was created.
- dashboardArn
-
- Required: Yes
- Type: string
The ARN of the dashboard associated with the scheduled report.
- description
-
- Type: string
A description of the scheduled report's purpose or contents.
- healthStatus
-
- Type: HealthStatus structure
The health status of the scheduled report at last refresh time.
- lastExecutionAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp of the most recent execution of the scheduled report.
- name
-
- Required: Yes
- Type: string
The name of the scheduled report.
- scheduleConfig
-
- Required: Yes
- Type: ScheduleConfig structure
The schedule configuration that defines when and how often the report is generated.
- scheduledReportExecutionRoleArn
-
- Required: Yes
- Type: 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.
- updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the scheduled report was last modified.
- widgetDateRangeOverride
-
- Type: DateTimeRange structure
The date range override applied to widgets in the scheduled report.
- widgetIds
-
- Type: Array of strings
The list of widget identifiers included in the scheduled report.
ScheduledReportInput
Description
Defines the configuration for creating a new scheduled report, including the dashboard, schedule, execution role, and optional widget settings.
Members
- dashboardArn
-
- Required: Yes
- Type: string
The ARN of the dashboard to generate the scheduled report from.
- description
-
- Type: string
A description of the scheduled report's purpose or contents.
- name
-
- Required: Yes
- Type: string
The name of the scheduled report.
- scheduleConfig
-
- Required: Yes
- Type: ScheduleConfig structure
The schedule configuration that defines when and how often the report is generated. If the schedule state is not specified, it defaults to
ENABLED. - scheduledReportExecutionRoleArn
-
- Required: Yes
- Type: 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.
- widgetDateRangeOverride
-
- Type: DateTimeRange structure
The date range override to apply to widgets in the scheduled report.
- widgetIds
-
- Type: Array of strings
The list of widget identifiers to include in the scheduled report. If not specified, all widgets in the dashboard are included.
ScheduledReportSummary
Description
Contains summary information for a scheduled report.
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the scheduled report.
- dashboardArn
-
- Required: Yes
- Type: string
The ARN of the dashboard associated with the scheduled report.
- healthStatus
-
- Required: Yes
- Type: HealthStatus structure
The health status of the scheduled report as of its last refresh time.
- name
-
- Required: Yes
- Type: string
The name of the scheduled report.
- scheduleExpression
-
- Required: Yes
- Type: string
The schedule expression that defines when the report runs.
- scheduleExpressionTimeZone
-
- Type: string
The time zone for the schedule expression, for example,
UTC. - state
-
- Required: Yes
- Type: string
The state of the schedule:
ENABLEDorDISABLED. - widgetIds
-
- Type: Array of strings
The list of widget identifiers included in the scheduled report.
ServiceQuotaExceededException
Description
The request would exceed a service quota. Review the service quotas for Amazon Web Services Billing and Cost Management Dashboards and retry your request.
Members
- message
-
- Required: Yes
- Type: string
TableDisplayConfigStruct
Description
Configuration structure for customizing the tabular display of widget data.
Members
TagValues
Description
Specifies tag-based filtering options for cost and usage queries.
Members
- key
-
- Type: string
The key of the tag to filter on.
- matchOptions
-
- Type: Array of strings
The match options for tag values, such as
EQUALS,CONTAINS,STARTS_WITH, orENDS_WITH. - values
-
- Type: Array of strings
The values to match for the specified tag key.
ThrottlingException
Description
The request was denied due to request throttling. Reduce the frequency of requests and use exponential backoff.
Members
- message
-
- Required: Yes
- Type: string
ValidationException
Description
The input parameters do not satisfy the requirements. Check the error message for specific validation details.
Members
- message
-
- Required: Yes
- Type: string
Widget
Description
A configurable visualization component within a dashboard that displays specific cost and usage metrics. Each widget can show data as charts or tables and includes settings for data querying, filtering, and visual presentation.
Members
- configs
-
- Required: Yes
- Type: Array of WidgetConfig structures
An array of configurations that define the data queries and display settings for the widget.
- description
-
- Type: string
A description of the widget's purpose or the data it displays.
- height
-
- Type: int
The height of the widget in row spans. The dashboard layout consists of a grid system.
- horizontalOffset
-
- Type: int
Specifies the starting column position of the widget in the dashboard's grid layout. Used to control widget placement.
- id
-
- Type: string
The unique identifier for the widget.
- title
-
- Required: Yes
- Type: string
The title of the widget.
- width
-
- Type: int
The width of the widget in column spans. The dashboard layout consists of a grid system.
WidgetConfig
Description
Defines the complete configuration for a widget, including data retrieval settings and visualization preferences.
Members
- displayConfig
-
- Required: Yes
- Type: DisplayConfig structure
The configuration that determines how the retrieved data should be visualized in the widget.
- queryParameters
-
- Required: Yes
- Type: QueryParameters structure
The parameters that define what data the widget should retrieve and how it should be filtered or grouped.