125 lines
4.4 KiB
TypeScript
125 lines
4.4 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { IVariable } from './variable';
|
|
import type { IWidget } from './widget';
|
|
import type { Duration } from '../../core';
|
|
import { Resource } from '../../core';
|
|
/**
|
|
* Specify the period for graphs when the CloudWatch dashboard loads
|
|
*/
|
|
export declare enum PeriodOverride {
|
|
/**
|
|
* Period of all graphs on the dashboard automatically adapt to the time range of the dashboard.
|
|
*/
|
|
AUTO = "auto",
|
|
/**
|
|
* Period set for each graph will be used
|
|
*/
|
|
INHERIT = "inherit"
|
|
}
|
|
/**
|
|
* Properties for defining a CloudWatch Dashboard
|
|
*/
|
|
export interface DashboardProps {
|
|
/**
|
|
* Name of the dashboard.
|
|
*
|
|
* If set, must only contain alphanumerics, dash (-) and underscore (_)
|
|
*
|
|
* @default - automatically generated name
|
|
*/
|
|
readonly dashboardName?: string;
|
|
/**
|
|
* Interval duration for metrics.
|
|
* You can specify defaultInterval with the relative time (e.g. cdk.Duration.days(7)).
|
|
*
|
|
* Both properties `defaultInterval` and `start` cannot be set at once.
|
|
*
|
|
* @default When the dashboard loads, the defaultInterval time will be the default time range.
|
|
*/
|
|
readonly defaultInterval?: Duration;
|
|
/**
|
|
* The start of the time range to use for each widget on the dashboard.
|
|
* You can specify start without specifying end to specify a relative time range that ends with the current time.
|
|
* In this case, the value of start must begin with -P, and you can use M, H, D, W and M as abbreviations for
|
|
* minutes, hours, days, weeks and months. For example, -PT8H shows the last 8 hours and -P3M shows the last three months.
|
|
* You can also use start along with an end field, to specify an absolute time range.
|
|
* When specifying an absolute time range, use the ISO 8601 format. For example, 2018-12-17T06:00:00.000Z.
|
|
*
|
|
* Both properties `defaultInterval` and `start` cannot be set at once.
|
|
*
|
|
* @default When the dashboard loads, the start time will be the default time range.
|
|
*/
|
|
readonly start?: string;
|
|
/**
|
|
* The end of the time range to use for each widget on the dashboard when the dashboard loads.
|
|
* If you specify a value for end, you must also specify a value for start.
|
|
* Specify an absolute time in the ISO 8601 format. For example, 2018-12-17T06:00:00.000Z.
|
|
*
|
|
* @default When the dashboard loads, the end date will be the current time.
|
|
*/
|
|
readonly end?: string;
|
|
/**
|
|
* Use this field to specify the period for the graphs when the dashboard loads.
|
|
* Specifying `Auto` causes the period of all graphs on the dashboard to automatically adapt to the time range of the dashboard.
|
|
* Specifying `Inherit` ensures that the period set for each graph is always obeyed.
|
|
*
|
|
* @default Auto
|
|
*/
|
|
readonly periodOverride?: PeriodOverride;
|
|
/**
|
|
* Initial set of widgets on the dashboard
|
|
*
|
|
* One array represents a row of widgets.
|
|
*
|
|
* @default - No widgets
|
|
*/
|
|
readonly widgets?: IWidget[][];
|
|
/**
|
|
* A list of dashboard variables
|
|
*
|
|
* @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html#cloudwatch_dashboard_variables_types
|
|
*
|
|
* @default - No variables
|
|
*/
|
|
readonly variables?: IVariable[];
|
|
}
|
|
/**
|
|
* A CloudWatch dashboard
|
|
*/
|
|
export declare class Dashboard extends Resource {
|
|
/** Uniquely identifies this class. */
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
/**
|
|
* The name of this dashboard
|
|
*
|
|
* @attribute
|
|
*/
|
|
get dashboardName(): string;
|
|
/**
|
|
* ARN of this dashboard
|
|
*
|
|
* @attribute
|
|
*/
|
|
readonly dashboardArn: string;
|
|
private readonly rows;
|
|
private readonly variables;
|
|
private readonly resource;
|
|
constructor(scope: Construct, id: string, props?: DashboardProps);
|
|
/**
|
|
* Add a widget to the dashboard.
|
|
*
|
|
* Widgets given in multiple calls to add() will be laid out stacked on
|
|
* top of each other.
|
|
*
|
|
* Multiple widgets added in the same call to add() will be laid out next
|
|
* to each other.
|
|
*/
|
|
addWidgets(...widgets: IWidget[]): void;
|
|
/**
|
|
* Add a variable to the dashboard.
|
|
*
|
|
* @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html
|
|
*/
|
|
addVariable(variable: IVariable): void;
|
|
}
|