Skip to content
v2.274.0

DashboardVariable Class ​

Dashboard Variable.

Example ​

ts
import * as cw from 'aws-cdk-lib/aws-cloudwatch';

const dashboard = new cw.Dashboard(this, 'Dash', {
  defaultInterval: Duration.days(7),
  variables: [new cw.DashboardVariable({
    id: 'functionName',
    type: cw.VariableType.PATTERN,
    label: 'Function',
    inputType: cw.VariableInputType.RADIO,
    value: 'originalFuncNameInDashboard',
    // equivalent to cw.Values.fromSearch('{AWS/Lambda,FunctionName} MetricName=\"Duration\"', 'FunctionName')
    values: cw.Values.fromSearchComponents({
      namespace: 'AWS/Lambda',
      dimensions: ['FunctionName'],
      metricName: 'Duration',
      populateFrom: 'FunctionName',
    }),
    defaultValue: cw.DefaultValue.FIRST,
    visible: true,
  })],
});
python
import aws_cdk.aws_cloudwatch as cw


dashboard = cw.Dashboard(self, "Dash",
    default_interval=Duration.days(7),
    variables=[cw.DashboardVariable(
        id="functionName",
        type=cw.VariableType.PATTERN,
        label="Function",
        input_type=cw.VariableInputType.RADIO,
        value="originalFuncNameInDashboard",
        # equivalent to cw.Values.fromSearch('{AWS/Lambda,FunctionName} MetricName=\"Duration\"', 'FunctionName')
        values=cw.Values.from_search_components(
            namespace="AWS/Lambda",
            dimensions=["FunctionName"],
            metric_name="Duration",
            populate_from="FunctionName"
        ),
        default_value=cw.DefaultValue.FIRST,
        visible=True
    )]
)
java
import software.amazon.awscdk.services.cloudwatch.*;


Dashboard dashboard = Dashboard.Builder.create(this, "Dash")
        .defaultInterval(Duration.days(7))
        .variables(List.of(DashboardVariable.Builder.create()
                .id("functionName")
                .type(VariableType.PATTERN)
                .label("Function")
                .inputType(VariableInputType.RADIO)
                .value("originalFuncNameInDashboard")
                // equivalent to cw.Values.fromSearch('{AWS/Lambda,FunctionName} MetricName=\"Duration\"', 'FunctionName')
                .values(Values.fromSearchComponents(SearchComponents.builder()
                        .namespace("AWS/Lambda")
                        .dimensions(List.of("FunctionName"))
                        .metricName("Duration")
                        .populateFrom("FunctionName")
                        .build()))
                .defaultValue(DefaultValue.FIRST)
                .visible(true)
                .build()))
        .build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK.AWS.CloudWatch;


var dashboard = new Dashboard(this, "Dash", new DashboardProps {
    DefaultInterval = Duration.Days(7),
    Variables = new [] { new DashboardVariable(new DashboardVariableOptions {
        Id = "functionName",
        Type = VariableType.PATTERN,
        Label = "Function",
        InputType = VariableInputType.RADIO,
        Value = "originalFuncNameInDashboard",
        // equivalent to cw.Values.fromSearch('{AWS/Lambda,FunctionName} MetricName=\"Duration\"', 'FunctionName')
        Values = Values.FromSearchComponents(new SearchComponents {
            Namespace = "AWS/Lambda",
            Dimensions = new [] { "FunctionName" },
            MetricName = "Duration",
            PopulateFrom = "FunctionName"
        }),
        DefaultValue = DefaultValue.FIRST,
        Visible = true
    }) }
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import "github.com/aws/aws-cdk-go/awscdk"


dashboard := cw.NewDashboard(this, jsii.String("Dash"), &DashboardProps{
	DefaultInterval: awscdk.Duration_Days(jsii.Number(7)),
	Variables: []IVariable{
		cw.NewDashboardVariable(&DashboardVariableOptions{
			Id: jsii.String("functionName"),
			Type: cw.VariableType_PATTERN,
			Label: jsii.String("Function"),
			InputType: cw.VariableInputType_RADIO,
			Value: jsii.String("originalFuncNameInDashboard"),
			// equivalent to cw.Values.fromSearch('{AWS/Lambda,FunctionName} MetricName=\"Duration\"', 'FunctionName')
			Values: cw.Values_FromSearchComponents(&SearchComponents{
				Namespace: jsii.String("AWS/Lambda"),
				Dimensions: []*string{
					jsii.String("FunctionName"),
				},
				MetricName: jsii.String("Duration"),
				PopulateFrom: jsii.String("FunctionName"),
			}),
			DefaultValue: cw.DefaultValue_FIRST(),
			Visible: jsii.Boolean(true),
		}),
	},
})

Initializer ​

ts
new DashboardVariable(options: DashboardVariableOptions)
python
DashboardVariable(options: DashboardVariableOptions)
java
new DashboardVariable(DashboardVariableOptions options)
csharp
new DashboardVariable(DashboardVariableOptions options)
go
NewDashboardVariable(Options DashboardVariableOptions)

Methods ​

toJson(): anydef to_json(self, ) -> Anypublic Object toJson()public object ToJson()func ToJson() interface{}#
Return the variable JSON for use in the dashboard.