package awscdkiotactionsalpha import ( _init_ "github.com/aws/aws-cdk-go/awscdkiotactionsalpha/v2/jsii" _jsii_ "github.com/aws/jsii-runtime-go/runtime" "github.com/aws/aws-cdk-go/awscdk/v2/awscloudwatch" "github.com/aws/aws-cdk-go/awscdkiotactionsalpha/v2/internal" "github.com/aws/aws-cdk-go/awscdkiotalpha/v2" ) // The action to change the state of an Amazon CloudWatch alarm. // // Example: // import "github.com/aws/aws-cdk-go/awscdk" // // // metric := cloudwatch.NewMetric(&MetricProps{ // Namespace: jsii.String("MyNamespace"), // MetricName: jsii.String("MyMetric"), // Dimensions: map[string]interface{}{ // "MyDimension": jsii.String("MyDimensionValue"), // }, // }) // alarm := cloudwatch.NewAlarm(this, jsii.String("MyAlarm"), &AlarmProps{ // Metric: metric, // Threshold: jsii.Number(100), // EvaluationPeriods: jsii.Number(3), // DatapointsToAlarm: jsii.Number(2), // }) // // topicRule := iot.NewTopicRule(this, jsii.String("TopicRule"), &TopicRuleProps{ // Sql: iot.IotSql_FromStringAsVer20160323(jsii.String("SELECT topic(2) as device_id FROM 'device/+/data'")), // Actions: []iAction{ // actions.NewCloudWatchSetAlarmStateAction(alarm, &CloudWatchSetAlarmStateActionProps{ // Reason: jsii.String("AWS Iot Rule action is triggered"), // AlarmStateToSet: cloudwatch.AlarmState_ALARM, // }), // }, // }) // // Experimental. type CloudWatchSetAlarmStateAction interface { awscdkiotalpha.IAction } // The jsii proxy struct for CloudWatchSetAlarmStateAction type jsiiProxy_CloudWatchSetAlarmStateAction struct { internal.Type__awscdkiotalphaIAction } // Experimental. func NewCloudWatchSetAlarmStateAction(alarm awscloudwatch.IAlarm, props *CloudWatchSetAlarmStateActionProps) CloudWatchSetAlarmStateAction { _init_.Initialize() if err := validateNewCloudWatchSetAlarmStateActionParameters(alarm, props); err != nil { panic(err) } j := jsiiProxy_CloudWatchSetAlarmStateAction{} _jsii_.Create( "@aws-cdk/aws-iot-actions-alpha.CloudWatchSetAlarmStateAction", []interface{}{alarm, props}, &j, ) return &j } // Experimental. func NewCloudWatchSetAlarmStateAction_Override(c CloudWatchSetAlarmStateAction, alarm awscloudwatch.IAlarm, props *CloudWatchSetAlarmStateActionProps) { _init_.Initialize() _jsii_.Create( "@aws-cdk/aws-iot-actions-alpha.CloudWatchSetAlarmStateAction", []interface{}{alarm, props}, c, ) }