awscloudwatch

package
v2.17.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 17, 2022 License: Apache-2.0 Imports: 7 Imported by: 51

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AlarmBase_IsConstruct

func AlarmBase_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func AlarmBase_IsResource

func AlarmBase_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Alarm_IsConstruct

func Alarm_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Alarm_IsResource

func Alarm_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func CfnAlarm_CFN_RESOURCE_TYPE_NAME

func CfnAlarm_CFN_RESOURCE_TYPE_NAME() *string

func CfnAlarm_IsCfnElement

func CfnAlarm_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnAlarm_IsCfnResource

func CfnAlarm_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnAlarm_IsConstruct

func CfnAlarm_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnAnomalyDetector_CFN_RESOURCE_TYPE_NAME

func CfnAnomalyDetector_CFN_RESOURCE_TYPE_NAME() *string

func CfnAnomalyDetector_IsCfnElement

func CfnAnomalyDetector_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnAnomalyDetector_IsCfnResource

func CfnAnomalyDetector_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnAnomalyDetector_IsConstruct

func CfnAnomalyDetector_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnCompositeAlarm_CFN_RESOURCE_TYPE_NAME

func CfnCompositeAlarm_CFN_RESOURCE_TYPE_NAME() *string

func CfnCompositeAlarm_IsCfnElement

func CfnCompositeAlarm_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnCompositeAlarm_IsCfnResource

func CfnCompositeAlarm_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnCompositeAlarm_IsConstruct

func CfnCompositeAlarm_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnDashboard_CFN_RESOURCE_TYPE_NAME

func CfnDashboard_CFN_RESOURCE_TYPE_NAME() *string

func CfnDashboard_IsCfnElement

func CfnDashboard_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnDashboard_IsCfnResource

func CfnDashboard_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnDashboard_IsConstruct

func CfnDashboard_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnInsightRule_CFN_RESOURCE_TYPE_NAME

func CfnInsightRule_CFN_RESOURCE_TYPE_NAME() *string

func CfnInsightRule_IsCfnElement

func CfnInsightRule_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnInsightRule_IsCfnResource

func CfnInsightRule_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnInsightRule_IsConstruct

func CfnInsightRule_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnMetricStream_CFN_RESOURCE_TYPE_NAME

func CfnMetricStream_CFN_RESOURCE_TYPE_NAME() *string

func CfnMetricStream_IsCfnElement

func CfnMetricStream_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnMetricStream_IsCfnResource

func CfnMetricStream_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnMetricStream_IsConstruct

func CfnMetricStream_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Color_BLUE

func Color_BLUE() *string

func Color_BROWN

func Color_BROWN() *string

func Color_GREEN

func Color_GREEN() *string

func Color_GREY

func Color_GREY() *string

func Color_ORANGE

func Color_ORANGE() *string

func Color_PINK

func Color_PINK() *string

func Color_PURPLE

func Color_PURPLE() *string

func Color_RED

func Color_RED() *string

func CompositeAlarm_IsConstruct

func CompositeAlarm_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CompositeAlarm_IsResource

func CompositeAlarm_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Dashboard_IsConstruct

func Dashboard_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Dashboard_IsResource

func Dashboard_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func Metric_GrantPutMetricData

func Metric_GrantPutMetricData(grantee awsiam.IGrantable) awsiam.Grant

Grant permissions to the given identity to write metrics.

func NewAlarmBase_Override

func NewAlarmBase_Override(a AlarmBase, scope constructs.Construct, id *string, props *awscdk.ResourceProps)

func NewAlarmRule_Override

func NewAlarmRule_Override(a AlarmRule)

func NewAlarmStatusWidget_Override

func NewAlarmStatusWidget_Override(a AlarmStatusWidget, props *AlarmStatusWidgetProps)

func NewAlarmWidget_Override

func NewAlarmWidget_Override(a AlarmWidget, props *AlarmWidgetProps)

func NewAlarm_Override

func NewAlarm_Override(a Alarm, scope constructs.Construct, id *string, props *AlarmProps)

func NewCfnAlarm_Override

func NewCfnAlarm_Override(c CfnAlarm, scope constructs.Construct, id *string, props *CfnAlarmProps)

Create a new `AWS::CloudWatch::Alarm`.

func NewCfnAnomalyDetector_Override

func NewCfnAnomalyDetector_Override(c CfnAnomalyDetector, scope constructs.Construct, id *string, props *CfnAnomalyDetectorProps)

Create a new `AWS::CloudWatch::AnomalyDetector`.

func NewCfnCompositeAlarm_Override

func NewCfnCompositeAlarm_Override(c CfnCompositeAlarm, scope constructs.Construct, id *string, props *CfnCompositeAlarmProps)

Create a new `AWS::CloudWatch::CompositeAlarm`.

func NewCfnDashboard_Override

func NewCfnDashboard_Override(c CfnDashboard, scope constructs.Construct, id *string, props *CfnDashboardProps)

Create a new `AWS::CloudWatch::Dashboard`.

func NewCfnInsightRule_Override

func NewCfnInsightRule_Override(c CfnInsightRule, scope constructs.Construct, id *string, props *CfnInsightRuleProps)

Create a new `AWS::CloudWatch::InsightRule`.

func NewCfnMetricStream_Override

func NewCfnMetricStream_Override(c CfnMetricStream, scope constructs.Construct, id *string, props *CfnMetricStreamProps)

Create a new `AWS::CloudWatch::MetricStream`.

func NewColor_Override

func NewColor_Override(c Color)

func NewColumn_Override

func NewColumn_Override(c Column, widgets ...IWidget)

func NewCompositeAlarm_Override

func NewCompositeAlarm_Override(c CompositeAlarm, scope constructs.Construct, id *string, props *CompositeAlarmProps)

func NewConcreteWidget_Override

func NewConcreteWidget_Override(c ConcreteWidget, width *float64, height *float64)

func NewDashboard_Override

func NewDashboard_Override(d Dashboard, scope constructs.Construct, id *string, props *DashboardProps)

func NewGraphWidget_Override

func NewGraphWidget_Override(g GraphWidget, props *GraphWidgetProps)

func NewLogQueryWidget_Override

func NewLogQueryWidget_Override(l LogQueryWidget, props *LogQueryWidgetProps)

func NewMathExpression_Override

func NewMathExpression_Override(m MathExpression, props *MathExpressionProps)

func NewMetric_Override

func NewMetric_Override(m Metric, props *MetricProps)

func NewRow_Override

func NewRow_Override(r Row, widgets ...IWidget)

func NewSingleValueWidget_Override

func NewSingleValueWidget_Override(s SingleValueWidget, props *SingleValueWidgetProps)

func NewSpacer_Override

func NewSpacer_Override(s Spacer, props *SpacerProps)

func NewTextWidget_Override

func NewTextWidget_Override(t TextWidget, props *TextWidgetProps)

Types

type Alarm

type Alarm interface {
	AlarmBase
	AlarmActionArns() *[]*string
	SetAlarmActionArns(val *[]*string)
	AlarmArn() *string
	AlarmName() *string
	Env() *awscdk.ResourceEnvironment
	InsufficientDataActionArns() *[]*string
	SetInsufficientDataActionArns(val *[]*string)
	Metric() IMetric
	Node() constructs.Node
	OkActionArns() *[]*string
	SetOkActionArns(val *[]*string)
	PhysicalName() *string
	Stack() awscdk.Stack
	AddAlarmAction(actions ...IAlarmAction)
	AddInsufficientDataAction(actions ...IAlarmAction)
	AddOkAction(actions ...IAlarmAction)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	RenderAlarmRule() *string
	ToAnnotation() *HorizontalAnnotation
	ToString() *string
}

An alarm on a CloudWatch metric.

TODO: EXAMPLE

func NewAlarm

func NewAlarm(scope constructs.Construct, id *string, props *AlarmProps) Alarm

type AlarmActionConfig

type AlarmActionConfig struct {
	// Return the ARN that should be used for a CloudWatch Alarm action.
	AlarmActionArn *string `json:"alarmActionArn" yaml:"alarmActionArn"`
}

Properties for an alarm action.

TODO: EXAMPLE

type AlarmBase

type AlarmBase interface {
	awscdk.Resource
	IAlarm
	AlarmActionArns() *[]*string
	SetAlarmActionArns(val *[]*string)
	AlarmArn() *string
	AlarmName() *string
	Env() *awscdk.ResourceEnvironment
	InsufficientDataActionArns() *[]*string
	SetInsufficientDataActionArns(val *[]*string)
	Node() constructs.Node
	OkActionArns() *[]*string
	SetOkActionArns(val *[]*string)
	PhysicalName() *string
	Stack() awscdk.Stack
	AddAlarmAction(actions ...IAlarmAction)
	AddInsufficientDataAction(actions ...IAlarmAction)
	AddOkAction(actions ...IAlarmAction)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	RenderAlarmRule() *string
	ToString() *string
}

The base class for Alarm and CompositeAlarm resources.

type AlarmProps

