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.
- DeleteDashboard ( array $params = [] )
- Deletes a specified dashboard.
- 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.
- ListDashboards ( array $params = [] )
- Returns a list of all dashboards 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.
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>, '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 service quotas. For example, attempting to create more than 20 widgets in a dashboard or exceeding the maximum number of dashboards per account.
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, ], ], ]);
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', ]
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>, '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', ]
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' => , ], ], ]
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>', '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>, '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. If not specified, the existing description is retained.
- name
-
- Type: string
The new name for the dashboard. If not specified, the existing name is retained.
- 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, ], ], ]);
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
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:
ABSOLUTE
for specific dates orRELATIVE
for 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.
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, or MONTHLY.
- timeRange
-
- Required: Yes
- Type: DateTimeRange structure
Defines a time period with explicit start and end times for data queries.
ServiceQuotaExceededException
Description
The request would exceed service quotas. For example, attempting to create more than 20 widgets in a dashboard or exceeding the maximum number of dashboards per account.
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.
- 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.