type AlarmProps struct {
	// The number of periods over which data is compared to the specified threshold.
	EvaluationPeriods *float64 `json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// The value against which the specified statistic is compared.
	Threshold *float64 `json:"threshold" yaml:"threshold"`
	// Whether the actions for this alarm are enabled.
	ActionsEnabled *bool `json:"actionsEnabled" yaml:"actionsEnabled"`
	// Description for the alarm.
	AlarmDescription *string `json:"alarmDescription" yaml:"alarmDescription"`
	// Name of the alarm.
	AlarmName *string `json:"alarmName" yaml:"alarmName"`
	// Comparison to use to check if metric is breaching.
	ComparisonOperator ComparisonOperator `json:"comparisonOperator" yaml:"comparisonOperator"`
	// The number of datapoints that must be breaching to trigger the alarm.
	//
	// This is used only if you are setting an "M
	// out of N" alarm. In that case, this value is the M. For more information, see Evaluating an Alarm in the Amazon
	// CloudWatch User Guide.
	// See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation
	//
	DatapointsToAlarm *float64 `json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// Specifies whether to evaluate the data and potentially change the alarm state if there are too few data points to be statistically significant.
	//
	// Used only for alarms that are based on percentiles.
	EvaluateLowSampleCountPercentile *string `json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Sets how this alarm is to handle missing data points.
	TreatMissingData TreatMissingData `json:"treatMissingData" yaml:"treatMissingData"`
	// The metric to add the alarm on.
	//
	// Metric objects can be obtained from most resources, or you can construct
	// custom Metric objects by instantiating one.
	Metric IMetric `json:"metric" yaml:"metric"`
}

Properties for Alarms.

TODO: EXAMPLE

type AlarmRule

type AlarmRule interface {
}

Class with static functions to build AlarmRule for Composite Alarms.

TODO: EXAMPLE

func NewAlarmRule

func NewAlarmRule() AlarmRule

type AlarmState

type AlarmState string

Enumeration indicates state of Alarm used in building Alarm Rule.

TODO: EXAMPLE

const (
	AlarmState_ALARM             AlarmState = "ALARM"
	AlarmState_OK                AlarmState = "OK"
	AlarmState_INSUFFICIENT_DATA AlarmState = "INSUFFICIENT_DATA"
)

type AlarmStatusWidget

type AlarmStatusWidget interface {
	ConcreteWidget
	Height() *float64
	Width() *float64
	X() *float64
	SetX(val *float64)
	Y() *float64
	SetY(val *float64)
	Position(x *float64, y *float64)
	ToJson() *[]interface{}
}

A dashboard widget that displays alarms in a grid view.

TODO: EXAMPLE

func NewAlarmStatusWidget

func NewAlarmStatusWidget(props *AlarmStatusWidgetProps) AlarmStatusWidget

type AlarmStatusWidgetProps

type AlarmStatusWidgetProps struct {
	// CloudWatch Alarms to show in widget.
	Alarms *[]IAlarm `json:"alarms" yaml:"alarms"`
	// Height of the widget.
	Height *float64 `json:"height" yaml:"height"`
	// The title of the widget.
	Title *string `json:"title" yaml:"title"`
	// Width of the widget, in a grid of 24 units wide.
	Width *float64 `json:"width" yaml:"width"`
}

Properties for an Alarm Status Widget.

TODO: EXAMPLE

type AlarmWidget

type AlarmWidget interface {
	ConcreteWidget
	Height() *float64
	Width() *float64
	X() *float64
	SetX(val *float64)
	Y() *float64
	SetY(val *float64)
	Position(x *float64, y *float64)
	ToJson() *[]interface{}
}

Display the metric associated with an alarm, including the alarm line.

TODO: EXAMPLE

func NewAlarmWidget

func NewAlarmWidget(props *AlarmWidgetProps) AlarmWidget

type AlarmWidgetProps

type AlarmWidgetProps struct {
	// Height of the widget.
	Height *float64 `json:"height" yaml:"height"`
	// The region the metrics of this graph should be taken from.
	Region *string `json:"region" yaml:"region"`
	// Title for the graph.
	Title *string `json:"title" yaml:"title"`
	// Width of the widget, in a grid of 24 units wide.
	Width *float64 `json:"width" yaml:"width"`
	// The alarm to show.
	Alarm IAlarm `json:"alarm" yaml:"alarm"`
	// Left Y axis.
	LeftYAxis *YAxisProps `json:"leftYAxis" yaml:"leftYAxis"`
}

Properties for an AlarmWidget.

TODO: EXAMPLE

type CfnAlarm

type CfnAlarm interface {
	awscdk.CfnResource
	awscdk.IInspectable
	ActionsEnabled() interface{}
	SetActionsEnabled(val interface{})
	AlarmActions() *[]*string
	SetAlarmActions(val *[]*string)
	AlarmDescription() *string
	SetAlarmDescription(val *string)
	AlarmName() *string
	SetAlarmName(val *string)
	AttrArn() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	ComparisonOperator() *string
	SetComparisonOperator(val *string)
	CreationStack() *[]*string
	DatapointsToAlarm() *float64
	SetDatapointsToAlarm(val *float64)
	Dimensions() interface{}
	SetDimensions(val interface{})
	EvaluateLowSampleCountPercentile() *string
	SetEvaluateLowSampleCountPercentile(val *string)
	EvaluationPeriods() *float64
	SetEvaluationPeriods(val *float64)
	ExtendedStatistic() *string
	SetExtendedStatistic(val *string)
	InsufficientDataActions() *[]*string
	SetInsufficientDataActions(val *[]*string)
	LogicalId() *string
	MetricName() *string
	SetMetricName(val *string)
	Metrics() interface{}
	SetMetrics(val interface{})
	Namespace() *string
	SetNamespace(val *string)
	Node() constructs.Node
	OkActions() *[]*string
	SetOkActions(val *[]*string)
	Period() *float64
	SetPeriod(val *float64)
	Ref() *string
	Stack() awscdk.Stack
	Statistic() *string
	SetStatistic(val *string)
	Threshold() *float64
	SetThreshold(val *float64)
	ThresholdMetricId() *string
	SetThresholdMetricId(val *string)
	TreatMissingData() *string
	SetTreatMissingData(val *string)
	Unit() *string
	SetUnit(val *string)
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudWatch::Alarm`.

The `AWS::CloudWatch::Alarm` type specifies an alarm and associates it with the specified metric or metric math expression.

When this operation creates an alarm, the alarm state is immediately set to `INSUFFICIENT_DATA` . The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

TODO: EXAMPLE

func NewCfnAlarm

func NewCfnAlarm(scope constructs.Construct, id *string, props *CfnAlarmProps) CfnAlarm

Create a new `AWS::CloudWatch::Alarm`.

type CfnAlarmProps

type CfnAlarmProps struct {
	// The arithmetic operation to use when comparing the specified statistic and threshold.
	//
	// The specified statistic value is used as the first operand.
	//
	// You can specify the following values: `GreaterThanThreshold` , `GreaterThanOrEqualToThreshold` , `LessThanThreshold` , or `LessThanOrEqualToThreshold` .
	ComparisonOperator *string `json:"comparisonOperator" yaml:"comparisonOperator"`
	// The number of periods over which data is compared to the specified threshold.
	//
	// If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an "M out of N" alarm, this value is the N, and `DatapointsToAlarm` is the M.
	//
	// For more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .
	EvaluationPeriods *float64 `json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether actions should be executed during any changes to the alarm state.
	//
	// The default is TRUE.
	ActionsEnabled interface{} `json:"actionsEnabled" yaml:"actionsEnabled"`
	// The list of actions to execute when this alarm transitions into an ALARM state from any other state.
	//
	// Specify each action as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) in the *Amazon CloudWatch API Reference* .
	AlarmActions *[]*string `json:"alarmActions" yaml:"alarmActions"`
	// The description of the alarm.
	AlarmDescription *string `json:"alarmDescription" yaml:"alarmDescription"`
	// The name of the alarm.
	//
	// If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the alarm name.
	//
	// > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
	AlarmName *string `json:"alarmName" yaml:"alarmName"`
	// The number of datapoints that must be breaching to trigger the alarm.
	//
	// This is used only if you are setting an "M out of N" alarm. In that case, this value is the M, and the value that you set for `EvaluationPeriods` is the N value. For more information, see [Evaluating an Alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) in the *Amazon CloudWatch User Guide* .
	//
	// If you omit this parameter, CloudWatch uses the same value here that you set for `EvaluationPeriods` , and the alarm goes to alarm state if that many consecutive periods are breaching.
	DatapointsToAlarm *float64 `json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// The dimensions for the metric associated with the alarm.
	//
	// For an alarm based on a math expression, you can't specify `Dimensions` . Instead, you use `Metrics` .
	Dimensions interface{} `json:"dimensions" yaml:"dimensions"`
	// Used only for alarms based on percentiles.
	//
	// If `ignore` , the alarm state does not change during periods with too few data points to be statistically significant. If `evaluate` or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	EvaluateLowSampleCountPercentile *string `json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.
	//
	// For an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.
	//
	// For an alarm based on a math expression, you can't specify `ExtendedStatistic` . Instead, you use `Metrics` .
	ExtendedStatistic *string `json:"extendedStatistic" yaml:"extendedStatistic"`
	// The actions to execute when this alarm transitions to the `INSUFFICIENT_DATA` state from any other state.
	//
	// Each action is specified as an Amazon Resource Name (ARN).
	InsufficientDataActions *[]*string `json:"insufficientDataActions" yaml:"insufficientDataActions"`
	// The name of the metric associated with the alarm.
	//
	// This is required for an alarm based on a metric. For an alarm based on a math expression, you use `Metrics` instead and you can't specify `MetricName` .
	MetricName *string `json:"metricName" yaml:"metricName"`
	// An array that enables you to create an alarm based on the result of a metric math expression.
	//
	// Each item in the array either retrieves a metric or performs a math expression.
	//
	// If you specify the `Metrics` parameter, you cannot specify `MetricName` , `Dimensions` , `Period` , `Namespace` , `Statistic` , `ExtendedStatistic` , or `Unit` .
	Metrics interface{} `json:"metrics" yaml:"metrics"`
	// The namespace of the metric associated with the alarm.
	//
	// This is required for an alarm based on a metric. For an alarm based on a math expression, you can't specify `Namespace` and you use `Metrics` instead.
	//
	// For a list of namespaces for metrics from AWS services, see [AWS Services That Publish CloudWatch Metrics.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html)
	Namespace *string `json:"namespace" yaml:"namespace"`
	// The actions to execute when this alarm transitions to the `OK` state from any other state.
	//
	// Each action is specified as an Amazon Resource Name (ARN).
	OkActions *[]*string `json:"okActions" yaml:"okActions"`
	// The period, in seconds, over which the statistic is applied.
	//
	// This is required for an alarm based on a metric. Valid values are 10, 30, 60, and any multiple of 60.
	//
	// For an alarm based on a math expression, you can't specify `Period` , and instead you use the `Metrics` parameter.
	//
	// *Minimum:* 10
	Period *float64 `json:"period" yaml:"period"`
	// The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use `ExtendedStatistic` .
	//
	// For an alarm based on a metric, you must specify either `Statistic` or `ExtendedStatistic` but not both.
	//
	// For an alarm based on a math expression, you can't specify `Statistic` . Instead, you use `Metrics` .
	Statistic *string `json:"statistic" yaml:"statistic"`
	// The value to compare with the specified statistic.
	Threshold *float64 `json:"threshold" yaml:"threshold"`
	// In an alarm based on an anomaly detection model, this is the ID of the `ANOMALY_DETECTION_BAND` function used as the threshold for the alarm.
	ThresholdMetricId *string `json:"thresholdMetricId" yaml:"thresholdMetricId"`
	// Sets how this alarm is to handle missing data points.
	//
	// Valid values are `breaching` , `notBreaching` , `ignore` , and `missing` . For more information, see [Configuring How CloudWatch Alarms Treat Missing Data](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) in the *Amazon CloudWatch User Guide* .
	//
	// If you omit this parameter, the default behavior of `missing` is used.
	TreatMissingData *string `json:"treatMissingData" yaml:"treatMissingData"`
	// The unit of the metric associated with the alarm.
	//
	// Specify this only if you are creating an alarm based on a single metric. Do not specify this if you are specifying a `Metrics` array.
	//
	// You can specify the following values: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, or None.
	Unit *string `json:"unit" yaml:"unit"`
}

Properties for defining a `CfnAlarm`.

TODO: EXAMPLE

type CfnAlarm_DimensionProperty

type CfnAlarm_DimensionProperty struct {
	// The name of the dimension, from 1–255 characters in length.
	//
	// This dimension name must have been included when the metric was published.
	Name *string `json:"name" yaml:"name"`
	// The value for the dimension, from 1–255 characters in length.
	Value *string `json:"value" yaml:"value"`
}

Dimension is an embedded property of the `AWS::CloudWatch::Alarm` type.

Dimensions are name/value pairs that can be associated with a CloudWatch metric. You can specify a maximum of 10 dimensions for a given metric.

TODO: EXAMPLE

type CfnAlarm_MetricDataQueryProperty

type CfnAlarm_MetricDataQueryProperty struct {
	// A short name used to tie this object to the results in the response.
	//
	// This name must be unique within a single call to `GetMetricData` . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.
	Id *string `json:"id" yaml:"id"`
	// The ID of the account where the metrics are located, if this is a cross-account alarm.
	AccountId *string `json:"accountId" yaml:"accountId"`
	// The math expression to be performed on the returned data, if this object is performing a math expression.
	//
	// This expression can use the `Id` of the other metrics to refer to those metrics, and can also use the `Id` of other expressions to use the result of those expressions. For more information about metric math expressions, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .
	//
	// Within each MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.
	Expression *string `json:"expression" yaml:"expression"`
	// A human-readable label for this metric or expression.
	//
	// This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If `Label` is omitted, CloudWatch generates a default.
	Label *string `json:"label" yaml:"label"`
	// The metric to be returned, along with statistics, period, and units.
	//
	// Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.
	//
	// Within one MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.
	MetricStat interface{} `json:"metricStat" yaml:"metricStat"`
	// The granularity, in seconds, of the returned data points.
	//
	// For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` operation that includes a `StorageResolution of 1 second` .
	Period *float64 `json:"period" yaml:"period"`
	// This option indicates whether to return the timestamps and raw data values of this metric.
	//
	// When you create an alarm based on a metric math expression, specify `True` for this value for only the one math expression that the alarm is based on. You must specify `False` for `ReturnData` for all the other metrics and expressions used in the alarm.
	//
	// This field is required.
	ReturnData interface{} `json:"returnData" yaml:"returnData"`
}

The `MetricDataQuery` property type specifies the metric data to return, and whether this call is just retrieving a batch set of data for one metric, or is performing a math expression on metric data.

Any expression used must return a single time series. For more information, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .

TODO: EXAMPLE

type CfnAlarm_MetricProperty

type CfnAlarm_MetricProperty struct {
	// The metric dimensions that you want to be used for the metric that the alarm will watch..
	Dimensions interface{} `json:"dimensions" yaml:"dimensions"`
	// The name of the metric that you want the alarm to watch.
	//
	// This is a required field.
	MetricName *string `json:"metricName" yaml:"metricName"`
	// The namespace of the metric that the alarm will watch.
	Namespace *string `json:"namespace" yaml:"namespace"`
}

The `Metric` property type represents a specific metric.

`Metric` is a property of the [MetricStat](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricstat.html) property type.

TODO: EXAMPLE

type CfnAlarm_MetricStatProperty

type CfnAlarm_MetricStatProperty struct {
	// The metric to return, including the metric name, namespace, and dimensions.
	Metric interface{} `json:"metric" yaml:"metric"`
	// The granularity, in seconds, of the returned data points.
	//
	// For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` call that includes a `StorageResolution` of 1 second.
	//
	// If the `StartTime` parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:
	//
	// - Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).
	// - Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).
	// - Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).
	Period *float64 `json:"period" yaml:"period"`
	// The statistic to return.
	//
	// It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* .
	Stat *string `json:"stat" yaml:"stat"`
	// The unit to use for the returned data points.
	//
	// Valid values are: Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, or None.
	Unit *string `json:"unit" yaml:"unit"`
}

This structure defines the metric to be returned, along with the statistics, period, and units.

`MetricStat` is a property of the [MetricDataQuery](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html) property type.

TODO: EXAMPLE

type CfnAnomalyDetector

type CfnAnomalyDetector interface {
	awscdk.CfnResource
	awscdk.IInspectable
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	Configuration() interface{}
	SetConfiguration(val interface{})
	CreationStack() *[]*string
	Dimensions() interface{}
	SetDimensions(val interface{})
	LogicalId() *string
	MetricMathAnomalyDetector() interface{}
	SetMetricMathAnomalyDetector(val interface{})
	MetricName() *string
	SetMetricName(val *string)
	Namespace() *string
	SetNamespace(val *string)
	Node() constructs.Node
	Ref() *string
	SingleMetricAnomalyDetector() interface{}
	SetSingleMetricAnomalyDetector(val interface{})
	Stack() awscdk.Stack
	Stat() *string
	SetStat(val *string)
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudWatch::AnomalyDetector`.

The `AWS::CloudWatch::AnomalyDetector` type specifies an anomaly detection band for a certain metric and statistic. The band represents the expected "normal" range for the metric values. Anomaly detection bands can be used for visualization of a metric's expected values, and for alarms.

TODO: EXAMPLE

func NewCfnAnomalyDetector

func NewCfnAnomalyDetector(scope constructs.Construct, id *string, props *CfnAnomalyDetectorProps) CfnAnomalyDetector

Create a new `AWS::CloudWatch::AnomalyDetector`.

type CfnAnomalyDetectorProps

type CfnAnomalyDetectorProps struct {
	// Specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model.
	//
	// The configuration can also include the time zone to use for the metric.
	Configuration interface{} `json:"configuration" yaml:"configuration"`
	// The dimensions of the metric associated with the anomaly detection band.
	Dimensions interface{} `json:"dimensions" yaml:"dimensions"`
	// The CloudWatch metric math expression for this anomaly detector.
	MetricMathAnomalyDetector interface{} `json:"metricMathAnomalyDetector" yaml:"metricMathAnomalyDetector"`
	// The name of the metric associated with the anomaly detection band.
	MetricName *string `json:"metricName" yaml:"metricName"`
	// The namespace of the metric associated with the anomaly detection band.
	Namespace *string `json:"namespace" yaml:"namespace"`
	// The CloudWatch metric and statistic for this anomaly detector.
	SingleMetricAnomalyDetector interface{} `json:"singleMetricAnomalyDetector" yaml:"singleMetricAnomalyDetector"`
	// The statistic of the metric associated with the anomaly detection band.
	Stat *string `json:"stat" yaml:"stat"`
}

Properties for defining a `CfnAnomalyDetector`.

TODO: EXAMPLE

type CfnAnomalyDetector_ConfigurationProperty

type CfnAnomalyDetector_ConfigurationProperty struct {
	// Specifies an array of time ranges to exclude from use when the anomaly detection model is trained and updated.
	//
	// Use this to make sure that events that could cause unusual values for the metric, such as deployments, aren't used when CloudWatch creates or updates the model.
	ExcludedTimeRanges interface{} `json:"excludedTimeRanges" yaml:"excludedTimeRanges"`
	// The time zone to use for the metric.
	//
	// This is useful to enable the model to automatically account for daylight savings time changes if the metric is sensitive to such time changes.
	//
	// To specify a time zone, use the name of the time zone as specified in the standard tz database. For more information, see [tz database](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Tz_database) .
	MetricTimeZone *string `json:"metricTimeZone" yaml:"metricTimeZone"`
}

Specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model.

The configuration can also include the time zone to use for the metric.

TODO: EXAMPLE

type CfnAnomalyDetector_DimensionProperty

type CfnAnomalyDetector_DimensionProperty struct {
	// The name of the dimension.
	Name *string `json:"name" yaml:"name"`
	// The value of the dimension.
	//
	// Dimension values must contain only ASCII characters and must include at least one non-whitespace character.
	Value *string `json:"value" yaml:"value"`
}

A dimension is a name/value pair that is part of the identity of a metric.

Because dimensions are part of the unique identifier for a metric, whenever you add a unique name/value pair to one of your metrics, you are creating a new variation of that metric. For example, many Amazon EC2 metrics publish `InstanceId` as a dimension name, and the actual instance ID as the value for that dimension.

You can assign up to 10 dimensions to a metric.

TODO: EXAMPLE

type CfnAnomalyDetector_MetricDataQueryProperty

type CfnAnomalyDetector_MetricDataQueryProperty struct {
	// A short name used to tie this object to the results in the response.
	//
	// This name must be unique within a single call to `GetMetricData` . If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.
	Id *string `json:"id" yaml:"id"`
	// The ID of the account where the metrics are located, if this is a cross-account alarm.
	//
	// Use this field only for `PutMetricAlarm` operations. It is not used in `GetMetricData` operations.
	AccountId *string `json:"accountId" yaml:"accountId"`
	// This field can contain either a Metrics Insights query, or a metric math expression to be performed on the returned data.
	//
	// For more information about Metrics Insights queries, see [Metrics Insights query components and syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-insights-querylanguage) in the *Amazon CloudWatch User Guide* .
	//
	// A math expression can use the `Id` of the other metrics or queries to refer to those metrics, and can also use the `Id` of other expressions to use the result of those expressions. For more information about metric math expressions, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .
	//
	// Within each MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.
	Expression *string `json:"expression" yaml:"expression"`
	// A human-readable label for this metric or expression.
	//
	// This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch generates a default.
	//
	// You can put dynamic expressions into a label, so that it is more descriptive. For more information, see [Using Dynamic Labels](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html) .
	Label *string `json:"label" yaml:"label"`
	// The metric to be returned, along with statistics, period, and units.
	//
	// Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.
	//
	// Within one MetricDataQuery object, you must specify either `Expression` or `MetricStat` but not both.
	MetricStat interface{} `json:"metricStat" yaml:"metricStat"`
	// The granularity, in seconds, of the returned data points.
	//
	// For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` operation that includes a `StorageResolution of 1 second` .
	Period *float64 `json:"period" yaml:"period"`
	// When used in `GetMetricData` , this option indicates whether to return the timestamps and raw data values of this metric.
	//
	// If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify `False` . If you omit this, the default of `True` is used.
	//
	// When used in `PutMetricAlarm` , specify `True` for the one expression result to use as the alarm. For all other metrics and expressions in the same `PutMetricAlarm` operation, specify `ReturnData` as False.
	ReturnData interface{} `json:"returnData" yaml:"returnData"`
}

This structure is used in both `GetMetricData` and `PutMetricAlarm` .

The supported use of this structure is different for those two operations.

When used in `GetMetricData` , it indicates the metric data to return, and whether this call is just retrieving a batch set of data for one metric, or is performing a Metrics Insights query or a math expression. A single `GetMetricData` call can include up to 500 `MetricDataQuery` structures.

When used in `PutMetricAlarm` , it enables you to create an alarm based on a metric math expression. Each `MetricDataQuery` in the array specifies either a metric to retrieve, or a math expression to be performed on retrieved metrics. A single `PutMetricAlarm` call can include up to 20 `MetricDataQuery` structures in the array. The 20 structures can include as many as 10 structures that contain a `MetricStat` parameter to retrieve a metric, and as many as 10 structures that contain the `Expression` parameter to perform a math expression. Of those `Expression` structures, one must have `True` as the value for `ReturnData` . The result of this expression is the value the alarm watches.

Any expression used in a `PutMetricAlarm` operation must return a single time series. For more information, see [Metric Math Syntax and Functions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax) in the *Amazon CloudWatch User Guide* .

Some of the parameters of this structure also have different uses whether you are using this structure in a `GetMetricData` operation or a `PutMetricAlarm` operation. These differences are explained in the following parameter list.

TODO: EXAMPLE

type CfnAnomalyDetector_MetricMathAnomalyDetectorProperty

type CfnAnomalyDetector_MetricMathAnomalyDetectorProperty struct {
	// An array of metric data query structures that enables you to create an anomaly detector based on the result of a metric math expression.
	//
	// Each item in `MetricDataQueries` gets a metric or performs a math expression. One item in `MetricDataQueries` is the expression that provides the time series that the anomaly detector uses as input. Designate the expression by setting `ReturnData` to `True` for this object in the array. For all other expressions and metrics, set `ReturnData` to `False` . The designated expression must return a single time series.
	MetricDataQueries interface{} `json:"metricDataQueries" yaml:"metricDataQueries"`
}

Indicates the CloudWatch math expression that provides the time series the anomaly detector uses as input.

The designated math expression must return a single time series.

TODO: EXAMPLE

type CfnAnomalyDetector_MetricProperty

type CfnAnomalyDetector_MetricProperty struct {
	// The name of the metric.
	//
	// This is a required field.
	MetricName *string `json:"metricName" yaml:"metricName"`
	// The namespace of the metric.
	Namespace *string `json:"namespace" yaml:"namespace"`
	// The dimensions for the metric.
	Dimensions interface{} `json:"dimensions" yaml:"dimensions"`
}

Represents a specific metric.

TODO: EXAMPLE

type CfnAnomalyDetector_MetricStatProperty

type CfnAnomalyDetector_MetricStatProperty struct {
	// The metric to return, including the metric name, namespace, and dimensions.
	Metric interface{} `json:"metric" yaml:"metric"`
	// The granularity, in seconds, of the returned data points.
	//
	// For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a `PutMetricData` call that includes a `StorageResolution` of 1 second.
	//
	// If the `StartTime` parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:
	//
	// - Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).
	// - Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).
	// - Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).
	Period *float64 `json:"period" yaml:"period"`
	// The statistic to return.
	//
	// It can include any CloudWatch statistic or extended statistic.
	Stat *string `json:"stat" yaml:"stat"`
	// When you are using a `Put` operation, this defines what unit you want to use when storing the metric.
	//
	// In a `Get` operation, if you omit `Unit` then all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.
	Unit *string `json:"unit" yaml:"unit"`
}

This structure defines the metric to be returned, along with the statistics, period, and units.

TODO: EXAMPLE

type CfnAnomalyDetector_RangeProperty

type CfnAnomalyDetector_RangeProperty struct {
	// The end time of the range to exclude.
	//
	// The format is `yyyy-MM-dd'T'HH:mm:ss` . For example, `2019-07-01T23:59:59` .
	EndTime *string `json:"endTime" yaml:"endTime"`
	// The start time of the range to exclude.
	//
	// The format is `yyyy-MM-dd'T'HH:mm:ss` . For example, `2019-07-01T23:59:59` .
	StartTime *string `json:"startTime" yaml:"startTime"`
}

Each `Range` specifies one range of days or times to exclude from use for training or updating an anomaly detection model.

TODO: EXAMPLE

type CfnAnomalyDetector_SingleMetricAnomalyDetectorProperty

type CfnAnomalyDetector_SingleMetricAnomalyDetectorProperty struct {
	// The metric dimensions to create the anomaly detection model for.
	Dimensions interface{} `json:"dimensions" yaml:"dimensions"`
	// The name of the metric to create the anomaly detection model for.
	MetricName *string `json:"metricName" yaml:"metricName"`
	// The namespace of the metric to create the anomaly detection model for.
	Namespace *string `json:"namespace" yaml:"namespace"`
	// The statistic to use for the metric and anomaly detection model.
	Stat *string `json:"stat" yaml:"stat"`
}

Designates the CloudWatch metric and statistic that provides the time series the anomaly detector uses as input.

TODO: EXAMPLE

type CfnCompositeAlarm

type CfnCompositeAlarm interface {
	awscdk.CfnResource
	awscdk.IInspectable
	ActionsEnabled() interface{}
	SetActionsEnabled(val interface{})
	AlarmActions() *[]*string
	SetAlarmActions(val *[]*string)
	AlarmDescription() *string
	SetAlarmDescription(val *string)
	AlarmName() *string
	SetAlarmName(val *string)
	AlarmRule() *string
	SetAlarmRule(val *string)
	AttrArn() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	InsufficientDataActions() *[]*string
	SetInsufficientDataActions(val *[]*string)
	LogicalId() *string
	Node() constructs.Node
	OkActions() *[]*string
	SetOkActions(val *[]*string)
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudWatch::CompositeAlarm`.

The `AWS::CloudWatch::CompositeAlarm` type creates or updates a composite alarm. When you create a composite alarm, you specify a rule expression for the alarm that takes into account the alarm states of other alarms that you have created. The composite alarm goes into ALARM state only if all conditions of the rule are met.

The alarms specified in a composite alarm's rule expression can include metric alarms and other composite alarms.

Using composite alarms can reduce alarm noise. You can create multiple metric alarms, and also create a composite alarm and set up alerts only for the composite alarm. For example, you could create a composite alarm that goes into ALARM state only when more than one of the underlying metric alarms are in ALARM state.

Currently, the only alarm actions that can be taken by composite alarms are notifying SNS topics.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed. For a composite alarm, this initial time after creation is the only time that the alarm can be in INSUFFICIENT_DATA state.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

TODO: EXAMPLE

func NewCfnCompositeAlarm

func NewCfnCompositeAlarm(scope constructs.Construct, id *string, props *CfnCompositeAlarmProps) CfnCompositeAlarm

Create a new `AWS::CloudWatch::CompositeAlarm`.

type CfnCompositeAlarmProps

type CfnCompositeAlarmProps struct {
	// The name for the composite alarm.
	//
	// This name must be unique within your AWS account.
	AlarmName *string `json:"alarmName" yaml:"alarmName"`
	// An expression that specifies which other alarms are to be evaluated to determine this composite alarm's state.
	//
	// For each alarm that you reference, you designate a function that specifies whether that alarm needs to be in ALARM state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and NOT) to combine multiple functions in a single expression. You can use parenthesis to logically group the functions in your expression.
	//
	// You can use either alarm names or ARNs to reference the other alarms that are to be evaluated.
	//
	// Functions can include the following:
	//
	// - ALARM("alarm-name or alarm-ARN") is TRUE if the named alarm is in ALARM state.
	// - OK("alarm-name or alarm-ARN") is TRUE if the named alarm is in OK state.
	// - INSUFFICIENT_DATA("alarm-name or alarm-ARN") is TRUE if the named alarm is in INSUFFICIENT_DATA state.
	// - TRUE always evaluates to TRUE.
	// - FALSE always evaluates to FALSE.
	//
	// TRUE and FALSE are useful for testing a complex AlarmRule structure, and for testing your alarm actions.
	//
	// For more information about `AlarmRule` syntax, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .
	AlarmRule *string `json:"alarmRule" yaml:"alarmRule"`
	// Indicates whether actions should be executed during any changes to the alarm state of the composite alarm.
	//
	// The default is TRUE.
	ActionsEnabled interface{} `json:"actionsEnabled" yaml:"actionsEnabled"`
	// The actions to execute when this alarm transitions to the ALARM state from any other state.
	//
	// Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .
	AlarmActions *[]*string `json:"alarmActions" yaml:"alarmActions"`
	// The description for the composite alarm.
	AlarmDescription *string `json:"alarmDescription" yaml:"alarmDescription"`
	// The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state.
	//
	// Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .
	InsufficientDataActions *[]*string `json:"insufficientDataActions" yaml:"insufficientDataActions"`
	// The actions to execute when this alarm transitions to the OK state from any other state.
	//
	// Each action is specified as an Amazon Resource Name (ARN). For more information about creating alarms and the actions that you can specify, see [PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html) in the *Amazon CloudWatch API Reference* .
	OkActions *[]*string `json:"okActions" yaml:"okActions"`
}

Properties for defining a `CfnCompositeAlarm`.

TODO: EXAMPLE

type CfnDashboard

type CfnDashboard interface {
	awscdk.CfnResource
	awscdk.IInspectable
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	DashboardBody() *string
	SetDashboardBody(val *string)
	DashboardName() *string
	SetDashboardName(val *string)
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudWatch::Dashboard`.

The `AWS::CloudWatch::Dashboard` resource specifies an Amazon CloudWatch dashboard. A dashboard is a customizable home page in the CloudWatch console that you can use to monitor your AWS resources in a single view.

All dashboards in your account are global, not region-specific.

TODO: EXAMPLE

func NewCfnDashboard

func NewCfnDashboard(scope constructs.Construct, id *string, props *CfnDashboardProps) CfnDashboard

Create a new `AWS::CloudWatch::Dashboard`.

type CfnDashboardProps

type CfnDashboardProps struct {
	// The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard.
	//
	// This parameter is required.
	//
	// For more information about the syntax, see [Dashboard Body Structure and Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html) .
	DashboardBody *string `json:"dashboardBody" yaml:"dashboardBody"`
	// The name of the dashboard.
	//
	// The name must be between 1 and 255 characters. If you do not specify a name, one will be generated automatically.
	DashboardName *string `json:"dashboardName" yaml:"dashboardName"`
}

Properties for defining a `CfnDashboard`.

TODO: EXAMPLE

type CfnInsightRule

type CfnInsightRule interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrRuleName() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	RuleBody() *string
	SetRuleBody(val *string)
	RuleName() *string
	SetRuleName(val *string)
	RuleState() *string
	SetRuleState(val *string)
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudWatch::InsightRule`.

Creates or updates a Contributor Insights rule. Rules evaluate log events in a CloudWatch Logs log group, enabling you to find contributor data for the log events in that log group. For more information, see [Using Contributor Insights to Analyze High-Cardinality Data](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights.html) in the *Amazon CloudWatch User Guide* .

TODO: EXAMPLE

func NewCfnInsightRule

func NewCfnInsightRule(scope constructs.Construct, id *string, props *CfnInsightRuleProps) CfnInsightRule

Create a new `AWS::CloudWatch::InsightRule`.

type CfnInsightRuleProps

type CfnInsightRuleProps struct {
	// The definition of the rule, as a JSON object.
	//
	// For details about the syntax, see [Contributor Insights Rule Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContributorInsights-RuleSyntax.html) in the *Amazon CloudWatch User Guide* .
	RuleBody *string `json:"ruleBody" yaml:"ruleBody"`
	// The name of the rule.
	RuleName *string `json:"ruleName" yaml:"ruleName"`
	// The current state of the rule.
	//
	// Valid values are `ENABLED` and `DISABLED` .
	RuleState *string `json:"ruleState" yaml:"ruleState"`
	// A list of key-value pairs to associate with the Contributor Insights rule.
	//
	// You can associate as many as 50 tags with a rule.
	//
	// Tags can help you organize and categorize your resources. For more information, see [Tagging Your Amazon CloudWatch Resources](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Tagging.html) .
	//
	// To be able to associate tags with a rule, you must have the `cloudwatch:TagResource` permission in addition to the `cloudwatch:PutInsightRule` permission.
	Tags interface{} `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnInsightRule`.

TODO: EXAMPLE

type CfnMetricStream

type CfnMetricStream interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	AttrCreationDate() *string
	AttrLastUpdateDate() *string
	AttrState() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	ExcludeFilters() interface{}
	SetExcludeFilters(val interface{})
	FirehoseArn() *string
	SetFirehoseArn(val *string)
	IncludeFilters() interface{}
	SetIncludeFilters(val interface{})
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() constructs.Node
	OutputFormat() *string
	SetOutputFormat(val *string)
	Ref() *string
	RoleArn() *string
	SetRoleArn(val *string)
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CloudWatch::MetricStream`.

Creates or updates a metric stream. Metrics streams can automatically stream CloudWatch metrics to AWS destinations including Amazon S3 and to many third-party solutions. For more information, see [Metric streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Metric-Streams.html) .

To create a metric stream, you must be logged on to an account that has the `iam:PassRole` permission and either the *CloudWatchFullAccess* policy or the `cloudwatch:PutMetricStream` permission.

When you create or update a metric stream, you choose one of the following:

- Stream metrics from all metric namespaces in the account. - Stream metrics from all metric namespaces in the account, except for the namespaces that you list in `ExcludeFilters` . - Stream metrics from only the metric namespaces that you list in `IncludeFilters` .

When you create a metric stream, the stream is created in the `running` state. If you update an existing metric stream, the state does not change.

TODO: EXAMPLE

func NewCfnMetricStream

func NewCfnMetricStream(scope constructs.Construct, id *string, props *CfnMetricStreamProps) CfnMetricStream

Create a new `AWS::CloudWatch::MetricStream`.

type CfnMetricStreamProps

type CfnMetricStreamProps struct {
	// The ARN of the Amazon Kinesis Firehose delivery stream to use for this metric stream.
	//
	// This Amazon Kinesis Firehose delivery stream must already exist and must be in the same account as the metric stream.
	FirehoseArn *string `json:"firehoseArn" yaml:"firehoseArn"`
	// The output format for the stream.
	//
	// Valid values are `json` and `opentelemetry0.7` For more information about metric stream output formats, see [Metric streams output formats](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-metric-streams-formats.html) .
	//
	// This parameter is required.
	OutputFormat *string `json:"outputFormat" yaml:"outputFormat"`
	// The ARN of an IAM role that this metric stream will use to access Amazon Kinesis Firehose resources.
	//
	// This IAM role must already exist and must be in the same account as the metric stream. This IAM role must include the `firehose:PutRecord` and `firehose:PutRecordBatch` permissions.
	RoleArn *string `json:"roleArn" yaml:"roleArn"`
	// If you specify this parameter, the stream sends metrics from all metric namespaces except for the namespaces that you specify here.
	//
	// You cannot specify both `IncludeFilters` and `ExcludeFilters` in the same metric stream.
	//
	// When you modify the `IncludeFilters` or `ExcludeFilters` of an existing metric stream in any way, the metric stream is effectively restarted, so after such a change you will get only the datapoints that have a timestamp after the time of the update.
	ExcludeFilters interface{} `json:"excludeFilters" yaml:"excludeFilters"`
	// If you specify this parameter, the stream sends only the metrics from the metric namespaces that you specify here.
	//
	// You cannot specify both `IncludeFilters` and `ExcludeFilters` in the same metric stream.
	//
	// When you modify the `IncludeFilters` or `ExcludeFilters` of an existing metric stream in any way, the metric stream is effectively restarted, so after such a change you will get only the datapoints that have a timestamp after the time of the update.
	IncludeFilters interface{} `json:"includeFilters" yaml:"includeFilters"`
	// If you are creating a new metric stream, this is the name for the new stream.
	//
	// The name must be different than the names of other metric streams in this account and Region.
	//
	// If you are updating a metric stream, specify the name of that stream here.
	Name *string `json:"name" yaml:"name"`
	// An array of key-value pairs to apply to the metric stream.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnMetricStream`.

TODO: EXAMPLE

type CfnMetricStream_MetricStreamFilterProperty

type CfnMetricStream_MetricStreamFilterProperty struct {
	// The name of the metric namespace in the filter.
	Namespace *string `json:"namespace" yaml:"namespace"`
}

This structure contains the name of one of the metric namespaces that is listed in a filter of a metric stream.

TODO: EXAMPLE

type Color

type Color interface {
}

A set of standard colours that can be used in annotations in a GraphWidget.

TODO: EXAMPLE

func NewColor

func NewColor() Color

type Column

type Column interface {
	IWidget
	Height() *float64
	Width() *float64
	Position(x *float64, y *float64)
	ToJson() *[]interface{}
}

A widget that contains other widgets in a vertical column.

Widgets will be laid out next to each other

TODO: EXAMPLE

func NewColumn

func NewColumn(widgets ...IWidget) Column

type CommonMetricOptions

type CommonMetricOptions struct {
	// Account which this metric comes from.
	Account *string `json:"account" yaml:"account"`
	// The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The `Color` class has a set of standard colors that can be used here.
	Color *string `json:"color" yaml:"color"`
	// Dimensions of the metric.
	DimensionsMap *map[string]*string `json:"dimensionsMap" yaml:"dimensionsMap"`
	// Label for this metric when added to a Graph in a Dashboard.
	Label *string `json:"label" yaml:"label"`
	// The period over which the specified statistic is applied.
	Period awscdk.Duration `json:"period" yaml:"period"`
	// Region which this metric comes from.
	Region *string `json:"region" yaml:"region"`
	// What function to use for aggregating.
	//
	// Can be one of the following:
	//
	// - "Minimum" | "min"
	// - "Maximum" | "max"
	// - "Average" | "avg"
	// - "Sum" | "sum"
	// - "SampleCount | "n"
	// - "pNN.NN"
	Statistic *string `json:"statistic" yaml:"statistic"`
	// Unit used to filter the metric stream.
	//
	// Only refer to datums emitted to the metric stream with the given unit and
	// ignore all others. Only useful when datums are being emitted to the same
	// metric stream under different units.
	//
	// The default is to use all matric datums in the stream, regardless of unit,
	// which is recommended in nearly all cases.
	//
	// CloudWatch does not honor this property for graphs.
	Unit Unit `json:"unit" yaml:"unit"`
}

Options shared by most methods accepting metric options.

TODO: EXAMPLE

type ComparisonOperator

type ComparisonOperator string

Comparison operator for evaluating alarms.

TODO: EXAMPLE

const (
	ComparisonOperator_GREATER_THAN_OR_EQUAL_TO_THRESHOLD              ComparisonOperator = "GREATER_THAN_OR_EQUAL_TO_THRESHOLD"
	ComparisonOperator_GREATER_THAN_THRESHOLD                          ComparisonOperator = "GREATER_THAN_THRESHOLD"
	ComparisonOperator_LESS_THAN_THRESHOLD                             ComparisonOperator = "LESS_THAN_THRESHOLD"
	ComparisonOperator_LESS_THAN_OR_EQUAL_TO_THRESHOLD                 ComparisonOperator = "LESS_THAN_OR_EQUAL_TO_THRESHOLD"
	ComparisonOperator_LESS_THAN_LOWER_OR_GREATER_THAN_UPPER_THRESHOLD ComparisonOperator = "LESS_THAN_LOWER_OR_GREATER_THAN_UPPER_THRESHOLD"
	ComparisonOperator_GREATER_THAN_UPPER_THRESHOLD                    ComparisonOperator = "GREATER_THAN_UPPER_THRESHOLD"
	ComparisonOperator_LESS_THAN_LOWER_THRESHOLD                       ComparisonOperator = "LESS_THAN_LOWER_THRESHOLD"
)

type CompositeAlarm

type CompositeAlarm interface {
	AlarmBase
	AlarmActionArns() *[]*string
	SetAlarmActionArns(val *[]*string)
	AlarmArn() *string
	AlarmName() *string
	Env() *awscdk.ResourceEnvironment
	InsufficientDataActionArns() *[]*string
	SetInsufficientDataActionArns(val *[]*string)
	Node() constructs.Node
	OkActionArns() *[]*string
	SetOkActionArns(val *[]*string)
	PhysicalName() *string
	Stack() awscdk.Stack
	AddAlarmAction(actions ...IAlarmAction)
	AddInsufficientDataAction(actions ...IAlarmAction)
	AddOkAction(actions ...IAlarmAction)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	RenderAlarmRule() *string
	ToString() *string
}

A Composite Alarm based on Alarm Rule.

TODO: EXAMPLE

func NewCompositeAlarm

func NewCompositeAlarm(scope constructs.Construct, id *string, props *CompositeAlarmProps) CompositeAlarm

type CompositeAlarmProps

type CompositeAlarmProps struct {
	// Expression that specifies which other alarms are to be evaluated to determine this composite alarm's state.
	AlarmRule IAlarmRule `json:"alarmRule" yaml:"alarmRule"`
	// Whether the actions for this alarm are enabled.
	ActionsEnabled *bool `json:"actionsEnabled" yaml:"actionsEnabled"`
	// Description for the alarm.
	AlarmDescription *string `json:"alarmDescription" yaml:"alarmDescription"`
	// Name of the alarm.
	CompositeAlarmName *string `json:"compositeAlarmName" yaml:"compositeAlarmName"`
}

Properties for creating a Composite Alarm.

TODO: EXAMPLE

type ConcreteWidget

type ConcreteWidget interface {
	IWidget
	Height() *float64
	Width() *float64
	X() *float64
	SetX(val *float64)
	Y() *float64
	SetY(val *float64)
	Position(x *float64, y *float64)
	ToJson() *[]interface{}
}

A real CloudWatch widget that has its own fixed size and remembers its position.

This is in contrast to other widgets which exist for layout purposes.

type CreateAlarmOptions

type CreateAlarmOptions struct {
	// The number of periods over which data is compared to the specified threshold.
	EvaluationPeriods *float64 `json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// The value against which the specified statistic is compared.
	Threshold *float64 `json:"threshold" yaml:"threshold"`
	// Whether the actions for this alarm are enabled.
	ActionsEnabled *bool `json:"actionsEnabled" yaml:"actionsEnabled"`
	// Description for the alarm.
	AlarmDescription *string `json:"alarmDescription" yaml:"alarmDescription"`
	// Name of the alarm.
	AlarmName *string `json:"alarmName" yaml:"alarmName"`
	// Comparison to use to check if metric is breaching.
	ComparisonOperator ComparisonOperator `json:"comparisonOperator" yaml:"comparisonOperator"`
	// The number of datapoints that must be breaching to trigger the alarm.
	//
	// This is used only if you are setting an "M
	// out of N" alarm. In that case, this value is the M. For more information, see Evaluating an Alarm in the Amazon
	// CloudWatch User Guide.
	// See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation
	//
	DatapointsToAlarm *float64 `json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// Specifies whether to evaluate the data and potentially change the alarm state if there are too few data points to be statistically significant.
	//
	// Used only for alarms that are based on percentiles.
	EvaluateLowSampleCountPercentile *string `json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Sets how this alarm is to handle missing data points.
	TreatMissingData TreatMissingData `json:"treatMissingData" yaml:"treatMissingData"`
}

Properties needed to make an alarm from a metric.

TODO: EXAMPLE

type Dashboard

type Dashboard interface {
	awscdk.Resource
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	AddWidgets(widgets ...IWidget)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

A CloudWatch dashboard.

TODO: EXAMPLE

func NewDashboard

func NewDashboard(scope constructs.Construct, id *string, props *DashboardProps) Dashboard

type DashboardProps

type DashboardProps struct {
	// Name of the dashboard.
	//
	// If set, must only contain alphanumerics, dash (-) and underscore (_)
	DashboardName *string `json:"dashboardName" yaml:"dashboardName"`
	// 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.
	End *string `json:"end" yaml:"end"`
	// 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.
	PeriodOverride PeriodOverride `json:"periodOverride" yaml:"periodOverride"`
	// 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.
	Start *string `json:"start" yaml:"start"`
	// Initial set of widgets on the dashboard.
	//
	// One array represents a row of widgets.
	Widgets *[]*[]IWidget `json:"widgets" yaml:"widgets"`
}

Properties for defining a CloudWatch Dashboard.

TODO: EXAMPLE

type Dimension

type Dimension struct {
	// Name of the dimension.
	Name *string `json:"name" yaml:"name"`
	// Value of the dimension.
	Value interface{} `json:"value" yaml:"value"`
}

Metric dimension.

TODO: EXAMPLE

See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html

type GraphWidget

type GraphWidget interface {
	ConcreteWidget
	Height() *float64
	Width() *float64
	X() *float64
	SetX(val *float64)
	Y() *float64
	SetY(val *float64)
	AddLeftMetric(metric IMetric)
	AddRightMetric(metric IMetric)
	Position(x *float64, y *float64)
	ToJson() *[]interface{}
}

A dashboard widget that displays metrics.

TODO: EXAMPLE

func NewGraphWidget

func NewGraphWidget(props *GraphWidgetProps) GraphWidget

type GraphWidgetProps

type GraphWidgetProps struct {
	// Height of the widget.
	Height *float64 `json:"height" yaml:"height"`
	// The region the metrics of this graph should be taken from.
	Region *string `json:"region" yaml:"region"`
	// Title for the graph.
	Title *string `json:"title" yaml:"title"`
	// Width of the widget, in a grid of 24 units wide.
	Width *float64 `json:"width" yaml:"width"`
	// Metrics to display on left Y axis.
	Left *[]IMetric `json:"left" yaml:"left"`
	// Annotations for the left Y axis.
	LeftAnnotations *[]*HorizontalAnnotation `json:"leftAnnotations" yaml:"leftAnnotations"`
	// Left Y axis.
	LeftYAxis *YAxisProps `json:"leftYAxis" yaml:"leftYAxis"`
	// Position of the legend.
	LegendPosition LegendPosition `json:"legendPosition" yaml:"legendPosition"`
	// Whether the graph should show live data.
	LiveData *bool `json:"liveData" yaml:"liveData"`
	// The default period for all metrics in this widget.
	//
	// The period is the length of time represented by one data point on the graph.
	// This default can be overridden within each metric definition.
	Period awscdk.Duration `json:"period" yaml:"period"`
	// Metrics to display on right Y axis.
	Right *[]IMetric `json:"right" yaml:"right"`
	// Annotations for the right Y axis.
	RightAnnotations *[]*HorizontalAnnotation `json:"rightAnnotations" yaml:"rightAnnotations"`
	// Right Y axis.
	RightYAxis *YAxisProps `json:"rightYAxis" yaml:"rightYAxis"`
	// Whether to show the value from the entire time range. Only applicable for Bar and Pie charts.
	//
	// If false, values will be from the most recent period of your chosen time range;
	// if true, shows the value from the entire time range.
	SetPeriodToTimeRange *bool `json:"setPeriodToTimeRange" yaml:"setPeriodToTimeRange"`
	// Whether the graph should be shown as stacked lines.
	Stacked *bool `json:"stacked" yaml:"stacked"`
	// The default statistic to be displayed for each metric.
	//
	// This default can be overridden within the definition of each individual metric
	Statistic *string `json:"statistic" yaml:"statistic"`
	// Display this metric.
	View GraphWidgetView `json:"view" yaml:"view"`
}

Properties for a GraphWidget.

TODO: EXAMPLE

type GraphWidgetView

type GraphWidgetView string

Types of view.

TODO: EXAMPLE

const (
	GraphWidgetView_TIME_SERIES GraphWidgetView = "TIME_SERIES"
	GraphWidgetView_BAR         GraphWidgetView = "BAR"
	GraphWidgetView_PIE         GraphWidgetView = "PIE"
)

type HorizontalAnnotation

type HorizontalAnnotation struct {
	// The value of the annotation.
	Value *float64 `json:"value" yaml:"value"`
	// The hex color code, prefixed with '#' (e.g. '#00ff00'), to be used for the annotation. The `Color` class has a set of standard colors that can be used here.
	Color *string `json:"color" yaml:"color"`
	// Add shading above or below the annotation.
	Fill Shading `json:"fill" yaml:"fill"`
	// Label for the annotation.
	Label *string `json:"label" yaml:"label"`
	// Whether the annotation is visible.
	Visible *bool `json:"visible" yaml:"visible"`
}

Horizontal annotation to be added to a graph.

TODO: EXAMPLE

type IAlarm

type IAlarm interface {
	IAlarmRule
	awscdk.IResource
	// Alarm ARN (i.e. arn:aws:cloudwatch:<region>:<account-id>:alarm:Foo).
	AlarmArn() *string
	// Name of the alarm.
	AlarmName() *string
}

Represents a CloudWatch Alarm.

func Alarm_FromAlarmArn

func Alarm_FromAlarmArn(scope constructs.Construct, id *string, alarmArn *string) IAlarm

Import an existing CloudWatch alarm provided an ARN.

func CompositeAlarm_FromCompositeAlarmArn

func CompositeAlarm_FromCompositeAlarmArn(scope constructs.Construct, id *string, compositeAlarmArn *string) IAlarm

Import an existing CloudWatch composite alarm provided an ARN.

func CompositeAlarm_FromCompositeAlarmName

func CompositeAlarm_FromCompositeAlarmName(scope constructs.Construct, id *string, compositeAlarmName *string) IAlarm

Import an existing CloudWatch composite alarm provided an Name.

type IAlarmAction

type IAlarmAction interface {
	// Return the properties required to send alarm actions to this CloudWatch alarm.
	Bind(scope constructs.Construct, alarm IAlarm) *AlarmActionConfig
}

Interface for objects that can be the targets of CloudWatch alarm actions.

type IAlarmRule

type IAlarmRule interface {
	// serialized representation of Alarm Rule to be used when building the Composite Alarm resource.
	RenderAlarmRule() *string
}

Interface for Alarm Rule.

func AlarmRule_AllOf

func AlarmRule_AllOf(operands ...IAlarmRule) IAlarmRule

function to join all provided AlarmRules with AND operator.

func AlarmRule_AnyOf

func AlarmRule_AnyOf(operands ...IAlarmRule) IAlarmRule

function to join all provided AlarmRules with OR operator.

func AlarmRule_FromAlarm

func AlarmRule_FromAlarm(alarm IAlarm, alarmState AlarmState) IAlarmRule

function to build Rule Expression for given IAlarm and AlarmState.

func AlarmRule_FromBoolean

func AlarmRule_FromBoolean(value *bool) IAlarmRule

function to build TRUE/FALSE intent for Rule Expression.

func AlarmRule_FromString

func AlarmRule_FromString(alarmRule *string) IAlarmRule

function to build Rule Expression for given Alarm Rule string.

func AlarmRule_Not

func AlarmRule_Not(operand IAlarmRule) IAlarmRule

function to wrap provided AlarmRule in NOT operator.

type IMetric

type IMetric interface {
	// Inspect the details of the metric object.
	ToMetricConfig() *MetricConfig
}

Interface for metrics.

type IWidget

type IWidget interface {
	// Place the widget at a given position.
	Position(x *float64, y *float64)
	// Return the widget JSON for use in the dashboard.
	ToJson() *[]interface{}
	// The amount of vertical grid units the widget will take up.
	Height() *float64
	// The amount of horizontal grid units the widget will take up.
	Width() *float64
}

A single dashboard widget.

type LegendPosition

type LegendPosition string

The position of the legend on a GraphWidget.

TODO: EXAMPLE

const (
	LegendPosition_BOTTOM LegendPosition = "BOTTOM"
	LegendPosition_RIGHT  LegendPosition = "RIGHT"
	LegendPosition_HIDDEN LegendPosition = "HIDDEN"
)

type LogQueryVisualizationType

type LogQueryVisualizationType string

Types of view.

TODO: EXAMPLE

const (
	LogQueryVisualizationType_TABLE       LogQueryVisualizationType = "TABLE"
	LogQueryVisualizationType_LINE        LogQueryVisualizationType = "LINE"
	LogQueryVisualizationType_STACKEDAREA LogQueryVisualizationType = "STACKEDAREA"
	LogQueryVisualizationType_BAR         LogQueryVisualizationType = "BAR"
	LogQueryVisualizationType_PIE         LogQueryVisualizationType = "PIE"
)

type LogQueryWidget

type LogQueryWidget interface {
	ConcreteWidget
	Height() *float64
	Width() *float64
	X() *float64
	SetX(val *float64)
	Y() *float64
	SetY(val *float64)
	Position(x *float64, y *float64)
	ToJson() *[]interface{}
}

Display query results from Logs Insights.

TODO: EXAMPLE

func NewLogQueryWidget

func NewLogQueryWidget(props *LogQueryWidgetProps) LogQueryWidget

type LogQueryWidgetProps

type LogQueryWidgetProps struct {
	// Names of log groups to query.
	LogGroupNames *[]*string `json:"logGroupNames" yaml:"logGroupNames"`
	// Height of the widget.
	Height *float64 `json:"height" yaml:"height"`
	// A sequence of lines to use to build the query.
	//
	// The query will be built by joining the lines together using `\n|`.
	QueryLines *[]*string `json:"queryLines" yaml:"queryLines"`
	// Full query string for log insights.
	//
	// Be sure to prepend every new line with a newline and pipe character
	// (`\n|`).
	QueryString *string `json:"queryString" yaml:"queryString"`
	// The region the metrics of this widget should be taken from.
	Region *string `json:"region" yaml:"region"`
	// Title for the widget.
	Title *string `json:"title" yaml:"title"`
	// The type of view to use.
	View LogQueryVisualizationType `json:"view" yaml:"view"`
	// Width of the widget, in a grid of 24 units wide.
	Width *float64 `json:"width" yaml:"width"`
}

Properties for a Query widget.

TODO: EXAMPLE

type MathExpression

type MathExpression interface {
	IMetric
	Color() *string
	Expression() *string
	Label() *string
	Period() awscdk.Duration
	SearchAccount() *string
	SearchRegion() *string
	UsingMetrics() *map[string]IMetric
	CreateAlarm(scope constructs.Construct, id *string, props *CreateAlarmOptions) Alarm
	ToMetricConfig() *MetricConfig
	ToString() *string
	With(props *MathExpressionOptions) MathExpression
}

A math expression built with metric(s) emitted by a service.

The math expression is a combination of an expression (x+y) and metrics to apply expression on. It also contains metadata which is used only in graphs, such as color and label. It makes sense to embed this in here, so that compound constructs can attach that metadata to metrics they expose.

MathExpression can also be used for search expressions. In this case, it also optionally accepts a searchRegion and searchAccount property for cross-environment search expressions.

This class does not represent a resource, so hence is not a construct. Instead, MathExpression is an abstraction that makes it easy to specify metrics for use in both alarms and graphs.

TODO: EXAMPLE

func NewMathExpression

func NewMathExpression(props *MathExpressionProps) MathExpression

type MathExpressionOptions

type MathExpressionOptions struct {
	// Color for this metric when added to a Graph in a Dashboard.
	Color *string `json:"color" yaml:"color"`
	// Label for this metric when added to a Graph in a Dashboard.
	Label *string `json:"label" yaml:"label"`
	// The period over which the expression's statistics are applied.
	//
	// This period overrides all periods in the metrics used in this
	// math expression.
	Period awscdk.Duration `json:"period" yaml:"period"`
	// Account to evaluate search expressions within.
	//
	// Specifying a searchAccount has no effect to the account used
	// for metrics within the expression (passed via usingMetrics).
	SearchAccount *string `json:"searchAccount" yaml:"searchAccount"`
	// Region to evaluate search expressions within.
	//
	// Specifying a searchRegion has no effect to the region used
	// for metrics within the expression (passed via usingMetrics).
	SearchRegion *string `json:"searchRegion" yaml:"searchRegion"`
}

Configurable options for MathExpressions.

TODO: EXAMPLE

type MathExpressionProps

type MathExpressionProps struct {
	// Color for this metric when added to a Graph in a Dashboard.
	Color *string `json:"color" yaml:"color"`
	// Label for this metric when added to a Graph in a Dashboard.
	Label *string `json:"label" yaml:"label"`
	// The period over which the expression's statistics are applied.
	//
	// This period overrides all periods in the metrics used in this
	// math expression.
	Period awscdk.Duration `json:"period" yaml:"period"`
	// Account to evaluate search expressions within.
	//
	// Specifying a searchAccount has no effect to the account used
	// for metrics within the expression (passed via usingMetrics).
	SearchAccount *string `json:"searchAccount" yaml:"searchAccount"`
	// Region to evaluate search expressions within.
	//
	// Specifying a searchRegion has no effect to the region used
	// for metrics within the expression (passed via usingMetrics).
	SearchRegion *string `json:"searchRegion" yaml:"searchRegion"`
	// The expression defining the metric.
	//
	// When an expression contains a SEARCH function, it cannot be used
	// within an Alarm.
	Expression *string `json:"expression" yaml:"expression"`
	// The metrics used in the expression, in a map.
	//
	// The key is the identifier that represents the given metric in the
	// expression, and the value is the actual Metric object.
	UsingMetrics *map[string]IMetric `json:"usingMetrics" yaml:"usingMetrics"`
}

Properties for a MathExpression.

TODO: EXAMPLE

type Metric

type Metric interface {
	IMetric
	Account() *string
	Color() *string
	Dimensions() *map[string]interface{}
	Label() *string
	MetricName() *string
	Namespace() *string
	Period() awscdk.Duration
	Region() *string
	Statistic() *string
	Unit() Unit
	AttachTo(scope constructs.IConstruct) Metric
	CreateAlarm(scope constructs.Construct, id *string, props *CreateAlarmOptions) Alarm
	ToMetricConfig() *MetricConfig
	ToString() *string
	With(props *MetricOptions) Metric
}

A metric emitted by a service.

The metric is a combination of a metric identifier (namespace, name and dimensions) and an aggregation function (statistic, period and unit).

It also contains metadata which is used only in graphs, such as color and label. It makes sense to embed this in here, so that compound constructs can attach that metadata to metrics they expose.

This class does not represent a resource, so hence is not a construct. Instead, Metric is an abstraction that makes it easy to specify metrics for use in both alarms and graphs.

TODO: EXAMPLE

func NewMetric

func NewMetric(props *MetricProps) Metric

type MetricConfig

type MetricConfig struct {
	// In case the metric is a math expression, the details of the math expression.
	MathExpression *MetricExpressionConfig `json:"mathExpression" yaml:"mathExpression"`
	// In case the metric represents a query, the details of the query.
	MetricStat *MetricStatConfig `json:"metricStat" yaml:"metricStat"`
	// Additional properties which will be rendered if the metric is used in a dashboard.
	//
	// Examples are 'label' and 'color', but any key in here will be
	// added to dashboard graphs.
	RenderingProperties *map[string]interface{} `json:"renderingProperties" yaml:"renderingProperties"`
}

Properties of a rendered metric.

TODO: EXAMPLE

type MetricExpressionConfig

type MetricExpressionConfig struct {
	// Math expression for the metric.
	Expression *string `json:"expression" yaml:"expression"`
	// How many seconds to aggregate over.
	Period *float64 `json:"period" yaml:"period"`
	// Metrics used in the math expression.
	UsingMetrics *map[string]IMetric `json:"usingMetrics" yaml:"usingMetrics"`
	// Account to evaluate search expressions within.
	SearchAccount *string `json:"searchAccount" yaml:"searchAccount"`
	// Region to evaluate search expressions within.
	SearchRegion *string `json:"searchRegion" yaml:"searchRegion"`
}

Properties for a concrete metric.

TODO: EXAMPLE

type MetricOptions

type MetricOptions struct {
	// Account which this metric comes from.
	Account *string `json:"account" yaml:"account"`
	// The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The `Color` class has a set of standard colors that can be used here.
	Color *string `json:"color" yaml:"color"`
	// Dimensions of the metric.
	DimensionsMap *map[string]*string `json:"dimensionsMap" yaml:"dimensionsMap"`
	// Label for this metric when added to a Graph in a Dashboard.
	Label *string `json:"label" yaml:"label"`
	// The period over which the specified statistic is applied.
	Period awscdk.Duration `json:"period" yaml:"period"`
	// Region which this metric comes from.
	Region *string `json:"region" yaml:"region"`
	// What function to use for aggregating.
	//
	// Can be one of the following:
	//
	// - "Minimum" | "min"
	// - "Maximum" | "max"
	// - "Average" | "avg"
	// - "Sum" | "sum"
	// - "SampleCount | "n"
	// - "pNN.NN"
	Statistic *string `json:"statistic" yaml:"statistic"`
	// Unit used to filter the metric stream.
	//
	// Only refer to datums emitted to the metric stream with the given unit and
	// ignore all others. Only useful when datums are being emitted to the same
	// metric stream under different units.
	//
	// The default is to use all matric datums in the stream, regardless of unit,
	// which is recommended in nearly all cases.
	//
	// CloudWatch does not honor this property for graphs.
	Unit Unit `json:"unit" yaml:"unit"`
}

Properties of a metric that can be changed.

TODO: EXAMPLE

type MetricProps

type MetricProps struct {
	// Account which this metric comes from.
	Account *string `json:"account" yaml:"account"`
	// The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The `Color` class has a set of standard colors that can be used here.
	Color *string `json:"color" yaml:"color"`
	// Dimensions of the metric.
	DimensionsMap *map[string]*string `json:"dimensionsMap" yaml:"dimensionsMap"`
	// Label for this metric when added to a Graph in a Dashboard.
	Label *string `json:"label" yaml:"label"`
	// The period over which the specified statistic is applied.
	Period awscdk.Duration `json:"period" yaml:"period"`
	// Region which this metric comes from.
	Region *string `json:"region" yaml:"region"`
	// What function to use for aggregating.
	//
	// Can be one of the following:
	//
	// - "Minimum" | "min"
	// - "Maximum" | "max"
	// - "Average" | "avg"
	// - "Sum" | "sum"
	// - "SampleCount | "n"
	// - "pNN.NN"
	Statistic *string `json:"statistic" yaml:"statistic"`
	// Unit used to filter the metric stream.
	//
	// Only refer to datums emitted to the metric stream with the given unit and
	// ignore all others. Only useful when datums are being emitted to the same
	// metric stream under different units.
	//
	// The default is to use all matric datums in the stream, regardless of unit,
	// which is recommended in nearly all cases.
	//
	// CloudWatch does not honor this property for graphs.
	Unit Unit `json:"unit" yaml:"unit"`
	// Name of the metric.
	MetricName *string `json:"metricName" yaml:"metricName"`
	// Namespace of the metric.
	Namespace *string `json:"namespace" yaml:"namespace"`
}

Properties for a metric.

TODO: EXAMPLE

type MetricStatConfig

type MetricStatConfig struct {
	// Name of the metric.
	MetricName *string `json:"metricName" yaml:"metricName"`
	// Namespace of the metric.
	Namespace *string `json:"namespace" yaml:"namespace"`
	// How many seconds to aggregate over.
	Period awscdk.Duration `json:"period" yaml:"period"`
	// Aggregation function to use (can be either simple or a percentile).
	Statistic *string `json:"statistic" yaml:"statistic"`
	// Account which this metric comes from.
	Account *string `json:"account" yaml:"account"`
	// The dimensions to apply to the alarm.
	Dimensions *[]*Dimension `json:"dimensions" yaml:"dimensions"`
	// Region which this metric comes from.
	Region *string `json:"region" yaml:"region"`
	// Unit used to filter the metric stream.
	//
	// Only refer to datums emitted to the metric stream with the given unit and
	// ignore all others. Only useful when datums are being emitted to the same
	// metric stream under different units.
	//
	// This field has been renamed from plain `unit` to clearly communicate
	// its purpose.
	UnitFilter Unit `json:"unitFilter" yaml:"unitFilter"`
}

Properties for a concrete metric.

NOTE: `unit` is no longer on this object since it is only used for `Alarms`, and doesn't mean what one would expect it to mean there anyway. It is most likely to be misused.

TODO: EXAMPLE

type MetricWidgetProps

type MetricWidgetProps struct {
	// Height of the widget.
	Height *float64 `json:"height" yaml:"height"`
	// The region the metrics of this graph should be taken from.
	Region *string `json:"region" yaml:"region"`
	// Title for the graph.
	Title *string `json:"title" yaml:"title"`
	// Width of the widget, in a grid of 24 units wide.
	Width *float64 `json:"width" yaml:"width"`
}

Basic properties for widgets that display metrics.

TODO: EXAMPLE

type PeriodOverride

type PeriodOverride string

Specify the period for graphs when the CloudWatch dashboard loads.

const (
	PeriodOverride_AUTO    PeriodOverride = "AUTO"
	PeriodOverride_INHERIT PeriodOverride = "INHERIT"
)

type Row

type Row interface {
	IWidget
	Height() *float64
	Width() *float64
	Position(x *float64, y *float64)
	ToJson() *[]interface{}
}

A widget that contains other widgets in a horizontal row.

Widgets will be laid out next to each other

TODO: EXAMPLE

func NewRow

func NewRow(widgets ...IWidget) Row

type Shading

type Shading string

Fill shading options that will be used with an annotation.

const (
	Shading_NONE  Shading = "NONE"
	Shading_ABOVE Shading = "ABOVE"
	Shading_BELOW Shading = "BELOW"
)

type SingleValueWidget

type SingleValueWidget interface {
	ConcreteWidget
	Height() *float64
	Width() *float64
	X() *float64
	SetX(val *float64)
	Y() *float64
	SetY(val *float64)
	Position(x *float64, y *float64)
	ToJson() *[]interface{}
}

A dashboard widget that displays the most recent value for every metric.

TODO: EXAMPLE

func NewSingleValueWidget

func NewSingleValueWidget(props *SingleValueWidgetProps) SingleValueWidget

type SingleValueWidgetProps

type SingleValueWidgetProps struct {
	// Height of the widget.
	Height *float64 `json:"height" yaml:"height"`
	// The region the metrics of this graph should be taken from.
	Region *string `json:"region" yaml:"region"`
	// Title for the graph.
	Title *string `json:"title" yaml:"title"`
	// Width of the widget, in a grid of 24 units wide.
	Width *float64 `json:"width" yaml:"width"`
	// Metrics to display.
	Metrics *[]IMetric `json:"metrics" yaml:"metrics"`
	// Whether to show as many digits as can fit, before rounding.
	FullPrecision *bool `json:"fullPrecision" yaml:"fullPrecision"`
	// Whether to show the value from the entire time range.
	SetPeriodToTimeRange *bool `json:"setPeriodToTimeRange" yaml:"setPeriodToTimeRange"`
}

Properties for a SingleValueWidget.

TODO: EXAMPLE

type Spacer

type Spacer interface {
	IWidget
	Height() *float64
	Width() *float64
	Position(_x *float64, _y *float64)
	ToJson() *[]interface{}
}

A widget that doesn't display anything but takes up space.

TODO: EXAMPLE

func NewSpacer

func NewSpacer(props *SpacerProps) Spacer

type SpacerProps

type SpacerProps struct {
	// Height of the spacer.
	Height *float64 `json:"height" yaml:"height"`
	// Width of the spacer.
	Width *float64 `json:"width" yaml:"width"`
}

Props of the spacer.

TODO: EXAMPLE

type Statistic

type Statistic string

Statistic to use over the aggregation period.

TODO: EXAMPLE

const (
	Statistic_SAMPLE_COUNT Statistic = "SAMPLE_COUNT"
	Statistic_AVERAGE      Statistic = "AVERAGE"
	Statistic_SUM          Statistic = "SUM"
	Statistic_MINIMUM      Statistic = "MINIMUM"
	Statistic_MAXIMUM      Statistic = "MAXIMUM"
)

type TextWidget

type TextWidget interface {
	ConcreteWidget
	Height() *float64
	Width() *float64
	X() *float64
	SetX(val *float64)
	Y() *float64
	SetY(val *float64)
	Position(x *float64, y *float64)
	ToJson() *[]interface{}
}

A dashboard widget that displays MarkDown.

TODO: EXAMPLE

func NewTextWidget

func NewTextWidget(props *TextWidgetProps) TextWidget

type TextWidgetProps

type TextWidgetProps struct {
	// The text to display, in MarkDown format.
	Markdown *string `json:"markdown" yaml:"markdown"`
	// Height of the widget.
	Height *float64 `json:"height" yaml:"height"`
	// Width of the widget, in a grid of 24 units wide.
	Width *float64 `json:"width" yaml:"width"`
}

Properties for a Text widget.

TODO: EXAMPLE

type TreatMissingData

type TreatMissingData string

Specify how missing data points are treated during alarm evaluation.

TODO: EXAMPLE

const (
	TreatMissingData_BREACHING     TreatMissingData = "BREACHING"
	TreatMissingData_NOT_BREACHING TreatMissingData = "NOT_BREACHING"
	TreatMissingData_IGNORE        TreatMissingData = "IGNORE"
	TreatMissingData_MISSING       TreatMissingData = "MISSING"
)

type Unit

type Unit string

Unit for metric.

const (
	Unit_SECONDS              Unit = "SECONDS"
	Unit_MICROSECONDS         Unit = "MICROSECONDS"
	Unit_MILLISECONDS         Unit = "MILLISECONDS"
	Unit_BYTES                Unit = "BYTES"
	Unit_KILOBYTES            Unit = "KILOBYTES"
	Unit_MEGABYTES            Unit = "MEGABYTES"
	Unit_GIGABYTES            Unit = "GIGABYTES"
	Unit_TERABYTES            Unit = "TERABYTES"
	Unit_BITS                 Unit = "BITS"
	Unit_KILOBITS             Unit = "KILOBITS"
	Unit_MEGABITS             Unit = "MEGABITS"
	Unit_GIGABITS             Unit = "GIGABITS"
	Unit_TERABITS             Unit = "TERABITS"
	Unit_PERCENT              Unit = "PERCENT"
	Unit_COUNT                Unit = "COUNT"
	Unit_BYTES_PER_SECOND     Unit = "BYTES_PER_SECOND"
	Unit_KILOBYTES_PER_SECOND Unit = "KILOBYTES_PER_SECOND"
	Unit_MEGABYTES_PER_SECOND Unit = "MEGABYTES_PER_SECOND"
	Unit_GIGABYTES_PER_SECOND Unit = "GIGABYTES_PER_SECOND"
	Unit_TERABYTES_PER_SECOND Unit = "TERABYTES_PER_SECOND"
	Unit_BITS_PER_SECOND      Unit = "BITS_PER_SECOND"
	Unit_KILOBITS_PER_SECOND  Unit = "KILOBITS_PER_SECOND"
	Unit_MEGABITS_PER_SECOND  Unit = "MEGABITS_PER_SECOND"
	Unit_GIGABITS_PER_SECOND  Unit = "GIGABITS_PER_SECOND"
	Unit_TERABITS_PER_SECOND  Unit = "TERABITS_PER_SECOND"
	Unit_COUNT_PER_SECOND     Unit = "COUNT_PER_SECOND"
	Unit_NONE                 Unit = "NONE"
)

type YAxisProps

type YAxisProps struct {
	// The label.
	Label *string `json:"label" yaml:"label"`
	// The max value.
	Max *float64 `json:"max" yaml:"max"`
	// The min value.
	Min *float64 `json:"min" yaml:"min"`
	// Whether to show units.
	ShowUnits *bool `json:"showUnits" yaml:"showUnits"`
}

Properties for a Y-Axis.

TODO: EXAMPLE

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL